JP2001506781A - ビデオフレームレンダリングエンジン - Google Patents

ビデオフレームレンダリングエンジン

Info

Publication number
JP2001506781A
JP2001506781A JP52299998A JP52299998A JP2001506781A JP 2001506781 A JP2001506781 A JP 2001506781A JP 52299998 A JP52299998 A JP 52299998A JP 52299998 A JP52299998 A JP 52299998A JP 2001506781 A JP2001506781 A JP 2001506781A
Authority
JP
Japan
Prior art keywords
circuit
memory
data
interface
processor
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
JP52299998A
Other languages
English (en)
Other versions
JP4235987B2 (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.)
SK Hynix America Inc
Original Assignee
Hyundai Electronics America Inc
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 Hyundai Electronics America Inc filed Critical Hyundai Electronics America Inc
Publication of JP2001506781A publication Critical patent/JP2001506781A/ja
Application granted granted Critical
Publication of JP4235987B2 publication Critical patent/JP4235987B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

Abstract

(57)【要約】 ディジタル信号及び画像処理と同じくビデオ処理及び動画で用いるためにフレームの全部又は一部を生成するのに必要な、メモリー(2)、ロジック、演算及び制御回路を含む回路(1)が提供されている。集積回路(1)上には1つ又はそれ以上、そのような回路が設けられている。ビデオ又は画像フレーム生成システムは、動画用のフレーム作成において非常に優れた性能、特に、医療用画像の作成、仮想現実、ビデオゲーム及びシミュレーション環境下でのリアルタイムのシーン生成のような、3次元及び他の高性能アプリケーションを提供するために、1つ又はそれ以上のこれらの集積回路、及び随意的に追加のメモリー回路から構成されている。この回路は、高度に最適化された計算性能を備えたシングルチップのJavaエンジンとして作動すると同様に、MPEG4により提案されているような高速オブジェクト指向グラフィクス関係ストリームを処理するのに用いられる。

Description

