JP3619565B2 - データ処理装置、及びそれを用いたシステム - Google Patents

データ処理装置、及びそれを用いたシステム Download PDF

Info

Publication number
JP3619565B2
JP3619565B2 JP10188595A JP10188595A JP3619565B2 JP 3619565 B2 JP3619565 B2 JP 3619565B2 JP 10188595 A JP10188595 A JP 10188595A JP 10188595 A JP10188595 A JP 10188595A JP 3619565 B2 JP3619565 B2 JP 3619565B2
Authority
JP
Japan
Prior art keywords
data
address
processing
array
tile
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.)
Expired - Fee Related
Application number
JP10188595A
Other languages
English (en)
Other versions
JPH08297605A (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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP10188595A priority Critical patent/JP3619565B2/ja
Priority to TW085102107A priority patent/TW335466B/zh
Priority to PCT/JP1996/000449 priority patent/WO1996027168A1/ja
Priority to US08/894,786 priority patent/US6433782B1/en
Priority to KR1019970706004A priority patent/KR100448724B1/ko
Publication of JPH08297605A publication Critical patent/JPH08297605A/ja
Priority to US10/175,805 priority patent/US6806875B2/en
Priority to US10/947,275 priority patent/US7064756B2/en
Application granted granted Critical
Publication of JP3619565B2 publication Critical patent/JP3619565B2/ja
Priority to US11/432,350 priority patent/US20060202992A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【産業上の利用分野】
本発明はデータ処理システム,計算システム等(以下、データ処理システムという)のアドレス管理方式に係わり、特に、扱うデータが2次元的に配列されるデータの処理、例えば、行列計算,図形生成処理,画像処理等の高速化に関する。
【0002】
【従来の技術】
2次元的広がりを持つデータに関する従来のアドレス管理方法は、画像管理に関する下記の文献に示されている。また、同様の内容がUSP5,247,632 にも記載されている。
【0003】
Gary Newmann, Memory Mamagement Support for Tiled Array Organization, Computer Architecture News, Vol.20,No.4,September 1992,pp. 22−29。
【0004】
これらの文献によると、2次元的広がりを持つデータ(以下、2次元配列のデータという、但し、このデータは論理上、仮想上のものも含む)は、行方向だけでなく、列方向にも参照される。
【0005】
一般に、2次元配列のデータの参照は、1つのデータの周囲のデータも併せて参照することが多い。
【0006】
例えば、1つのデータが参照されると、このデータの2次元配列上の近傍のデータも、ある一定時間内に参照される場合が多い。
【0007】
ここで、論理アドレスにはアレイ型とタイル型の2つのタイプがある。前者は2次元配列の行データの物理アドレスが連続となるように配置した場合のアドレスであり、後者は2次元配列の近傍データを含む正方形領域のデータが物理的に連続アドレスとなるように配置した場合のアドレスである。
【0008】
従来技術では、アクセス元が発生するアレイ型のアドレスを、一旦、物理的配置に対応したタイル型のアドレスへ変換した後、通常の論理アドレスから物理アドレスへのアドレス変換によって物理アドレスを生成する。この際の変換規則はデータの物理的配置のみにより定められている。
【0009】
【発明が解決しようとする課題】
従来技術によると、アドレス変換の規則、つまり、変換規則が物理的配置で決定されるため、タイル型配置のデータをアレイ型に参照することができないという問題があった。これは、アレイ型参照においても、結局途中でタイル型参照に変換されてしまうためである。
【0010】
また、アドレス変換が2段階必要であり、アドレス変換に時間を要し、高速化を阻害すると共に、アドレス変換の段階に応じて管理が二重化され、複雑化するという問題があった。
【0011】
これらの問題点は、一般のデータやプログラムなどを保持するメインメモリと描画・表示のための画像データを保持する画像用メモリ(フレームバッファ等)とが統合され、1つのメモリデバイス上で管理される将来のワークステーション(WS),パーソナルコンピュータ(PC),携帯用データ処理装置(PDA)等のグラフィックス処理を行うもので顕著になる。
【0012】
つまり、同一のデータ領域に対し、描画のためのアクセス,DMA転送,ソフトウェアからの直接アクセスなどの複数のハードウェアまたはプロセスからのアクセスが生じる場合である。
【0013】
特に、ソフトウェアからの直接アクセスでは、互換性を保つためにも従来システムでのソフトウェアインタフェースに対して影響が生じないようにデータのアクセス処理,アドレス変換処理を行わなければならない。さもなければ、専用のハードまたはソフトウェアを用いて、タイル型に配置されたデータをアレイ型に並べ替える必要があり、変換時間及び2倍のデータ領域が必要になる。
【0014】
上述のWS,PC,PDA等のデータ処理装置では、CPUと描画等の画像データを処理する画像処理部とを1つの処理装置として内蔵し、それまでのメインメモリとフレームバッファとを1つのメモリにして、アクセスする小型プロセッサを用いた画像処理装置、及びそれを用いたシステムが求められている。
【0015】
このようなシステムではメモリ量を小さくするために、画像用データ領域を CPUと画像処理部とで共有し、CPUが画像データを参照する場合も画像データの無駄なコピーを作ることなくそのままの形で参照できる必要がある。
【0016】
特に、データ配列が変わってもソフトウェア互換性を失わないように、アクセスする必要がある。
【0017】
本発明の目的は、アドレッシングが異なる複数種類のデータが混在するメモリを高速にアクセスする処理装置及びそれを用いたデータ処理装置を提供することにある。
【0018】
【課題を解決するための手段】
本発明は、タイル型アドレスで保持される第1のデータとアレイ型アドレスで保持される第2のデータを有するメモリをアクセスしてデータの処理を行う処理装置であって、上記処理装置が上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスに応じて、タイル型アドレスまたはアレイ型アドレスのアドレッシングによって上記メモリへのアクセスを行うことを特徴とする。
【0019】
本発明の他の特徴は、タイル型アドレスで保持される第1のデータとアレイ型アドレスで保持される第2のデータを有するメモリと、上記メモリをアクセスしてデータの処理を行う処理部であって、上記処理部が上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスに応じて、タイル型アドレスまたはアレイ型アドレスのアドレッシングによって上記メモリへのアクセスを行うことを特徴とする。
【0020】
また、参照先がタイル型に配置されたデータである場合、アレイ型の連続論理アドレスをタイル型配置に対応した連続しない複数の物理アドレスに区切って参照し、不連続な参照を制御できるアレイ型からタイル型アドレスへのアドレス変換を行うことを特徴とする。
【0021】
さらに、アドレス変換テーブルの一部にデータ配置を示す情報を変換先読みバッフ(TLB)に変換方式指定フラグとして保持し、アレイ型アドレスからタイル型アドレスへのアドレス変換を論理ページ内で指定することを特徴とする。
【0022】
【作用】
それぞれのプロセスにおいて、最適にアドレッシングされたデータをダイレクトにアクセスすることができるので、データのアクセスの高速化が図れる。
【0023】
さらに、1つのメモリにアドレッシングのことなるデータを混在することができるので、装置の小型化,コストの低減が達成される。
【0024】
さらに、論理ページ単位で物理的配置情報を管理するので、異なるアドレッシングのデータが混在していても、変換回数の増加を防ぐことができる。
【0025】
変換先読みバッファ(TLB)を用いることで、データ参照の際に、まず、アドレス変換のための変換先読みバッファ(TLB)の変換方式指定フラグを参照し、これがアレイ型配置を示していたらそのまま連続的に参照する物理アドレスを発生し、タイル型配置を示していたらそれに合致する一定間隔で不連続となる参照を行うように物理アドレスを発生するので、タイル型データ配置により高速化される描画部の発生したデータをCPUからアレイ型のアドレス構成でアクセスでき、結果として、高速なアクセスが達成される。
【0026】
【実施例】
以下に本発明の実施例を図面を用いて詳細に説明する。
【0027】
図1に本発明のデータ処理装置の基本構成を示す概略図を示す。
【0028】
このデータ処理装置は、主に、画像データを含むデータを処理する処理部100と画像データを含むデータ,コマンド,プログラムなどを保持する記憶部200及びこれらを接続するメモリバス400とを有して構成される。
【0029】
処理部1は、少なくとも、画像データではない一般のデータを処理するデータプロセッサ部110,プロセッサ部からの指示に従って画像データを処理するグラフィックプロセッサ部120,記憶部2へのアクセスを制御する入出力制御部130及びこれらを接続する内部バス140とを有して構成される。
【0030】
記憶部200は、一般のデータやプログラムを保持するプログラム領域210と画像に関するデータを保持するグラフィック領域220とを有して構成される。
【0031】
さらに、このデータ処理装置は、ハードディスク,フロッピーディスク,ROM,CD−ROM等の他の記憶装置,CRT,液晶表示装置等の表示装置,マウス,キーボード等の入力装置,プリンタ等の出力装置又は他のデータ処理装置とのデータの転送等を行うモデムなどの通信装置等の補助装置300を入出力バス 500と入出力制御部を介して接続することができる。また、これらの補助装置はデータ処理装置に内蔵することも外付けすることも可能である。
【0032】
ここで、記憶部200に保持されるデータのアドレスの割付けを以下に説明する。
【0033】
記憶部のプログラム領域210は、データやプログラムが必要に応じて保持され、そのアドレス割付けは、従来と同じである。この領域では、分岐処理や割込み処理等を除けば、通常、アドレス順にアクセスされることが多い。
【0034】
これに対して、グラフィック領域220は、表示画面に対応してアクセスされることが多い。
【0035】
つまり、図2(A)に示すように、ある画像処理の中で、例えば、画素データX0を処理すると、次に処理する画素データは、その周辺近傍の画素データX1〜X8になることが多い。これは、画像データの処理は、表示する2次元配列の画素データを扱うからである。また、3次元の図形を表示する場合でも、実際に表示する表示装置は2次元平面の表示装置であるから、上述のような近傍の画素データを処理することが多くなる。
【0036】
さらに、画像処理する対象は、表示領域や描画領域全体を1度に処理するよりも、描画または表示すべき物体や図形ごとに処理する場合が多いことにもある。なお、この図では12×12画素の画面例としている。
【0037】
このような表示画面に対応した画素データをメモリに割り付ける際に、アドレス0からnまでを1画面全体の配列で割り付けると図2(B)に示すような画素データの配列になる。このような配列において、近傍の画素データを順次処理する場合には、これら画素データの格納されるアドレスが離散しているのでそのアドレス計算に時間がかかり、処理する画素データの量が多いほど処理時間が増大する。
【0038】
そこで、複数の画素データを所定の大きさの矩形領域(ブロック)ごとにまとめてアドレスを割り付ける。つまり、この図の例では、3×3の画素データのブロックをまとめて割り付けるために図2(C)に示すようなアドレスを割り付けている。
【0039】
このように2次元配列の画素データをブロックごとにまとめてアドレスを割り付けることで、近傍の画素データのアドレス計算が容易になり、アクセスが高速になる。
【0040】
ここで、ブロックの形状は矩形領域だけでなく他の形状の領域でもよく、その大きさも処理内容に応じて変えることができる。これらの設定は、プログラムなどのソフトウェアによっても、ハードウェアによっても設定できる。
【0041】
具体的には横長、または、縦長の長方形領域で有り、ハードウェアの簡単化のためにそのサイズは2の冪乗に設定する。この形状は論理ページ毎に割り当てられるアドレス変換テーブルに配置情報として記録されでおり、その写しが高速化のための変換先読みバッファ(TLB)に格納されている。これはオペレーティングシステムによりセットされる。または、特定用途向けにハードウェア括り付け論理で実現することも可能で、一定値、または、論理アドレスに上位ビット切り出し等の特定の操作を施して得られる。
【0042】
ソフトウェアによる指定の具体的な指示方法を図8に示す、変換先読みバッファのエントリのフラグ領域2217にエンコードされて格納される。この情報はデータ参照時に対応するページの論理アドレスにより索引され、読みだされる。長方形領域の横幅が2のn0乗,縦が2のm0乗と指定されていたとすると、図5に示すとおり、アレイ型配列の論理アドレス2100はタイル型配列の物理アドレス2110に変換される。この変換は図中アドレスのy0とx1の入れ替えにより実現できる。この入れ替えは、連続参照時、即ち、論理アドレスの増加分を一定とした時、物理アドレス側では連続には増加しないことを表す。つまり、2のn0乗マイナス1の時の増分が2の(m0+1)乗マイナス1の2の(n0−1)乗倍を加算して次のアドレスを得る。
【0043】
以下に、上記図2(C)のようにアドレスが割り付けられた記憶部をアクセスするデータ処理装置の動作を説明する。
【0044】
図3(A)に画面の2次元座標軸に基づいた2次元アドレス(X,Y)を示す。この2次元アドレスは、データプロセッサ部のコマンドに与えられるパラメータとして用いられる。なお、ここでも12×12の大きさの例で示している。
【0045】
データプロセッサ部は、この2次元アドレスを上述のアレイ型アドレス、つまり、論理アドレスに変換して処理を行う。図3(B)に2次元アドレスの配列に対応したこの論理アドレスを示す。
【0046】
グラフィックプロセッサは、データプロセッサ部の指示に従って、記憶部をアクセスするが、このグラフィックプロセッサの論理アドレス、つまり、画像論理アドレスは、図3(C)に示すようにタイル型に配列されている。
【0047】
記憶部のそれぞれの物理アドレスに割り付けられている画素データの配列は、上述のようにこの画像論理アドレスによって割り付けられている配列と同じである。つまり、画素データをアクセスするのは、データプロセッサ部よりもグラフィックプロセッサの方が頻度が高いので、記憶部の画像領域の画素データの配列はタイル型である。
【0048】
図3(D)に、記憶部の物理アドレス,データ処理部の論理アドレス及びグラフィックプロセッサの画像論理アドレスとの対応関係を示す。
【0049】
これによると、画像処理の高速化のために画素データに対して物理アドレスと画像物理アドレスを1対1に対応付けることで、グラフィックプロセッサと記憶部の画素領域との間は、アドレス変換を行わなくてもアクセスでき、さらに、対象とする画素データの近傍の画素データのアクセスが容易に、高速に行うことができる。
【0050】
また、データプロセッサ部が画素データをアクセスするときは、データプロセッサ部の論理アドレスから画像論理アドレス又は物理アドレスに変換することで達成される。勿論、通常のデータをアクセスする際には、プログラム領域へのアクセスであるので、従来と同様のアドレス変換、つまり、論理アドレスから物理アドレスへの変換だけでよい。
【0051】
このような動作を実行させるために、本発明のデータ処理装置では、データプロセッサ部がアクセスするデータが記憶部のどの領域にあるかを判別する領域判定部と、上記領域判定部でグラフィック領域と判定されれば論理アドレスをグラフィック領域の物理アドレス(タイル型アドレス)に変換し、プログラム領域と判定されれば論理アドレスを通常の物理アドレスに変換するアドレス変換部とを有する。
【0052】
つまり、本発明のデータ処理装置では、データプロセッサ部に記憶部に格納されているデータの領域に応じてアドレス変換の処理内容を変える点に特徴がある。アドレス変換の処理内容を変えるとは、例えば、論理アドレスをアレイ型アドレスかタイル型アドレスのどちらかに変換することである。
【0053】
また、本発明のデータプロセッサ部は、グラフィックプロセッサ部に画素データのアクセスを指示する場合にも、上述のアドレス変換を用いることができる。その場合には、グラフィックプロセッサ部へのアクセスかを判定する機能を上記領域判定部に設け、グラフィックプロセッサ部へのアクセスであれば、アドレス変換部は、論理アドレスをグラフィック領域の物理アドレス(タイル型アドレス)に変換する。
【0054】
以上の実施例では、画像データのアクセスを示したが、例えば、データプロセッサ部で行列計算をする場合には、行列のデータを画素データと同様に2次元配列のタイル型アドレスで物理アドレスとして記憶部に保持し、上述のグラフィックプロセッサ部のように直接アクセスすることが可能になる。この場合、グラフィックプロセッサ部がこの行列データにアクセスするには、画像論理アドレスを物理アドレスに変換するアドレス変換部を必要とする場合がある。ただし、行列データと画素データとの物理アドレスであるタイル型アドレスの割り付けが同じであれば、アドレス変換のパラメータが若干異なるだけで、処理方法は同じにできる。
【0055】
さらに、このデータ処理部にデータプロセッサ部のためにキャッシュメモリを適用する場合も同様に実現できる。なお、この場合には、入出力制御部にキャッシュミス時の記憶部へのデータアクセス処理の機能を付加する。
【0056】
本発明のデータ処理装置の特徴は、異なるデータ配列に対応する論理アドレスから物理アドレスへの複数種のアドレス変換を行う点にある。
【0057】
以下に、本発明を適用したデータ処理装置について、より具体的に説明する。
図4は本発明を応用したデータ処理装置の構成の一例である。
【0058】
ここに示したデータ処理装置は、演算処理部分と画素発生部分などをワンチップに収めたメディアプロセッサ1000,4枚のメモリモジュール1100,外部サブシステム1200とを有して構成されている。
【0059】
メディアプロセッサ1000とメモリモジュール1100との間はアドレス 19ビット,データ64ビットのバスで、外部サブシステム1200とはアドレス,データ共用の8ビットバスで夫々接続されている。
【0060】
メディアプロセッサ1000には演算処理部分であるRISCコア1010,画素発生部分1020,バス制御部分1030,表示制御部分1040,浮動小数点演算機構1050、及び、周辺論理1060が内蔵されている。
【0061】
RISCコア1010,画素発生部分1020,バス制御部分1030、及び、周辺論理1060は互いにアドレス32ビット,データ32ビットの内部バスで、RISCコア1010と浮動小数点演算機構1050は32ビットデータバスで、バス制御部分1030と画素発生部分1020は専用の64ビットデータバスで、更に、バス制御部分1030と表示制御部分1040も32ビットデータバスで接続されている。
【0062】
また、メモリモジュール1100には入出力幅が32ビットで容量が8Mビットの同期式ダイナミックメモリ1110が2個実装されている。
【0063】
メモリにはRISCコア1010が演算処理に使う領域以外に、画素発生部分1020が参照する画像やRISCコア1010が演算処理以外の目的で参照する画像等を記憶する画像領域1111がある。
【0064】
グラフィックス表示処理を実行させる場合、最初にアドレス,データ共用の8ビットバスで接続された外部サブシステム1200からメモリモジュール1100へ、図形の頂点に関する座標変換等を行う頂点計算プログラムや、図形に貼り付ける模様等の画像データが設定される。RISCコア1010は設定された頂点計算プログラムを元に、浮動小数点演算機構1050の演算器を使用して表示すべき図形の表示画面上での位置や貼り付ける模様の位置を計算し、画素発生部分 1020が解釈実行できるコマンドの形式に変換してメモリモジュール1100に格納する。画素発生部分1020はこの格納されたコマンドを読みだし、解釈実行する。結果として、表示図形の各画素の値が決定され、しかるべき物理アドレス位置に格納される。このときの画像配置がタイル型となっている。これは塗りつぶしの多い図形描画に於ては横方向だけでなく、縦方向にもデータ参照が頻発するので、これを高速化したいがためである。このようにして発生されたメモリモジュール1100の画像は表示制御部分1040により読みだされ、表示データ賭してモニタへ出力される。
【0065】
画像領域1111は主に画素発生部分1020が発生した画素を格納する目的で使用される。
【0066】
画素の発生は図形の塗りつぶしに代表されるように、2次元的近傍でのメモリアクセスが発生する確率が高い。そのため、画像領域1111の構成としては図5で説明するタイル型のアドレス配列になっているのが望ましい。
【0067】
しかしながら、この領域にはRISCコア1010からのアクセスもある。これは主に画素発生部分1020が発生した画像をチェック等のためにプログラムで参照する場合や、画素発生部分1020では不可能な画素発生処理をプログラムで行う場合等に発生する。
【0068】
このプログラムからのアクセスは後に述べる理由により、タイル状ではなくアレイ状でなければならない。プログラムと実メモリの構成の違いを吸収するため、RISCコア1010には領域判定つきアドレス変換機構1011を持っている。
【0069】
次に、図5を用いてアドレス配列について詳しく説明する。
【0070】
RISCコア1010からのアクセスは論理アドレスVA2100に従い、アレイ型配列2000の様になっている。
【0071】
アレイの横幅は2^nであり、高さは2^mである。RISCコア1010からアドレスを連続的に出した場合のアクセスは図5に示した通り(2^n)−1で折り返すパタンとなる。
【0072】
この論理アドレスと2次元アドレス(x,y)との関係は、VA2100の下位nビットがx、それに続くmビットがyの値を示している。
【0073】
原点のアドレスをorg とすると、VA2100は以下の式で表される。
【0074】
VA(x,y)=org +(2^n)・y+x
一方、メモリ状での連続なデータは物理アドレスPA2110に従い、タイル型配列2010の様になっている。
【0075】
タイルの横幅は2^n0であり、高さは2^m0である。
【0076】
メモリ上で連続なアクセスは図5に示した通り横は(2^n0)−1で折り返し、縦は(2^m0)−1で折り返すタイル状のパタンとなる。タイルの横方向の並びは(2^n1)−1で折り返す。この物理アドレスと2次元アドレス(x,y)との関係は、PA2110の下位n0ビットがx0、それに続くm0ビットが y0、更にn1ビットがx1,m1ビットがy1と続く。
【0077】
ここで、x1,x0はxを上位n1ビットと下位n0ビットとに分割したもの、y1,y0はyを上位m1ビットと下位m0ビットとに分割したものである。
原点のアドレスをorg とすると、PA2110は以下の式で表される。
【0078】
PA(x,y)=org +{2^(n1+m0+n0)}・y1+{2^(m0+n0)}・x1+(2^n0)・y0+x0
アレイ型からタイル型へのアドレス変換はVA2100からPA2110への変換である。
図6を用いてタイル型配列2010の実際の構成について詳しく述べる。
【0079】
画素発生部1020が扱う論理的なアドレスは±4095画素が表現できる空間2009である。
【0080】
このうち、実際にメモリアドレスが割り当てられるのはタイル型配列2010の部分のみである。
【0081】
更に、表示に供される部分は640×480画素の領域2011である。
【0082】
領域2011内部の一つのタイル2012は横4画素,縦4画素の16画素で構成されている。
【0083】
各画素2013は32ビット構成で、16ビットの奥行き情報Z,5ビットずつの色情報RGB、及び、1ビットのフラグ情報Fからなっている。
【0084】
図7はこの構成に於ける論理アドレスVA2101から物理アドレスPA2111への変換を解説したものである。
【0085】
VA2101の下位4ビット2101(a)はタイル行内アドレスx0であり、変換されない。
【0086】
アレイ行内タイル行アドレス2101(c)及び2101(b)はタイル内データが連続になるように並べ替えられ、2111(b)及び2111(c)となる。
【0087】
原点アドレスorg 2101(e)及び縦方向タイルアドレス2101(d)は通常のアドレス変換機構2200により、org 2111(e)及び縦方向タイルアドレス2111(d)へ変換される。
【0088】
このとき領域判定により、2101(c)及び2101(b)の並べ替えが必要であることを示す判定結果2201も同時に出力される。
【0089】
図8では画像領域の判定信号2201を生成する機構を変換先読みバッファ (TLB)のエントリを用いて説明する。
【0090】
変換先読みバッファ(TLB)のエントリフォーマット2210はフラグ情報FLAGS2211,許可プロセス情報COIN2212,物理ページ番号PPN2213,論理ページ番号VPN2214,空間番号SPN2215,有効ビットV2216からなる。
【0091】
このうち、アドレス付けに拘わる情報はフラグ情報FLAGS2211 に含まれており、その詳細が表2217に示されている。
【0092】
FLAGS2211の5ビットの内、G−ESCはグラフィックスエスケープビットであり、これが1の時には残りの4ビットでタイル情報を示す。これが0の時には残りの4ビットは夫々別の意味で使用される。
【0093】
タイル情報はタイルサイズ及び画素構成を示しており、図6で示したものに対応するのは太枠で囲んだ部分である。
【0094】
RISCコア1010内部にはプロセス情報の一部としてアドレシングがタイル対応か否かのフラグを持っており、これがタイル対応でないことを示している時にのみ画像領域判定信号2201が有効になる。
【0095】
図9(a)(b)は本アドレス変換方式によるメモリのアクセスパタンを説明したものである。
【0096】
図9(a)では、論理空間に於けるアレイ型配列2000に対して画素発生部1020からタイルに沿ったアクセス2001があった場合、物理空間に於けるタイル型配列2010上のアクセスパタン2011は連続的になる。
【0097】
図9(b)では、論理空間に於けるアレイ型配列2000に対してRISCコア1010からアレイ状のアクセス2002があった場合、物理空間に於けるタイル型配列2010上のアクセスパタン2014は不連続になる。
【0098】
図10では図9(b)におけるメモリ2010とキャッシュ2020間の転送をより詳細に説明する。
【0099】
メモリ2010内のデータ配列は本質的に1次元状である。データ番号を図に示した様に0〜7とする。
【0100】
このデータが画像領域にある場合画素発生部1020はこの1次元データをタイル状アドレス空間2000として認識する。
【0101】
画素発生部の高速化のため、タイル2001内のデータはメモリ状で近傍に位置する様に割り当てられている。
【0102】
即ち、図の例ではタイル内のデータが(0,1,2,3)(4,5,6,7)の様に構成される。
【0103】
一方、RISCコア1010はこれをアレイ型の配列として認識するため、図の例では(0,1,4,5,8,9,……)(2,3,6,7,……)の様にアクセスする。
【0104】
そこで、この不連続アクセスが連続な仮想アドレスで参照され、データ自体にも連続性を持たせるのが本データ転送方式の主眼点である。これを実現するため、キャッシュメモリ2020を構成するキャッシュライン2022内のデータ配列をキャッシュラインの転送時に並べ替える。
【0105】
即ち、図の例ではキャッシュラインを(0,1,4,5)(2,3,6,7)の様に構成する。
【0106】
RISCコアからのアクセスが連続化出来た代わりに、ライン転送によるメモリアクセスは不連続なものとなりオーバヘッドが生じる。しかし、これは転送時のみに起り、平均のオーバヘッドはこれにキャッシュのミス率を乗じたものとなるので小さい。本方式を用いなければ、毎サイクルアドレス変換のオーバヘッドを要するため、マシンサイクル時間の増加を招くので全体的に性能が低下する。
この不連続制御は図7に於けるアレイ行内タイル行アドレスの組み替えにより実現されるが、この組み替えが毎回行われたのでは性能低下を招くため、不連続なデータがキャッシュメモリ2020上で連続なアクセス2022に見えるようにするのが望ましい。図11〜図13を用いてこの方法を説明する。
【0107】
図11はキャッシュメモリのミス判定部を示したものである。
【0108】
キャッシュラインが16Bで、エントリ数が2048の時、キャッシュタグ 2220のアドレスとしては物理アドレス2111(f),判定部2221へ入力する上位アドレスとしては物理アドレス2111(g)を用いることになる。
ところが、物理アドレス2111(f)を生成するためにはアドレスの組み替えが必要である。そのためには領域判定の結果を待たねばならないため、遅延時間が大きくなり性能が低下する。
【0109】
そこで、物理アドレス2111(f)の代わりに論理理アドレス2101(f)を用いる方法を考案した。
【0110】
キャッシュメモリのラインサイズがタイル幅以下の場合は、図11に示す様に物理アドレス2111(f)がタイル行内アドレスx0を包含しない。
【0111】
この時、物理アドレス2111(f)の代わりに論理理アドレス2101(f)を用いることによる違いはデータが格納されるべきエントリの位置だけである。
この違いは論理引きキャッシュメモリでのエントリ位置の違いと同様であり問題ない。
【0112】
キャッシュメモリのラインサイズがタイル幅よりも大きい場合、物理アドレス2111(f)はタイル行内アドレスx0を包含する。
【0113】
この時、物理アドレス2111(f)の代わりに論理理アドレス2101(f)を用いること、即ち、タイリングによるデータ入れ替えの影響はキャッシュメモリのエントリ位置のみならず、ライン内部のデータ配列にも及ぶ。
【0114】
ここで、ライン内部のデータ配列の並べ替えはキャッシュメモリのミス時のライン転送の際に行うことで並べ替えのオーバヘッドをライン転送オーバヘッドで吸収することが可能となる。
【0115】
図12はキャッシュのライン転送時のメモリアドレス生成制御を説明したものである。
【0116】
キャッシュメモリがミスするとアドレス変換により、対応する物理アドレス PA2111が求められる。
【0117】
タイルの横幅を16B,タイルサイズを64B,キャッシュラインサイズを 32B,データ転送単位を4Bと仮定する。
【0118】
物理アドレスPA2111の下位2ビット(1:0)はデータ転送単位内アドレスであるので、アドレス指定不要である。
【0119】
物理アドレスPA2111のビット(3:2)はタイル行内アドレスであるから、カウンタに従い変化する。この4ワードで16Bとなるので、キャッシュラインの半分をアクセスできる。
【0120】
ビット(5:4)はタイル行アドレスである。アレイ型のアクセスを行うわけであるから、これは不変である。
【0121】
ビット(31:6)はタイルアドレスである。この最下位ビット(6)はキャッシュラインの残りの半分をアクセスするためのタイル切り替えのために、カウンタに従い変化する。
【0122】
図中2230はライン転送時にメモリアドレスを生成するハードウェアを示したものである。
【0123】
インクリメンタ2231は上述したアドレス変化用のカウンタであり、キャッシュライン32Bを8回転送することが可能なように3ビット幅である。転送開始時にはセレクタ2232により“0”が選択され、転送毎に7まで変動信号 2233を生成する。
【0124】
変動信号2233の下位2ビットはタイル行内ワードアドレスを変化させるのに用いる。具体的には排他的論理和ゲート2234を用いて物理アドレスPA2111のビット(3:2)と合成する。
【0125】
変動信号2233の上位1ビットはタイルアドレスを変化させるのに用いる。具体的には排他的論理和ゲート2235を用いて物理アドレスPA2111のビット (6)と合成する。
【0126】
このように求めた変動分と不変部からライン転送時のメモリアドレス2236が合成される。
【0127】
図13はキャッシュのライン転送時のメモリアドレス生成順序を説明したものである。
【0128】
例題のキャッシュライン2022として、物理,論理アドレスともにアドレス16から始まる32Bを考える。このラインに含まれるワードの論理アドレス VA2101の列は(16,20,24,28,32,36,40,44)、論理アドレスPA2111の列は(16,20,24,28,80,84,88,92)である。
【0129】
キャッシュミスしたワードがVA2101で40,PA2111で88のワードであった場合、図に示すとおりVA2101で(40,44,32,36,24,28,16, 20)、PA2111で(88,92,80,84,24,28,16,20)の順にアクセスすることになる。
【0130】
図14はキャッシュメモリのラインサイズがタイル幅以下の場合のライン転送の様子を示したものである。
【0131】
この場合は図11で説明したとおり、論理アドレスで指定されるエントリに対応するデータが格納される。即ち、タイル型配列2010内のデータ2014 (a)が、対応するキャッシュメモリのライン2022(a)へ転送される。
【0132】
図14は下部にライン転送のタイムチャートを示す。
【0133】
物理メモリとしてクロック1051に同期して動作する同期型のDRAMを考える。
【0134】
キャッシュメモリがミスした時点で、バス制御部分1030からライン転送要求が出される。以下、その手順を示す。
【0135】
まず、同期型DRAM内部でデータをメモリラインバッファへ転送するためのコマンド信号1090及びアドレス信号1070を夫々1091(a),1071(a)のタイミングで出力する。
【0136】
次に2サイクル空けてデータの連続読み出しコマンド及び開始アドレスを夫々1091(b),1071(b)のタイミングで出力する。
【0137】
これら一連のコマンド及びアドレスに対応するデータはデータ信号1080を用いて、更に2サイクル空けた1081のタイミングで2サイクルに渡って転送される。
【0138】
図15はキャッシュメモリのラインサイズがタイル幅に対して倍の大きさである場合のライン転送の様子を示したものである。
【0139】
この場合は、論理アドレスで指定されるエントリに隣り合う2つのタイルから夫々対応するデータが格納される。即ち、タイル型配列2010内のデータ2014(a)(b)が、対応するキャッシュメモリのライン2022(a)(b)へ転送される。
【0140】
図15下部にライン転送のタイムチャートを示す。図14と同様の転送を2回繰り返す形になる。即ち、先の転送にコマンド1092(a)(b),アドレス 1072(a)(b),データ1082(a)(b)が加わる。
【0141】
図16はキャッシュメモリのラインサイズがタイル幅の4倍の場合のライン転送の様子を示したものである。
【0142】
この場合は、論理アドレスで指定されるエントリに隣り合う2つのタイルから夫々対応するデータが格納される。即ち、タイル型配列2010内のデータ2014(a)(b)(c)(d)が、対応するキャッシュメモリのライン2022(a)(b) (c)(d)へ転送される。
【0143】
図16下部にライン転送のタイムチャートを示す。
【0144】
図15と同様の転送を2回繰り返す形になる。即ち、先の転送にコマンド1093(a)(b),1094(a)(b),アドレス1073(a)(b),1074(a)(b),データ1083(a)(b),1084(a)(b)が加わる。
【0145】
図17は本方式を用いた場合のソフトウェア整合性に関する効果の例である。
3000(a)は従来のソフトウェアシステムを示す。
【0146】
画像領域を参照するアプリケーション3010(a),3010(a)から呼び出される画像領域アクセスのためのファームウェア関数3020(a)、及び、アレイ状に配置された画像領域3030(a)から構成される。
【0147】
3000(b)は従来のソフトウェアシステムの画像領域3030(b)を画素発生部高速化のためにタイル型の配列にした場合を示している。
【0148】
この時、画像領域を参照するアプリケーション3010(b)は変更がないが、3010(b)から呼び出される画像領域アクセスのためのファームウェア関数は基本部3021(b)にソフトウェアによるアドレス変換部3022(b)が追加された形となる。
【0149】
ハードウェアに依存した形でファームウェア関数を作り直す必要がある。
【0150】
更に、ソフトウェアによる変換を行うため演算処理が増える上、キャッシュメモリのミスも頻発するため性能が低下する。
【0151】
3000(c)は本方式によるアドレス管理を行った場合を示している。
【0152】
画像領域の制御部分のみがハードウェアによるアドレス変換部3031(c)を含むタイル型の画像領域3032(c)となる。
【0153】
アプリケーション3010(c),3010(c)から呼び出される画像領域アクセスのためのファームウェア関数3020(c)には変更がない。
【0154】
また、タイル型のデータの並べ替えのためのオーバヘッドをキャッシュメモリのライン転送で吸収しているので、性能低下も少ない。
【0155】
図18は本方式を用いた場合のソフトウェア整合性に関する効果の別の例である。
【0156】
3100(a)は従来のソフトウェアシステムを示す。
【0157】
これは、図17で説明したシステムで、画像領域を参照するアプリケーション3010(a)に加えて3010(a)から呼び出される画像領域アクセスのためのファームウェア関数3020(a)もアプリケーション3110(a)として管理する場合である。
【0158】
3100(b)は従来のソフトウェアシステムの画像領域3130(b)を画素発生部高速化のためにタイル型の配列にした場合を示している。
【0159】
この時、画像領域を参照するアプリケーション3110(b)は基本部3111(b)にソフトウェアによるアドレス変換部3112(b)が追加されたものとなる。
【0160】
ハードウェアに依存した形でアプリケーションを作り直す必要がある。
【0161】
更に、ソフトウェアによる変換を行うため演算処理が増える上、キャッシュメモリのミスも頻発するため性能が低下する。
【0162】
3100(c)は本方式によるアドレス管理を行った場合を示している。
【0163】
画像領域の制御部分のみがハードウェアによるアドレス変換部3131(c)を含むタイル型の画像領域3132(c)となる。
【0164】
アプリケーション3010(c)は変更がない。
【0165】
また、タイル型のデータの並べ替えのためのオーバヘッドをキャッシュメモリのライン転送で吸収しているので、性能低下も少ない。
【0166】
図19はタイル型の配列を採用することによる画素発生部の高速化の効果を示している。
【0167】
図19の4000は図形サイズとタイルサイズを変化させたときの図形が含まれるタイルの平均枚数を示している。
【0168】
ここではタイルサイズを256画素,画素のサイズは16ビットとする。
【0169】
また、画素発生部のキャッシュラインサイズとしてこれが完全に包含される 512Bを仮定する。
【0170】
例えば縦横8画素ずつの64画素の図形を発生する場合を考える。
【0171】
アレイ型の配列は縦1画素,横256画素のタイルに対応する。
【0172】
このときの平均タイル数は16.9 である。画素のアクセス数64に別タイルアクセスの起動レーテンシが加算される。
【0173】
起動レーテンシは図14で説明したとおり、6サイクルである。
【0174】
必要なデータが順番に到着するとしても平均サイクル数は以下のとおりである。
【0175】
64+16.9×6=165.6
タイル型の配列として縦横16画素ずつの256画素を考える。
【0176】
このときの平均タイル数は3.75 である。画素のアクセス数64に別タイルアクセスヘ起動レーテンシが加算される。
【0177】
別タイルのアクセスのペナルティをアレイ型の場合と同様に計算すると以下のようになる。
【0178】
64+3.75×6=86.5
両者を比較するとタイル型の方が平均して1.9 倍も高速であることが分かる。
【0179】
本実施例では画像処理について説明したが、2次元近傍データを扱う他の例として、ブロック化された行列計算の高速化が挙げられる。近年、学会でも報告されている行列のブロック化技法は大きな行列をブロックに区切り、ブロック毎に計算を進めることによりデータのローカリティを高め、キャッシュメモリなどのデータバッファの効率を向上すると言う考え方である。しかしながら、この場合、物理的メモリの配置情報については触れられておらず、行列が大きいときに頻繁に起こる物理メモリアクセスの高速化については述べられていない。物理メモリアクセスはタイル型配置を採用することによって、近傍データのアクセスの高速化に寄与できる。しかるに、CPUは論理アドレスに対してアレイ型参照形態を取るため、物理的配置との整合性が悪く、データバッファの効率が悪い。即ち、ブロック化したプログラミングに於てもアレイ型のデータ領域がバッファリングされてしまう。本発明による不連続アドレス参照により、ブロック外データのバッファリングを抑制することが可能である。
【0180】
【発明の効果】
本発明によれば、画素データのアクセスを高速に行うことができる。
【0181】
また、画像処理の対象となる画素データの近傍の画素データの処理を簡単にかつ高速に実行することができる。
【0182】
また、記憶部に配列されているデータを異なる論理アドレスでアクセスすることができる。つまり、複数のプロセッサ部で管理する異なる論理アドレスに対して、共通する物理アドレスのデータを効率よくアクセスすることができる。
【0183】
同一のデータの処理に対して、ハードウェアまたはプロセス(ソフトウェア)毎に異なるアドレッシング、即ち、アレイ状の配列やタイル状の配列などを用いたプログラミングが可能となる。
【0184】
画像処理の速度が、アレイ型アドレスに配置した画素データの処理に比べて、タイル型アドレスに配置した画素データの処理が約2倍の処理速度で処理することができる。
【図面の簡単な説明】
【図1】本発明のデータまたは装置の一実施例。
【図2】データ配列の説明図。
【図3】アドレスの割り付けの説明図。
【図4】システム構成の一実施例。
【図5】アレイ型配列とタイル型配列の説明図。
【図6】画像領域論理空間の説明図。
【図7】2次元アドレス変換の一実施例。
【図8】変換テーブルの一実施例。
【図9】アクセスパタンと物理アドレスとの関係の説明図。
【図10】アクセスパタンと物理アドレスとの関係の説明図。
【図11】キャッシュメモリアドレス管理の一実施例。
【図12】キャッシュメモリアドレス管理の一実施例。
【図13】キャッシュメモリアドレス管理の一実施例。
【図14】ライン転送方式の一実施例。
【図15】ライン転送方式の一実施例。
【図16】ライン転送方式の一実施例。
【図17】ソフトウェアシステム構成の一実施例。
【図18】ソフトウェアシステム構成の一実施例。
【図19】図形当りの平均タイル数の説明図。
【符号の説明】
1000…メディアプロセッサ、1010…RISCコア、1011…領域判定付きアドレス変換、1020…画素発生部、1030…バス制御部、1040…表示制御部、1050…浮動小数点演算機構、1060…周辺論理、1051…クロック信号、1070…アドレス信号、1100…メモリモジュール、1110…同期式DRAM、1111,3030(a),3030(b),3032(c),3130(a),3130(b),3132(c)…画像領域、1200…外部サブシステム、2000…アレイ型配列、2001…画素発生プロセスからのアクセスパタン、2002…RISCコアからのアクセスパタン、2009…描画プロセス論理空間、2010…タイル型配列、2011…表示領域、2012…タイル、2013…画素構成、2014,2014(a),2014(b),2014(c),2014(d)…画素発生プロセスからの物理アクセスパタン、2015…RISCコアからの物理アクセスパタン、2020…キャッシュメモリ上の配列、2022…RISCコアからのキャッシュメモリアクセスパタン、2022(a),2022(b),2022(c),2022(d)…キャッシュライン、2100…アレイ型配列の論理アドレス、2101…アレイ論理アドレス、2101(a),2111(a)…タイル行内アドレス、2101(b),2111(b)…タイル横アドレス、2101(c),2111(c)…タイル内行アドレス、2101(d),2111(d)…タイル縦アドレス、2101(e),2111(e)…原点アドレス、2101(f)…キャッシュタグ論理アドレス、2110…タイル型配列の論理アドレス、2111…タイル物理アドレス、2111(f)…キャッシュタグ物理アドレス、2111(g)…キャッシュ連想アドレス、2200…アドレス変換バッファ、2201…画像領域判定信号、2210…アドレス変換テーブル詳細、2211…フラグ、2212…プロセス情報、2213…物理ページ番号、2214…論理ページ番号、2215…空間番号、2216…有効ビット、2217…フラグエンコードテーブル、2220…キャッシュタグメモリ、2221…キャッシュミス判定機構、3000(a)…従来のソフトウェアシステム、3000(b)…タイル化された従来のソフトウェアシステム、3000(c)…本方式によるソフトウェアシステム、3010(a),3010(b),3010(c),3110(a),3110(c)…アプリケーションプログラム、3020(a),3020(c)…ファームウェア関数、3021(b)…ファームウェア関数本体、3022(b)…ソフトウェアアドレス変換部、3031(c),3131(c)…ハードウェアアドレス変換部、3100(a)…従来のソフトウェアシステム、3100(b)…タイル化された従来のソフトウェアシステム、3100(c)…本方式によるソフトウェアシステム、3111(b)…アプリケーションプログラム本体、3112(b)…ソフトウェアアドレス変換部、4000…図形当りの平均タイル数の表。

Claims (17)

  1. タイル型物理アドレスで保持される第1のデータとアレイ型物理アドレスで保持される第2のデータを有するメモリをアクセスしてデータの処理を行う処理装置であって、
    上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスを有し、
    上記第1のプロセスの場合にアレイ型物理アドレスで保持される第2のデータをアクセスするためにアレイ型物理アドレスをタイル型論理アドレスに変換し、この変換されたタイル型論理アドレスのアドレッシングによって上記メモリをアクセスすることを特徴とする処理装置。
  2. タイル型物理アドレスで保持される第1のデータとアレイ型物理アドレスで保持される第2のデータを有するメモリをアクセスしてデータの処理を行う処理装置であって、
    上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスを有し、
    上記第2のプロセスの場合にタイル型物理アドレスで保持される第1のデータをアクセスするためにタイル型物理アドレスをアレイ型論理アドレスに変換し、この変換されたアレイ型論理アドレスのアドレッシングによって上記メモリをアクセスすることを特徴とする処理装置。
  3. 請求項1または2において、
    上記第1のプロセスの場合に、アクセスするデータが第1のデータであるのか第2のデータであるのかに基づいて、タイル型論理アドレスでアクセスするか、アレイ型物理アドレスをタイル型論理アドレスに変換してアクセスするかを選択することを特徴とする処理装置。
  4. 請求項1または2において、
    上記第2のプロセスの場合に、アクセスするデータが第1のデータであるのか第2のデータであるのかに基づいて、アレイ型論理アドレスでアクセスするか、タイル型物理アドレスをアレイ型論理アドレスに変換してアクセスするかを選択することを特徴とする処理装置。
  5. 請求項3または4において、
    アクセスすべきデータが保持されているアドレス、または、データの保持されているメモリ領域を検出して、該検出結果と実行中のプロセスがタイル型論理アドレス、または、アレイ型論理アドレスのいずれでデータをアクセスするものであるかに応じて変換規則の選択を行うことを特徴とする処理装置。
  6. 請求項1から5のうちのいずれか1項において、
    上記第1のプロセスは画像データを処理するプロセスであり、上記第2のプロセスは上記画像データ以外のデータを処理するプロセスであることを特徴とする処理装置。
  7. 請求項1から5のうちのいずれか1項において、
    上記第1のプロセスは行列データを処理するプロセスであり、上記第2のプロセスは上記行列データ以外のデータを処理するプロセスであることを特徴とする処理装置。
  8. 請求項1から7のうちのいずれか1項において、
    上記タイル型物理アドレスに配置された第1のデータの領域の大きさを設定することを特徴とする処理装置。
  9. タイル型物理アドレスで保持される第1のデータとアレイ型物理アドレスで保持される第2のデータを有するメモリと、上記メモリをアクセスしてデータの処理を行う処理部とを有するデータ処理装置であって、
    上記処理部は、上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスを有し、
    上記第1のプロセスの場合にアレイ型物理アドレスで保持される第2のデータをアクセスするためにアレイ型物理アドレスをタイル型論理アドレスに変換し、この変換されたタイル型論理アドレスのアドレッシングによって上記メモリをアクセスすることを特徴とするデータ処理装置。
  10. タイル型物理アドレスで保持される第1のデータとアレイ型物理アドレスで保持される第2のデータを有するメモリと、上記メモリをアクセスしてデータの処理を行う処理部とを有するデータ処理装置であって、
    上記処理部は、上記第1のデータを処理する第1のプロセスと上記第2のデータを処理する第2のプロセスを有し、
    上記第2のプロセスの場合にタイル型物理アドレスで保持される第1のデータをアクセスするためにタイル型物理アドレスをアレイ型論理アドレスに変換し、この変換されたアレイ型論理アドレスのアドレッシングによって上記メモリをアクセスすることを特徴とするデータ処理装置。
  11. 請求項9または10において、
    上記第1のプロセスの場合に、アクセスするデータが第1のデータであるのか第2のデータであるのかに基づいて、タイル型論理アドレスでアクセスするか、アレイ型物理アドレスをタイル型論理アドレスに変換してアクセスするかを選択することを特徴とするデータ処理装置。
  12. 請求項9または10において、
    上記第2のプロセスの場合に、アクセスするデータが第1のデータであるのか第2のデータであるのかに基づいて、アレイ型論理アドレスでアクセスするか、タイル型物理アドレスをアレイ型論理アドレスに変換してアクセスするかを選択することを特徴とするデータ処理装置。
  13. 請求項11または12において、
    アクセスすべきデータが保持されているアドレス、または、データの保持されているメモリ領域を検出して、該検出結果と実行中のプロセスがタイル型論理アドレス、または、アレイ型論理アドレスのいずれでデータをアクセスするものであるかに応じて変換規則の選択を行うことを特徴とするデータ処理装置。
  14. 請求項9から13のうちのいずれか1項において、
    上記第1のプロセスは画像データを処理するプロセスであり、上記第2のプロセスは上記画像データ以外のデータを処理するプロセスであることを特徴とするデータ処理装置。
  15. 請求項9から13のうちのいずれか1項において、
    上記第1のプロセスは行列データを処理するプロセスであり、上記第2のプロセスは上記行列データ以外のデータを処理するプロセスであることを特徴とするデータ処理装置。
  16. 請求項9から15のうちのいずれか1項において、
    上記タイル型物理アドレスに配置された第1のデータの領域の大きさを設定することを特徴とするデータ処理装置。
  17. 請求項9から16のうちのいずれか1項において、
    上記処理部にはキャッシュメモリ部を有し、上記処理部とメモリとのデータのアクセスは、上記キャッシュメモリ部を介して行い、アドレッシングの変更は上記キャッシュメモリ部に保持されたデータに基づいて行うことを特徴とするデータ処理装置。
JP10188595A 1995-02-28 1995-04-26 データ処理装置、及びそれを用いたシステム Expired - Fee Related JP3619565B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP10188595A JP3619565B2 (ja) 1995-04-26 1995-04-26 データ処理装置、及びそれを用いたシステム
TW085102107A TW335466B (en) 1995-02-28 1996-02-24 Data processor and shade processor
US08/894,786 US6433782B1 (en) 1995-02-28 1996-02-27 Data processor apparatus and shading apparatus
KR1019970706004A KR100448724B1 (ko) 1995-02-28 1996-02-27 데이터처리장치및섀이딩장치
PCT/JP1996/000449 WO1996027168A1 (fr) 1995-02-28 1996-02-27 Processeur de donnees et dispositif d'ombrage
US10/175,805 US6806875B2 (en) 1995-02-28 2002-06-21 Data processing apparatus and shading apparatus
US10/947,275 US7064756B2 (en) 1995-02-28 2004-09-23 Data processing apparatus and shading apparatus
US11/432,350 US20060202992A1 (en) 1995-02-28 2006-05-12 Data processing apparatus and shading apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10188595A JP3619565B2 (ja) 1995-04-26 1995-04-26 データ処理装置、及びそれを用いたシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004279281A Division JP3955862B2 (ja) 2004-09-27 2004-09-27 データ処理装置、及びそれを用いたシステム

Publications (2)

Publication Number Publication Date
JPH08297605A JPH08297605A (ja) 1996-11-12
JP3619565B2 true JP3619565B2 (ja) 2005-02-09

Family

ID=14312398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10188595A Expired - Fee Related JP3619565B2 (ja) 1995-02-28 1995-04-26 データ処理装置、及びそれを用いたシステム

Country Status (1)

Country Link
JP (1) JP3619565B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4890681B2 (ja) * 2001-03-08 2012-03-07 キヤノン株式会社 画像処理装置
US7411591B2 (en) * 2003-12-24 2008-08-12 Intel Corporation Graphics memory switch
JP2005215911A (ja) * 2004-01-29 2005-08-11 Hitachi Ltd 情報処理装置
US8698817B2 (en) 2004-11-15 2014-04-15 Nvidia Corporation Video processor having scalar and vector components
KR101002485B1 (ko) * 2004-11-15 2010-12-17 엔비디아 코포레이션 비디오 처리
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) * 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US7872892B2 (en) * 2005-07-05 2011-01-18 Intel Corporation Identifying and accessing individual memory devices in a memory channel
JP4817776B2 (ja) * 2005-09-16 2011-11-16 キヤノン株式会社 データ処理装置、及びその制御方法
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
JP4895262B2 (ja) * 2005-12-09 2012-03-14 株式会社メガチップス 情報処理装置、コントローラおよびファイル読み出し方法
JP4895264B2 (ja) * 2005-12-27 2012-03-14 株式会社メガチップス 記憶装置および情報処理装置
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading

