JP2003323339A - メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体 - Google Patents

メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体

Info

Publication number
JP2003323339A
JP2003323339A JP2003001595A JP2003001595A JP2003323339A JP 2003323339 A JP2003323339 A JP 2003323339A JP 2003001595 A JP2003001595 A JP 2003001595A JP 2003001595 A JP2003001595 A JP 2003001595A JP 2003323339 A JP2003323339 A JP 2003323339A
Authority
JP
Japan
Prior art keywords
memory
interleave
interleave pattern
pattern
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003001595A
Other languages
English (en)
Inventor
Satoyuki Hiroi
聡幸 広井
Masaaki Oka
正昭 岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2003001595A priority Critical patent/JP2003323339A/ja
Priority to EP03700478A priority patent/EP1481386A1/en
Priority to KR10-2003-7015018A priority patent/KR20040090392A/ko
Priority to PCT/JP2003/000061 priority patent/WO2003075253A1/en
Priority to TW092102527A priority patent/TWI240221B/zh
Priority to US10/376,983 priority patent/US6992673B2/en
Publication of JP2003323339A publication Critical patent/JP2003323339A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/123Frame memory handling using interleaving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 価格高騰を抑制しつつ、描画速度を上げる描
画装置を提供する。 【解決手段】 フレームバッファ18への描画を複数種
類のうちのいずれかのインターリーブパターン単位で行
う描画装置をエンタテインメント装置上のGPU15と
して構築する。各々のインターリーブパターンは、フレ
ームバッファ18内の画素領域の組み合わせによって特
定される。GPU15は、描画対象となる図形の形状を
特定し、特定された図形の形状に適合するインターリー
ブパターンの種類を選定するとともに、フレームバッフ
ァ18で指定される画素領域が、どの種類のインターリ
ーブパターンが選定された場合であっても当該インター
リーブターン内で同一のものが重複しないように設定す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、グラフィックコン
ピュータ、画像表現を伴うエンタテインメント装置等に
適用可能なメモリアクセスの手法に関する。より詳しく
は、メモリへのアクセスを、複数種類のいずれかのイン
ターリーブパターン単位で高速に行う仕組みに関する。
【0002】
【従来の技術】例えばグラフィックコンピュータにより
構成されるエンタテインメント装置では、所定のプログ
ラム及びデータを記録媒体から読み出して実行すること
により、操作者からの指示に応じた画像処理及びサウン
ド処理を行うようになっているのが一般的である。この
場合の画像処理は、大別して、ジオメトリ処理と、レン
ダリング処理とに分けられる。
【0003】「ジオメトリ処理」は、複数の多角形(ポ
リゴン)の集合でモデル化される物体画像の各多角形の
視点座標に応じた座標変換、距離に応じた透視変換、ク
リッピング、光源計算等を行う処理である。遠くの物体
画像が小さく見えるように変換されたり、遠くの物体画
像が薄く見えたりするのは、このジオメトリ処理によ
る。ジオメトリ処理の結果は、画像表示命令(ディスプ
レイリスト:DisplayListとも呼ばれる)として出力さ
れる。
【0004】「レンダリング処理」は、上記の画像表示
命令を解釈して、ポリゴンの各頂点の色データと、奥行
きを示すZ値とから、ポリゴンを構成する全てのピクセ
ル(画素)の色とZ値(視点からの奥行き方向の距離)
とを考慮した画像データ(ピクセル及びZ値等からなる
データ)を、画像メモリに描画するとともに、描画結果
を所定の信号形態に変換してディスプレイに表示させる
処理である。画像メモリに描画された画像データは、例
えば1/60秒毎に更新されるため、ディスプレイ上で
は、物体画像が動いて表示されるように見える。
【0005】
【発明が解決しようとする課題】ディスプレイにおける
画像の表示速度は、レンダリング処理の際の画像メモリ
へのアクセス(読み書き)速度、つまり描画速度に影響
される。描画速度が遅いとディスプレイでの画像の表示
速度が遅くなる。表示速度を速くするためには、高速ア
クセス可能な大容量のメモリを用いれば良いが、このよ
うなメモリは高価であるため、エンタテインメント装置
の製品の価格高騰を招く。
【0006】本発明は、上述したような実情に鑑みてな
されたもので、高速アクセス可能なメモリを使用するこ
となく、アクセス速度を高めることができる、改良され
たメモリアクセスの仕組みを提供することを、その目的
とする。
【0007】
【課題を解決するための手段】本発明は、メモリアクセ
ス装置、メモリアクセス制御方法、及び、メモリアクセ
ス装置をコンピュータにより実現する場合の半導体デバ
イス、コンピュータプログラム、記録媒体を提供する。
本発明のメモリアクセス装置は、マトリクス状に配され
た複数の記録領域を有するメモリへのアクセスをインタ
ーリーブパターン単位で行う装置であって、アクセス時
に使用するインターリーブパターンを選定するパターン
選定手段と、前記選定されたインターリーブパターンに
ついて割り当てられている複数の記録領域に、それらの
アドレスを切り替えることなく同時にアクセスする領域
アクセス手段とを具え、前記パターン選定手段でどのよ
うなインターリーブパターンが選定された場合であって
も、当該インターリーブパターン内では他の記録領域と
重複しない記録領域が前記領域アクセス手段に割り当て
られているものである。このメモリアクセス装置によれ
ば、あるインターリーブパターンから他のインターリー
ブパターンに切り替えても、アドレスを切り替える必要
がないので、1回のアクセスでメモリへのアクセスを終
わることができる。そのため、高速アクセス可能なメモ
リを使用しなくとも、アクセス速度を高めることができ
る。ここにいう「アクセス」とは、例えばデータ記録の
ためのアクセスと、データ読み出しのためのアクセスの
双方を含む。「インターリーブパターン」は、インター
リーブ処理時に同時にアクセスする際に選定される複数
の記録領域の組合せパターンをいう。複数種類のインタ
ーリーブパターンは、それぞれ他の種類のインターリー
ブパターンと同数の記録領域を互いに異なる組合せで表
すものである。
【0008】このメモリアクセス装置を画像処理装置等
に適用する場合の前記メモリは、例えば前記記録領域が
画素領域となる画像メモリとなる。この場合、前記パタ
ーン選定手段は、前記画像メモリへの描画対象となる画
像の形状に適合するインターリーブパターンを選定する
ように構成される。「画素領域」は、画素を書き込むた
めのメモリ領域という意味で使用している。例えば16
×16個の画素領域を有する画像メモリという場合、2
56個の画素を書き込んで、それを画像データの一部と
して表現できるようにした画像メモリという意味で使用
している。前記パターン選定手段は、具体的には、前記
形状が特定された画像を描画する際に最少のアクセス回
数となるインターリーブパターンを、前記適合するイン
ターリーブパターンとして選定するものである。
【0009】前記画像メモリは、それぞれインターリー
ブパターン単位でアクセスされる画素領域を有する複数
のメモリブロックの集合からなる。各メモリブロックに
は同時アクセス可能数のメモリバンクが具えられてお
り、複数のメモリブロックの各々を識別するための第1
アドレス情報と、メモリバンク内の画素領域を識別する
ための第2アドレス情報との組合せによって、アクセス
すべき画素領域が特定されるようになっている。複数の
メモリブロックの各々はマトリクス状に配された画素領
域を有するものであり、前記第2アドレス情報は、この
マトリクス状の画素領域の縦方向、横方向あるいはこれ
らの方向の組合せのいずれかのアドレスで表されるもの
である。
【0010】インターリーブ処理をより効率化する観点
からは、メモリブロック内の個々の画素領域とそれに割
り当てられる前記メモリバンクとの対応関係を規定した
テーブルを具え、このテーブルに基づいて、アクセスす
べきメモリバンクが決定されるように構成する。
【0011】本発明の半導体デバイスは、マトリクス状
に配された複数の記録領域を有するメモリへのアクセス
を行うコンピュータに搭載される半導体デバイスであっ
て、前記コンピュータに、アクセス時に使用するインタ
ーリーブパターンを選定するパターン選定手段と、前記
選定されたインターリーブパターンに対応する複数の記
録領域に同時にアクセスする領域アクセス手段とを構築
させ、どのようなインターリーブパターンが選定された
場合であっても当該インターリーブパターン内では他の
記録領域と重複しない記録領域を前記領域アクセス手段
に割り当てることにより、前記メモリへのアクセスが、
前記記録領域のアドレスが切り替わることなく、複数種
類のいずれかのインターリーブパターン単位で行われる
ように、前記コンピュータを動作させるものである。
【0012】本発明のメモリアクセス制御方法は、マト
リクス状に配された複数の記録領域を有するメモリへの
アクセスを複数種類のいずれかのインターリーブ単位で
行うコンピュータにおいて実行されるアクセス制御のた
めの方法であって、同時アクセス可能な複数の記録領域
を、どのようなインターリーブパターンが選定された場
合であっても当該インターリーブパターン内で同一の記
録領域が重複しないように定める段階と、アクセス時に
使用するインターリーブパターンを選定する段階と、前
記選定されたインターリーブパターンについて割り当て
られている複数の記録領域に、それらのアドレスを切り
替えることなく同時にアクセスする段階とを有する方法
である。
【0013】本発明のコンピュータプログラムは、コン
ピュータを、上述した本発明のメモリアクセス装置とし
て動作させるためのコンピュータプログラムであり、本
発明の記録媒体は、このようなコンピュータプログラム
が記録された、コンピュータ読み取り可能な記録媒体で
ある。
【0014】
【発明の実施の形態】以下、本発明の好ましい実施の形
態を説明する。本発明のメモリアクセス装置及びメモリ
アクセス制御方法は、例えば図1に示す構成のエンタテ
インメント装置において実施することができる。
【0015】<エンタテインメント装置の概要>エンタ
テインメント装置は、エンタテインメント用のコンピュ
ータプログラムを読み出して実行することにより、操作
者からの指示に応じた所要の画像処理及びサウンド処理
を行う一種のコンピュータである。画像処理は、「ジオ
メトリ処理」と、「レンダリング処理」とに分けられ
る。これらの処理の概要については、前述のとおりであ
る。サウンド処理は、画像処理に連動して音声や効果音
等の音をスピーカ等から出力させる処理であり、図1の
SPU(Sound Processing Unit)25が、サウンドメ
モリ29に記録された音データを読み出して所要の処理
を実行することにより実現される。
【0016】ジオメトリ処理は、主として図1に示され
るメインバス1上のメインCPU(Central Processing
Unit)11及びこれを補佐する処理装置であるGTE
(Geometry Transfer Engine )17により行われる。
レンダリング処理は、主として、本発明のメモリアクセ
ス装置の一例となるGPU(Graphic Processing Uni
t)15により実現される。GPU15は、それ自体で
コンピュータの主要機能を形成するプロセッサ(半導体
デバイス)を含み、このプロセッサで、本発明のコンピ
ュータプログラムを読み込んで実行することにより、以
下にその詳細内容を示すインターリーブ処理を行い、こ
れによって、従来とは異なる特徴的なレンダリング処理
を行う。この実施形態では、GPU15がアクセスする
レンダリング処理用のメモリとして、安価な画像メモリ
であるDRAMを用いたフレームバッファ18を用いた
場合の例を示す。
【0017】エンタテインメント装置は、メインバス系
とサブバス系とをバスコントローラ16で逐次オープン
/クローズしながら動作する。メインバス系は、メイン
CPU11、メインメモリ12、メインDMAC(Dyna
mic Memory Access Controller)13、MPEGデコー
ダ(MDECと略す)14、GPU15をメインバス1
接続して構成される。サブバス系は、サブCPU21、
サブメモリ22、サブDMAC23、ROM(Read Onl
y Memory)24、SPU25、補助記憶装置27、入力
デバイス28、ディスクドライバ30をサブバス2に接
続して構成される。
【0018】メインCPU11は、装置起動時にはRO
M24からブートプログラムを読み込んで実行し、補助
記憶装置27からエンタテインメント用のアプリケーシ
ョンプログラム及び必要なデータをメインメモリ12及
びサブバス2上のデバイスにロードして、以後の処理を
実行する上で必要となる環境を構築する。その後、アプ
リケーションプログラムからの要求及び入力デバイス2
8を通じて入力される各種指示に基づいて各種コマンド
パケットを生成し、上記の画像処理及びサウンド処理の
ための制御を行う。
【0019】MDEC14は、補助記憶装置27から読
み出されたデータが離散コサイン変換などの直交変換に
より圧縮されて符号化された画像データである場合に、
それを復号化してメインメモリ12に記録する。メイン
DMAC13は、メインバス1上のデバイスを対象とす
るDMA転送の制御等を行うもので、バスコントローラ
16がオープンになっているときは、サブバス2上のデ
バイスも制御の対象とする。サブDMAC23は、サブ
CPU21によって制御されるサブバス2上のデバイス
を対象とするDMA転送の制御等を行うもので、バスコ
ントローラ16がクローズなっているときのみ、バスに
アクセスする権利を獲得する。
【0020】<GPUの構成>GPU15の構成例を図
2に示す。GPU15は、メインCPU11又はメイン
DMAC13からメインバス1を介してパケットエンジ
ン31にコマンドパケットとして送られてくる画像表示
命令に従って、プリプロセッサ32と描画エンジン33
との協働により各ポリゴンを描画するための画像データ
をフレームバッファ18に書き込む。また、所定の出力
フォーマットで、フレームバッファ18に書き込まれて
いる画素の組合せその他の制御情報で表される画像デー
タを読み出し、その画像データによって表現される画像
をPCRTC34を介して図示しないディスプレイに表
示させる。PCRTC34は、メインCPU11からデ
ィスプレイに画像を表示させる際に必要となるビデオ信
号とα値(透過係数)とを受け取るとともに、フレーム
バッファ18に書き込まれている画像データを読み込む
際に使用される表示アドレスその他の制御情報(後述す
るマスク情報等)を発生させるデバイスである。表示ア
ドレスについては、1表示クロック毎に1表示アドレス
が出力される。
【0021】フレームバッファ18は、複数のメモリブ
ロック(図中、「メモリブロック[1]〜[X]〜
[L]と表記)から構成される。フレームバッファ1
8、各メモリブロック及びピクセルが書き込まれる画素
領域の関係は、図3に示すとおりである。すなわち、フ
レームバッファ18内には、ブロックアドレス(BA=
0、BA=1、・・・)によって他のメモリブロックと
区別される複数のメモリブロックが形成されている。個
々のメモリブロックは、2×2個の画素領域が形成
されている。m,nは自然数を表す数値であり、フレー
ムバッファ18の規格により、m≦n、m>nの値をと
り得、m=n=4の場合、メモリブロックは正方形状の
256個の画素領域の集合となる。各々の画素領域は、
図3の横方向のアドレスをXb、縦方向のアドレスをY
bとすると、Xb=Xmod2、Yb=Ymod
によって特定される。フレームバッファ18内の各
メモリブロックの並びは、ディスプレイの表示領域と対
応しており、図示のように、ある画素領域に書き込まれ
たピクセルGの位置は、スクリーン座標(Xs、Ys)
によって特定できるようになっている。上記の画像デー
タは、このような画素領域に書き込まれるピクセルの組
合せによって構築されるものである。
【0022】プリプロセッサ32は、メインバス1から
パケットエンジン31を介して入力される画像表示命令
に従ってポリゴンを生成するための処理を行う。また、
所定の前処理をポリゴンに施し、描画エンジン33が必
要とする各ポリゴンの頂点座標情報、インターリーブ処
理のための制御情報その他のデータを生成する。
【0023】プリプロセッサ32で行う前処理は、以下
のようなものである。まず、ポリゴンの頂点座標[(X
0,Y0),(X1,Y1),(X2,Y2)]とテク
スチャ座標[(U0,V0),(U1,V1),(U
2,V2)]とに基づいて、N個のテクスチャエンジン
33B1,33B2・・・33BNが処理するポリゴン
に貼り付けるテクスチャの先読みを行うためのアドレス
情報を生成する。また、ポリゴンの辺の傾き[(X1−
X0)/(Y1−Y0),(X2−X0)/(Y2−Y
0),(X1−X2)/(Y1−Y2)]、テクスチャ
アドレスの傾き[(U1−U0)/(Y1−Y0),
(U2−U0)/(Y2−Y0),(U1−U2)/
(Y1−Y2)],[(V1−V0)/(Y1−Y
0),(V2−V0)/(Y2−Y0),(V1−V
2)/(Y1−Y2)]・・・、ポリゴンの面積等か
ら、後述するミップマップの選択情報を再生する。そし
て、これらの情報を、テクスチャキャッシュ33Fに供
給する。次に、ポリゴンの頂点座標[(X0,Y0),
(X1,Y1),(X2,Y2)]を左エッジの頂点順
(X0,Y0)→(X1,Y1)→(X2,Y2)又は
右エッジの頂点順(X2,Y2)→(X1,Y1)→
(X0,Y0)でソーティングしたり、両端点のスキャ
ンやテクスチャアドレスのスキャンを行ったりする。
【0024】プリプロセッサ32は、上記のようにして
前処理した情報を、図示しないワークメモリに蓄えてお
き、描画エンジン33が次のポリゴンを処理できるよう
になった段階で、1ポリゴンを処理できる情報を、ワー
クメモリからN個のポリゴンエンジン33A1,33A
2・・・33ANに転送する。これにより、描画エンジ
ン33は、新たなポリゴンの描画処理を開始する。この
ような処理をすべてのポリゴンについて繰り返す。
【0025】描画エンジン33は、プリプロセッサ32
に接続されたN個のポリゴンエンジン33A1,33A
2・・・33ANと、各ポリゴンエンジン33A1,3
3A2・・・33ANに接続されたN個のテクスチャエ
ンジン33B1,33B2・・・33BNと、各テクス
チャエンジン33B1,33B2・・・33BNに接続
された第1のバススイッチャ33Cと、第1のバススイ
ッチャ33Cに接続されたM個のピクセルエンジン33
D1,33D2・・・33DMと、各ピクセルエンジン
33D1,33D2・・・33DMに接続された第2の
バススイッチャ33Eと、第2のバススイッチャ33E
に接続されたテクスチャキャッシュ33Fと、テクスチ
ャキャッシュ33Fに接続されたカラー・ルックアップ
・テーブル(CLUT:Color Lock Up Table)キャッシ
ュ33Gとを具えて構成される。
【0026】N個のポリゴンエンジン33A1,33A
2・・・33ANは、プリプロセッサ32により前処理
が施されたポリゴンデータに基づいて画像表示命令に応
じたポリゴンを順次生成するとともに、生成したポリゴ
ン毎にシェーディング処理等を並列処理によって行う。
【0027】N個のテクスチャエンジン33B1,33
B2・・・33BNは、ポリゴンエンジン33A1,3
3A2・・・33ANにより生成されたポリゴン毎に、
テクスチャキャッシュ33FからCLUTキャッシュ3
3Gを介して与えられるテクスチャデータに基づいて、
テクスチャマッピングとミップマップとを並列処理によ
って行う。「テクスチャマッピング」は、テクスチャソ
ース画像として別に用意された2次元画像(絵柄)、す
なわちテクスチャパターンをポリゴンの表面に貼り付け
る技術である。「ミップマッピング」は、3次元の物体
画像が動く場合にその物体画像を表現するためのポリゴ
ンの貼り付ける絵柄が不自然にならないようにピクセル
の組合せを補間する技術である。
【0028】テクスチャキャッシュ33Fには、N個の
テクスチャエンジン33B1,33B2・・・33BN
が処理するポリゴンに貼り付けるテクスチャパターンが
存在するテクスチャ領域のアドレス情報がプリプロセッ
サ32から事前に与えられ、このアドレス情報に基づい
てフレームバッファ18上のテクスチャ領域からテクス
チャマッピングに必要なデータが転送されるようになっ
ている。さらに、該当するデータからミップマッピング
に必要となる解像度のデータのみが選択されて、ミップ
マップ・テクスチャデータとして転送されるようになっ
ている。CLUTキャッシュ33Gには、ポリゴンの描
画を行なう際に参照すべきCLUTデータがフレームバ
ッファ18上のCLUT領域から転送されるようになっ
ている。
【0029】N個のテクスチャエンジン33B1,33
B2・・・33BNによってテクスチャマッピングやミ
ップマップの処理が施されたポリゴンは、第1のバスス
イッチャ33Cを介してM個のピクセルエンジン33D
1,33D2・・・33DMに転送される。各ピクセル
エンジン33D1,33D2・・・33DMは、表示さ
れる画像の奥行きを表現するための公知のZバッファ処
理やアンチエリアシング処理等の各種画像処理を並列処
理によって行い、M個のピクセルを生成する。各ピクセ
ルは、第2のバススイッチャ33Eを介してフレームバ
ッファ18に随時書き込まれる。
【0030】第2のバススイッチャ33Eには、プリプ
ロセッサ32からインターリーブ処理を行うための制御
情報が供給される。
【0031】(インターリーブ処理)インターリーブ処
理は、フレームバッファ18へのアクセス(この実施形
態では、ピクセルの書き込み/読み出し)を、複数種類
のうちのいずれかのインターリーブパターン単位で行う
処理であり、描画エンジン33により実行される。例え
ば、ピクセル書込時には、フレームバッファ18に、ポ
リゴンの形状に応じたピクセルを複数個同時に書き込め
るようにする。以下、本実施形態によるインターリーブ
処理について、詳細に説明する。便宜上、上記のm及び
nが共に「4」、すなわち、フレームバッファ18内の
一つのメモリブロックに、16×16個のピクセルを書
き込んで、対象となる画像の一部を表現できるようにな
っているものとする。
【0032】まず、このインターリーブ処理を実現する
第2のバススイッチャ33Eの構成例と、フレームバッ
ファ18との関係を説明する。第2のバススイッチャ3
3Eは、図4に示すように、プリプロセッサ32からの
指示に基づいてピクセル書込アドレスを出力する制御回
路101と、この制御回路101からのピクセル書込ア
ドレスと、PCRTC34(図2参照)からの表示アド
レスとに基づいて所望のピクセルエンジン33D1,3
3D2,33D3,・・・33DMを動作可能にするた
めのセレクタ102と、図5にその使用形態例が示され
ている複数のマルチプレクサ/デマルチプレクサ(Mult
iplexer/Demultiplexer:以下「MUX/DMUX」)
103a,103b,・・・103pとを具えている。
このプリプロセッサ32と制御回路101とにより、本
発明のパターン選択手段を実現することができる。ま
た、ピクセルエンジン33D1等とセレクタ102と
で、領域アクセス手段を実現することができる。MUX
/DMUX103a,103b,・・・103pは、メ
モリブロック[1],[2],・・・,[X],・・
・,[L](図4の例ではメモリブロック[X])の各
々のメモリバンクA0 〜A15に選択的にアクセスできる
ようにするための16個の入出力ポートを具えている。
【0033】PCRTC34からは、1表示クロック毎
に1表示アドレスが出力されるので、複数の表示クロッ
クによって表現される画像を表示するためには、表示ア
ドレスを複数表示クロック分貯めてフレームバッファ1
8に同時アクセスできるようにする必要がある。そのた
め、第2のバススイッチャ33Eでは、図6に示すよう
に、各表示アドレス(図中、「X,Y」と表記)をシフ
トレジスタに格納しておき、それが所定数貯まった時点
で、シフトレジスタからマルチプレクサ(MUX)でこ
れらを読み出してセレクタ102から出力するようにし
ている。なお、図6のMUXは、セレクタ102に含ま
れる部品である。
【0034】図4に戻り、セレクタ102は、表示アド
レスとピクセル書込アドレスとに基づいて該当するメモ
リブロックを有効化するためのブロックアドレスBAを
出力するとともに、このブロックアドレスBAによって
特定されるメモリブロックのメモリバンクに対応するピ
クセルエンジン33D1,33D2,33D3,・・・
33DMを選択的に有効化するためのメモリアドレス
(X0,Y0〜X15,Y15)を出力する。
【0035】各ピクセルエンジン33D1,33D2,
33D3,・・・33DMには、各々、アドレス計算を
行うためのMAP演算器が搭載されており、セレクタ1
02から受け付けた上記のメモリアドレス(X0,Y0〜X1
5,Y15)とPCRTC34からのRGB信号RGB0〜RGB15
とをもとに、メモリバンクを選択するための選択情報
(A(X0,Y0)〜A(X15,Y15))及びYアドレス(Y0〜Y1
5)、マスク信号(MASK0〜MASK15)をMUX/DMUX
103a,103b・・・103pに出力する。選択情
報A(X,Y)は、どのピクセルエンジン33D1,33D
2,33D3,・・・33DMが出力するピクセルをど
のメモリバンクに書き込むかを指定するための情報であ
る。マスク信号MASKは、特定のメモリバンクをマス
キング(ピクセルを書き込まない)するための信号であ
る。
【0036】Yアドレス(Y0〜Y15)は、メモリバンク
内の書込位置を特定するためのアドレス情報である。イ
ンターリーブ処理を行う場合のメモリブロック内のアド
レス情報は、メモリブロックがマトリクス状の画素領域
からなるものであれば、本来、一つのメモリバンク内で
複数のアドレスが必要となるが、後述するように、本実
施形態によるインターリーブ処理では、同一のメモリバ
ンクが一つのインターリーブパターン内で重複して有効
化されることがないので、各メモリバンクにつき、一つ
のアドレスによって、アクセスすべき範囲を特定するこ
とができる。この実施形態では、このアドレスを「Yア
ドレス」として使用するものである。これによって、メ
モリアクセスの際のアドレス指定の処理が簡略化され
る。このYアドレスは、レンダリング処理に際してイン
ターリーブパターン毎に、上述のMAP演算器で算出さ
れる。
【0037】各メモリブロックには、図7に示されるよ
うに、ブロックアドレスBAが上位アドレス(Ahigh)
として入力され、上記のYアドレスが、そのブロックア
ドレスBAによって特定されたメモリブロック内のメモ
リバンクA0〜A15内の位置を特定するための下位アドレ
ス(Alow)として入力されるようになっている。つま
り、この2種類のアドレスによって、どのメモリブロッ
クのどの画素位置を有効化するかを指定できるようにな
っている。また、RGB信号が各メモリブロックのda
ta端子に入力され、マスク信号MASKがイネーブル
信号としてenable端子に入力されるようになっている。
なお、図4において、メモリブロック[X]以外の他の
各メモリブロックは、メモリブロック[X]と同様の構
成となるため、その説明は省略する。
【0038】MUX/DMUX103a,103b・・
・103pは、ピクセルの書込時には、上記の選択情報
(A(X,Y))に従って、Yアドレス(Y)、マスク信号
(MASK)、RGB信号(RGB)を各メモリブロックに出
力し、ピクセルの読出時には、同じく選択情報A(X)
に従って、PCRTC34へ表示用のRGB信号(ORGB)
を出力する。
【0039】次に、以上のような描画エンジン33にお
いて行う本実施形態のインターリーブ処理の原理を、従
来のインターリーブ処理との相違と対比して説明する。
便宜上、従来のインターリーブ処理を、本実施形態と同
様の条件、すなわち、16個のメモリバンクA0〜A1
5を用いて行うものとする。図8(a)において、斜線
で示す範囲は、従来のインターリーブ処理を実現するた
めに同時に指定されるメモリバンクであり、2行8列で
ピクセルを書き込むインターリーブパターンの場合の例
を示すものである。従来のインターリーブ処理では、あ
るインターリーブパターンが決まると、それに対応し
て、アクセスすべきメモリブロック内のアドレス(メモ
リアドレス)が決まる。言い換えれば、インターリーブ
パターンを変えるときは、アクセスすべきメモリブロッ
ク内のメモリアドレスも、それに応じて変える必要があ
る。図8(b)において「0,0,0,・・・」、
「1,1,1、・・・」、「2,2,2、・・・」で表
されているのはメモリアドレスであり、斜線で示す範囲
(メモリアドレス「0」)が、図8(a)のインターリ
ーブパターンと1対1に対応する。このように、従来の
インターリーブ処理では、インターリーブパターンとメ
モリブロック内のメモリアドレスとの対応関係が固定さ
れているので、種々の異なるインターリーブパターンで
メモリブロックにアクセスしようとすると、一つのメモ
リバンクに複数のメモリアドレスでアクセスしなければ
ならず、1回のアクセスで終わらなくなる。
【0040】これに対し、本実施形態によるインターリ
ーブ処理では、図9(b)に示されるように、メモリブ
ロック内のメモリアドレスをインターリーブパターンが
変わっても固定とし、当該メモリブロックにアクセスす
べき範囲を、インターリーブパターンに応じて、上述し
た「Yアドレス」によって一意に特定できるようにす
る。このような処理が可能になるのは、メモリバンクA
0〜A15が、どのようなインターリーブパターンであ
っても、そのインターリーブパターン内では重複しない
ことに因る。従って、本実施形態によるインターリーブ
処理によれば、どのようなインターリーブパターンで
も、メモリアドレスを切り替える必要がないので、1回
のアクセスで終わることができる。なお、図9(a)に
おいて破線で示した部分は、図8(a)と同一のインタ
ーリーブパターンの場合に有効化されるメモリバンクA
0〜A15であり、図9(b)において波線で示した部
分は、この場合のメモリアドレスの範囲を示している。
【0041】(インターリーブパターンの選定)インタ
ーリーブ処理に際しては、ポリゴンの形状に応じて最適
なインターリーブパターンを選定する必要がある。本実
施形態では、ポリゴンを最少のアクセス回数で描画する
ことができるインタリーブパターンを最適なインタリー
ブパターンとして選定する。以下、その選定手順につい
て説明する。まず、図10に示すような三角形TABCを
描画する場合の例を挙げて、メモリブロックへのアクセ
スの要領を説明する。図10中、X,Y方向の数字は、
メモリブロックを4×4ピクセル単位のインターリーブ
パターンでアクセスする場合の各インターリーブパター
ンのアクセス位置を表すアドレスである。P(x,y)
により、インターリーブパターンでアクセスする相対位
置が決まる。各インターリーブパターンにおける16個
のピクセル分の領域が、それぞれ上述の16個のメモリ
バンクA0〜A15に対応する。
【0042】制御回路101は、まず、メモリブロック
内で、三角形TABC を描画するためにアクセスする領域
を特定する。図10の三角形TABCが関わるのは、図1
1に示すように、P(x,y)=P(3,1),P
(4,1),P(1,2),P(2,2),P(3,
2),P(4,2),P(1,3),P(2,3),P
(3,3),P(4,3),P(5,3),P(2,
4),P(3,4),P(4,4),P(5,4),P
(3,5),P(4,5),P(5,5),P(4,
6),P(5,6)で示される合計20の領域である。
制御回路101は、このようにして検出した20の領域
にアクセスできるようにするためのピクセル書込アドレ
スをセレクタ102に供給する。
【0043】セレクタ102は、制御回路101から供
給されたピクセル書込アドレスに基いて、アクセスすべ
き領域を有効化するためのピクセルエンジンを選択す
る。また、PCRTC34からのマスク情報MASKに
基いて、マスクを行うピクセルエンジンを指定する。例
えば、図12に示した領域P(4,1)に対応するメモ
リバンクA0〜A15において、マスクを行った部分以
外のメモリバンクは、P(4,1)の部分を拡大した図
13におけるA4,A5,A6,A8,A9,A10,
A12,A13,A14(斜線部分)であり、これらを
同時に有効化するためのピクセルエンジンを選択する。
選択されたピクセルエンジンからは、該当するMUX/
DMUXに、選択情報A(X,Y)、Yアドレス、マスク情報
(MASK)、書き込むべきRGB信号が供給される。各M
UX/DMUXは、それぞれ、供給された情報によって
特定されるメモリバンクとピクセルエンジンとを入出力
ポートを介して接続し、各ピクセルエンジンからのメモ
リバンクへのアクセスを許容する。このようにして、図
10のような三角形TABCの描画が可能になる。
【0044】次に、インタリーブパターン毎のアクセス
回数の検出要領を説明する。ポリゴンの形状は、図14
のような横長の三角形TDEF のものとする。 (4×4のインタリーブパターン)関係する領域は、図
15に示すように、P(x,y)=P(1,1),P
(2,1),P(3,1),P(4,1),P(5,
1),P(0,2),P(1,2),P(2,2),P
(3,2),P(4,2),P(5,2),P(6,
2),P(7,2),P(8,2),P(7,3),P
(8,3),P(9,3)の合計17個となる。すなわ
ち、(4×4)のインターリーブパターンPで三角形T
DEF を描画する場合のアクセス回数は、17回となる。
このインターリーブパターンPの中で、アクセスを要し
ないメモリバンクに対してマスキングを行うことによ
り、アクセス対象となるメモリバンクは、図16の破線
で示されるメモリバンクとなる。
【0045】(8×2のインタリーブパターン)図17
に示すように、三角形TDEF を(8×2)のインターリ
ーブパターンP1 でアクセスする場合、関係する領域
は、図18に示すように、P1(x,y)=P1(1,
2),P1(2,2),P1(0,3),P1(1,
3),P1(2,3),P1(0,4),P1(1,
4),P1(2,4),P1(3,4),P1(1,
5),P1(2,5),P1(3,5),P1(4,
5),P1(5,5),P1(3,6),P1(4,6)
の合計16個となる。すなわち、(8×2)のインター
リーブパターンP1 で三角形TDEF をアクセスする場
合、三角形TDEF を全てアクセスするためのアクセス回
数は、16回となる。このインターリーブパターンP1
の中でマスキングを行うことにより、アクセス対象とな
るメモリバンクは、図19の破線で示すメモリバンクと
なる。
【0046】(16×1のパターン)図20に示すよう
に、三角形TDEF を(16×1)のインターリーブパタ
ーンP2 でアクセスする場合、関係する領域は、図21
に示すように、P2(x,y)=P2(0,5),P2
(1,5),P2(0,6),P2(1,6),P2
(0,7),P2(1,7),P2(0,8),P2
(1,8),P2(0,9),P2(1,9),P2
(0,10),P2(1,10),P2(2,10),P
2(1,11),P2(2,11),P2(1,12),
P2(2,12),P2(2,13)の合計18個とな
る。すなわち、(16×1)のインターリーブパターン
P2で三角形TDEF をアクセスする場合、三角形TDEF
内部を全てアクセスするためのアクセス回数は、18回
となる。このインターリーブパターンP2 の中でマスキ
ングを行うことにより、アクセス対象となるメモリバン
クは、図22に示すメモリバンクとなる。
【0047】上述のように、(4×4)のインターリー
ブパターンPで三角形TDEF をアクセスする場合のアク
セス回数は17回、(8×2)のインターリーブパター
ンP1で三角形TDEF をアクセスする場合のアクセス回
数は16回、(16×1)のインターリーブパターンP
2 で三角形TDEF をアクセスする場合のアクセス回数は
18回となり、この結果、(8×2)のインターリーブ
パターンP1 で三角形TDEF をアクセスする場合のアク
セス回数が最少のアクセス回数となる。したがって、三
角形TDEF に対する適切なインターリーブパターンは、
(8×2)のインターリーブパターンP1ということに
なる。
【0048】制御回路101は、上記のようにインター
リーブパターンを、ポリゴンの形状に応じた適切なパタ
ーンに切り換えるために、以下のような処理を行う。例
えば、メモリブロック[X]に書き込むポリゴンの形状
が図23に示すような三角形(THIJ)であった場合、
プリプロセッサ32から供給されるインターリーブ制御
情報は、三角形THIJの3つの頂点H,I,Jのxy座
標H(xh,yh),I(xi,yi),J(xj,y
j)を含む情報となる。制御回路101は、このインタ
ーリーブ制御情報を用いて、三角形THIJ の縦横比R
を、X方向の最大値MAXx及び最少値MINx、Y方
向の最大値MAXy及び最少値MINyをもって、R=
dy/dx=(MAXy−MINy)/(MAXx−MI
Nx)なる演算により求める。なお、図23の例では、
MAXx=xj,MINx=xi,MAXy=yh,M
INy=yiである。
【0049】制御回路101は、上述のようにして求め
た縦横比Rに応じて、図24に示すような、(1×1
6)、(2×8)、(4×4)、(8×2)、(16×
1)の5種類のインターリーブパターンPa〜Peのう
ち、縦横比が最もRに近いものを適切なインターリーブ
パターンとして選定し、三角形THIJ をアクセスする際
に用いるインターリーブパターンを、選定したインター
リーブパターンに切り換える。縦横比Rを使って、その
ときの最適なインターリーブパターンを選択する方法と
しては、下表に示すようなテーブルを使ってもよい。
【0050】
【表1】
【0051】上述のように、第2のバススイッチャ33
Eでは、描画するポリゴンの形状に応じて、図24に示
したような5種類のインターリーブパターンPa〜Pe
から適切なインターリーブパターンを選定し、選定した
インターリーブパターンでメモリブロック[X]にアク
セスするため、最少のアクセス回数でメモリブロック
[X]にポリゴンを描画することができる。これによ
り、メモリアクセスを効率良く行うことができる。GP
U15は、このような第2のバススイッチャ33Eを採
用するようにしたので、ディスプレイでの描画速度を速
めることができるようになる。
【0052】次に、選定されるインターリーブパターン
を用いたインターリーブ処理の内容を、より詳しく説明
する。図24に示されるインターリーブパターンPcを
用いたときの実際の画面上の表示領域とインターリーブ
パターン(インターリーブパターンPc)との関係を図
25(a)に示す。本実施形態のフレームバッファ18
が複数のメモリブロックからなること、各メモリブロッ
クの並びがディスプレイの表示領域に対応することは、
図3において説明したとおりである。個々のメモリブロ
ックは、ディスプレイの画面の左上を原点としたアドレ
ス、すなわち、x座標PIXHとy座標PIXVとによ
り特定される。例えば、図25(a)に示される三角形
において網掛けされたメモリブロックのx座標は
「2」、y座標は「1」なので、このメモリブロックの
アドレスは、(2,1)ということになる。図25
(a)のメモリブロック(2,1)の拡大図を図25
(b)に示す。なお、図25(a)は、図3の上段図に
対応し、図25(b)のメモリブロックの拡大図は、図
3の下段図に対応する。
【0053】インターリーブ処理は、メモリブロック毎
に行うことができる。また、メモリブロック毎に16個
のピクセルエンジンをインターリーブパターン毎に選択
的に有効化してメモリバンクを割り当てる必要がある。
この場合の手法を図26〜図31を用いて説明する。な
お、図26〜図30においては、「0」はピクセルエン
ジン0、「1」はピクセルエンジン1、・・・、「1
5」はピクセルエンジン15というように、ピクセルエ
ンジンの情報を表記してある。
【0054】図26〜図30は、各インターリーブパタ
ーンPa〜Peが選定される場合のピクセルエンジンと
画素との関係を示した図である。インターリーブパター
ンPaが選定される場合、有効化される画素は、図26
に示されるように、「0〜15」によって特定される1
6×1の範囲の画素となる。16個のピクセルエンジン
は、この範囲をインターリーブの単位として有効化さ
れ、該当するメモリバンクが割り当てられる。
【0055】このように、選定されるインターリーブパ
ターンに応じてメモリブロックに16個のピクセルを同
時に書き込むためには、有効化する16個のピクセルエ
ンジンの各々をそれぞれ異なるメモリバンクに割り当て
られなければならないが、従来のような(つまり、図8
のような)メモリバンクの割当方法では、異なるインタ
ーリーブパターンに対して、画素を同時アクセスできな
いため、それが不可能であった。
【0056】本実施形態では、高速なインターリーブ処
理を可能にするために、どのインターリーブパターンが
選定された場合でも不具合が出ないように、メモリブロ
ックとメモリバンクとの対応関係を、予め所定の規則に
基づいて定める。その例を図31に示す。図31は、イ
ンターリーブパターンPa〜Peのいずれにも共通して
使うことのできるメモリバンクの割当例を示している。
領域内の数字は、メモリバンクの識別符号(1〜15=
A0〜A15)である。このようにメモリバンクを割り
当てることで、どのインターリーブパターンPa〜Pe
を用いても、そのインターリーブパターン内で同一のメ
モリバンクが重複することがない。
【0057】図31において、インターリーブパターン
Paの場合の同時アクセス領域は、領域I1として示さ
れている。この領域I1では、16個のメモリバンクA
0〜A15が重複なく配置されている。インターリーブ
パターンPbを用いた場合の同時アクセス領域の1つで
あるI2でも、16個のメモリバンクA0〜A15が重
複なく領域I2内に配置されている。同様に、インター
リーブパターンPc〜Peを用いた場合の領域I3〜I
5においても、それぞれ16個のメモリバンクA0〜A
15が重複せずに配置されている。従って、異なるイン
ターリーブパターンが選定された場合であっても、16
画素を同時アクセスすることができ、効率的なインター
リーブ処理が可能になる。
【0058】この実施形態では、メモリブロックが2
×2のピクセルを書き込めるものであり、かつ、1つ
のインターリーブパターンで最大16個のピクセルを同
時に書き込むことを前提として説明したが、本発明は、
このような例に限定されない。例えば、メモリブロック
が2m×2個のピクセルを書き込む場合のメモリバン
クの割り当て方を、以下に説明する。
【0059】メモリバンクを有効化させるための選択情
報A(X,Y)は、以下の規則によって定められる。
【0060】
【数3】・m≦nの場合 X mod 2=2×i[0]+2×i[1]+…+2n−1×i[n-1]=
Σ2×i[k] (但し、i[k]:0 or 1) Y mod 2=2×j[0]+2×j[1]+…+2n−1×j[n-1]=
Σ2×j[k] (但し、j[k]:0 or 1) と2進表記して、 A(X,Y)=Σ2×(i[k] xor j[n-1-k]) (但し、i,jはビットの重み、Σはk=0からk=n
−1までの総和、XORは排他的論理和を表す) ・m>nの場合 X mod 2=2×i[0]+2×i[1]+…+2m−1×i[m-1]
=Σ2×i[k] (但し、i[k]:0 or 1) Y mod 2=2×j[0]+2×j[1]+…+2m−1×j[m-1]
=Σ2×j[k] (但し、j[k]:0 or 1) と2進表記して、 A(X,Y)=Σ2×(i[k] xor j[m-1-k]) (但し、i,jはビットの重み、Σはk=0からk=m
−1までの総和、XORは排他的論理和を表す)
【0061】例えば図31に斜線で示したピクセルGの
アドレス(9,8)を、m=nの場合の規則にあてはめて
みると、すなわち、Xに9,Yに8を代入して二進表記
すると、X=9の場合のi(3)は1,i(2)は0,
i(1)は0,i(0)は1、Y=8の場合のj(3)
は1,j(2)は0,j(1)は0,j(0)は0なの
で、X=1001b、Y=1000bとなる。「100
0」、「1001」はそれぞれ2進数であり、「b」は
それがバイナリであることを示している。Y=Σ2×
j[k]に対して、Σ2×j[n-1-k]は「inverseY」とな
るので、Y=1000bのとき、inverseY=0001
bと表される。従って、A(9,8)=(1001b)
xor(0001b)=1000b=8となる。この数
値は、図31のアドレスA(9,8)のピクセルGに対
応するメモリバンクの識別符号(=8:A8)と一致す
る。
【0062】すべてのメモリバンクに対して上記の規則
に基づく演算を行い、選択情報A(X,Y)を定めるこ
とで、図31のような内容のテーブルが得られる。この
テーブルを用いることにより、どのインターリーブパタ
ーン内にもメモリバンクが重複なく割り当てられるよう
になるので、第2のバススイッチャ33Eでは、ポリゴ
ンの形状に合わせて必要なインターリーブパターンを定
めるだけで済むようになり、インターリーブ処理が効率
化される。このような仕組みによってメモリアクセス速
度が速くなるので、フレームバッファ18に、必ずしも
高速メモリを使用する必要がなくなり、コスト増を生じ
ることなく、描画のための処理速度を速めることができ
るようになる。
【0063】なお、本実施形態では、特徴的なインター
リーブ処理を第2のバススイッチャ33Eを用いて実現
する場合の例を示したが、第2のバススイッチャ33E
と等価の機能を有するユニット部品ないしデバイスを使
用しても、本実施形態と同様に本発明を実施することが
できるものである。また、このようなインターリーブ処
理は、ハードウエアのみの組み合わせ、ソフトウエア処
理のみ、あるいは両者の組み合わせのいずれによっても
実現が可能である。
【0064】以上の説明は、ピクセルを書き込む場合の
例についてであるが、書き込まれたピクセルを読み出す
場合も、上記のピクセル書込アドレスが表示アドレスに
代わるだけで同様の動作となる。また、以上の説明は、
エンタテインメント装置における画像処理、特にレンダ
リング処理の際の画像メモリへのアクセスの例について
であるが、本発明は、画像メモリの例に限定されるもの
ではなく、テキストデータその他のデータのメモリアク
セス全般にも同様に適用が可能なものである。
【0065】
【発明の効果】以上の説明から明らかなように、本発明
によれば、高速アクセス可能なメモリを使用することな
く、アクセス速度を高めることができるという、特有の
効果が得られる。従って、必ずしもメモリを高速なもの
にする必要がなくなり、製品の価格高騰を抑制しつつ、
全体的なデータ処理の速度を上げることができる仕組み
を実現することができる。
【図面の簡単な説明】
【図1】 本発明を適用したエンタテインメント装置の
構成を示すブロック図。
【図2】 エンタテインメント装置におけるGPUの具
体的な構成図。
【図3】 フレームバッファ、メモリブロック及び画素
領域の関係を示した図。
【図4】 GPU内の第2のバススイッチャの構成図と
メモリバンクとの関係を示した図。
【図5】 MUX/DMUXの詳細構成図。
【図6】 PCRTCと第2のバススイッチャとの間の
インタフェースを示した図。
【図7】 メモリバンクの接続図。
【図8】 従来のインターリーブ処理の原理を説明する
ための図で、(a)はあるインターリーブパターンにお
けるバンクアドレス、(b)はそのときのメモリアドレ
スを示す。
【図9】 本実施形態によるインターリーブ処理の原理
を説明するための図で、(a)はバンクアドレス、
(b)はメモリアドレスを示す。
【図10】 フレームバッファに描画する第1のポリゴ
ンの形状内部をアクセスする場合の説明図。
【図11】 第1のポリゴンについてアクセスすべきイ
ンターリーブパターンの説明図。
【図12】 第1のポリゴンについてアクセスする場合
のマスク処理を説明するための図。
【図13】マスク処理の結果アクセスすべき領域を説明
するための図。
【図14】フレームバッファのメモリバンク上に描画す
る第2のポリゴンについて(4×4)のインターリーブ
パターンでアクセスする場合について説明するための
図。
【図15】第2のポリゴンについて(4×4)のインタ
ーリーブパターンでアクセスする場合のインターリーブ
パターンを説明するための図。
【図16】第2のポリゴンについて(4×4)のインタ
ーリーブパターンでアクセスする場合のマスク処理につ
いて説明するための図。
【図17】第2のポリゴンについて(8×2)のインタ
ーリーブパターンでアクセスする場合について説明する
ための図。
【図18】第2のポリゴンについて(8×2)のインタ
ーリーブパターンでアクセスする場合のインターリーブ
パターンを説明するための図。
【図19】第2のポリゴンについて(8×2)のインタ
ーリーブパターンでアクセスする場合のマスク処理につ
いて説明するための図。
【図20】第2のポリゴンについて(16×1)のイン
ターリーブパターンでアクセスする場合について説明す
るための図。
【図21】第2のポリゴンについて(16×1)のイン
ターリーブパターンでアクセスする場合のインターリー
ブパターンを説明するための図。
【図22】第2のポリゴンについて(16×1)のイン
ターリーブパターンでアクセスする場合のマスク処理に
ついて説明するための図。
【図23】フレームバッファに描画するポリゴンの形状
の縦横比を算出する処理を説明するための図。
【図24】 5種類のインターリーブパターンを示した
パターン図。
【図25】 (a)は画面表示領域とインターリーブパ
ターンとの関係を示した図,(b)は(a)のブロック
(2,1)の拡大図。
【図26】 インターリーブパターンPaが選定された
場合の同時アクセス領域(16×1)の説明図。
【図27】 インターリーブパターンPbが選定された
場合の同時アクセス領域(8×2)の説明図。
【図28】 インターリーブパターンPcが選定された
場合の同時アクセス領域(4×4)の説明図。
【図29】 インターリーブパターンPdが選定された
場合の同時アクセス領域(2×8)の説明図。
【図30】 インターリーブパターンPeが選定された
場合の同時アクセス領域(1×16)の説明図。
【図31】 テーブルの内容説明図。
【符号の説明】
15 GPU 18 フレームバッファ 31 パケットエンジン 32 プリプロセッサ 33 描画エンジン 33A1,33A2・・・33AN ポリゴンエンジン 33B1,33B2・・・33BN テクスチャエンジ
ン 33C 第1のバススイッチャ 33D1,33D2・・・33DM ピクセルエンジン 33E 第2のバススイッチャ 33F テクスチャキャッシュ 34 PCRTC 101 制御回路 102 セレクタ 103a,103b,・・・103p MUX/DMUX:マル
チプレクサ/デマルチプレクサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡 正昭 東京都港区赤坂7丁目1番1号 株式会社 ソニー・コンピュータエンタテインメント 内 Fターム(参考) 5B060 CA12 GA08 HA05

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 マトリクス状に配された複数の記録領域
    を有するメモリへのアクセスをインターリーブパターン
    単位で行う装置であって、 アクセス時に使用するインターリーブパターンを選定す
    るパターン選定手段と、 前記選定されたインターリーブパターンについて割り当
    てられている複数の記録領域に、それらのアドレスを切
    り替えることなく同時にアクセスする領域アクセス手段
    とを具え、 前記パターン選定手段でどのようなインターリーブパタ
    ーンが選定された場合であっても、当該インターリーブ
    パターン内では他の記録領域と重複しない記録領域が前
    記領域アクセス手段に割り当てられている、 メモリアクセス装置。
  2. 【請求項2】 前記メモリは、前記記録領域が画素領域
    となる画像メモリであり、 前記パターン選定手段は、前記画像メモリへの描画対象
    となる画像の形状に適合するインターリーブパターンを
    選定するように構成されている、 請求項1記載のメモリアクセス装置。
  3. 【請求項3】 前記インターリーブパターンが複数種類
    用意されており、この複数種類のインターリーブパター
    ンが、それぞれ他の種類のインターリーブパターンと同
    数の画素領域を互いに異なる組合せで表すものである、
    請求項2記載のメモリアクセス装置。
  4. 【請求項4】 前記パターン選定手段は、前記形状が特
    定された画像を描画する際に最少のアクセス回数となる
    インターリーブパターンを選定する、 請求項2記載のメモリアクセス装置。
  5. 【請求項5】 前記画像メモリが、それぞれ前記インタ
    ーリーブパターン単位でアクセスされる画素領域を有す
    る複数のメモリブロックの集合からなるものであり、 各メモリブロックには同時アクセス可能数のメモリバン
    クが具えられており、 前記複数のメモリブロックの各々を識別するための第1
    アドレス情報と、前記メモリバンク内の画素領域を識別
    するための第2アドレス情報との組合せによって、アク
    セスすべき画素領域が特定されるように構成されてい
    る、 請求項2記載のメモリアクセス装置。
  6. 【請求項6】 前記複数のメモリブロックの各々がマト
    リクス状に配された画素領域を有するものであり、 前記第2アドレス情報はこのマトリクス状の画素領域の
    縦方向、横方向あるいはそれらの方向の組合せのいずれ
    かのアドレスで表されるものである、 請求項5記載のメモリアクセス装置。
  7. 【請求項7】 メモリブロック内の個々の画素領域とそ
    れに割り当てられる前記メモリバンクとの対応関係を規
    定したテーブルを具え、このテーブルに基づいて、アク
    セスすべきメモリバンクが決定されるように構成されて
    いる、 請求項6記載のメモリアクセス装置。
  8. 【請求項8】 前記複数のメモリブロックの各々が、横
    方向のアドレスがX、縦方向のアドレスがYで表される
    マトリクス状に配された2×2個の画素領域からな
    るものであり、これらの画素領域にアクセスする際に指
    定される前記第2アドレス情報がA(X,Y)で表さ
    れ、m≦nの場合、前記第2アドレス情報A(X,Y)
    が、下記の規則によって定められている、請求項5記載
    のメモリアクセス装置。 【数1】X mod 2=2×i[0]+2×i[1]+…+2n−1
    ×i[n-1]=Σ2×i[k] (但し、i[k]:0 or 1) Y mod 2=2×j[0]+2×j[1]+…+2n−1×j[n-1]=
    Σ2×j[k] (但し、j[k]:0 or 1) と2進表記して、 A(X,Y)=Σ2×(i[k] xor j[n-1-k]) (但し、i,jはビットの重み、Σはk=0からk=n
    −1までの総和、XORは排他的論理和を表す)
  9. 【請求項9】 前記複数のメモリブロックの各々が、横
    方向のアドレスがX、縦方向のアドレスがYで表される
    マトリクス状に配された2×2個の画素領域からな
    るものであり、これらの画素領域にアクセスする際に指
    定される前記第2アドレス情報がA(X,Y)で表さ
    れ、m>nの場合、前記第2アドレス情報A(X,Y)
    が、下記の規則によって定められている、 請求項5記載のメモリアクセス装置。 【数2】X mod 2=2×i[0]+2×i[1]+…+2m−1
    ×i[m-1]=Σ2×i[k] (但し、i[k]:0 or 1) Y mod 2=2×j[0]+2×j[1]+…+2m−1×j[m-1]
    =Σ2×j[k] (但し、j[k]:0 or 1) と2進表記して、 A(X,Y)=Σ2×(i[k] xor j[m-1-k]) (但し、i,jはビットの重み、Σはk=0からk=m
    −1までの総和、XORは排他的論理和を表す)
  10. 【請求項10】 マトリクス状に配された複数の記録領
    域を有するメモリへのアクセスを行うコンピュータに搭
    載される半導体デバイスであって、 前記コンピュータに、アクセス時に使用するインターリ
    ーブパターンを選定するパターン選定手段と、前記選定
    されたインターリーブパターンに対応する複数の記録領
    域に同時にアクセスする領域アクセス手段とを構築さ
    せ、 どのようなインターリーブパターンが選定された場合で
    あっても当該インターリーブパターン内では他の記録領
    域と重複しない記録領域を前記領域アクセス手段に割り
    当てることにより、前記メモリへのアクセスが、前記記
    録領域のアドレスが切り替わることなく、複数種類のい
    ずれかのインターリーブパターン単位で行われるよう
    に、前記コンピュータを動作させる、 半導体デバイス。
  11. 【請求項11】 マトリクス状に配された複数の記録領
    域を有するメモリへのアクセスを複数種類のいずれかの
    インターリーブ単位で行うコンピュータにおいて実行さ
    れるアクセス制御のための方法であって、 同時アクセス可能な複数の記録領域を、どのようなイン
    ターリーブパターンが選定された場合であっても当該イ
    ンターリーブパターン内で同一の記録領域が重複しない
    ように定める段階と、 アクセス時に使用するインターリーブパターンを選定す
    る段階と、 前記選定されたインターリーブパターンについて割り当
    てられている複数の記録領域に、それらのアドレスを切
    り替えることなく同時にアクセスする段階とを有する、 メモリアクセス制御方法。
  12. 【請求項12】 コンピュータを、マトリクス状に配さ
    れた複数の記録領域を有するメモリへのアクセスをイン
    ターリーブパターン単位で行うメモリアクセス装置とし
    て動作させるためのコンピュータプログラムであって、 前記メモリアクセス装置が、アクセス時に使用するイン
    ターリーブパターンを選定するパターン選定手段と、前
    記選定されたインターリーブパターンについて割り当て
    られている複数の記録領域に、それらのアドレスを切り
    替えることなく同時にアクセスする領域アクセス手段と
    を具え、前記パターン選定手段でどのようなインターリ
    ーブパターンが選定された場合であっても、当該インタ
    ーリーブパターン内では他の記録領域と重複しない記録
    領域が前記領域アクセス手段に割り当てられているもの
    である、 コンピュータプログラム。
  13. 【請求項13】 請求項12に記載されたコンピュータ
    プログラムが記録された、コンピュータ読み取り可能な
    記録媒体。
JP2003001595A 2002-03-01 2003-01-07 メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体 Pending JP2003323339A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003001595A JP2003323339A (ja) 2002-03-01 2003-01-07 メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体
EP03700478A EP1481386A1 (en) 2002-03-01 2003-01-08 Frame buffer access device, frame buffer access method, computer program and recording medium
KR10-2003-7015018A KR20040090392A (ko) 2002-03-01 2003-01-08 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체
PCT/JP2003/000061 WO2003075253A1 (en) 2002-03-01 2003-01-08 Frame buffer access device, frame buffer access method, computer program and recording medium
TW092102527A TWI240221B (en) 2002-03-01 2003-02-07 Memory access device, semiconductor device, memory access method and recording medium
US10/376,983 US6992673B2 (en) 2002-03-01 2003-02-28 Memory access device, semiconductor device, memory access method, computer program and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002-56548 2002-03-01
JP2002056548 2002-03-01
JP2003001595A JP2003323339A (ja) 2002-03-01 2003-01-07 メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2003323339A true JP2003323339A (ja) 2003-11-14

Family

ID=27790940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003001595A Pending JP2003323339A (ja) 2002-03-01 2003-01-07 メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体

Country Status (6)

Country Link
US (1) US6992673B2 (ja)
EP (1) EP1481386A1 (ja)
JP (1) JP2003323339A (ja)
KR (1) KR20040090392A (ja)
TW (1) TWI240221B (ja)
WO (1) WO2003075253A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259072A (ja) * 2004-03-15 2005-09-22 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2006277653A (ja) * 2005-03-30 2006-10-12 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2011204229A (ja) * 2010-03-01 2011-10-13 Panasonic Corp メモリコントローラ、撮像装置
JP2016509280A (ja) * 2012-12-21 2016-03-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法
US9946645B2 (en) 2013-03-27 2018-04-17 Canon Kabushiki Kaisha Information processing apparatus and memory control method
WO2023119622A1 (ja) * 2021-12-24 2023-06-29 株式会社ソシオネクスト メモリアクセス方法およびメモリアクセス制御装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7872657B1 (en) * 2006-06-16 2011-01-18 Nvidia Corporation Memory addressing scheme using partition strides
US7777751B2 (en) * 2006-11-27 2010-08-17 Lsi Corporation Tiled memory array for full search motion estimation
US8923405B1 (en) 2010-01-25 2014-12-30 Ambarella, Inc. Memory access ordering for a transformation
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293480A (en) * 1990-08-06 1994-03-08 At&T Bell Laboratories High resolution graphics system architecture
EP0658871B1 (en) * 1993-12-09 2002-07-17 Sun Microsystems, Inc. Interleaving pixel data for a memory display interface
US5493643A (en) 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
US5794016A (en) 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
JPH09212412A (ja) * 1996-02-06 1997-08-15 Sony Computer Entertainment:Kk メモリアクセス方法及びデータ処理装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005259072A (ja) * 2004-03-15 2005-09-22 Sony Corp データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4701620B2 (ja) * 2004-03-15 2011-06-15 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP2006277653A (ja) * 2005-03-30 2006-10-12 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP4635687B2 (ja) * 2005-03-30 2011-02-23 ソニー株式会社 データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2011204229A (ja) * 2010-03-01 2011-10-13 Panasonic Corp メモリコントローラ、撮像装置
JP2016509280A (ja) * 2012-12-21 2016-03-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法
US9946645B2 (en) 2013-03-27 2018-04-17 Canon Kabushiki Kaisha Information processing apparatus and memory control method
WO2023119622A1 (ja) * 2021-12-24 2023-06-29 株式会社ソシオネクスト メモリアクセス方法およびメモリアクセス制御装置

Also Published As

Publication number Publication date
US6992673B2 (en) 2006-01-31
US20030231176A1 (en) 2003-12-18
TWI240221B (en) 2005-09-21
WO2003075253A1 (en) 2003-09-12
TW200304097A (en) 2003-09-16
EP1481386A1 (en) 2004-12-01
KR20040090392A (ko) 2004-10-22

Similar Documents

Publication Publication Date Title
JP3645024B2 (ja) 描画装置及び描画方法
US6667744B2 (en) High speed video frame buffer
KR100908779B1 (ko) 프레임 버퍼 병합
US5864512A (en) High-speed video frame buffer using single port memory chips
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
JP3138173B2 (ja) グラフィックス用フレームメモリ装置
JPH09245179A (ja) コンピュータグラフィックス装置
US7170512B2 (en) Index processor
KR100471905B1 (ko) 메모리액세스방법및데이터처리장치
JP2882465B2 (ja) 画像生成方法およびその装置
JP2003323339A (ja) メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体
EP0676720B1 (en) Image generation apparatus
JP3548648B2 (ja) 描画装置及び描画方法
JP3971448B2 (ja) 描画装置及び描画方法
JP3934111B2 (ja) 描画装置及び描画方法
JP5310079B2 (ja) 画像描画装置
JP3740415B2 (ja) グラフィック処理装置
JP4482996B2 (ja) データ記憶装置とその方法および画像処理装置
JPH06295171A (ja) 画像処理装置
JPH07118006B2 (ja) 画像処理装置
JPH0962853A (ja) グラフィックプロセッサ及びグラフィック処理システム
JP2000123157A (ja) 画像処理装置
JP2003022696A (ja) テスト回路および画像処理装置
JPH11161816A (ja) データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050628