【発明の詳細な説明】 ビデオフレームレンダリングエンジン 関連出願の説明 本特許出願は、1996年12月19日出願の米国仮特許出願番号第60/0 33,476号及び1997年6月20日出願の同60/050,396号に依 り優先権を主張する。これらの仮特許出願の内容はそのままここに参考資料とし て挙げ、あらゆる目的に供するものとする。 発明の背景 本発明は回路に関する。特定すれば、本発明はビデオフレーム生成タスク、及 びディジタル信号処理(DSP)タスクに適した高性能集積回路に関する。 グラフィック産業における中心的課題はフレームを生成することである。各フ レームは画素の四角形配列であり、しばしば100万以上の画素を含んでいる。 動画、特に3次元動画では、通常、一つの画素を生成するのに数百万回ないし数 十億回の計算を必要とする。同様に、(医療画像作成のような)グラフィックア プリケーションでは、一つ又はそれ以上のフレームの生成を必要とし、更に、し ばしば連続した動画である必要がある。 この必要性を、1995年に映画「Toy Story」を作ったピクサーの 成果を例に考えてみよう。この映画には110,000個のフレームがある。ピ クサーは87個のデュアルプロセッサ100MHzSparc20’sと30個 のカッドプロセッサ100MHzSparc20’sを使った。これは合計で2 94個のCPUとなる。CPU当たり平均96メガバイトのRAMがあり、各処 理ノードはローカルの3−5ギガバイトのローカルディスクドライブを有してい た。ディスクファームとそのサーバーは本特許とは直接関係しないが、極めて大 きかった。1つの平均的フレームが1ないし3時間のSparcCPUプロセッ サ時間を要し、映画全体を計算するのに46日を要した。参考資料(1)参照。 「Toy Story」は写真のように写実的ではなかったが、一つのブレー クスルーであった。それは、完全に3次元コンピューター動画技術で製作された 最初の全長長編映画であった。このようなフィルムに写真的写実性を備えさせる には、少なくとも10倍も計算を複雑化させねばならない。30時間での写真的 に写実的なフレーム計算を想定しよう。 フレーム生成には多くの異なったプログラムが使用されている。参考資料(1 9)−(23)参照。これらのプログラムは複雑であり、且つ高性能である必要 がある。これらはC、C++、FORTRANのような高レベルの手順、オブジ ェクト指向コンピュータープログラミング言語で作られている。これらのプログ ラムの唯一最も性能的にクリティカルな部分は、ベースにあるレンダリングエン ジンハードウェアを目指してアッセンブリ/マシン言語で直接書かれていること であろうが、つまり、アッセンブリ/マシン言語でのプログラミングは手の出せ ないように高額な出費を要し、難しいからクリティカルなのである。これらのプ ログラムでは浮動小数点方式の計算が一般的であるが、それはその広いダイナミ ックレンジと、プログラミングの容易性の故である。 性能改善に対する必要性は大きい。最良のビデオ編集には毎秒1フレームが必 要とされる。リアルタイム仮想現実には毎秒30フレームまで作る必要がある。 これら2つの工業的アプリケーションを満足させるには、ビデオ編集に対しては 108,000x(=30時間/フレームx3600秒/時間)、そして仮想現実 に対しては3,240,000x(=30*ビデオ編集)のスピードアップをし て性能改善する必要がある。 高性能ディジタル信号処理にも同様な必要性がある。代表的要件には画像処理 が含まれるが、これはしばしば、人体及び機器を含む物の内部の画像を構築する ために、時間を通して2次元又は3次元のセンサーアレイから集められてくる。 これらの多次元信号処理アプリケーションは、超音波又は磁気画像センサーバ ンクから画像を構築する。これはフレーム生成と同様な性能要件を有している。 これらのアプリケーションは、3次元又は4次元環境の再構築/シミュレーショ ンにおける解像特性という目標を持っている。(注:ここで言う4次元とは、時 間を通して観察/シミュレーションされた3次元の領域を意味する。)解像特性 は、入力センサー解像能、所与の時間内に計算できるFFT分析の深さ、丸め誤 差の制御、データフレームの処理を通してのこれら丸め誤差の累算の関数である 。 最小時間で精巧な解像特性を実現するには、生成された画素又は出力データ点 当たり数百万、しばしば数十億回の計算処理が必要となる。ダイナミックレンジ 制御とフレキシブルな誤差丸め制御を提供するために浮動小数点計算方式を利用 するのは極普通である。ソフトウェアが絶え間なく進化することと、多くの異な るアプリケーションの利用のために、アルゴリズム面でのフレキシビリティは優 先事項である。これら異なるアプリケーションはしばしば非常に異なるソフトウ ェアを必要とする。 アプリケーションソフトウェア開発要件は極めて首尾一貫している。特に、大 抵のアプリケーションは、概ねコンピュータープログラミング手順言語、C、C ++、FORTRANで書かれた(参考資料(11)―(18)参照)数多くの ソフトウェアを必要とし、マシンレベルプログラミングの使用は、プログラムの 最も性能的にクリティカルな部分に制限される。 目標アルゴリズムは以下の共通の特徴を表示するが、それは即ち、処理要素当 たりしばしば100MB領域までになる大量のメモリーを必要とすること、出力 値(画素、データポイント等)当たり非常に多数の算術計算を必要とすること、 全てでなければ大抵の入力値(画素、データポイント等)に基づいて非常に多数 の計算を必要とすること、必要な通信オーバヘッドは計算容量に比較して比較的 小さいことである。 高解像能グラフィクスをサポートするものはこの30年間に開発されてきた。 参考資料(40)に見られるような1960年代1970年代の初歩的な努力の 結果は、特化した最小のハードウェアでのグラフィクスコンピューターシステム を作り出した。その当時には、VLSI(超大規模集積)集積回路(IC)に対 する考えは殆ど或いは全く無かった。 半導体装置によるグラフィクス産業のサポートは以下の事柄に焦点が当てられ ている。 A.努力の相当部分を使ったスクリーン表示装置のサポートによる、入出力装 置のサポート。この結果として、スクリーンを制御するための専用の集積回路の 開発が行われた。参考資料(2)参照。 B.高速マイクロプロセッサ及びディジタル信号プロセッサの開発。 C.高速且つ高密度メモリー装置、特にDRAM、VRAM等の開発。 D.リアルタイム画像処理及びフレーム生成アプリケーション向け特定目的要 素部品の開発。 これらの努力は以下のような基本的限界を持っている。 A.ディスプレイ装置コントローラーは、各フレームが固定された実行構造マ シンにより特定時間内に生成されるというように制限されている。このように、 フレームアルゴリズムが必然的に制限される。 B.高速マイクロプロセッサ及びDSPは偉大な固有のアルゴリズムのフレキ シビリティを保有し、それ故、「Toy Story」を作ったSUNネットワ ークのような高性能専用フレームレンダリング構成で使用される。参考資料(1) 参照。インテルのペンティアムプロセッサが出現した結果、RISC(縮小命令 セットコンピューター)社会の全てのトリックが統合されることになった。参考 資料(30)の「付録D:RISCへの代替:インテル80x86」及び参考資 料(31)の「付録:スーパースカラー386」はこれについての良い参考資料 を提供している。参考資料(30)の「付録C:RISCアーキテクチャのサー ベイ」は優れた概括を提供している。 しかし、商業ベースのマイクロプロセッサ及びDSPシステムはその大きなオ ーバヘッド回路により厳しく制限されている。現代のスーパースカラーコンピュ ーターにおいては、このオーバーヘッド回路は実際演算ユニットよりも大きいか もしれない。アーキテクチャ性能/コストのトレードオフに関する議論について は、参考資料(30)(31)参照。 C.高性能メモリーは必要ではあるが、メモリーは単に記憶するものでありデ ータを生成するものではないので、高速フレーム生成がこれだけで保証されるわ けではない。 D.しばしばDRAMである高性能メモリーと集積回路上で堅く連結されたデ ータ処理要素を統合する特定目的コンポーネントが幾つか提案されている。しか し、これらの成果には全て制限が付いている。(32)で論議されている回路は 非常に限られた精度の固定小数点演算エンジンを使用している。(32)で論議 されている回路は、浮動小数点の実行及び、単一プロッセッサのローカルメモリ ーよりも大きなプログラムの取り扱いの際には性能上の制約を受ける。 提案されている特定目的コンポーネントは、アルゴリズムの幾つかのカテゴリ ーを実行するのに最適化されている。これらのコンポーネントには以下のものが 含まれる。 D1.画像圧縮解凍プロセッサ。これらの回路は重要ではあるが非常に専用化 されており、多様なアルゴリズムに対して一般目的解を提供するものではない。 例えば、このようなエンジンは、C、C++、FORTRANのような高レベル 手順言語で効率的にプログラミングするのは非常に難しくなる傾向にある。これ らをアッセンブリ言語でプログラムする要件には当然、そのようなユニットは、 ソフトウェア開発に大きな経費を掛けることなく、多次元画像作成並びにグラフ ィックフレーム生成のための一般的目的の必要性に取り組まないであろうという ことが含まれている。参考資料(24)(25)参照。 D2.フラクタル、Zバッファ、ゴウラウド・シェーディング等のようなグラ フィクスアルゴリズムに最適化されたプロセッサ。これらの回路は、グラフィク スフレーム生成及び画像処理の両方が要求する幅広いアプローチ断面への最適化 を許容しない。参考資料(26)−(29)参照。 D3.ウェイブレット及び他のフィルター、ファーストパス基数4,8又は1 6FFT等のような信号処理プリプロセッサ・アクセレレータ。1次元及び2次 元離散コサイン変換エンジン。これらの回路は様々の大規模フレーム生成タスク を効率的に実行するためにプログラミングするのは難しい。 D4.マルチプロセッサ画像プロセッサ。これらのプロセッサは一般目的プロ グラミングに適さない混合MIMD及びSIMDシステムを含んでいる。参考資 料(21)及び(41)−(43)参照。 これらのプロセッサも、クロマティックのMPACT ICのようなVLIW (非常に長い命令ワード)SIMD ICを含んでいる。このようなICは同様 に、効率的コンパイラのサポートを必要とする、商業ベースのアプリケーション で使われる大量の3次元動画ソフトウェアのをプログラムするに必要な計算上の フレキシビリティを提供できない。参考資料(34)(39)参照。 D5.マルチメディア信号プロセッサ。これらのプロセッサも、浮動小数点の サポートの欠如、大型外部メモリーへの広範な外部データメモリーインタフェー スアクセス帯域幅の欠如、不十分な命令処理フレキシビリティ及びデータ処理汎 用性、累算結果に関する非常に均一なデータアクセスメカニズム無しに演算用プ ログラミングをするには非効率且つ困難なベクトルプロセッサへの依存のような 様々な制限を有している。参考資料(35)−(38)参照。 必要なのは、ビデオフレームレンダリング及びDSPタスク用の計算に関する 上記制限を排除する計算エンジンである。 発明の概要 ディジタル信号及び画像処理と同様にビデオ処理及び動画に使用するためのフ レームの全て又は一部を生成するのに必要な、メモリー、ロジック、演算及び制 御回路を含む回路が提供されている。1つ又はそれ以上のそのような回路が、集 積回路上に設けられている。医療画像作成、仮想現実、ビデオゲーム及びシミュ レーション環境下でのリアルタイムシーン生成のような、動画、特に3次元及び 他の高性能アプリケーションのためのフレーム生成において非常に優れた性能を 提供するため、ビデオ又は画像フレーム生成システムが一つ又はそれ以上の前記 集積回路、並びに随意的に追加のメモリー回路で構築されている。この回路は、 高度に最適化された計算能力を備えたシングルチップのJAVAエンジンとして 作動すると同様に、MPEG4で提案された高速オブジェクト指向グラフィクス 関係ストリームを処理するのに用いられる。 <ここに請求項を反映した言語を挿入> 図面の簡単な説明 図1は本発明の実施例による基本回路のブロック線図である。 図2は本発明の実施例による図1のアレイプロセッサのブロック線図である。 図3は本発明のもう一つの実施例による図1のアレイプロセッサのブロック線 図である。 図4は図1の埋め込み型マイクロプロセッサのブロック線図である。 図5は独立した外部メモリーインタフェースを備えた図1の基本回路2例を有 する集積回路のブロック線図である。 図6は一つの外部メモリーインタフェースを共有する図1の基本回路2例を有 する集積回路のブロック線図である。 図7は独立した外部メモリーインタフェースを備えた図1の基本回路4例を有 する集積回路のブロック線図である。 図8は一つの外部メモリーインタフェースを共有する図1の基本回路4例を有 する集積回路のブロック線図である。 図9は二つの外部メモリーインタフェースを共有する図1の基本回路4例を有 する集積回路のブロック線図である。 図10は二つの共有された外部メモリーインタフェースと完全に相互接続され たメッセージポートを備えた図1の基本回路4例を有する集積回路のブロック線 図である。 図11は四つの共有されたメモリーインタフェースを備えた図1の基本回路1 6例を有する集積回路のブロック線図である。 図12は二つの共有されたメモリーインタフェースを備えた図1の基本回路1 6例を有する集積回路のブロック線図である。 図13は図1の基本回路例をその対応するメモリーモジュールに接続するプリ ント回路ボードのブロック線図である。 図14は図1の基本回路例をその対応するメモリーモジュールに接続するもう 一つのプリント回路ボードのブロック線図である。 定義 ワイヤ ワイヤは回路の複数のノード間の状態を共有するための機構である。状態は、 電圧、電流、位相、スペクトル分解、光子振幅等これに制限されるわけではない がこれらを含む、ある物理的条件に基づく有限のアルファベットである。記号は アルファベットの個々の要素である。関連する物理的条件の計測値範囲は通常記 号をエンコードする。最も普通に用いられるアルファベットはセット{0,1} 即ち、2進記号セットである。上記スキーム全てを用いる2進システムが存在す る。他の共通に使用されるアルファベットには、3記号アルファベット、例えば {0,1,2}、多重2進アルファベット、例えば{00,01,10,11}等 がある。他のアルファベットも使用されている。ワイヤは、例えば(集積回路や 回路板内の)金属の帯、光ファイバー、マイクロウェーブチャネル(時にはマイ クロチャネルとも呼ばれる)として実体のあるものとされる。 ワイヤ束 ワイヤ束は1つ又はそれ以上のワイヤの集まりである。 バス バスはバスプロトコルを保持しているワイヤ束である。バスプロトコルはワイ ヤ束で接続された回路間の通信を定義する。バスは通常コンポーネントワイヤ束 から構成され、そこでは1つ又はそれ以上のコンポーネントワイヤ束が、1つ又 はそれ以上の他のコンポーネントワイヤ束上で、どの接続されたコンポーネント が受信しており、どれが送信しているかを決めることになる。 浮動小数点 浮動小数点表記は数字エンティティを表す状態の集合を含んでいる。集合は、 表示された数の符号、仮数、指数を定義する副集合を含んでいる。このような表 記は、本文書の参考資料で議論されているものに限定するわけではないがこれを 含む、IEEE標準浮動小数点及び特定目的浮動小数点表記を、これに限定する わけではないが、非排他的に含んでいる。浮動小数点表記は非排他的に拡張部を 含んでおり、これにより、各々上記のように数の符号、仮数、指数を含む2つの 副集合が存在する。数字表現は、数が存在する間隔の表現である。浮動小数点表 記は、付加的に非2進システムを含んでおり、そこでは仮数及び指数は2以外の 数の累乗を表す。 プログラム可能有限状態マシン プログラム可能有限状態マシンは、状態レジスタと、可能性としては、その中 に状態条件、量等のある1つ又はそれ以上の追加のレジスタと、状態レジスタ、 追加のレジスタ、外部入力がこれによって状態レジスタ及び可能性のある追加の レジスタに対する次の値を生成する機構とを含むマシンである。 SIMD 単一命令多重データパスアーキテクチャは、同一命令実行サイクルの間に2つ 以上のデータパス上で同一命令を実行する。この基本的コンセプトに対する代表 的拡張は、各データパスに関わる「状態フラグビット」の組込である。これらの フラグは、特定のデータパスが、グローバルに共用された命令の幾つか又は全て を実行可能となるように又は実行不可能となるようにする。 SIMDアーキテクチャは、複数のデータストリームを同じように処理する必 要がある状況に最も適している。これらのデータストリームの本来備わっている 同期性は、通信制御問題を度々単純化することにより利点を作り出す。SIMD アーキテクチャは、データパス間でデータ処理が同じでなくなる際にはいつでも 非効率となる。 SIMDアーキテクチャは、データパスに共有される命令処理機構はただ1つ しかないので、命令処理オーバヘッドコストは比較的少量しか必要としない。こ の命令処理機構は命令取り出し機構を有する。データパス集合は通常ただ1つの 命令メモリーを必要とする。 MIMD 多重命令多重データパスアーキテクチャは、別個の命令を異なるデータパスユ ニット上で実行する。このアプローチの基本的利点はフレキシビリティである。 如何なるデータ処理ユニットでもそれ自身の命令を、他のデータ処理ユニットと は独立して実行できる。しかし、このフレキシビリティには追加のコストが掛か っている。特に、各データ処理ユニットはそれ自身の命令取り出し、デコーディ ング、順序づけ機構を保有しなければならない。命令取り出し機構はしばしば、 データプロセッサに対しローカルの、少なくとも一つの小さなメモリーを保有す る。このローカルメモリーはしばしばキャッシュである。 (非常に)長い命令のワードプロセッサ(各々VLIW及びLIW) (非常に)長い命令のワードプロセッサはアーキテクチャの1つのクラスであ り、これによって、条件コード上の分岐のような通常の演算ができるプログラム カウンターと、データパスユニットを個別に制御する多重命令フィールドとを含 む単一命令処理機構が存在する。これらのアーキテクチャ内では、データパスユ ニットはしばしば構造と機能において互いに同じではない。 アレイプロセッサ アレイプロセッサは、1つ又はそれ以上の集合内に配列された複数のデータパ スユニットを有するLIW又はVLIW命令処理アーキテクチャとして定義され る。本発明の実施例では、後に説明するように、データパス集合は、送信ユニッ トを有する共通オペランドバスを経由して受け取る共通オペランドを受け取りそ してそれに則って作動し、各データパスはメモリーから1つ又はそれ以上の追加 のオペランドを受け取り、各データパス集合は、プログラム制御される内部要素 の演算を制御する命令フィールドを保有する命令メモリーを含んでおり、各デー タパスユニットは、1つ又はそれ以上の乗算/累算器(MAC)を含んでおり、 各MACは多数の累算レジスタを保有している。 乗算−累算器 乗算−累算器は2つのオペランドの乗算と少なくとも1つの他のオペランドの 加算(そして減算の可能性もある)を同時に実行する演算回路である。 高速フーリエ変換(FFT) 高速フーリエ変換は、信号のスペクトルを生成するための高度に最適化された アルゴリズムである。様々な含まれるトピックスの徹底的議論のため、参考資料 (11)(12)(15)の関連する章を参照されたい。 ベクトルプロセッサ ベクトルプロセッサはベクトル上で専門に作動するように設計されたアーキテ クチャである。通常、ベクトルプロセッサには深くパイプラインが設けられてい る。ベクトル処理には文献が多数捧げられている。参考資料(46)−(53) 参照。参考資料(30)の「ベクトルプロセッサ」はこの課題についての概括を 提供している。 特定の実施例についての説明 本発明は、メモリー、ロジック、計算及び専用の回路をカプセル化したコスト 効率の良い基本回路と、アルゴリズム、特にビデオフレームレンダリングに用い られる幅広いクラスのアルゴリズムをサポートするに適した制御とを提供する。 基本回路を複写すれば、計算容量を増やして、非常に高い性能要件をサポートす る能力を増やすことができる。 しばしば多次元である高性能信号処理と高性能フレームレンダリンググラフィ クスとの間の差異は僅かである。本文書の中では、議論は、グラフィクスの観点 からフレームレンダリングに焦点を当てており、本発明を適用する際の差異を正 確に述べる必要があるときには注釈を加えている。 図1は本発明の実施例による基本回路1のブロック線図である。基本回路1で は、外部ローカルメモリーインタフェース2用の1つ又はそれ以上のコントロー ラーが基本回路1と関連する(後の図に示す)ローカル外部メモリーへのアクセ スを提供する。このようなローカル外部メモリーは100メガバイトかそれ以上 のオーダー(Toy Story、参考資料(1)参照)、例えば1ギガバイトま でのものであるのが望ましい。マスタメモリーインタフェース及びコントローラ ー(MMIC)6は「大メモリー幅広インタフェース回路」6とも呼ばれるが、 外部ローカルメモリーインタフェース2と様々な他の構成要素との間の、命令を 始めとしたデータの流れを制御する。MMIC6は又、内部ローカルメモリー4 へのアクセスも制御する。基本回路1は又、グローバル外部バスインタフェース (GEBI)7、埋め込みマイクロプロセッササブシステム8、DSP(アレイ プロセッサ)9、近接回路通信ポート10、特定目的回路11(例えば、専用の フレームジェネレーター回路、コンテントアドレサブルメモリーCAM、ビット コードパーサ等)、及び図1に示すように回路を相互接続するワイヤ束3、5、 12、13、14、15、16、17も含んでいる。 GEBI7は外部環境とのインタフェースを提供する。この外部バスは、既知 のペリフェラルコンポーネントインタコネクト(PCI)、アクセレレイテッドグ ラフィクスポート(AGP)、ユニバーサルシリアルバス(USB)、IEEE13 94(以前はファイアウェア)、ファイバーチャネルのような標準的コンピュータ ーバスでもよいし、外部コントローラーホストと多様な本発明の例との間の通信 をサポートするように設計された特定目的のバスであってもよい。 埋め込みマイクロプロセッササブシステム8は基本回路1の作動を制御し、D SP(アレイプロセッサ)9又は特定目的回路11を目標とせずに計算を実行す る。マイクロプロセッササブシステム8は以下にもっと詳しく議論する。 DSP(アレイプロセッサ)9は浮動小数点演算を実行する。本発明のある実 施例では、DSP(アレイプロセッサ)9は、参考資料として挙げた1997年 6月20日出願の米国特許出願番号第60/050,396号に示し論議されて いるものである。DSP(アレイプロセッサ)9は、以下にもっと詳しく議論す る。 近接回路通信ポート10は、基本回路1とシステム内の基本回路1の他の例と の間の通信を提供する。基本回路が1例だけしか使用されていないシステムアプ リケーションでは、このポート10は必要ない。特定の実施例では前の文に対す る例外があり、そこではこれらのポート10の幾つかが、基本回路1の例ではな いが、にもかかわらず基本回路1の例により或いはそれを通して高度な並行処理 から利益を得る他の構成要素(図示せず)との通信を提供する。 基本回路1を多数例有するアプリケーションては、しばしば、基本回路1の例 相互間で、高速並行通信を必要とする。通信ポート10を設けることにより、基 本回路1はGEBI7内にできる可能性のあるボトルネックを低減する。特定の 実施例では、通信ポート10は正確に2つの例の間に専用の通信を提供し、それ 故、各ポートで使用されるプロトコルは、例えば外部バスインタフェース7で使 用されるバスプロトコルより遙かに単純にすることができる。 一般的に、例相互間の通信には標準的方法が使用されている。例えば、技術的 に広く資料提供されている、メッセージ転送プロトコルに基づく様々な通信スキ ームを使用することができる。同様に、幾つかの「セマフォ」システム又はハン ドシェーキングシステムの何れかを使用して、隣接していない例上で並行順次処 理(CSP)演算を同期させ制御する能力を提供することができる。 特定目的回路11は種々の実施例中に存在し、そうしなければ極度に複雑或い は時間の掛かる、アプリケーションにとって本質的な演算に対し性能強化を提供 する。そのような回路の例には、これに限定されるわけではないが、Zバッファ オペレーション、三角埋め、「BitBlts」、面張り等を加速させるためのフ レームジェネレーターと、フラクタル圧縮のためのパターンマッチングを加速す るため或いは圧縮されたトークンを例えばハッシュテーブル内への標準処理ポイ ンティングへ変換するためのコンテントアドレサブルメモリー(CAM)と、M EGA(ムービングピクチャエキスパートグループ)のような高度に圧縮された 通信及び、サンマイクロシステムズ社の商標であるが、Javaのような言語の ための、コマンド及びデータヘッダーをデコードするためのビットコードパーサ とが含まれる。 内部メモリーバンク4はランダムアクセスメモリー(RAM)アレイの一つ又 はそれ以上のバンクを含んでいる。これらのメモリーは、本発明の実施例では経 済的なダイナミックランダムアクセスメモリー(DRAM)であるが、他の形式 のメモリーを使うこともできる。好適な実施例では、幅広い構成に編成された合 計1ないし32メガバイト(MB)のメモリーが設けられている。1024ビッ ト(1Kビット)までの幅が考慮されている。64ビット以上の幅は「幅広」と 考えられている。これらのメモリーについての好適な構成は、これに限るわけで はないが、以下のようなものを含んでいる。 32K x 64、128、256、512、1Kビット 64K x 64、128、256、512、1Kビット 128K x 64、128、256、512、1Kビット 256K x 64、128、256、512、1Kビット等。 72のような2の累乗以外のデータ長へのアクセスを提供する構成は利点を有 し得ることに留意されたい。そのような構成は、MMIC6に統合されている追 加の標準ロジックにより実行される、エラー検出訂正スキームをサポートする。 MMIC6(マスタメモリーインタフェース及びコントローラー)は数多くの 機能をサポートするディジタルロジック回路である。内部メモリーバンク4がD RAMであるか或いはDRAMがやるようにリフレッシュを必要とする場合、M MIC6は自動的に内部RAMバンク4をリフレッシュする。MMIC6は、G EBI7、埋め込みマイクロプロセッサ8、DSP(アレイプロセッサ)9、そ して可能性があるものとしては近接回路通信ポート10の例、及び特定目的回路 11等による、読み取り及び書き込みのための内部RAMバンク4へのアクセス を許可、制御する。MMIC6は又、GEBI7、埋め込みマイクロプロセッサ 8、DSP(アレイプロセッサ)9、そして可能性があるものとしては近接回路 通信ポート10の例及び特定目的回路11等による、外部ローカルメモリーイン タフェース2へのアクセスを許可、制御する。 本発明の好適実施例では、MMIC6は、外部ローカルメモリー内のデータ及 び/又は命令のためにモジュール7、8、9、10、11から要求を受け取るこ とによりデータ及び命令のフローを制御するための有限状態マシン(FSM)を 含んでいる。MMIC6はFSMでエンコードされる判断アルゴリズムに基づき これらを満足させる。データ/命令フロー制御のためのFSMはよく知られてい る。 本発明の好適実施例では、埋め込みマイクロプロセッサ8、DSP(アレイプ ロセッサ)9、特定目的回路11の各々に対し、別個の命令及びデータのストリ ームが維持される。これらの命令及びデータのストリームは通常、プログラム初 期化及びオペレーションの間にGEBI7から外部メモリーにロードされた後、 外部ローカルメモリー上に存在する。これらの命令及びデータのストリームは通 常、既知のコンパイラ技法に従って1つ又はそれ以上のコンパイラにより製作さ れ、既知の方法に従って、調整のためある量のハンドシェイキングを組み込む。 MMIC6に加えて、埋め込みマイクロプロセッサ8及びGEBI7は、技術 的に知られている方法でデータ/命令フローを制御するための指示を提供する。 例えばマイクロプロセッサ8は、例えばGEBI7上でのエラー制御、初期化、 バスエラー処理の捕捉のため、FSMの制御を先制的に占有できる。 外部ローカルメモリーインタフェース、即ちELMI2用のコントローラー2 は、1つ又はそれ以上の種類の外部ICメモリーにアクセスするため、外部タイ ミング及びインタフェース規定のためのサポートを提供する。例えば、ELMI 2は、RAMに対し読み取り及び書き込みアクセスを提供し、不揮発性メモリー へは読み取りアクセスを提供する。外部メモリーの幾つか又は全てがDRAM関 係(参考資料(54)の第6、7章参照)である場合、ELMI2は自動メモリ ーリフレッシュをサポートする。最も良い場合、ELMI2はリフレッシュの間 にアクセス要求の待ち行列を提供する。ELMI2は又随意的に、書き込み、消 去、或いは可能性があるとすればゆっくりした演算の間に、アクセス要求の待ち 行列を提供する。 少なくとも外部メモリーの幾つかがプログラム可能で非揮発性(参考資料(5 4)の第10、11、12章参照)である場合、ELMI2は特定のワードの書 き込みと、適切な、ワードのブロックの消去とを提供する。随意的に、ELMI 2は、あるアプリケーションでの利点を提供するため、非揮発性メモリーオペレ ーションに対する消去保留のような、技術的に知られた追加の機能を提供する。 図1に特定的に示されてはいないが、基本回路1は代替実施例においては、ア ナログ・ディジタル変換器(A/D)、ディジタル・アナログ変換器(D/A)、電 圧制御発信器(VCO)等及びそれらの対応するワイヤ束のような、1つ又はそ れ以上のアナログインタフェース構成要素を含んでいる。 代替実施例における追加の2次サポート回路は、これに限るわけではないが、 内部クロック乗算器、位相ロックループ(PLL)、クロック配布ネットワーク、 一体型自己試験(BIST)回路、境界走査パス等を含んでいるが、これらは関 係技術で知られているものである。 基本回路1は、フレームレンダリング及び同様なタスク用の高性能計算エンジ ンを提供するために多くのやり方で最適化される設計を有している。埋め込みマ イクロプロセッサ8,DSP(アレイプロセッサ)9、特定目的回路11は、そ の個々の命令及びデータを並行して、且つデータ又は命令の欠如に対する停動を 最小にして処理するための回路資源を十分に備えている。この効率性は、今まで そしてこれからも述べるように、例えば、全体設計から、そして個々のモジュー ルの設計から生じている。例えばワイヤ束13は、グローバル外部バス7とメイ ンバスインタフェース上の基本フロー処理とは独立した埋め込みマイクロプロセ ッサ8との間の、例えば制御のような処理のための専用のパスを提供することに より、メインバスインタフェース(MMIC6及びワイヤ束12、14、15、 16、17)上の帯域幅オーバヘッドを低減する。このやり方で、メインバスイ ンタフェースの帯域幅が維持される。 ある好適実施例では、基本回路1は集積回路(IC)として実現される。重要 なのは、基本回路1は、その設計により、比較的小さなIC表面積を使って実現 できることである。又、アーキテクチャは単純且つフレキシブルなので、コンパ イラが効率よくその計算ユニットに、特にマイクロプロセッサとアレイプロセッ サに的を絞ることができる。 図2は、本発明の実施例による、図1のアレイプロセッサ9のブロック線図で ある。以下の議論から明らかになるように、アレイプロセッサ9は、引用参考資 料で議論されているように、先行技術のベクトル処理技法を使って効率的に並行 処理することのできない計算を実行することができる。 この計算には、例えば、幾つかの比較的短いベクトルを必要とする計算が含ま れる。例えば、a,b、c、d、zを全て複素浮動小数点数として、X=(az +b)/(cz+d)のような複素数関数を計算する場合である。よく知られて いるように、これらの計算並びに同様の計算はフレームレンダリングでは一般的 である。関数を計算する際には、a0,b0、c0、d0、z0、X0が実数要 素として、そしてこれに対応してa1,b1、c1、d1、z1、X1が虚数要 素として定義される。浮動小数点除法回路に入る前に、計算は2つの乗算累算パ スで進められる。最初のパスで以下の計算が行われる。 A0=a0*z0−a1*z1+b0 A1=a0*z1+a1*z0+b1 B0=c0*z0−c1*z1+d0 B1=c0*z1+c1*z0+d1 2番目のパスでは、共有オペランドが発生するので、B0とB1の結果が乗算累 算器(後に論議する)にフィードバックされる。 C0=A0*B0−A1*B1 C1=A1*B0+A0*B1 D=B0*B0+B1*B1 最後に、除算が実行される。 X0=C0/D X1=C1/D 図2の実施例によれば、アレイプロセッサインタフェース回路(APIC)9 65は、MMIC6からの命令とデータの要求及び受信、MMIC6へのデータ の送信を制御する。この実施例中のアレイプロセッサ9は多重データパス処理ユ ニット900の単一の集合970を有している。データパス処理ユニット900 は、簡素化してデータパス900とも呼ばれる。集合970は演算処理ユニット (APU)を形成する。 APU970内では、内部浮動小数点表記が使用される。この内部表記は外部 で使用される浮動小数点表記と同じでも同じでなくともよい。一般的に、APU 970は、例えば標準IEEE浮動小数点表記のような、少なくとも標準的外部 表記を期待して適用されている。ある好適実施例では、使用されている浮動小数 点表記は、例えば標準IEEE浮動小数点表記の例外ケースを含んでいない簡素 化した表記である。簡素化した表記を使用すれば、例外ケースの複雑性を避ける ことにより、例えば回路サイズに関して、内部効率を高めることができる。例外 ケースはフレームレンダリングとDSPアプリケーションには通常大きく関係す ることはないので、簡素化された表記の使用は現実的である。 APU970は、乗算器入力回路として働く共有オペランド回路(SOC)9 10を含んでいる。随意的に、SOC910は、RAMがオペランドキャッシュ 又は先入れ先出し(FIFO)待ち行列として使えるか否かを判断するアドレス コントローラーを有するRAM回路を含んでいる。SOC910内の第1のサブ 回路(図示せず)は、入力を受け取り、ワイヤ束902の状態を捕捉するための 多数の入力レジスタを含んでいる。SOC910は、第1サブ回路内のレジスタ と連結された第2のサブ回路(図示せず)を含んでいる。第2サブ回路は整数演 算ロジックユニット(ALU)(図示せず)を含んでいる。第2サブ回路は、レジ スタからのワイヤ束902の状態の選択されたフィールド上で、固定小数点加算 /減算を(ALU内で)実行する。第2サブ回路は又、加算/減算演算の、或い は入力レジスタの選択されたフィールドの固定小数点の結果を、既知の変換アル ゴリズムに従って内部浮動小数点表記に変換する。それ故、第2サブ回路は浮動 小数点変換ユニット(図示せず)を含むと言われる。 APU970は又、2つ又はそれ以上の乗算/累算器(MAC)をデータパス 処理ユニット900として含んでいる。MACは関係技術分野ではよく知られて いる。各MAC900は、SOC910から共有オペランドを受け取るためのワ イヤ束906に連結されている。各MAC900は又、対応するローカルデータ 記憶装置920に連結されている。一般的に、MAC900と同じくらい多くの ローカルデータメモリー回路920がある。 演算の間、各MAC900は3つの数X、Y、Zをある数字フォーマットで受 け取るが、ここに、Xはワイヤ束906を通して受け取られた共有オペランドで あり、YとZはローカルデータ記憶装置920からワイヤ束909を通して受け 取られる。 各MAC900は2つ又はそれ以上の、好ましくは少なくとも4個のレジスタ を保有する。各MAC900は、乗算及び加算/減算を各句ロックサイクル内に 実行することができ、それにより(恐らくは)現在の又は先のクロックサイクル 内で受け取られたX、Y、Zの値からXY+Z又はXY−Zを生成する。各MA C900は生成された結果をそのレジスタの1つに条件付きで記憶する。 APU900は、共有出力及びフィードバックインタフェース(SOFI)9 40を更に含んでいる。SOFI940は、ワイヤ束(907)の内部数字フォ ーマットを、外部的に必要な、必要とされる浮動小数点(例えばIEEE浮動小 数点)表記又は固定小数点表記に変換するための標準的技法を用いて適合される 浮動小数点変換ユニット(図示せず)を含んでいる。勿論、内部浮動小数点表示 が外部の表示と同じ実施例では、特定の変換を行う必要はない。SOFI940 はそのような変換の結果の伝送を、APIC965へのワイドバス901上で制 御する。特定の実施例では、SOFI940は又、伝送の前に必要に応じてその 結果を一時的に記憶する。 データメモリー920はメモリー回路(920)のための対応するアドレスジ ェネレーター(例えばモジュール950内に、以下で議論する)を有するか、又 はもう一つのMACのレジスタの状態が他の2つのオペランドを提供する。 本発明によるアレイプロセッサ9は、例えばベクトルプロセッサを使っては効 率的に実行できない各形式の計算を実行できるようにする。例えば、幾つかの離 散ウェイブレット変換フィルター(DWTF)の計算では、しばしば、幾つかの ベクトルのサブコンポーネントを横切って、幾つかの異なるスカラーを共有する 必要がある。ベクトルプロセッサはこのタスクを実行するのに通常、共有すべき スカラーの数と同じだけ多くのサイクルを必要とする。これらのDWTFでは、 全ての偶数の入力は全てのフィルター出力に影響を及ぼし、奇数の入力はフィル ター出力の半分だけに影響を及ぼす。この方式で4つの入力を処理すれば、奇数 のエントリーは、ベクトルプロセッサアプローチを使っての並行処理はできない という限界が出てくる。しかしアレイプロセッサ9の場合は、例えば、2つ(又 はそれ以上)の奇数エントリースカラーエレメントをベクトルの異なるコンポー ネントに送ることができるので、これらの問題は最小化される。基数2のFFT は、1つのベクトルの異なるコンポーネントに対する和と差の両方を提供する。 本発明は、ベクトルの各コンポーネントに対し並行してこれらを提供することに より、ベクトルプロセッサが必要とするように一対のエレメント当たり2サイク ルではなく、1サイクルで結果を導き出す。 図3は、本発明のもう一つの実施例による、図1のアレイプロセッサ9のブロ ック線図である。図3に示すように、アレイプロセッサ9はAPU970を2つ 有している。この構成は、浮動小数点計算が、例えば埋め込みマイクロプロセッ サ等他のモジュールによって実行されるべき他の計算との関係で、浮動小数点計 算が特に沢山あると期待されるアプリケーションに対し追加の並行処理能力を提 供する。更なる実施例では、基本回路1内のAPU970の数を2以上に増やす ことができる。 図3によるアレイプロセッサ9は、(図1に関し)基本回路1が合理化され、 図3によるアレイプロセッサ9に加えて、GEBI7、ELMI2、埋め込みマ イクロプロセッササブシステム8、必要に応じて近接回路通信ポート10を含み 、しかし、追加の特定目的回路11及びメモリーバンク4を含まず、それ故、M MIC6のメモリーコントローラーを省略するマスターインタフェース及びコン トローラー6を含まない実施例に用いられている。 図4は、図1の埋め込みマイクロプロセッササブシステム8のブロック線図で ある。埋め込みマイクロプロセッサは関係技術分野ではよく知られている。図4 に示すように、埋め込みマイクロプロセッササブシステム8はマイクロプロセッ サ800を含んでいる。マイクロプロセッサ800は、Java又はMPEG− 4、プログラム可能有限状態マシン(PFSM)、又はRISCエンジンのような バイトコードマシンとして、好ましくは、ARM7TDMI(参考資料(56) 参照)、又はMIPS16(参考資料(55)参照)のような32ビットのデー タパスを備えた16ビットの命令セットRISCとして実現できる。 埋め込みマイクロプロセッササブシステム8は又、随意のローカルキャッシュ 810、好ましくは、2−4ウェイインタリーブされた、少なくとも64頁の、 少なくとも1Kワードの合計メモリーを含んでいる。通常、キャッシュメモリー 810は、例えば32ビットワードとして編集される。キャッシュメモリー81 0は、1つは命令用、もう一つはデータ用の2つのコンポーネントキャッシュを 含んでいてもよい。 埋め込みマイクロプロセッササブシステム8は又、関係技術分野では知られて いるように、RAM820又はROM830のような追加の随意のローカル記憶 装置を含んでいる。ROM830は、マイクロプロセッササブシステム8及び/ 又は基本回路1のための、例えば初期化情報を含んでいてもよい。 ある好適実施例では、マイクロプロセッサ800は2バージョンの命令セット を提供するが、そのうち一つのバージョンは長さ16ビットで、コンパイラ技法 で生成されるコードにより使用される最も普通の命令を含んでおり、もう一つの バージョンは長さ32ビットである。このようなマイクロプロセッサは、関係技 術分野では知られている。このようなマイクロプロセッサの利点は、生成される プログラムコードの大部分は16ビットフォーマット内にあるであろうというこ とである。各マイクロプロセッサ800では、32ビット又はそれ以上の各命令 取り出しが、更なる命令メモリーアクセスに頼ることなく、次の1ないし3命令 を提供できる。 基本回路1及びアレイプロセッサ9は、ここで論議したように、数多くの注目 に値する利点を有する回路のアーキテクチャ又はクラスを明らかにする。 その利点の一つは、特定の計算集約的アルゴリズムをある環境下で実行する場 合、回路1は、マイクロプロセッサ又は従来型のDSPを使った同等サイズのプ リント回路基板上でそのようなアルゴリズムを実行する場合と比較して、非常に 高レベルの効率を有しているということである。 一般的に、基本回路1は、同じ結果を出す入手可能な他の機構と比べて、回路 サイズに関する要件は低い。それ故、基本回路1は同じ結果を出す他の機構より 安い。アレイプロセッサ9の回路サイズに関する要件が低い要因の一つは、それ が直接には除算を行わないことであり、このことは、大多数の対象としているフ レームレンダリング及びDSPアルゴリズムでは、実際非常に一般的なことでは ない。単精度アルゴリズムのみをサポートするためにMACが構成されているア レイプロセッサ9の実施例では、大きいクラスのフレームレンダリング及びDS Pアプリケーションに対しては通常十分であるので、アレイプロセッサ9の回路 サイズ要件は実質的に更に低減される。 アレイプロセッサ9のアーキテクチャは、(例えばSOC910での)浮動小 数点変換そしてその後に(MAC900での)乗算及び累算が後に続く、固定小 数点の加算/減算の「フロントエンド」を提供する。この「フロントエンド」は 、対称、非対称FIR及び低基数FFTと結びついて基本的な演算を行うことが できる。これらの演算は、しばしば、通常8ないし16ビットの固定小数点精度 を生成するサンプリング回路から固定小数点バージョンでデータを受け取る実際 のDSPアプリケーションにおいて極めて有用である。 アレイプロセッサ9のもう一つの利点は、丸め誤差を累算する一般的事象に関 係する。DSPアルゴリズムが演算結果の精度維持するということは非常に重要 である。効率化のため、従来のDSPプロセッサの多くは固定小数点演算を実行 するアルゴリズムを使用している。そのような固定小数点演算は、精度を維持す るため丸め誤差の管理に多大な注意を払わなければならない。これに対し、アレ イプロセッサ9は浮動小数点演算を効率的に実行できる。浮動小数点計算はずっ と良いダイナミックレンジを提供するという利点を持っている一方で、同じ精度 の結果を得るようにプログラムするのが極めて容易である。 特定の、アレイプロセッサ9の実施態様例の能力を検証してみるのは興味ある ことである。この実施態様例では、アレイプロセッサ9は(図3によれば)その APIC965で、MMIC6から少なくとも128ビットを受け取る。各AP U970のSOC910は少なくとも64ビット(好ましくな128ビット)を 同時に受け取ることができる。SOC910は受け取ったデータを固定8ビット 又は16ビットの整数フィールドにデコンポーズすることができる。SOC91 0はこれらのフィールドを4つまでの集合中で同時に加減算できる。この実施態 様例の構成は計算の中でも、基数4のFFTを計算するのに極端に高い性能を達 成できる。 この実施態様例では、アレイプロセッササブシステム9は、200メガヘルツ (MHz)の内部クロック速度を有している。以下の演算を各クロックサイクル 毎に実行することができる。それは即ち、4つの単精度浮動小数点乗算及び4つ の単精度浮動小数点加算と、整数/固定小数点加/減算、整数/固定小数点から 浮動小数点式への変換と、浮動小数点から固定小数点式への変換とである。この 実施態様例では、ローカルデータ記憶装置920は、対応するMAC900のた めにY、Zオペランドを取り出している間にMMIC6を通したアクセスから受 け取ったデータからの同時ローディングをサポートするため、2ウェイにインタ リーブされている。 この実施態様例では、通信スキームは、標準的技法を使って、GEBI7、M MIC6、埋め込みマイクロプロセッササブシステム8、ELMI2、アレイプ ロセッサ9のAPIC965の実現の中に具体化されており、アレイプロセッサ 9が、将来に想像されているフレームレンダリング及びDSPアプリケーション の形式に対して、75%の時間のオーダーで完全に活動的であり続けられるよう にしている。この性能想定は、基本回路1とその内部アレイプロセッサ9に対す るデータのローカリティに基づき妥当である。 この実施態様例の結果としての性能は、上記想定によれば、多くのDSP及び 特定フレームレンダリングアルゴリズムに対し1−3ギガフロップ(毎秒10億 浮動小数点演算)であろう。 基本回路1は、176ピンTQRF(薄型方形フラットパック)のような標準 ICパッケージで実現され、各ICはプリント回路基板スペースの約1平方イン チを占めるものと仮定しよう。そうすれば、本発明のある実施例はこれらのIC を32個まで保持できるPCIバスカードとして実現でき、これによって僅かの コストで、シリコングラフィクスワークステーション(参考資料(1)Toy S tory参照)の約16倍の性能が実現できる。 本発明は特に、Java(参考資料(64)−(65)参照)、及びMPEG− 4(参考資料(57)−(63)参照)のような対話型オーディオ−ビデオ言語 を含むアプリケーションでの使用に適している。MPEG−4標準作業は、多様 なアルゴリズムをカスタマーが目指すハードウェア上で実行できる環境を開発し ている。Javaはその定義において基本的にマシンに依存せず、非常に複雑で 計算的に費用の掛かるアルゴリズムを作り出し引き起こす意味的能力を保有して いる。本発明はネットワーク機器の高性能サポートを提供する。 幾つかの実施例の補助説明 本発明の幾つかの実施例を、様式化されたアウトライン形式で、集積回路とし て補足的に説明するが、この集積回路は、 1つの大メモリー幅広インタフェース回路であって、この大メモリーは集積回 路内に配置されていてもいなくてもよく、この大メモリー幅広インタフェース回 路はaaワイヤ束D0から成るバスB0によって大メモリーと接続されており、 大メモリー広インタフェース回路内の両方向トランシーバーは前記接続バス B0のワイヤ束D0を接続して、大メモリー幅広インタフェース回路と大メモ リーとの間のデータの転送を提供する、 そのような1つの大メモリー幅広インタフェース回路と、 1つ又はそれ以上のデータ処理回路であって、 プログラム可能有限状態マシン(PFSM)又はマイクロプロセッサの何 れかと、 大メモリー幅広インタフェースに対するデータプロセッサインタフェース回 路であって、このデータプロセッサインタフェース回路はバスB1によって大 メモリー幅広インタフェース回路と接続されており、両回路は、 前記接続バスB1のワイヤ束コンポーネントD1に接続された両方向トラ ンシーバーと、 前記ローカルメモリー回路内で前記接続バスB1の前記接続コンポーネン トワイヤ束D1の主張及び/又は感知された状態を記憶する能力を提供し、 状態がもはや主張されずそれ故前記接続バスB1の前記接続コンポーネント ワイヤ束D1上で感知されないかもしれない後に状態情報を保持できるよう にするローカルメモリー回路とから成り、且つ、 前記バスB1のワイヤ束D1の信号状態が、時間通りに前向き又は後ろ向 きに翻訳されたD0の信号状態の幾つか又は全てを含んでいる、即ち、ある 機構によってデータが前記バスB0のワイヤ束D0へ又はそこから転送でき る、 そのようなデータプロセッサインタフェース回路と、 を含む1つ又はそれ以上のデータ処理回路と、 1つ又はそれ以上のアレイプロセッサであって、その各々は大メモリー幅広イ ンタフェース回路へのアレイプロセッサインタフェース回路と、共有オペランド 入力回路と、多数の乗算/累算器と、共有乗算器出力回路と、命令デコーダー回 路とを含んでおり、且つ、 アレイプロセッサインタフェース回路の大メモリー幅広インタフェース回路 への接続はバスB2から成り、且つインタフェース回路と大メモリー幅広イン タフェース回路は、 前記接続バスB2の接続ワイヤ束コンポーネントD2に接続された両方向 トランシーバーと、 前記ローカルメモリー回路内で前記接続バスB2の前記接続コンポーネン トワイヤ束D2の主張及び/又は感知された状態を記憶する能力を提供し、 状態がもはや前記接続バスB2の前記接続コンポーネントワイヤ束上 で主張されずそれ故感知されないかもしれない後に状態情報を保持できるよ うにするローカルメモリー回路とを含み、且つ、 前記バスB2のワイヤ束D2の信号状態が、時間通りに前向き又は後ろ向 きに翻訳されたD0の信号状態の幾つか又は全てを含んでいる、即ち、ある 機構によってデータが前記バスB0のワイヤ束D0へ又はそこから転送でき るようになっており、 共有オペランド入力回路はバスB3によってアレイプロセッサインタフェー ス回路に接続され、しかも、共有オペランド入力回路は、共有乗算器出力回路 と、各乗算/累算器に関係するローカルデータメモリー回路にバスB4で接続 されており、且つ、 前記共有オペランド入力回路はワイヤ束の状態情報の幾つか又は全てを受 け取るようになっており、 各乗算−累算器は乗算及び加算機構に加えて2つの独立してアドレス可能な ランダムアクセスメモリーからなっており、且つ、 前記乗算及び加算機構は一つの乗算器入力を共有し、読み取り専用メモリ ーであってもなくてもよい2つの独立してアドレス可能なランダムアクセス メモリーから2つの他の入力を供給されており、 各ランダムアクセスメモリーのアクセス及び制御ワイヤ束は制御ワイヤ束 (CWB)のコンポーネントであり、 前記乗算及び加算機構は、乗算−累算器と乗算器出力回路とを共有するワ イヤ束MOへの1つの出力ドライバを保有しており、 各出力ドライバーは制御ワイヤ束CWBのワイヤ束コンポーネントにより 制御されており、 前記乗算器出力回路はMOワイヤ束インタフェースと、乗算器出力メモリー 回路と、乗算器出力インタフェースとから成り、且つ、 前記MOワイヤ束インタフェースはMOワイヤ束に接続された入力回路か ら成り、 前記乗算器出力回路はMOワイヤ束インタフェース回路の入力回路と、メ モリー回路内に記憶されるべきデータを供給できるような方法で接続さ れており、 前記メモリー出力回路は乗算出力インタフェースと接続され、これにより メモリー回路の状態が、メモリー出力インタフェースからコンポーネントワ イヤ束又は全体バスB3の何れかに出力できる、 そのような1つ又はそれ以上のアレイプロセッサと、 を含む集積回路である。 ある実施例では、バスB0は更にコンポーネントワイヤ束D0A及びD0Cを 含んでおり、且つ 大メモリー幅広インタフェース回路内の出力ドライバは、前記接続バスB0 のワイヤ束D0Aを接続して、大メモリーデータにアクセスするのに必要なア ドレス信号を供給し、 大メモリー幅広インタフェース回路内の出力ドライバは、前記接続バスB0 のワイヤ束D0Cを接続して、大メモリーデータにアクセスするのに必要な制 御信号を供給する。 ある代替実施例では、バスB0は更にコンポーネントワイヤ束D0Fを含んで おり、且つ、 大メモリー幅広インタフェース回路内の入力ドライバは、前記接続バスB0 のワイヤ束D0Fを接続して、大メモリーデータアクセスの状態を通信するの に使うフィードバック信号を供給する。 ある実施例では、外部回路への通信インタフェースの内少なくとも一つが、請 求されている回路がバスマスターとして作動するバスへの通信インタフェースを 提供する。 ある実施例では、外部回路への通信インタフェースの内少なくとも一つが、請 求されている回路がバススレーブとして作動するバスへの通信インタフェースを 提供する。 図5−12は、ビデオフレーム生成タスク及び他の概ね並行する計算に対して 近線形昇速を提供するための本方法の使用を示す。統合化のレベルが進むに従っ て、共有外部メモリーインタフェース内への外部メモリーインタフェース通信パ スを集めて一団とすることが重大な利点となってくる。各外部メモリーインタフ ェースは、各ICに多くのピンを追加することにより生産コストに重大な経済的 負担を加える。これはダイのサイズばかりでなく、熱散逸及び電力消費にもます ます影響を与える。外部メモリーとのインタフェースをこの方法で共有すれば、 製造コストに関して通信帯域幅を経済的に最適化できる。 図5は独立した外部メモリーインタフェースを備えた図1の基本回路2例を有 する集積回路のブロック線図である。 図6は一つの外部メモリーインタフェースを共有する図1の基本回路2例を有 する集積回路のブロック線図である。 図7は独立した外部メモリーインタフェースを備えた図1の基本回路4例を有 する集積回路のブロック線図である。 図8は一つの外部メモリーインタフェースを共有する図1の基本回路4例を有 する集積回路のブロック線図である。 図9は二つの外部メモリーインタフェースを共有する図1の基本回路4例を有 する集積回路のブロック線図である。 図10は二つの共有された外部メモリーインタフェースと完全に相互接続され たメッセージポートを備えた図1の基本回路4例を有する集積回路のブロック線 図である。 図11は四つの共有されたメモリーインタフェースを備えた図1の基本回路1 6例を有する集積回路のブロック線図である。 図12は二つの共有されたメモリーインタフェースを備えた図1の基本回路1 6例を有する集積回路のブロック線図である。 図13は図1の基本回路例をその対応するメモリーモジュールに接続するプリ ント回路ボードのブロック線図である。 図14は図1の基本回路例をその対応するメモリーモジュールに接続するもう 一つのプリント回路ボードのブロック線図である。 参考資料 1.ユーボイス、ジェフ「太陽ハリウッドを行く:117SPARCステーシ ョンレンダー「Toy Story」最初の長編コンピューター動画フィルム」、 SunWorld Online、1995年11月、www電子マガジンhttp://www.sun.com/sunworldonline/swol-11-1995/swol-11-pixr.html 参照。 2.ファック、ヘンリー、米国特許第4,590,465号「ロジック補強し た画素メモリーセルを使ったグラフィクスディスプレイシステム」1982年2 月18日出願、1986年5月20日認可 3.アンドリュー、デビッドH他、米国特許第4,646,075号「データ 処理パイプラインのためのシステムと方法」1983年11月3日出願、198 7年2月24日認可 4.リトルフィールド、リチャード、米国特許第4,949,280号「パラ レルプロセッサベース・ラスターグラフィックスシステムアーキテクチャ」19 88年5月10日出願、1990年8月14日認可 5.ヘドリー、デイビッド他、米国特許第4,953,107号「ビデオ信号 処理」1989年8月28日出願、1990年8月28日認可。 6.ウェストバーグ、トーマス他、米国特許第5,101,365号「Zバッ ファメモリーを使用したウィンドウを拡張するための装置」1990年11月7 日出願、1992年3月31日認可 7.カウリー、ロビン、米国特許第5,103,217号「電子画像処理」1 988年11月29日出願、1992年4月7日認可 8.ライアン、ボブ他、米国特許第5,182,797号「階層データ構造を ディスプレイ表示するためのマルチプロセッサグラフィクスディスプレイシステ ム」1992年5月27日出願、1993年1月26日認可 9.ソカイトシオ他米国特許第5,594,844号「オブジェクトベースパ ラメータを使って数値分割されたボクセルを通しての光線追跡を使った3次元ビ ュー」1994年1月25日出願、1997年1月14日認可 10.ユーリン、キース、米国特許第5,630,043号「3次元画像表示 のための動画テクスチャマップ装置及び方法」1995年5月11日出願、19 97年5月13日認可 11.オッペンハイム、アラン&シェファ、ロナルド「ディジタル信号処理」 1989年、ブレンティスホール、ISBN 0−13−21629−X 1993年、AKピーター社、ウェズリー、マサチューセッツ、02181、I SBN 1−56881−000−8 1992年、工業応用数学界、ISBN 0−89871−274−2 994年、バークハウザ、ボストン、ISBN 0−8176−3711−7 スプリンガー−フェルラーク、ニューヨーク、ISBN 0−387−9421 1−4 17.マグレガ、D.R.他「高速フラクタル圧縮」ドブ博士のジャーナル、 1996年1月、34頁他 スホール、ISBN 0−13−935322−4 1995年、モーガンカウフマン出版社、ISBN 1−55860−276− 3 20.フォーリー、ジェームス他「コンピューターグラフィクス:原理と実際N 0−201−84840−6 93年、アディソン−ウーズレイ出版社、ISBN 0−201−63186− 5 22.ワット、アラン&ワット、マーク「進化したアニメーション及びレンダ −1 23.プルシンキヴィッツ、プルツェミズロー&リンドナイヤー、アリスティ ク、ニューヨーク社、ISBN 0−387−97297−8 24.イワタエイジ他「リアルタイムMPEG2ビデオコーディング/デコー ディングのための2.2GOPSビデオDSP、2−RISC MIMD、6− EE、ISBN 0−7803−3721−2、258−259頁 25.シルバーブルック、キア、米国特許第5,590,252号「ビデオプ ロセッサシステム及びオーディオプロセッサシステム」1993年4月28日出 願、1996年12月31日認可 26.ユーリン、キース、米国特許第5,630,043号「3次元画像表示 のための動画テクスチャマップ装置及び方法」1995年5月11日出願、19 97年5月13日認可 27.サカイトシオ他米国特許第5,594,844号「オブジェクトベース パラメータを使って数値分割されたボクセルを通しての光線追跡を使った3次元 ビュー」1994年1月25日出願、1997年1月14日認可 28.グリーン、エドワード他、米国特許第5,579,455号「階層的Z −バッファ可視性を使ったディスプレイ上への3次元シーンのレンダリング」1 993年7月30日出願、1996年11月26日認可 29.ポールトン、ジョン他、米国特許第5,481,669号「強化メモリ ー装置を利用した画像生成のためのアーキテクチャ及び装置」1995年2月6 日出願、1996年1月2日認可 30.パターソン、デイビッド&ヘネシー、ジョン「コンピューターアーキテ フマン出版社、ISBN 1−55860−329−8 991年、PTRプレンティス−ホール社、イングルッドクリフ、ニュージャー ジー、ISBN 0−13−875634−1 32.ムラカミカズアキ他「256MbDRAM及びカッドプロセッサを備え たパラレル処理RAMチップ」1997IEEE国際固体素子回路会議、228 −229頁、ISBN 0−7803−3721−2 33.アイモトヨシハル他「16MbDRAMと128プロセッサを統合する 7.68GPI3.84GB/s 1Wパラレル画像処理RAM」1996IE EE国際固体素子回路会議、372−373頁、ISBN 0−7803−31 36−2 34.ヤオ、ヨン「クロマティックのMpact2ブースト3D:Mpact /3000が大量出荷される最初のメディアプロセッサになる」マイクロプロセ ッサリポート第10巻No.15、1頁及び6−10頁、1996年11月18 35.シミズ、トヌ他「16MbDRAMを備えたマルチメディア32bRI SCマイクロプロセッサ」1996IEEE国際固体素子回路会議、216−2 17頁、ISBN 0−7803−3136−2 36.グラスコフスキー、ピーター「富士通はDVDでメディアプロセッサを 目指す:MMAは長命令ワードコア、統台周辺機器を結合」マイクロプロセッサ イクロデザインリソース 37.「三星、マルチメディア信号プロセッサを発表」ジョンペディアソシエ ジョンペディアソシエーツ、ティブロン、カリフォルニア94920、1153 −1156頁 38.ヤオ、ヨン「三星、メディアプロセッサを出荷:MPAはマイクロソフ トの新3Dソフトウェアアーキテクチャ用に設計されている」マイクロプロセッ サリポート第10巻、No.11、1頁及び6−9頁、1996年8月26日発 39.「クロマティック、Mpactを初公開」ジョンペディアソシエーツP ペディアソシエーツ、ティブロン、カリフォルニア94920、1182−11 83頁 40.ロムニー、ゴードン他、米国特許第3,621,214号「電子的に生 成された透視図」1968年11月13日出願、1971年11月16日認可 41.ゴーブ、ロバート、米国特許第5,410,649号「画像表現コンピ ューターシステム及びネットワーク」1992年6月29日出願、1995年4 月25日認可 42.ゴーブ、ロバート他、米国特許第5,522,083号「1つのプロセ ッサが残りのプロセッサで使うために命令を取り出す、SIMDモードで作動す る再構成可能マルチプロセッサ」1994年6月22日出願、1996年5月2 8日認可 43.「TMX320C6201ディジタル信号プロセッサ:プロダクトプレ ンスツルメント、テキサスインスツルメントウェブサイトhttp://www.ti.comか ら入手可能 44.ワインレブ、ダニエル&ムーン、デイビッド「フレイバー:LISPマ シンにおけるメッセージパッション」AIメモ602、1980年11月、M. I.T.人工知能研究所 45.デーリィ、ウィリアム他「メッセージ駆動プロセッサアーキテクチャ、 バージョン11」AIメモ1069、1988年8月、M.I.T.人工知能研 究所 46.クレイ、セイモア、米国特許第4,128,880号、1976年6月 30日出願、1978年12月5日認可 47.ベアード、ダグラス他、米国特許第5,544,337号「ベクトルレ ジスタで制御するためのレジスタを有するベクトルプロセッサ」1995年6月 7日出願、1996年8月6日認可 48.ヨシナガトール、シンジョウナオキ、米国特許第5,598,574号 「ベクトル処理装置」1996年3月18日出願、1997年1月28日認可 49.クレイ、セイモア、米国特許第3,833,889号「マルチモードデ ータ処理システム」1973年3月8日出願、1974年9月3日認可 50.ポーター、ジョン他、米国特許第4,589,067号「ダイナミック に構成可能なマルチファンクションパイプラインALUを備えた全浮動小数点ベ クトルプロセッサ」1983年5月27日出願、1986年5月13日認可 51.エリス、ジェームズ他、米国特許第5,418,973号「ベクトル演 算及びスカラー演算の双方を調整するキャッシュコントローラーを備えたディジ タルコンピューターシステム」1992年6月22日出願、1995年5月23 日認可 52.オモダコイチロー他、米国特許第4,651,274号「ベクトルデー タプロセッサ」1984年3月28日出願、1987年3月17日認可 53.ギャラップ、ミシェル他、米国特許第5,600,846号「データ処 理システム並びにその方法」1995年2月17日出願、1997年2月4日認 可 54.プリンス、ベティ「半導体メモリー:設計、製造、適用ハンドブック、471−94295−2 55.「製品説明:MIPS16アプリケーション特定エクステンション」v 1.1、1997年7月24日のシリコングラフィクス社ウェブサイトhttp://www.sgi.com/MIPS/mips16pdf で見ることができる ISCマシン社(ARM)1995年 57.「ボリューム1エディトーリアル」画像通信ジャーナル:MPEG−4 についての特集、1997年7月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper0.htmか らダウンロード 58.ケネン、ロブ、ペレイラ、F.、チャリグリョーネ、L.「MPEG4 :コンテクストとオブジェクティブ」画像通信ジャーナル:MPEG−4につい ての特集、1997年7月17日の週をhttp://drogo/cselt.stetit/ufv/leonardo/icjfiles/mepg-4 si/paper1.htmから ダウ ンロード 59.コンティン、L、他「MPEG−4オーディオコーデックプロポーザル でのテスト」画像通信ジャーナル:MPEG−4についての特集、1997年7 月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper3.htmか らダウンロード 60.オスターマン、ジョーン「MPEG−4におけるビデオツール及びアル ゴリズムの評価に使用されるメソドロジー」画像通信ジャーナル:MPEG−4 についての特集、1997年7月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper4.htmか らダウンロード 61.エブラーミ、トーラジュ「MPEG−4ビデオ検証モデル:内容表現に 基づくビデオエンコーディング/デコーディングアルゴリズム」画像通信ジャー ナル:MPEG−4についての特集、1997年7月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper5.htmか らダウンロード 62.アバロ、O.他「MPEG−4システムと記述言語:可聴可視情報表現 における進んだ方法」画像通信ジャーナル:MPEG−4についての特集、19 97年7月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper6.htmか らダウンロード 63.デンジ、P.他「MPEG−4:混合メディアのためのオーディオ/ビ デオ&合成グラフィクス/オーディオ」画像通信ジャーナル:MPEG−4につ いての特集、1997年7月17日の週をhttp://drogo/cselt.stet.it/ufv/leonardo/icjfiles/mepg-4 si/paper7.htmか らダウンロード 64.ゴスリング、ジェイムズ、ジョイ、ビル&スチール、ガイ「JavaT により出版、ISBN 0−201−63451−1 65.アーノルド、ケン&ゴスリング、ジェイムズ「JavaTMプログラミ より出版、ISBN 0−201−63455−4 66.インテル「アクセレレイティッドグラフィクスポートインタフェース仕 様」改訂版1.0、インテル社、1996年7月31日 67.「ユニバーサルシリアルバス仕様」改訂版1.0、コンパック、ディジ タルイクイップメント、IBMPC、インテル、マイクロソフト、NEC、ノー ザンテレコムの各社による、1996年1月15日 68.ソラーリ、エドワード&ウィルス、ジョージ「PCエハードウェア及びより出版、サンディエゴ、カリフォルニア、ISBN 0−92392−3−9 、第5刷、1996年1月 69.シャンリー、トム、アンダーソン、ドム「PCIシステムアーキテクチ 3−3,第1刷、1995年2月 70.パパイチャリス、パノス&ソ、ジョン「TMS32020による高速フ ーリエ変換アルゴリズムの実現」、「TMS32020によるディジタル信号処 理

Claims (1)

  1. 【特許請求の範囲】 1.作動中にはメモリーと共に作動する集積回路において、前記メモリーに連結 されていて、前記メモリーへのアクセスを制御するように構成されているイン タフェース回路と、前記インタフェース回路にそこからの情報を受け取るため 連結されていて、前記インタフェース回路を制御するように構成されている埋 め込みプロセッサと、前記インタフェース回路にそこからの情報を受け取るた め連結されている、算術計算を実行するためのアレイプロセッサとから成るこ とを特徴とする集積回路。 2.前記アレイプロセッサが、複数の乗算/累算器と、前記複数の乗算/累算器 の内少なくとも2つに、共有されたオペランドを供給するために連結されてい る共有オペランド回路とから成ることを特徴とする、上記請求項1に記載の集 積回路。 3.前記インタフェース回路が、幅広いアクセスを提供するためのワイヤ束を含 んでいることを特徴とする、上記請求項1に記載の集積回路。 4.前記ワイヤ束が、少なくとも256本のワイヤから成ることを特徴とする、 上記請求項3に記載の集積回路。
JP52299998A 1996-12-19 1997-12-18 ビデオフレームレンダリングエンジン Expired - Lifetime JP4235987B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3347696P 1996-12-19 1996-12-19
US60/033,476 1996-12-19
US5039697P 1997-06-20 1997-06-20
US60/050,396 1997-06-20
PCT/US1997/023849 WO1998028695A1 (en) 1996-12-19 1997-12-18 Video frame rendering engine