Also Published As

Publication number Publication date
JPH08297605A (ja) 1996-11-12

Similar Documents

Publication Publication Date Title
US6856320B1 (en) Demand-based memory system for graphics applications
JP3619565B2 (ja) データ処理装置、及びそれを用いたシステム
US7289125B2 (en) Graphics device clustering with PCI-express
US5959639A (en) Computer graphics apparatus utilizing cache memory
US7102646B1 (en) Demand-based memory system for graphics applications
US7932912B1 (en) Frame buffer tag addressing for partitioned graphics memory supporting non-power of two number of memory elements
US6104418A (en) Method and system for improved memory interface during image rendering
JP3350043B2 (ja) 図形処理装置及び図形処理方法
CA1312963C (en) Software configurable memory architecture for data processing system having graphics capability
KR100448724B1 (ko) 데이터처리장치및섀이딩장치
TWI588653B (zh) 針對記憶體存取的動態記憶列模式定址
US6674443B1 (en) Memory system for accelerating graphics operations within an electronic device
US20070208885A1 (en) Methods And Apparatus For Providing Independent Logical Address Space And Access Management
EP2202643A1 (en) Methods and apparatus for providing user level DMA and memory access management
JP2008276798A (ja) タイルリニアホストテクスチャストレージ
US20110057935A1 (en) Tiling Compaction in Multi-Processor Systems
CN1950878A (zh) 对系统存储器的gpu渲染
JP3955862B2 (ja) データ処理装置、及びそれを用いたシステム
US6927776B2 (en) Data transfer device and method
JPH05189549A (ja) マルチプロセッサによる画像データ処理装置
JP2006209651A (ja) グラフィクスハードウェア
JP5884037B2 (ja) データ処理装置、データ処理方法及びデータ共有システム
JPH10162157A (ja) グラフィックコントローラ
US10692171B2 (en) Method of operating virtual address generator and method of operating system including the same
JP3365293B2 (ja) Dram,ロジック混載lsiを使ったキャッシュメモリ及びそれを用いたグラフィックスシステム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040309

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040426

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040506

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041115

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: 20071119

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees