JPH0855017A - グラフィックスおよび画像処理用の整数データ処理回路、パイプライン付き乗算器ユニット、演算論理ユニット、およびシフト・レジスタ・ユニット - Google Patents
グラフィックスおよび画像処理用の整数データ処理回路、パイプライン付き乗算器ユニット、演算論理ユニット、およびシフト・レジスタ・ユニットInfo
- Publication number
- JPH0855017A JPH0855017A JP7115202A JP11520295A JPH0855017A JP H0855017 A JPH0855017 A JP H0855017A JP 7115202 A JP7115202 A JP 7115202A JP 11520295 A JP11520295 A JP 11520295A JP H0855017 A JPH0855017 A JP H0855017A
- Authority
- JP
- Japan
- Prior art keywords
- integer data
- unit
- bits
- bit
- word
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】 特にグラフィック用の整数データ処理回路を
与えることを目的とする。 【構成】 本発明の整数データ処理回路は、8ビットま
たはその倍数ビットの整数データ・ワードを乗算し、そ
のワード長が乗算のための前記の8の倍数ビットに従っ
て行うべき乗算に合わせて調節可能であり、パイプライ
ンが一部を形成する乗算器(23)と、8ビットまたは
8の倍数ビットの整数データ・ワードに対して算術演算
を行う演算論理ユニット(ALU)(31)と、少なく
とも2つのレジスタを備え、演算、パイプライン乗算、
またはその両方を行うべき8の倍数ビットの整数データ
・ワードを一時的に内部に格納するレジスタ・ユニット
と、多数の別個のバスを含み、該乗算器ユニットと、該
演算論理ユニットと、該レジスタ・ユニットとの間で整
数データ・ワードの転送を行うバス構造(26)と、を
含む。
与えることを目的とする。 【構成】 本発明の整数データ処理回路は、8ビットま
たはその倍数ビットの整数データ・ワードを乗算し、そ
のワード長が乗算のための前記の8の倍数ビットに従っ
て行うべき乗算に合わせて調節可能であり、パイプライ
ンが一部を形成する乗算器(23)と、8ビットまたは
8の倍数ビットの整数データ・ワードに対して算術演算
を行う演算論理ユニット(ALU)(31)と、少なく
とも2つのレジスタを備え、演算、パイプライン乗算、
またはその両方を行うべき8の倍数ビットの整数データ
・ワードを一時的に内部に格納するレジスタ・ユニット
と、多数の別個のバスを含み、該乗算器ユニットと、該
演算論理ユニットと、該レジスタ・ユニットとの間で整
数データ・ワードの転送を行うバス構造(26)と、を
含む。
Description
【0001】
【産業上の利用分野】本発明は、データ処理回路に用い
るデータ処理回路、パイプライン付き乗算器、ALU
(論理演算ユニット)、シフト・レジスタ・ユニットに
関する。
るデータ処理回路、パイプライン付き乗算器、ALU
(論理演算ユニット)、シフト・レジスタ・ユニットに
関する。
【0002】
【従来の技術】現在、複雑な命令セットを具備したプロ
セッサ(CISC=complex instruction set compute
r)を利用したパーソナル・コンピュータが広く使用さ
れている。これらのプロセッサは、2語のオペランドに
よる所望の動作を各クロック・パルスに行うように機能
調節された中央処理ユニットを備えている。
セッサ(CISC=complex instruction set compute
r)を利用したパーソナル・コンピュータが広く使用さ
れている。これらのプロセッサは、2語のオペランドに
よる所望の動作を各クロック・パルスに行うように機能
調節された中央処理ユニットを備えている。
【0003】このようなプロセッサ(現在は、主にイン
テル社から80で始まるコード番号で市販されている)
のクロック速度は、相当向上したが、これらのプロセッ
サの組織構造は、例えば、2オペランド語の乗算または
除算の間にコンピュータ内部にあるレジスタを頻繁に使
用しなければならないので、処理速度を更に上げるには
大きな障害がある。
テル社から80で始まるコード番号で市販されている)
のクロック速度は、相当向上したが、これらのプロセッ
サの組織構造は、例えば、2オペランド語の乗算または
除算の間にコンピュータ内部にあるレジスタを頻繁に使
用しなければならないので、処理速度を更に上げるには
大きな障害がある。
【0004】特に、いわゆるワーク・ステーションの場
合、速度を上げるために、縮小命令セットを用いたパイ
プライン構造、いわゆるRISC(縮小命令セット・コ
ンピュータ)がしばしば使用される。この方式によれ
ば、多数のデータ・ワードにその度毎に同じ算術演算を
施す、いわゆるベクトル動作により速度を上げる。限ら
れた命令セットは効率的に実行することができるので、
それらの多くの命令の実行には、実際、わずか1つのク
ロック・パルスしか必要としない。
合、速度を上げるために、縮小命令セットを用いたパイ
プライン構造、いわゆるRISC(縮小命令セット・コ
ンピュータ)がしばしば使用される。この方式によれ
ば、多数のデータ・ワードにその度毎に同じ算術演算を
施す、いわゆるベクトル動作により速度を上げる。限ら
れた命令セットは効率的に実行することができるので、
それらの多くの命令の実行には、実際、わずか1つのク
ロック・パルスしか必要としない。
【0005】このRISCの概念により、乗算などの頻
繁に発生する動作においては速度の向上が成されるが、
特殊な動作に対する一層複雑な命令が高速度ゆえに省か
れているので、そのような動作に対しては、速度は全く
増大しない。さらに、このような処理装置は、例えば3
2ビットまたは64ビットなどの固定ワード長のデータ
・ワードに合わせて作られる場合が多い。
繁に発生する動作においては速度の向上が成されるが、
特殊な動作に対する一層複雑な命令が高速度ゆえに省か
れているので、そのような動作に対しては、速度は全く
増大しない。さらに、このような処理装置は、例えば3
2ビットまたは64ビットなどの固定ワード長のデータ
・ワードに合わせて作られる場合が多い。
【0006】EP−A−0173383に、符号小数点
演算用のプロセッサが開示されているが、このような浮
動小数点演算は、8、16または32ビットなどの整数
のデータ・ワードに対して演算が行われる画像処理やグ
ラフィカル処理の用途には役に立たない。
演算用のプロセッサが開示されているが、このような浮
動小数点演算は、8、16または32ビットなどの整数
のデータ・ワードに対して演算が行われる画像処理やグ
ラフィカル処理の用途には役に立たない。
【0007】64ビット・ワードまたは32ビット・ワ
ードの乗算を実行するRISCベースのマイクロプロセ
ッサの説明が、1989年11月13日から17日まで
ネバダ州レノで行われたスーパーコンピューティングの
学会の会報に発表されたL.コン(L. Kohn) らによる論
文“The 1860TM 64-bit supercomputing microprocess
or”(1989年、在ワシントンD.C.、IDEEコ
ンピュータ・ソサエティ刊)にある。前述のように、こ
のようなRISCの概念は、8ビットまたはその倍数の
整数データ・ワードを処理しなければならない場合に
は、高速化に役立たない。
ードの乗算を実行するRISCベースのマイクロプロセ
ッサの説明が、1989年11月13日から17日まで
ネバダ州レノで行われたスーパーコンピューティングの
学会の会報に発表されたL.コン(L. Kohn) らによる論
文“The 1860TM 64-bit supercomputing microprocess
or”(1989年、在ワシントンD.C.、IDEEコ
ンピュータ・ソサエティ刊)にある。前述のように、こ
のようなRISCの概念は、8ビットまたはその倍数の
整数データ・ワードを処理しなければならない場合に
は、高速化に役立たない。
【0008】また、EP−A−0380100には、各
クロック・サイクル中に32ビットのオペランドを処理
して、1つの32ビット浮動小数点積に対して2つの1
6ビットx16ビット固定小数点積を与える乗算器が、
開示されている。
クロック・サイクル中に32ビットのオペランドを処理
して、1つの32ビット浮動小数点積に対して2つの1
6ビットx16ビット固定小数点積を与える乗算器が、
開示されている。
【0009】
【発明が解決しようとする課題】しかしながら、画像、
グラフィックス、またはこれらの両方を処理するアプリ
ケーションの場合、RISCの概念で僅かでも高速化を
達成しようとすると、8ビット、16ビットまたは相互
に関係付けられた多数のバイトのデータ・ワードに対し
て、種々の処理を行う必要がある。本発明の目的は、グ
ラフィックまたは画像を処理するアプリケーションのた
めのデータ処理回路を提供することにある。
グラフィックス、またはこれらの両方を処理するアプリ
ケーションの場合、RISCの概念で僅かでも高速化を
達成しようとすると、8ビット、16ビットまたは相互
に関係付けられた多数のバイトのデータ・ワードに対し
て、種々の処理を行う必要がある。本発明の目的は、グ
ラフィックまたは画像を処理するアプリケーションのた
めのデータ処理回路を提供することにある。
【0010】
【課題を解決するための手段】本発明によるデータ処理
回路は、8ビットまたはその倍数ビットの整数データ・
ワードを乗算する乗算器であり、そのワード長が前記の
8の倍数ビットに従って行うべき乗算に合わせて調節可
能であり、パイプラインが一部を形成するような乗算器
と、8の倍数ビットによってワード長が調節可能な8ビ
ットまたは8の倍数ビットの整数データ・ワードに対し
て算術演算を行う演算論理ユニット(ALU)と少なく
とも2つのレジスタを備え、演算、パイプライン乗算、
またはその両方を行うべき8ビットまたは8の倍数ビッ
トの整数データ・ワードを一時的に内部に格納するレジ
スタ・ユニットと、多数の別個のバスからなり、乗算器
ユニット、演算論理ユニットおよび該レジスタ・ユニッ
トとの間で整数データ・ワードの転送を行うバス構造
と、から成る。
回路は、8ビットまたはその倍数ビットの整数データ・
ワードを乗算する乗算器であり、そのワード長が前記の
8の倍数ビットに従って行うべき乗算に合わせて調節可
能であり、パイプラインが一部を形成するような乗算器
と、8の倍数ビットによってワード長が調節可能な8ビ
ットまたは8の倍数ビットの整数データ・ワードに対し
て算術演算を行う演算論理ユニット(ALU)と少なく
とも2つのレジスタを備え、演算、パイプライン乗算、
またはその両方を行うべき8ビットまたは8の倍数ビッ
トの整数データ・ワードを一時的に内部に格納するレジ
スタ・ユニットと、多数の別個のバスからなり、乗算器
ユニット、演算論理ユニットおよび該レジスタ・ユニッ
トとの間で整数データ・ワードの転送を行うバス構造
と、から成る。
【0011】本発明によるデータ処理ユニットは、グラ
フィック用途に対しては、既存概念の場合の2倍以上の
速度を実現した。RISCおよびCISCとは対照的
に、前記回路(乗算器、ALUなど)の間の接続は、固
定されたものではない。プログラマは、データの流れの
順路を種々のユニット(フリー・パイプライン)を通し
て自由にプログラムすることができる。
フィック用途に対しては、既存概念の場合の2倍以上の
速度を実現した。RISCおよびCISCとは対照的
に、前記回路(乗算器、ALUなど)の間の接続は、固
定されたものではない。プログラマは、データの流れの
順路を種々のユニット(フリー・パイプライン)を通し
て自由にプログラムすることができる。
【0012】さらに、本発明は、データ処理回路で使用
されるパイプライン付き乗算器を提供する。
されるパイプライン付き乗算器を提供する。
【0013】また、本発明は、データ処理回路で用いら
れる演算論理ユニットも備えている。
れる演算論理ユニットも備えている。
【0014】最後に、本発明は、このようなデータ処理
回路で用いられるシフト・レジスタ・ユニットも与え
る。
回路で用いられるシフト・レジスタ・ユニットも与え
る。
【0015】本発明のその他の利点、特徴および詳細
は、本発明の好ましい実施例の説明をもとに添付図面を
参照しながら明らかにする。
は、本発明の好ましい実施例の説明をもとに添付図面を
参照しながら明らかにする。
【0016】
【実施例】本発明に係るデータ処理回路1(図1)は、
P3 HISCまたはIMAGINEとも称し、バス2を
介して、例えばSRAM(static random access memor
y)を用いたデータ・メモリ3に結合される。データ処理
回路1は、さらにバス4を介して、DRAM(dynamic
random access memory)セルまたは(さらに高価な)V
RAMから構成された画像データ記憶用の画像メモリ5
である主メモリに接続される。この主メモリ5が、バス
6を介してRAMDAC(D/A変換用DRAM=rand
om access memory for a digital analog converter)7
を駆動し、さらにRAMDAC7がカラー信号R、Gお
よびBをモニタ(図示せず)に与える。
P3 HISCまたはIMAGINEとも称し、バス2を
介して、例えばSRAM(static random access memor
y)を用いたデータ・メモリ3に結合される。データ処理
回路1は、さらにバス4を介して、DRAM(dynamic
random access memory)セルまたは(さらに高価な)V
RAMから構成された画像データ記憶用の画像メモリ5
である主メモリに接続される。この主メモリ5が、バス
6を介してRAMDAC(D/A変換用DRAM=rand
om access memory for a digital analog converter)7
を駆動し、さらにRAMDAC7がカラー信号R、Gお
よびBをモニタ(図示せず)に与える。
【0017】実際の応用例では、データ処理回路1は、
バッファ9およびアクセス論理回路10を介してホスト
・プロセッサ(図示せず)に接続されることになる。図
1の構成は、バス12を介するほかレジスタ/ドライバ
手段を内蔵したバッファ12も介してデータ処理回路1
に結合された命令RAM11も具備することが好まし
い。クロック手段13により、本構成の種々の構成要素
にクロック信号を与える。一方、本構成には、ビデオ・
タイミング用の部分14が含まれる。ビデオ信号を画像
メモリ5に供給するには、ビデオ入力回路15をバス6
に接続するのが好ましい。
バッファ9およびアクセス論理回路10を介してホスト
・プロセッサ(図示せず)に接続されることになる。図
1の構成は、バス12を介するほかレジスタ/ドライバ
手段を内蔵したバッファ12も介してデータ処理回路1
に結合された命令RAM11も具備することが好まし
い。クロック手段13により、本構成の種々の構成要素
にクロック信号を与える。一方、本構成には、ビデオ・
タイミング用の部分14が含まれる。ビデオ信号を画像
メモリ5に供給するには、ビデオ入力回路15をバス6
に接続するのが好ましい。
【0018】データ処理回路の構成を図2に示す。デー
タ処理回路は、RAM21、アキュムレータ22および
ウォーレスの木(Wallace tree)23からなる並列乗算
器20からなる。また、データ処理回路は、データ入出
力回路24、並列シフト・レジスタ25、バス構造2
6、単項演算回路28、画像メモリ駆動回路29、画像
入出力回路30、演算論理ユニット31、レジスタ・バ
ンク駆動回路/ベクトル・インデックス生成器32、レ
ジスタ・バンク33、透明マスク35と不透明マスク3
6と窓マスク37と線マスク38と多角形マスク39と
マスク組立手段40と範囲確認回路41からなるマスク
生成器34、位相同期ループ42を備えた部分、およ
び、プログラム制御44と起動ROM45と割り込み処
理手段46からなる命令処理回路43からなる。
タ処理回路は、RAM21、アキュムレータ22および
ウォーレスの木(Wallace tree)23からなる並列乗算
器20からなる。また、データ処理回路は、データ入出
力回路24、並列シフト・レジスタ25、バス構造2
6、単項演算回路28、画像メモリ駆動回路29、画像
入出力回路30、演算論理ユニット31、レジスタ・バ
ンク駆動回路/ベクトル・インデックス生成器32、レ
ジスタ・バンク33、透明マスク35と不透明マスク3
6と窓マスク37と線マスク38と多角形マスク39と
マスク組立手段40と範囲確認回路41からなるマスク
生成器34、位相同期ループ42を備えた部分、およ
び、プログラム制御44と起動ROM45と割り込み処
理手段46からなる命令処理回路43からなる。
【0019】バス構造26(図3)は、それぞれ例えば
32ビット幅の、制御SCバス51、Aバス52、Bバ
ス53、Qバス54、Fバス55、Mバス56、Uバス
53、Dバス58、Vバス59からなる。
32ビット幅の、制御SCバス51、Aバス52、Bバ
ス53、Qバス54、Fバス55、Mバス56、Uバス
53、Dバス58、Vバス59からなる。
【0020】レジスタ・バンク33は、出力レジスタ6
0および61を介してバスAおよびBにそれぞれ接続さ
れる。レジスタ・バンク33には、単一の32ビット・
ワード、2つの16ビット・ワード、または4つの8ビ
ット・ワードとして見ることが可能な96個の入力が含
まれている。3つのポートにより、2つのリード(読取
り)動作および1つのライト(書込み)動作を同時に行
うことが可能となる。96個のレジスタのうち62個
は、直接アクセスすることができる。残りの32個の入
力は、ベクトル・インデックス生成器32を介してアド
レス指定される。レジスタ内のワード単位の各区画は別
個に選択できるので、このベクトル・インデックス生成
器32は、各サイクルに最大12の位置、即ち3つのポ
ートの各々に対し4つのバイト区分を生成することがで
きる。
0および61を介してバスAおよびBにそれぞれ接続さ
れる。レジスタ・バンク33には、単一の32ビット・
ワード、2つの16ビット・ワード、または4つの8ビ
ット・ワードとして見ることが可能な96個の入力が含
まれている。3つのポートにより、2つのリード(読取
り)動作および1つのライト(書込み)動作を同時に行
うことが可能となる。96個のレジスタのうち62個
は、直接アクセスすることができる。残りの32個の入
力は、ベクトル・インデックス生成器32を介してアド
レス指定される。レジスタ内のワード単位の各区画は別
個に選択できるので、このベクトル・インデックス生成
器32は、各サイクルに最大12の位置、即ち3つのポ
ートの各々に対し4つのバイト区分を生成することがで
きる。
【0021】並列シフト・レジスタは、Aバス52経由
で受け取った情報に基づいて1クロック・サイクル中に
データ1から32ビットを左右の何れかに32ビットの
シフトができるようになっている。この情報は、32ビ
ット1区画、16ビット2区画または8ビット4区画へ
とグループ分けすることができる。シフトは、論理的
(符号無し)、数値的(符号付き)、および回転的に起
こりうる。オペランドは、Bバス54またはFバス55
から来る。並列シフト・レジスタ25は、レジスタ62
を介してQバス54に接続される。図8は、4箇所の8
ビット回転と8箇所の4ビット交差による、2つの16
ビットからなる32ビット・ワードの2段階の正方向1
1ビット回転の例を概略的に示す。
で受け取った情報に基づいて1クロック・サイクル中に
データ1から32ビットを左右の何れかに32ビットの
シフトができるようになっている。この情報は、32ビ
ット1区画、16ビット2区画または8ビット4区画へ
とグループ分けすることができる。シフトは、論理的
(符号無し)、数値的(符号付き)、および回転的に起
こりうる。オペランドは、Bバス54またはFバス55
から来る。並列シフト・レジスタ25は、レジスタ62
を介してQバス54に接続される。図8は、4箇所の8
ビット回転と8箇所の4ビット交差による、2つの16
ビットからなる32ビット・ワードの2段階の正方向1
1ビット回転の例を概略的に示す。
【0022】演算論理回路31(ALU)は、Aバス5
2とQバス54とMバス56とDバス58、Uバス5
7、そしてBバス53とFバス55とUバス57とVバ
ス59にそれぞれ接続されている。加算、減算、インク
リメントおよびディクリメントのような数値機能に加
え、従来のALUの通常の論理動作は、すべてこのAL
Uによって行うことができる。さらに、ALU31は、
いわゆるパラメトリック論理機能を備えている。これと
共に、8ビット・レジスタの内容に基づいて、3つのオ
ペランドに対し、可能な256個の論理演算の任意の組
み合わせを行うことができる。XウィンドウおよびMS
ウィンドウズの規格では、論理およびグラフィックの操
作は任意の組み合わせが可能となっている。パラメトリ
ック機能を用いて、シフト操作、マスク操作、および組
み合わせまたは比較の操作を単一クロック・サイクル中
に実現することも可能である。
2とQバス54とMバス56とDバス58、Uバス5
7、そしてBバス53とFバス55とUバス57とVバ
ス59にそれぞれ接続されている。加算、減算、インク
リメントおよびディクリメントのような数値機能に加
え、従来のALUの通常の論理動作は、すべてこのAL
Uによって行うことができる。さらに、ALU31は、
いわゆるパラメトリック論理機能を備えている。これと
共に、8ビット・レジスタの内容に基づいて、3つのオ
ペランドに対し、可能な256個の論理演算の任意の組
み合わせを行うことができる。XウィンドウおよびMS
ウィンドウズの規格では、論理およびグラフィックの操
作は任意の組み合わせが可能となっている。パラメトリ
ック機能を用いて、シフト操作、マスク操作、および組
み合わせまたは比較の操作を単一クロック・サイクル中
に実現することも可能である。
【0023】ALU31は、32、16および8ビット
のオペランドに対し、単一、2組および4組の並列ユニ
ットとして調節することができる。バスA、Q、Mまた
はDから来るデータにより、処理しようとするオペラン
ドの大きさの選択が行われる。モード(状態)選択器6
3は、ALU31に接続されて、出力64に対する状態
信号を生成する。さらに、ALU31は、出力レジスタ
64を介してFバス55に接続される。図4は、24ビ
ットのオペランドに対する並列4重動作に対するALU
の機能図を示す。一方、図5は、48ビットのオペラン
ドに対する並列2重動作に対するALUの機能図を示
す。図5では、それぞれ8ビットの2つの選択器および
2つのアキュムレータを組み合わせてある。
のオペランドに対し、単一、2組および4組の並列ユニ
ットとして調節することができる。バスA、Q、Mまた
はDから来るデータにより、処理しようとするオペラン
ドの大きさの選択が行われる。モード(状態)選択器6
3は、ALU31に接続されて、出力64に対する状態
信号を生成する。さらに、ALU31は、出力レジスタ
64を介してFバス55に接続される。図4は、24ビ
ットのオペランドに対する並列4重動作に対するALU
の機能図を示す。一方、図5は、48ビットのオペラン
ドに対する並列2重動作に対するALUの機能図を示
す。図5では、それぞれ8ビットの2つの選択器および
2つのアキュムレータを組み合わせてある。
【0024】乗算器23は、5クロック周期のパイプラ
インとして実施化されている。この乗算器は、32、1
6および8ビット・ワードに対してパイプライン動作を
行うことができる。16ビット複素数の相互間の乗算お
よび8ビット行列とベクトルとの乗算の実行に加え、特
にウォーレスの木(図7)があることにより、符号付き
の数、符号無しの数、またはこれらの組み合わせに関す
るあらゆる乗算演算が、すべて可能である。この乗算器
は、内部的には、48ビットの値、2つの24ビット
値、または4つの12ビット値で動作し、これらのうち
2つが、96ビットのデータ・バス・チャネルを介して
同時に転送される。図6は、5つのクロック・レベルを
有する乗算器の機能図である。この乗算器は、出力レジ
スタ66を介してMバス56に接続される。
インとして実施化されている。この乗算器は、32、1
6および8ビット・ワードに対してパイプライン動作を
行うことができる。16ビット複素数の相互間の乗算お
よび8ビット行列とベクトルとの乗算の実行に加え、特
にウォーレスの木(図7)があることにより、符号付き
の数、符号無しの数、またはこれらの組み合わせに関す
るあらゆる乗算演算が、すべて可能である。この乗算器
は、内部的には、48ビットの値、2つの24ビット
値、または4つの12ビット値で動作し、これらのうち
2つが、96ビットのデータ・バス・チャネルを介して
同時に転送される。図6は、5つのクロック・レベルを
有する乗算器の機能図である。この乗算器は、出力レジ
スタ66を介してMバス56に接続される。
【0025】単項演算回路28は、データを変換するの
に役立つ。これは、例えば2進数から単項(線形)への
変換、最上位の1の位置の表示、に関係し、符号の絶対
値を決定するとともに、ワード中のビット・シーケンス
を逆にする。ワード幅は、32、16または8ビットの
何れでも良い。
に役立つ。これは、例えば2進数から単項(線形)への
変換、最上位の1の位置の表示、に関係し、符号の絶対
値を決定するとともに、ワード中のビット・シーケンス
を逆にする。ワード幅は、32、16または8ビットの
何れでも良い。
【0026】マスク生成器34は、多数の独立したサブ
ユニットからなる。窓マスク37により、その他の演算
を適用しなければならない領域が決定される。範囲確認
手段41は、所定のパターンに基づいて動作する。その
最も重要な用途の1つは、文字の特徴の生成である。ま
た、この手段は、深度または色のような3次元画素デー
タの検査にも有効である。
ユニットからなる。窓マスク37により、その他の演算
を適用しなければならない領域が決定される。範囲確認
手段41は、所定のパターンに基づいて動作する。その
最も重要な用途の1つは、文字の特徴の生成である。ま
た、この手段は、深度または色のような3次元画素デー
タの検査にも有効である。
【0027】線マスク38は、所与の始点および終点の
間で定義されたパターンを水平方向に4本まで同時に生
成できるので、例えば、多角形の生成に役立てることが
できる。このように、画像の水平線に沿った形状は、こ
の線に沿って中断がなければ、線マスクを用いて生成す
ることができる。
間で定義されたパターンを水平方向に4本まで同時に生
成できるので、例えば、多角形の生成に役立てることが
できる。このように、画像の水平線に沿った形状は、こ
の線に沿って中断がなければ、線マスクを用いて生成す
ることができる。
【0028】多角形マスク39は、漢字などのように線
生成器が適さない要素を生成するのに有効である。多角
形マスクにより、関係する画素を通る水平線上における
輪郭線の変化の数が決定される。
生成器が適さない要素を生成するのに有効である。多角
形マスクにより、関係する画素を通る水平線上における
輪郭線の変化の数が決定される。
【0029】マスク組立手段40は、種々のマスクを上
敷きする。その結果、表示のための実際の画像が生成さ
れる透明マスク35、不透明マスク36、またはその両
方にとなる。透明マスクおよび不透明マスクは、共に最
大128の画素を4x32の行列として収容することが
できる。
敷きする。その結果、表示のための実際の画像が生成さ
れる透明マスク35、不透明マスク36、またはその両
方にとなる。透明マスクおよび不透明マスクは、共に最
大128の画素を4x32の行列として収容することが
できる。
【0030】データ入出力用の回路が、32ビットのデ
ータ・チャネルおよび23ビットのアドレス・バスに接
続される。アドレス指定範囲は、32Mバイトである。
ータ・チャネルおよび23ビットのアドレス・バスに接
続される。アドレス指定範囲は、32Mバイトである。
【0031】命令の入力は、プログラム制御ユニットの
制御下で行われる。別の64ビットバスを介して後から
入力される後続の命令語は、絶えず22ビットのアドレ
スを与えられる。プログラム・メモリの大きさは、4M
x64ビットまで可能である。
制御下で行われる。別の64ビットバスを介して後から
入力される後続の命令語は、絶えず22ビットのアドレ
スを与えられる。プログラム・メモリの大きさは、4M
x64ビットまで可能である。
【0032】画像メモリの駆動は、X/Y位置に基づく
アドレスを生成するように構成されているので、如何な
る任意の画像部分もその画像および画像メモリにおける
その位置に基づいてアドレス指定することができる。ま
た、画像メモリは、グラフィック要素と共にリストおよ
びデータバンクなどの他のデータバンクを格納するのに
も適している。
アドレスを生成するように構成されているので、如何な
る任意の画像部分もその画像および画像メモリにおける
その位置に基づいてアドレス指定することができる。ま
た、画像メモリは、グラフィック要素と共にリストおよ
びデータバンクなどの他のデータバンクを格納するのに
も適している。
【0033】本発明によるデータ処理回路に対し66M
Hzのクロック周波数を用いた場合、70nsのメモリ
のアクセス時間で動作させることができる。
Hzのクロック周波数を用いた場合、70nsのメモリ
のアクセス時間で動作させることができる。
【0034】本発明のデータ処理回路は、Cなどの高級
プログラム言語でプログラムすることができるので、プ
ログラマにとっては、RISCやISCの処理ユニット
と同様に容易にプログラムすることができる。また、こ
のデータ処理回路は、パーソナル・コンピュータのCI
CS命令だけでなく、RISC概念による命令でもプロ
グラムすることができる。しかしながら、データ処理回
路のすべての機能を64ビットの命令フィールドで低レ
ベルでプログラムすれば、グラフィック分野で大幅な高
速化を実現することができる。乗算器ユニットと同様
に、ALUも並列処理に設定することができるので、こ
れにより、例えば既存のRISCプログラムと比較して
4乃至20倍のグラフィック分野での高速化を得ること
ができる。決められたアプリケーションに対して、プロ
グラムは、一回限りの一連の命令およびレジスタを設定
し、続いて、1つのコマンドでプロセッサを始動させる
と、以降は、プロセッサが画素の流れを単独で処理す
る。
プログラム言語でプログラムすることができるので、プ
ログラマにとっては、RISCやISCの処理ユニット
と同様に容易にプログラムすることができる。また、こ
のデータ処理回路は、パーソナル・コンピュータのCI
CS命令だけでなく、RISC概念による命令でもプロ
グラムすることができる。しかしながら、データ処理回
路のすべての機能を64ビットの命令フィールドで低レ
ベルでプログラムすれば、グラフィック分野で大幅な高
速化を実現することができる。乗算器ユニットと同様
に、ALUも並列処理に設定することができるので、こ
れにより、例えば既存のRISCプログラムと比較して
4乃至20倍のグラフィック分野での高速化を得ること
ができる。決められたアプリケーションに対して、プロ
グラムは、一回限りの一連の命令およびレジスタを設定
し、続いて、1つのコマンドでプロセッサを始動させる
と、以降は、プロセッサが画素の流れを単独で処理す
る。
【0035】実現可能な高速化の例として、カラー画像
を回転し補間する5つの命令から成り、次の合計38の
命令を利用できるアルゴリズムがある。即ち、 2x16ビット・レジスタのリード 2x16ビット・レジスタ・アドレスのインクリメント 1x10ビットの定数のリード 2x16ビットのワードのシフト 2x16ビットの定数のリード 2x16ビットの値の加算 4x8ビットの2次元メモリ・データの読み出し 4x8ビットの画像メモリ・データの読み出し 1x32ビットの画像メモリ・アドレスのインクリメン
ト 4x8ビットの値の乗算 4x12ビットのアキュムレータ・レジスタのリード 4x12ビット値の積算 4x12ビットのアキュムレータ・レジスタのライト 2x5ビット・レジスタ・アドレス・アキュムレータの
インクリメント
を回転し補間する5つの命令から成り、次の合計38の
命令を利用できるアルゴリズムがある。即ち、 2x16ビット・レジスタのリード 2x16ビット・レジスタ・アドレスのインクリメント 1x10ビットの定数のリード 2x16ビットのワードのシフト 2x16ビットの定数のリード 2x16ビットの値の加算 4x8ビットの2次元メモリ・データの読み出し 4x8ビットの画像メモリ・データの読み出し 1x32ビットの画像メモリ・アドレスのインクリメン
ト 4x8ビットの値の乗算 4x12ビットのアキュムレータ・レジスタのリード 4x12ビット値の積算 4x12ビットのアキュムレータ・レジスタのライト 2x5ビット・レジスタ・アドレス・アキュムレータの
インクリメント
【0036】
【発明の効果】本発明によるデータ処理回路は、特定の
装置に組み込むことができるが、パーソナル・コンピュ
ータの拡張カードとして実施することもできる。ハード
ウェアの柔軟な利用によって、例えば200MHz(こ
れは、現在、最高速に属する)より低いクロック速度で
も、5乃至20倍早い画像処理を得ることができる。こ
れにより、本発明に係るデータ処理回路は、実時間ビデ
オ処理およびいわゆるバーチャルリアリティー(仮想現
実)に適したものとなる。
装置に組み込むことができるが、パーソナル・コンピュ
ータの拡張カードとして実施することもできる。ハード
ウェアの柔軟な利用によって、例えば200MHz(こ
れは、現在、最高速に属する)より低いクロック速度で
も、5乃至20倍早い画像処理を得ることができる。こ
れにより、本発明に係るデータ処理回路は、実時間ビデ
オ処理およびいわゆるバーチャルリアリティー(仮想現
実)に適したものとなる。
【0037】本発明の可能性をすべて説明することは、
その複雑さ故に実際的に不可能であるため、完成されて
いる限りの製品の仕様書を付属物件として提出する。本
技術分野における通例通り、この仕様書は、英語で書か
れている。
その複雑さ故に実際的に不可能であるため、完成されて
いる限りの製品の仕様書を付属物件として提出する。本
技術分野における通例通り、この仕様書は、英語で書か
れている。
【図1】本発明に係るデータ処理回路のグラフィックへ
の応用例の機能図である。
の応用例の機能図である。
【図2】図1のデータ処理回路の概略図である。
【図3】図1の内部構造の機能図である。
【図4】図3の機能図の演算論理ユニットの第1の機能
図である。
図である。
【図5】図3の機能図の演算論理ユニットの第2の機能
図である。
図である。
【図6】図3の機能図のパイプライン付き乗算器ユニッ
トの機能図である。
トの機能図である。
【図7】図6の機能図のウォーレスの木(Wallace tre
e)の機能図である。
e)の機能図である。
【図8】図3の機能図のシフト・レジスタ・ユニットの
機能図である。
機能図である。
1 P3 HISCグラフィックス/画像プロセッサ 2、4、6 バス 3 データ・メモリ(データRAM) 5 画像メモリ 7 RAMDAC 9 バッファ 12 レジスタ/ドライバ内蔵バッファおよびバス 10 アクセス論理回路(レジスタ/ドライバ/デコー
ダ) 11 命令RAM 13 クロック手段(クロック・エッジ揃え) 14 ビデオ・タイミング回路 15 ビデオ入力回路 20 並列乗算器 21 RAM 22 アキュムレータ 23 乗算器/ウォーレスの木 24 データ入出力回路 25 並列シフト・レジスタ 26 バス構造 28 単項演算回路 29 画像メモリ駆動回路 30 画像入出力回路 31 演算論理ユニット(ALU) 32 レジスタ・バンク駆動回路/ベクトル・インデッ
クス生成器 33 レジスタ・バンク 34 マスク生成器 35 透明マスク 36 不透明マスク 37 窓マスク 38 線マスク 39 多角形マスク 40 マスク組立手段 41 範囲確認回路 42 位相同期ループ 43 命令処理回路 44 プログラム制御 45 起動ROM 46 割り込み処理手段 51 制御SCバス 52 Aバス 53 Bバス 54 Qバス 55 Fバス 56 Mバス 53 Uバス 58 Dバス 59 Vバス 60、61、64 出力レジスタ 63 モード(状態)選択器
ダ) 11 命令RAM 13 クロック手段(クロック・エッジ揃え) 14 ビデオ・タイミング回路 15 ビデオ入力回路 20 並列乗算器 21 RAM 22 アキュムレータ 23 乗算器/ウォーレスの木 24 データ入出力回路 25 並列シフト・レジスタ 26 バス構造 28 単項演算回路 29 画像メモリ駆動回路 30 画像入出力回路 31 演算論理ユニット(ALU) 32 レジスタ・バンク駆動回路/ベクトル・インデッ
クス生成器 33 レジスタ・バンク 34 マスク生成器 35 透明マスク 36 不透明マスク 37 窓マスク 38 線マスク 39 多角形マスク 40 マスク組立手段 41 範囲確認回路 42 位相同期ループ 43 命令処理回路 44 プログラム制御 45 起動ROM 46 割り込み処理手段 51 制御SCバス 52 Aバス 53 Bバス 54 Qバス 55 Fバス 56 Mバス 53 Uバス 58 Dバス 59 Vバス 60、61、64 出力レジスタ 63 モード(状態)選択器
Claims (8)
- 【請求項1】 8ビットまたはその倍数ビットの整数デ
ータ・ワードを乗算する乗算器であり、そのワード長が
乗算のための前記の8の倍数ビットに従って行うべき乗
算に合わせて調節可能であり、パイプラインが一部を形
成する乗算器と、 8ビットまたは8の倍数ビットの整数データ・ワードに
対して算術演算を行う演算論理ユニット(ALU)と、
ここで、該データ・ワードのワード長は、処理のため8
の倍数ビットに従って調節可能であり、 少なくとも2つのレジスタを備え、演算、パイプライン
乗算、またはその両方を行うべき8の倍数ビットの整数
データ・ワードを一時的に内部に格納するレジスタ・ユ
ニットと、 多数の別個のバスを含み、該乗算器ユニットと、該演算
論理ユニットと、該レジスタ・ユニットとの間で整数デ
ータ・ワードの転送を行うバス構造と、を備えたグラフ
ィックスおよび画像処理用の整数データ処理回路。 - 【請求項2】 前記パイプラインが、5段階パイプライ
ンであることを特徴とする請求項1記載の整数データ処
理回路。 - 【請求項3】 前記整数データが、32ビットまたは1
6ビットのワードからなることを特徴とする請求項1ま
たは2記載の整数データ処理回路。 - 【請求項4】 そのワード長が、8ビットまたはその倍
数ビットの乗算用の整数データ・ワードの長さに従っ
て、行うべき乗算のために調節できることを特徴とする
パイプライン付き乗算器ユニット。 - 【請求項5】 そのワード長が、8ビットまたはその倍
数ビットの処理用の整数データ・ワードの長さに従って
調節できることを特徴とする演算論理ユニット。 - 【請求項6】 32ビットの整数データ・ワードを1乃
至32ビットだけ左右に回転的または非回転的にシフト
することを特徴とするシフト・レジスタ・ユニット。 - 【請求項7】 集積回路形式であることを特徴とする請
求項1、2、または3記載の回路。 - 【請求項8】 前記バス構造が、多数のレジスタおよび
その他の接続を備え、且つこれらの接続が、命令レジス
タからプログラム可能であることを特徴とする請求項
1、2、3および7記載の回路。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| NL9400607A NL9400607A (nl) | 1994-04-15 | 1994-04-15 | Dataverwerkingscircuit, vermenigvuldigingseenheid met pijplijn, ALU en schuifregistereenheid ten gebruike bij een dataverwerkingscircuit. |
| NL9400607 | 2004-04-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0855017A true JPH0855017A (ja) | 1996-02-27 |
Family
ID=19864076
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7115202A Pending JPH0855017A (ja) | 1994-04-15 | 1995-04-17 | グラフィックスおよび画像処理用の整数データ処理回路、パイプライン付き乗算器ユニット、演算論理ユニット、およびシフト・レジスタ・ユニット |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20060149932A1 (ja) |
| EP (1) | EP0678806A1 (ja) |
| JP (1) | JPH0855017A (ja) |
| IL (1) | IL113345A (ja) |
| NL (1) | NL9400607A (ja) |
| ZA (1) | ZA953082B (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9329936B2 (en) | 2012-12-31 | 2016-05-03 | Intel Corporation | Redundant execution for reliability in a super FMA ALU |
| CN111857822B (zh) * | 2016-08-05 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种运算装置及其操作方法 |
| CN115905076A (zh) * | 2021-09-30 | 2023-04-04 | 华为技术有限公司 | 一种数据处理方法以及一种交互系统 |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4346437A (en) * | 1979-08-31 | 1982-08-24 | Bell Telephone Laboratories, Incorporated | Microcomputer using a double opcode instruction |
| DE3577242D1 (de) * | 1984-08-14 | 1990-05-23 | Trt Telecom Radio Electr | Prozessor zur verarbeitung von daten verschiedener darstellungsarten und geeignetes multipliziergeraet fuer einen solchen prozessor. |
| JP2554050B2 (ja) * | 1986-02-26 | 1996-11-13 | 株式会社日立製作所 | デ−タ処理方法 |
| US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
| JP2675779B2 (ja) * | 1987-01-12 | 1997-11-12 | 沖電気工業株式会社 | 命令解読装置 |
| US5313551A (en) * | 1988-12-28 | 1994-05-17 | North American Philips Corporation | Multiport memory bypass under software control |
| US4953119A (en) * | 1989-01-27 | 1990-08-28 | Hughes Aircraft Company | Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers |
| FI83576C (fi) * | 1989-02-10 | 1991-07-25 | Nokia Mobira Oy | Foerfarande och kopplingsarrangemang foer reglering av ljudstyrkan vid en mobiltelefon. |
| JP2556612B2 (ja) * | 1990-08-29 | 1996-11-20 | 日本電気アイシーマイコンシステム株式会社 | バレルシフタ回路 |
| US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
| DE69230554T2 (de) * | 1991-07-08 | 2000-07-06 | Seiko Epson Corp., Tokio/Tokyo | Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus |
| US5268855A (en) * | 1992-09-14 | 1993-12-07 | Hewlett-Packard Company | Common format for encoding both single and double precision floating point numbers |
| EP0593073A1 (en) * | 1992-10-16 | 1994-04-20 | Matsushita Electric Industrial Co., Ltd. | A processor incorporating shifters |
| US5450604A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units |
| US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
| DE4304198A1 (de) * | 1993-02-12 | 1994-08-18 | Itt Ind Gmbh Deutsche | Verfahren zur Beschleunigung der Datenverarbeitung eines Signalprozessors |
| US5327369A (en) * | 1993-03-31 | 1994-07-05 | Intel Corporation | Digital adder and method for adding 64-bit, 16-bit and 8-bit words |
| US5465224A (en) * | 1993-11-30 | 1995-11-07 | Texas Instruments Incorporated | Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs |
| SG52303A1 (en) * | 1993-12-20 | 1998-09-28 | Motorola Inc | Arithmetic engine |
| US5541865A (en) * | 1993-12-30 | 1996-07-30 | Intel Corporation | Method and apparatus for performing a population count operation |
| US5487022A (en) * | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Normalization method for floating point numbers |
| US5442576A (en) * | 1994-05-26 | 1995-08-15 | Motorola, Inc. | Multibit shifting apparatus, data processor using same, and method therefor |
-
1994
- 1994-04-15 NL NL9400607A patent/NL9400607A/nl not_active Application Discontinuation
-
1995
- 1995-04-12 IL IL11334595A patent/IL113345A/en not_active IP Right Cessation
- 1995-04-13 ZA ZA953082A patent/ZA953082B/xx unknown
- 1995-04-13 EP EP95200948A patent/EP0678806A1/en not_active Withdrawn
- 1995-04-17 JP JP7115202A patent/JPH0855017A/ja active Pending
-
2006
- 2006-02-02 US US11/347,194 patent/US20060149932A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| NL9400607A (nl) | 1995-11-01 |
| IL113345A (en) | 1998-12-06 |
| ZA953082B (en) | 1996-01-05 |
| EP0678806A1 (en) | 1995-10-25 |
| IL113345A0 (en) | 1995-07-31 |
| US20060149932A1 (en) | 2006-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5774133A (en) | Computer system with improved pixel processing capabilities | |
| KR100266337B1 (ko) | 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기 | |
| US5001662A (en) | Method and apparatus for multi-gauge computation | |
| US4228498A (en) | Multibus processor for increasing execution speed using a pipeline effect | |
| US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
| US5440702A (en) | Data processing system with condition code architecture for executing single instruction range checking and limiting operations | |
| JPH04172533A (ja) | 電子計算機 | |
| JPH03158928A (ja) | データ処理装置 | |
| US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
| EP0807900B1 (en) | Microprocessor for processing graphics | |
| EP0913764B1 (en) | Method and apparatus for shifting data | |
| US5717845A (en) | Method and apparatus for transferring a brush pattern to a destination bitmap | |
| JPH0343827A (ja) | ファジーマイクロコンピュータ | |
| Margulis | i860 microprocessor internal architecture | |
| JP2565495B2 (ja) | デ−タ処理システム | |
| US5812836A (en) | System for processing iterative tasks in data processing systems | |
| JPH02297594A (ja) | データ処理装置、データ処理システム及びアウトラインフォントデータ発生方法 | |
| JP2567134B2 (ja) | ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ | |
| JPH02293931A (ja) | 制御装置 | |
| US6049864A (en) | Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor | |
| EP0678806A1 (en) | Data processing circuit, multiplier unit with pipeline, alu and shift register unit for use in a data processing circuit | |
| JP2856784B2 (ja) | 電子計算機 | |
| WO1992012496A1 (en) | Computer system with enhanced image and graphics capabilities | |
| JP2704011B2 (ja) | 描画プロセッサ | |
| JPH03161831A (ja) | 演算装置 |