Publications (2)

Publication Number Publication Date
JP2001506781A true JP2001506781A (ja) 2001-05-22
JP4235987B2 JP4235987B2 (ja) 2009-03-11

Family

ID=26709753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52299998A Expired - Lifetime JP4235987B2 (ja) 1996-12-19 1997-12-18 ビデオフレームレンダリングエンジン

Country Status (6)

Country Link
US (1) US6854003B2 (ja)
JP (1) JP4235987B2 (ja)
KR (1) KR100366689B1 (ja)
DE (2) DE19782200B4 (ja)
GB (1) GB2335127B (ja)
WO (1) WO1998028695A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280623A (ja) * 2003-03-18 2004-10-07 Renesas Technology Corp セキュリティシステム
US7353362B2 (en) 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US7412588B2 (en) 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
JP2010244584A (ja) * 2010-08-04 2010-10-28 Renesas Electronics Corp 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP2012119012A (ja) * 2012-02-17 2012-06-21 Renesas Electronics Corp プロセッサ、バスインターフェース装置、およびコンピュータシステム
KR101511273B1 (ko) 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
JP2021100428A (ja) * 2008-11-12 2021-07-08 プロキドニー 単離した腎細胞およびその使用

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646639B1 (en) 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US6480205B1 (en) 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
DE69813912T2 (de) * 1998-10-26 2004-05-06 Stmicroelectronics Asia Pacific Pte Ltd. Digitaler audiokodierer mit verschiedenen genauigkeiten
US7111155B1 (en) 1999-05-12 2006-09-19 Analog Devices, Inc. Digital signal processor computation core with input operand selection from operand bus for dual operations
US7107302B1 (en) 1999-05-12 2006-09-12 Analog Devices, Inc. Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units
US6859872B1 (en) 1999-05-12 2005-02-22 Analog Devices, Inc. Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation
US6820189B1 (en) 1999-05-12 2004-11-16 Analog Devices, Inc. Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US6417851B1 (en) 1999-12-06 2002-07-09 Nvidia Corporation Method and apparatus for lighting module in a graphics processor
US6573900B1 (en) 1999-12-06 2003-06-03 Nvidia Corporation Method, apparatus and article of manufacture for a sequencer in a transform/lighting module capable of processing multiple independent execution threads
US6452595B1 (en) 1999-12-06 2002-09-17 Nvidia Corporation Integrated graphics processing unit with antialiasing
US6765575B1 (en) 1999-12-06 2004-07-20 Nvidia Corporation Clip-less rasterization using line equation-based traversal
US6198488B1 (en) 1999-12-06 2001-03-06 Nvidia Transform, lighting and rasterization system embodied on a single semiconductor platform
US6844880B1 (en) 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
US6515671B1 (en) 1999-12-06 2003-02-04 Nvidia Corporation Method, apparatus and article of manufacture for a vertex attribute buffer in a graphics processor
US6870540B1 (en) 1999-12-06 2005-03-22 Nvidia Corporation System, method and computer program product for a programmable pixel processing model with instruction set
US6504542B1 (en) 1999-12-06 2003-01-07 Nvidia Corporation Method, apparatus and article of manufacture for area rasterization using sense points
US6650325B1 (en) 1999-12-06 2003-11-18 Nvidia Corporation Method, apparatus and article of manufacture for boustrophedonic rasterization
US6353439B1 (en) 1999-12-06 2002-03-05 Nvidia Corporation System, method and computer program product for a blending operation in a transform module of a computer graphics pipeline
US7209140B1 (en) 1999-12-06 2007-04-24 Nvidia Corporation System, method and article of manufacture for a programmable vertex processing model with instruction set
US6593923B1 (en) 2000-05-31 2003-07-15 Nvidia Corporation System, method and article of manufacture for shadow mapping
US6806886B1 (en) 2000-05-31 2004-10-19 Nvidia Corporation System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline
US20020008704A1 (en) * 2000-07-21 2002-01-24 Sheasby Michael C. Interactive behavioral authoring of deterministic animation
US8930844B2 (en) * 2000-08-22 2015-01-06 Bruce Carlin Network repository of digitalized 3D object models, and networked generation of photorealistic images based upon these models
US6597356B1 (en) 2000-08-31 2003-07-22 Nvidia Corporation Integrated tessellator in a graphics processing unit
US6697064B1 (en) 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline
US7456838B1 (en) 2001-06-08 2008-11-25 Nvidia Corporation System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline
WO2002101497A2 (en) 2001-06-08 2002-12-19 Nvidia Corporation System, method and computer program product for programmable fragment processing in a graphics pipeline
US7162716B2 (en) 2001-06-08 2007-01-09 Nvidia Corporation Software emulator for optimizing application-programmable vertex processing
US7006101B1 (en) 2001-06-08 2006-02-28 Nvidia Corporation Graphics API with branching capabilities
KR100648293B1 (ko) * 2005-08-09 2006-11-23 삼성전자주식회사 그래픽 시스템 및 그것의 그래픽 처리 방법
KR100835173B1 (ko) * 2006-09-20 2008-06-05 한국전자통신연구원 곱셈 누적 연산을 위한 디지털 신호처리 장치 및 방법
ATE480060T1 (de) * 2007-04-20 2010-09-15 Nethawk Oyj Verfahren, vorrichtung, testgerät und programm zum testen von multimediakommunikationsgeräten und -software
US8515052B2 (en) * 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US7724165B2 (en) * 2008-07-17 2010-05-25 Faraday Technology Corp. Audio codec and built-in self test method for the same
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US9411726B2 (en) * 2014-09-30 2016-08-09 Samsung Electronics Co., Ltd. Low power computation architecture

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3621214A (en) 1968-11-13 1971-11-16 Gordon W Romney Electronically generated perspective images
US3833889A (en) 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
US4128880A (en) 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS5725069A (en) 1980-07-21 1982-02-09 Hitachi Ltd Vector data processing equipment
EP0086904B1 (de) 1982-02-18 1985-11-21 Deutsche ITT Industries GmbH Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen
US4590465A (en) 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4589067A (en) 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4888682A (en) * 1983-09-09 1989-12-19 International Business Machines Corp. Parallel vector processor using multiple dedicated processors and vector registers divided into smaller registers
US4646075A (en) 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4594651A (en) * 1984-01-18 1986-06-10 General Electric Company Concurrent processor for control
US4799144A (en) * 1984-10-12 1989-01-17 Alcatel Usa, Corp. Multi-function communication board for expanding the versatility of a computer
JP2564805B2 (ja) 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
GB2181929B (en) 1985-10-21 1989-09-20 Sony Corp Methods of and apparatus for video signal processing
GB8719395D0 (en) * 1987-08-17 1988-04-27 Gen Electric Co Plc Radar systems
GB8728836D0 (en) 1987-12-10 1988-01-27 Quantel Ltd Electronic image processing
US5187796A (en) * 1988-03-29 1993-02-16 Computer Motion, Inc. Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units
US4949280A (en) 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5293586A (en) 1988-09-30 1994-03-08 Hitachi, Ltd. Data processing system for development of outline fonts
US5101365A (en) 1988-10-31 1992-03-31 Sun Microsystems, Inc. Apparatus for extending windows using Z buffer memory
US5184318A (en) 1989-09-05 1993-02-02 Cyrix Corporation Rectangular array signed digit multiplier
US5182797A (en) 1989-10-23 1993-01-26 International Business Machines Corporation Multi-processor graphics display system for displaying hierarchical data structures
US5410649A (en) 1989-11-17 1995-04-25 Texas Instruments Incorporated Imaging computer system and network
US5522083A (en) 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
US5544337A (en) 1989-12-29 1996-08-06 Cray Research, Inc. Vector processor having registers for control by vector resisters
EP0843254A3 (en) * 1990-01-18 1999-08-18 National Semiconductor Corporation Integrated digital signal processor/general purpose CPU with shared internal memory
JPH06214557A (ja) 1992-04-29 1994-08-05 Canon Inf Syst Res Australia Pty Ltd ビデオプロセッサシステム
US5418973A (en) 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
US5388206A (en) 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation
JP3304444B2 (ja) 1992-11-30 2002-07-22 富士通株式会社 ベクトル処理装置
JPH06223198A (ja) 1993-01-26 1994-08-12 Hitachi Ltd 光線追跡による画像生成装置及び方法
US5717947A (en) 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5579455A (en) 1993-07-30 1996-11-26 Apple Computer, Inc. Rendering of 3D scenes on a display using hierarchical z-buffer visibility
US5630043A (en) 1995-05-11 1997-05-13 Cirrus Logic, Inc. Animated texture map apparatus and method for 3-D image displays
US5557759A (en) * 1995-06-07 1996-09-17 International Business Machines Corporation Video processor with non-stalling interrupt service
US5790880A (en) * 1996-01-04 1998-08-04 Advanced Micro Devices Microprocessor configured to dynamically connect processing elements according to data dependencies
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
US5747125A (en) * 1996-07-18 1998-05-05 Viskase Corporation Fibrous composite cellulosic film and method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280623A (ja) * 2003-03-18 2004-10-07 Renesas Technology Corp セキュリティシステム
US7353362B2 (en) 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US7412588B2 (en) 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
US7917729B2 (en) 2003-07-25 2011-03-29 International Business Machines Corporation System on chip IC with subsystem of multiple processing cores switch coupled to network protocol device and bus bridge to local system bus
US8036243B2 (en) 2003-07-25 2011-10-11 International Business Machines Corporation Single chip protocol converter
US8811422B2 (en) 2003-07-25 2014-08-19 Microsoft Corporation Single chip protocol converter
JP2021100428A (ja) * 2008-11-12 2021-07-08 プロキドニー 単離した腎細胞およびその使用
KR101511273B1 (ko) 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
JP2010244584A (ja) * 2010-08-04 2010-10-28 Renesas Electronics Corp 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP2012119012A (ja) * 2012-02-17 2012-06-21 Renesas Electronics Corp プロセッサ、バスインターフェース装置、およびコンピュータシステム

Also Published As

Publication number Publication date
WO1998028695A1 (en) 1998-07-02
GB2335127A (en) 1999-09-08
KR100366689B1 (ko) 2003-01-06
US6854003B2 (en) 2005-02-08
DE19782200T1 (de) 1999-11-18
GB2335127B (en) 2002-02-13
KR20000062253A (ko) 2000-10-25
JP4235987B2 (ja) 2009-03-11
US20020002574A1 (en) 2002-01-03
GB9914054D0 (en) 1999-08-18
DE19782200B4 (de) 2011-06-16

Similar Documents

Publication Publication Date Title
JP2001506781A (ja) ビデオフレームレンダリングエンジン
Azarkhish et al. Neurostream: Scalable and energy efficient deep learning with smart memory cubes
US5822606A (en) DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6721773B2 (en) Single precision array processor
Page Reconfigurable processor architectures
CN109313606A (zh) 用于共享虚拟存储器在异构处理系统中管理数据一致性的方法和装置
US6037947A (en) Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
Undy et al. A low-cost graphics and multimedia workstation chip set
Stepchenkov et al. Recurrent data-flow architecture: features and realization problems
CN101751356B (zh) 用于改进直接存储器存取传送效率的方法、系统和装置
Catthoor et al. Data transfer and storage architecture issues and exploration in multimedia processors
KR100267092B1 (ko) 멀티미디어신호프로세서의단일명령다중데이터처리
KR19980018065A (ko) 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리
US20230081763A1 (en) Conditional modular subtraction instruction
Anido et al. Interactive ray tracing using a SIMD reconfigurable architecture
TW484110B (en) Video frame rendering engine
Talla et al. Mediabreeze: a decoupled architecture for accelerating multimedia applications
Karadayi et al. Strategies for mapping algorithms to mediaprocessors for high performance
US20230140257A1 (en) Modular addition instruction
US20240078180A1 (en) Evenly distributing hierarchical binary hashes for strided workloads
US20240126964A1 (en) Automated detection of case-splitting opportunities in rtl
US20240086161A1 (en) Automatic code generation of optimized rtl via redundant code removal
Yao Chromatic’s Mpact2 boosts 3D
Chang et al. A high performance, area efficient TTA-like vertex shader architecture with optimized floating point arithmetic unit for embedded graphics applications
Vanderbauwhede et al. MORA: High-Level FPGA Programming Using a Many-Core Framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080609

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080702

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080715

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20080807

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080815

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080912

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term