JP3573586B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP3573586B2 JP3573586B2 JP01373297A JP1373297A JP3573586B2 JP 3573586 B2 JP3573586 B2 JP 3573586B2 JP 01373297 A JP01373297 A JP 01373297A JP 1373297 A JP1373297 A JP 1373297A JP 3573586 B2 JP3573586 B2 JP 3573586B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- bus
- cpu
- main storage
- 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
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、画像表示用のフレームバッファメモリとして、演算処理を行うCPUの主記憶装置の一部を用いる統合化メモリ方式(UMA; Unified Memory Architecture)を用いるデータ処理装置に関し、特に、データ処理装置における処理性能を向上する技術に関するものである。
【0002】
【従来の技術】
統合化メモリ方式を採用した従来のデータ処理装置の技術としては、特開平4−84192号公報記載の技術が知られている
この技術では、CPUと主記憶装置間で転送するデータを一旦バッファするメモりを設けることにより、主記憶装置がCPUのアクセスで占有されることを防ぎ、表示装置への表示を制御する表示コントローラが表示のために主記憶装置からデータを読み出す期間を確保している。
【0003】
また、統合化メモリ方式を採用した従来のデータ処理装置の技術としては、フレームメモリの他、3次元グラフィックスに必要となるZバッファやテクスチャメモリとして、主記憶装置の一部を用い、これを3次元グラフィックス処理を行うレンダリングプロセッサやジオメトリプロセッサがアクセスするように構成した装置も知られている。
【0004】
【発明が解決しようとする課題】
上記従来の各技術によれば、CPUの主記憶装置へのアクセスが、表示コントローラやレンダリングプロセッサによって実行中の主記憶装置へのアクセスために待たされてしまい、装置全体の処理性能が劣化してしまうという問題があった。しかも、表示コントローラやレンダリングプロセッサによって実行されるアクセスに、CPUの主記憶装置へのアクセスが待たされる期間が依存することになるため、どの程度、CPUの主記憶装置へのアクセスが待たされることになるのかを前もって把握することができない。このため、従来の技術によれば、装置全体の処理性能の劣化を一定限度以下に保証することができない。
【0005】
そこで、本発明は、統合化メモリ方式を採用したデータ処理装置において、装置全体の処理性能の劣化を軽減することを目的とする。
【0006】
【課題を解決するための手段】
前記目的達成のために、本発明は、たとえば、CPUと、主記憶装置と、表示装置への表示を制御する表示制御装置とを備え、表示制御装置が読み出して表示装置に表示する表示データを格納するフレームバッファとして前記主記憶装置の記憶領域の一部を用いるデータ処理装置であって、
主記憶装置に接続したメモリバスと、CPUに接続したCPUバスと、表示制御装置に接続したローカルバスに接続し、CPUの主記憶装置へのメモリアクセスシーケンスのCPUバスとメモリバス間における中継を行い、表示制御装置の主記憶装置へのメモリアクセスシーケンスのローカルバスとメモリバス間における中継を行うメモリコントローラを備え、
前記メモリコントローラは、CPUバスとメモリバス間のメモリアクセスシーケンスの中継をローカルバスとメモリバス間のメモリアクセスシーケンスの中継に優先して行い、
CPUバスのスループットによって制限される最大頻度で、CPUの主記憶装置へのメモリアクセスが発生した場合にも、前記表示装置への表示に必要となる表示制御装置の主記憶装置へのメモリアクセスの頻度が確保されるように、前記メモリバスのスループットは、前記CPUバスのスループットより大きく設定されていることを特徴とするデータ処理装置を提供する。
【0007】
このような構成によれば、CPUバスとメモリバス間のメモリアクセスシーケンスの中継をローカルバスとメモリバス間のメモリアクセスシーケンスの中継に優先して行うことによりCPUの主記憶装置のアクセス待ちによる性能劣化を防止すると共に、CPUバスとメモリバスのスループットを上記のごとく設定することにより、表示制御装置による表示が支障なく行われることを保証することができる。
【0008】
また、上記目的達成のために、本発明は、たとえば、CPUと、主記憶装置と、表示装置への表示を制御する表示制御装置とを備え、表示制御装置が読み出して表示装置に表示する表示データを格納するフレームバッファとして前記主記憶装置の記憶領域の一部を用いるデータ処理装置であって、
主記憶装置に接続したメモリバスと、CPUに接続したCPUバスと、表示制御装置に接続したローカルバスに接続し、CPUバスとメモリバス間におけるCPUの主記憶装置へのメモリアクセスシーケンスの中継を行い、ローカルバスとメモリバス間における表示制御装置の主記憶装置へのメモリアクセスシーケンスの中継を行うメモリコントローラを備え、
前記メモリコントローラは、
前記表示制御装置のメモリアクセスシーケンスのメモリバスへの中継中に、前記CPUの主記憶装置へのメモリアクセスシーケンスが前記CPUバス上で開始した場合に、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行を凍結させ、CPUの主記憶装置へのメモリアクセスシーケンスの終了後に、表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行の凍結を解除し、メモリアクセスシーケンスの未実行の部分を実行させる手段を有することを特徴とするデータ処理装置を提供する。
【0009】
このような構成によれば、CPUの主記憶装置へのアクセスが生じた場合に、表示制御装置のアクセスを凍結させることにより、CPUの主記憶装置へのアクセス待ちを凍結の処理に必要なサイクル以下に保証できると共に、中断させた表示制御装置の主記憶装置へのアクセスを凍結を解除することによ、凍結を解除した時点から再開させることができるので、表示制御装置の主記憶装置へのアクセス効率の劣化を軽減することができる。
【0010】
【発明の実施の形態】
以下、本発明に係るデータ処理装置の実施形態について説明する。
【0011】
なお、示すデータ処理装置は、パーソナルコンピュータなどの電子計算機やゲーム装置に適用することができる。
【0012】
まず、第1の実施形態について説明する。
【0013】
図示に、本実施形態に係るデータ処理装置の構成を示す。
【0014】
図1において、100はCPU、150はCRT、200はメモリ、400はメモリコントローラ、500はCPUインタフェース回路、510は内部バス調停回路、520はメモリインタフェース回路、550はDAC、560は表示コントローラ、570はレンダリングプロセッサ、700はメモリバス制御回路、800は保持バッファ、1001はバスブリッジ、1002はシステムバス、1002はI/O、1004はハードディスクドライブ、1005はCD−ROMドライブ、1006はキーボードやマウスや入力タブレットやジョイステックなどの入力装置である。
【0015】
CPUバス310、メモリバス350、内部バス530、システムバス1002は、それぞれアドレスバスとデータバスから構成されている。また、メモリ200の記憶空間は、CPU100が動作するために必要なプログラム、データをCD−ROMドライブ1005やハードディスクドライブ1004からバスブリッジ1001を介してロードしたり、CPU100が作業領域として用いたりする記憶空間である主記憶部210と、CRT150に表示する表示データを記憶する記憶空間であるフレームバッファ220に分割されている。
【0016】
このような構成において、CPU100は、主記憶部210にアクセスしながらデータ処理を入力装置1006からの入力などに従いながら実行し、CRT150に表示する表示データをフレームバッファ220に記憶する。また、レンダリングプロセッサ570も、主記憶部210に記憶されたテクスチャデータなどにアクセスしながらレンダリング処理を行い、CRT150に表示する表示データをフレームバッファ220に記憶する。フレームバッファ220に記憶された表示データは、表示コントローラ560に読み出されCRT150に表示される。
【0017】
以下、まず本データ処理装置の動作の概要について説明する。
【0018】
なお以下の説明では、CPUバス310はバス幅32bit、周波数33MHz、メモリバス350はバス幅32bit、周波数66MHzで動作するものとして説明する。
【0019】
(1)まずメモリバス350が何も有効なメモリアクセスを実行していないときに、CPU100が主記憶210をアクセスする場合の動作
この場合、CPU100の内蔵キャッシュメモリのキャッシュミスなどでCPU100から主記憶210への読み出しが必要になると、CPU100は読み出し要求をCPUバス310に出力する。メモリコントローラ400は、CPUバス310から読み出し要求を読み込み、CPUインタフェース回路500を経由してメモリインタフェース回路520に転送する。
【0020】
メモリインタフェース回路520は、メモリバス制御回路700から出力される切換信号750が“1”になるまでCPU100からの読み出し要求を一時保持する。一方、CPUバス310に出力された読み出し要求は、CPUバス制御信号320としてメモリバス制御回路700にも入力される。メモリバス制御回路700は、CPUバス制御信号320が入力されると切換信号750を“1”にして出力し、メモリバス350をCPU100のアクセス用に使えるようにする。また、メモリバス制御回路700は内部バス調停回路510にCPUバスアクセス有効信号720を“1”にして出力し、CPU100のアクセスが終了するまで内部バス530からのアクセスが実行されないようにする。
【0021】
メモリインタフェース回路520は、切換信号750が“1”になると一時保持していたCPU100からの読み出し要求をメモリバス350を経由してメモリ200に出力する。メモリ200内の主記憶210から該当するデータが読み出されると、メモリバス350、メモリインタフェース回路520を経由してCPUインタフェース回路500へ転送される。CPUインタフェース回路500はCPUバス310に同期して、読み出されたデータをCPUバス310を通してCPU100に出力する。
【0022】
CPU100の主記憶210への読み出しアクセス終了後メモリバス制御回路700は、CPUバスアクセス有効信号720を“0”に、切換信号750を“0”にして、内部バス530からのメモリバス350へのアクセスを許可する。
【0023】
CPU100から主記憶210への書き込みアクセスが発生した場合も、同様に、CPU100は、書き込み要求と、書き込みデータをCPUバス310に出力する。メモリコントローラ400は、CPUバス310を介して書き込み要求と書き込みデータを読み込み、CPUインタフェース回路500を経由してメモリインタフェース回路520に転送する。メモリインタフェース回路520は、メモリバス制御回路700から出力される切換信号750が“1”になるまでCPU100からの書き込み要求と書き込みデータを一時保持する。一方、CPUバス310に出力された書き込み要求は、CPUバス制御信号320としてメモリバス制御回路700にも入力される。メモリバス制御回路700は、CPUバス制御信号320が入力されると切換信号750を“1”にして出力し、メモリバス350をCPU100のアクセス用に使えるようにする。また、メモリバス制御回路700は内部バス調停回路510にCPUバスアクセス有効信号720を“1”にして出力し、CPU100のアクセスが終了するまで内部バス530からのアクセスが実行されないようにする。
【0024】
メモリインタフェース回路520は、切換信号750が“1”になると一時保持していたCPU100からの書き込み要求と書き込みデータをメモリバス350を経由してメモリ200に出力する。また、CPU100の主記憶210への書き込みアクセス終了後メモリバス制御回路700は、CPUバスアクセス有効信号720を“0”に、切換信号750を“0”にして、内部バス530からのメモリバス350へのアクセスを許可する。
【0025】
(2)メモリバス350が何も有効なメモリアクセスを実行していないときに(メモリバス350がメモリアクセスに使用されていないときに)、表示コントローラ560またはレンダリングプロセッサ570がフレームバッファ220をアクセスする場合の動作
この場合、表示コントローラ560がフレームバッファ220へアクセス(読み出しのみ)するには、まず内部バス調停回路510への信号reqAを“1”にして出力し、アクセス許可を要求する。内部バス調停回路510は、CPUバスアクセス有効信号720が“0”であればackAを“1”にして表示コントローラ560にアクセスを許可する。表示コントローラ560はackAが“1”になったのを受けて、内部バス530に読み出しコマンド、読み出しアドレス、要求データ数からなる読み出し要求を出力する。切換信号750はCPU100のアクセスがない場合は“0”になっているため、内部バス530へ出力された読み出し要求はメモリインタフェース回路520、メモリバス350を経由してメモリ200に出力される。
【0026】
メモリ200内のフレームバッファ220から該当するデータが読み出されると、メモリバス350、メモリインタフェース回路520、内部バス530を経由して表示コントローラ560へ転送される。表示コントローラ560はアクセスを終了するとreqAを“0”にしてアクセス終了を内部バス調停回路510に通知し、内部バス調停回路510はackAを“0”にする。
【0027】
表示コントローラ560がフレームバッファ220から読み出したデータは、DAC550を経由してCRT150に出力される。
【0028】
ここで、レンダリングプロセッサ570からメモリ200へのアクセスは読み出し/書き込みの両方があるが、読み出し時の処理は表示コントローラ560と同じである。
【0029】
一方、レンダリングプロセッサ570がメモリ200へ書き込みアクセスをする場合は、内部バス調停回路510へreqBを“1”にして出力し、内部バス調停回路510がackBを“1”にするのを待って内部バス530に書き込みコマンド、書き込みアドレス、要求データ数からなる書き込み要求と、書き込みデータを出力する。切換信号750はCPU100のアクセスがない場合は“0”になっているため、内部バス530へ出力された書き込み要求はメモリインタフェース回路520、メモリバス350を経由してメモリ200に出力される。レンダリングプロセッサ570はアクセスを終了するとreqBを“0”にしてアクセス終了を内部バス調停回路510に通知し、内部バス調停回路510はackBを“0”にする。
【0030】
なお、内部バス調停回路510は、ackA、ackBを用いてレンダリングプロセッサ570と表示コントローラ560の内部バス530のアクセスの可否を制御することにより両者の内部バス530使用の調停を行う。
【0031】
(3)メモリバス350がCPU100からのアクセス実行中に内部バス530からのアクセス要求があった場合の動作
この場合は、CPUバスアクセス有効信号720が“1”になっており、CPUバスアクセス有効信号720が“0”になるまで内部バス530からのアクセスは実行されない。
【0032】
(4)メモリバス350が内部バス530からのアクセス実行中にCPU100からのアクセス要求があった場合の動作
ここではメモリバス350がレンダリングプロセッサ570のメモリ200のアクセス実行中に、CPU100からのアクセス要求が発生したものとする。
【0033】
まず、レンダリングプロセッサ570の読み出しアクセス実行中にCPU100からのアクセス要求(読み出し要求または書き込み要求)があった場合の動作について説明する。CPU100からアクセス要求が出力されると、CPUバス制御信号320がメモリバス制御回路700に入力される。メモリバス制御回路700では、前述したメモリバス350が何も有効なメモリアクセスを実行していないときの動作と同じタイミングで切換信号750を“1”にしてCPU100からのアクセスを実行させるが、現在実行中のレンダリングプロセッサ570のアクセス実行が切換信号750が“1”になるまでに終了しない場合には切換信号750を“1”にするのに先立って停止信号730を“1”にし、現在実行中のアクセスを一時中断することをレンダリングプロセッサ570に通知する。
【0034】
ここで、読み出しアクセスでは、読み出し要求に対して読み出しデータが遅れてメモリ200から転送されてくるため、停止信号730を“1”にした後も停止信号730が“0”の間にレンダリングプロセッサ570から出力された読み出し要求に対する読み出しデータがメモリ200からメモリバス350、メモリインタフェース回路520を経由して転送されてくる。また、停止信号730が“1”になった後に、それ以前にメモリ200に発行された読み出し要求に対して転送される読み出しデータの数は、読み出し要求がメモリ200に発行されたタイミングとCPU100からのアクセスの要求タイミングによって異なる。そこで、メモリバス制御回路700はCPUバス制御信号320と内部バス制御信号540に基づいて、停止信号730が“1”になった後に読み出しデータが転送されてくるタイミングでpush信号を出力する。そして、保持バッファ800では、push信号に基づいて転送されてくる読み出しデータを保持する。なお、保持バッファ800には、メモリ200に発行された読み出し要求も保持するようになっている。
【0035】
さて、保持バッファ800にメモリ200から転送されたデータが格納されると、メモリバス制御回路700は、実行中のアクセスを中断し、メモリ200をプリチャージするための制御信号を内部バス制御信号540として内部バス530、メモリインタフェース回路520、メモリバス350を経由してメモリ200に出力する。この後でメモリバス制御回路700は切換信号750を“1”にして、CPU100のアクセスを実行させる。CPU100のアクセス実行後、メモリバス制御回路700は切換信号750を“0”にして内部バス530からのアクセスを実行できるようにする。保持バッファ800は切換信号750が“1”→“0”になるタイミングに同期して、中断していたレンダリングプロセッサ570のアクセスを再開するために、保持してあった読み出し要求を内部バス530に出力する。メモリバス制御回路700は停止信号730を“0”にするのに先立って、停止信号730が“1”になった後にメモリ200から読み出されて保持バッファ800に保持したデータを内部バス530に出力するために、pop信号を出力する。保持バッファ800はpop信号に同期して、保持してあった読み出しデータを出力する。
【0036】
この後でメモリバス制御回路700は停止信号730を“0”にすると、レンダリングプロセッサ570は中断していたアクセスを続行する。
【0037】
以上の動作は、表示コントローラ560からのメモリアクセスの実行中にCPU100のアクセス要求が生じた場合も同様である。
【0038】
次に、レンダリングプロセッサ570の書き込みアクセス実行中にCPU100からのアクセス要求があった場合の動作について説明する。書き込みアクセスの場合は、書き込みアドレスと書き込みデータは同時にメモリ200に送られるため、読み出しアクセス時のように停止信号730が“1”で、切換信号750が“0”である間にメモリ200と内部バス530の間で転送される書き込みデータはない。そのため、保持バッファ800には書き込みコマンドと書き込みアドレスのみが保持される。それ以外は読み出しアクセスを中断した場合と同様に処理される。
【0039】
以上のような動作によって、CPU100が常に一定の時間でメモリ200にアクセスすることを保証できる。また、保持バッファ800にアクセスを中断したときの状態を保持することで、再開時に中断したアドレスからアクセスを続行することができ、アクセスを中断することによるオーバヘッドを最小限に抑えることができる。
【0040】
以下、上述した動作を実現するメモリコントローラ400の各部の詳細について説明する。
【0041】
ただし、以下では、メモリのアクセスシーケンスが次のようなものであるとして説明する。
【0042】
すなわち、読み出し(read)アクセスの場合は、第1のサイクルで、読み出しコマンドと要求データ数(バースト長)を含むアクセス要求(Activeコマンド)を、メモリのrowアドレスと共にメモリに与え、読み出しRAS−CASレイテンシサイクル分サイクルをあけた後の各サイクルで順次読み出しコマンドreadコマンドと目的とするデータのcolumnアドレスを同時に与え、最後のサイクルで次のアクセスシーケンスのためにプリチャージコマンドを与える。ここで、読み出しRAS−CASレイテンシは、Activeコマンドとrowアドレスを与えた後に、最初のreadコマンドとcolumnアドレスを与えることができるようになるまでのサイクル数を表し、読み出しCASレイテンシはreadコマンドとcolumnアドレスを与えてから当該columnアドレスのデータがメモリ200から出力されるまでのサイクル数を表し、プリチャージレイテンシは、前回プリチャージコマンドを与えてから、次の読み出しコマンドを含むActiveコマンドを与えることができるようになるまでのサイクル数を表す。
【0043】
また、書き込み(write)アクセスの場合は、第1のサイクルで、書き込みコマンドと要求データ数(バースト長)を含むアクセス要求(Activeコマンド)を、メモリのrowアドレスと共にメモリに与え、書き込みRAS−CASレイテンシサイクル分サイクルをあけた後の各サイクルで順次書き込みコマンド(writeコマンド)と目的とするデータのcolumnアドレスとデータを同時に与え、最後のサイクルで次のアクセスシーケンスのためにプリチャージコマンドを与える。ここで、書き込みしRAS−CASレイテンシは、Activeコマンドとrowアドレスを与えた後に、最初のwriteコマンドとcolumnアドレスを与えることができるようになるまでのサイクル数を表し、書き込みCASレイテンシはwriteコマンドとcolumnアドレスを与えてから当該columnアドレスのデータを与えるまでのサイクル数(通常は0)を表し、プリチャージレイテンシは、前回プリチャージコマンドを与えてから、次の書き込みコマンドを含むActiveコマンドを与えることができるようになるまでのサイクル数を表す。
【0044】
ただし、前述したように書き込み時のCASレイテンシは通常存在せず、RAS−CASレイテンシは読み出しも書き込みも通常同じ値をとるので、以下で、単にRAS−CASレイテンシと記載した場合は読み出し書き込みに共通したAS−CASレイテンシの値を表し、単にCASレイテンシと記載した場合は読み出し時のCASレイテンシを表すものとする。
【0045】
まず、図2にCPUインタフェース回路500の構成を示す。
【0046】
図2において、2100は読み出しバッファである。
【0047】
CPUバス310からのアクセス要求は、CPUインタフェース回路500をスルーし、そのままメモリインタフェース回路520に転送される。一方、メモリバス350からCPUバス310に転送される読み出しデータは、読み出しバッファ2100へ書き込まれる。読み出しバッファ2100へ書き込まれたデータはCPUバス310のバスクロックに同期してCPUバス310に出力される。
【0048】
次に、図3にメモリインタフェース回路520の構成を示す。
【0049】
図3において、3100はアドレスバッファ、3200はデータバッファである。
【0050】
CPU100からの読み出し要求があった場合には、CPUインタフェース回路500を経由して転送されてきた読み出し要求がアドレスバッファ3100に保持され、切換信号750が“1”になったタイミングからメモリバス350に出力される。読み出し要求に対してメモリ200から読み出されたデータは、そのままCPUインタフェース回路500へ転送される。
【0051】
また、CPU100から書き込み要求があった場合には、CPUインタフェース回路500を経由して転送されてきた書き込み要求と書き込みデータが、それぞれアドレスバッファ3100とデータバッファ3200に保持され、切換信号750が“1”になったタイミングからメモリバス350に出力される。
【0052】
次に、図4にメモリバス制御回路700の構成を示す。
【0053】
図4において、4100,4110はデコーダ、4200はCPUアクセスバッファ、4210はCPUバス用アクセス長計算回路、4220は内部バスアクセスカウンタ、4230は内部バス用アクセス長計算回路、4300は停止判定回路、4400は切換信号発生回路、4410は停止処理回路、4420は再開処理回路である。
【0054】
デコーダ4100はCPUバス制御信号320をデコードして、CPU100からアクセス要求があったときに“1”になるCPUバスアクセス要求信号と、CPU100からのアクセス要求が読み出し/書き込みのいずれであるかを示すコマンドと、読み出し/書き込みのデータ数を示すバースト長を出力する。
【0055】
CPUアクセスバッファ4200は、CPUバスアクセス要求信号を受けてCPUバスアクセス有効信号720を“1”にして出力する。CPUバスアクセス有効信号720はCPU100からのアクセス実行中は“1”に保持され、アクセス終了後に切換信号750が“0”になると“0”に戻される。CPUバス用アクセス長計算回路4210は、コマンドとバースト長からCPU100からのアクセスが何サイクルかかるかを計算し、CPUアクセス長として出力する。
【0056】
デコーダ4110は内部バス制御信号540をデコードして、内部バス530からのアクセス要求があったときに“1”になる内部バスアクセス開始信号と、内部バス530からのアクセス要求が読み出し/書き込みのいずれであるかを示すコマンドと、読み出し/書き込みのデータ数を示すバースト長を出力する。内部バス用アクセスカウンタ4220は、内部バスアクセス開始信号を受けたタイミングで内部のカウンタをリセットし、内部バスアクセス実行中のサイクル数をカウントして内部アクセスサイクルとして出力する。内部バス用アクセスカウンタ4220はさらに、CPUバスアクセス要求信号が“1”になったときの内部のカウンタのカウント値を停止要求サイクルとして出力する。内部バス用アクセス長計算回路4230は、コマンドとバースト長から内部バス530からのアクセスが何サイクルかかるかを計算し、内部アクセス長として出力する。停止判定回路4300は、デコーダ4110から出力されるコマンドと、停止要求サイクル、内部アクセス長に基づいて切換信号750を“1”にするタイミングを示す切換開始サイクル、停止信号730を“1”にするタイミングを示す停止開始サイクル、内部バス530からの実行中アクセスが読み出しアクセスの場合に停止信号730が“1”になってから切換信号750が“1”になるまでの期間にメモリ200から内部バス530に転送される読み出しデータの有無を示すデータ保持信号を出力する。
【0057】
切換信号発生器4400は、CPUアクセス長、内部アクセスサイクル、切換開始サイクルに基づいて切換信号750の値を制御する。停止処理回路4410は、デコーダ4110から出力されるコマンド、CPUアクセス長、内部アクセスサイクル、停止開始サイクル、データ保持信号に基づいて停止信号730を出力する。停止処理回路4410はまた、停止信号730が“1”になってから切換信号750が“1”になるまでの期間にメモリ200から内部バス530に転送される読み出しデータがある場合にはpush信号を出力し、現在実行中の内部バス530からのアクセスを中断する必要がある場合にはメモリ200をプリチャージするための信号を制御信号として内部バス530に出力する。再開処理回路4420は、中断していた内部バス530からのアクセスがあり、かつ中断したアクセスが読み出しアクセスだった場合には、CPUアクセス長、内部アクセスサイクル、切換信号750、停止信号730に基づいて、保持バッファ800に保持した読み出しデータを内部バス530に出力することを要求する信号をpop信号として出力する。
【0058】
図4のCPUアクセスバッファ4200の構成を図5にに示す。
【0059】
図中、5100はラッチ、5110はAND回路、5200はCPUアクセス要求バッファである。
【0060】
図5において、CPUバスアクセス要求信号が“1”になったタイミングで、CPUアクセス要求バッファ5200に“1”がセットされる。CPUアクセス要求バッファ5200は、セットされた値をCPUバスアクセス有効信号720として出力する。CPUアクセス要求バッファ5200の内容は、切換信号750が“1”→“0”になるタイミングで“0”にリセットされる。
【0061】
図6に図4のCPUバス用アクセス長計算回路4210の構成例を示す。
【0062】
図6において、6100はメモリ特性テーブル、6110は加算器である。
【0063】
図6において、メモリ特性テーブル6100にはコマンドが読み出し(read)/書き込み(write)のときのそれぞれについて、RAS−CASレイテンシ、CASレイテンシ、プリチャージレイテンシが登録されている。デコーダ4100から出力されたコマンドに基づいてメモリ特性テーブル6100から各パラメータを読み出し、デコーダ4100から出力されたバースト長と加算器6110で合計し、CPUアクセス長として出力する。
【0064】
図7に図4の内部バスアクセスカウンタ4220の構成を示す。
【0065】
図7において、7100はカウンタ、7110はセレクタである。
【0066】
図7において、カウンタ7100は内部バスアクセス開始信号によって“1”にリセットされ、その後は内部バス530からのアクセスの実行サイクル数をカウントし、内部アクセスサイクルとして出力する。CPUバスアクセス要求信号が“1”になったタイミングからカウンタ7100からの出力を停止要求サイクルとして出力する。その他のときは、十分に大きなディフォルト値として”1000”を出力する。
【0067】
図8に図4における内部バス用アクセス用計算回路4230の構成を示す。
【0068】
図8において、8100はメモリ特性テーブル、8110は加算器である。
【0069】
図8において、メモリ特性テーブル8100にはコマンドが読み出し(read)/書き込み(write)のときのそれぞれについて、RAS−CASレイテンシ、CASレイテンシ、プリチャージレイテンシが登録されている。デコーダ4110から出力されたコマンドに基づいてメモリ特性テーブル8100から各パラメータを読み出し、デコーダ4110から出力されたバースト長をあわせて加算器8110で合計し、内部アクセス長として出力する。
【0070】
図9に図4の停止判定回路4300の構成を示す。
【0071】
図9において、9100は転送時間レジスタ、9110はメモリ特性レジスタ、9200は読み出し用停止判定回路、9300は書き込み用停止判定回路である。
【0072】
図9において、転送時間レジスタ9100には、表示コントローラ560やレンダリングプロセッサ570によるメモリバス350の使用中にCPU100からのアクセスが生じた場合に、メモリコントローラー400のメモリインタフェース回路520によって生じさせる、CPUバス310からメモリバス350へのはじめのコマンドの転送時間(遅延時間)を登録してある。メモリ特性レジスタ9110には、RAS−CASレイテンシ、CASレイテンシ、読み出し(read)/書き込み(write)それぞれのプリチャージレイテンシが登録してある。読み出し用停止判定回路9200は、停止要求サイクル、内部アクセス長、転送時間、RAS−CASレイテンシ、CASレイテンシ、読み出し(read)プリチャージレイテンシに基づいて、読み出しアクセス実行時の切換信号750を“1”にするタイミングを示す切換開始サイクル、停止信号730を“1”にするタイミングを示す停止開始サイクル、保持バッファ800に内部バス530上のデータを保持するかどうかを示すデータ保持信号を出力する。
【0073】
書き込み用停止判定回路9300は、停止要求サイクル、内部アクセス長、転送時間、書き込み(write)プリチャージレイテンシに基づいて、書き込みアクセス実行時の切換開始サイクル、停止開始サイクルを出力する。読み出し用停止判定回路9200及び書き込み用停止判定回路930から出力されたこれらの信号は、デコーダ4110から出力されたコマンドによって、セレクタ9400〜9420で選択されて出力される。
【0074】
図10に図9における読み出し用停止判定回路9200の構成を示す。
【0075】
図10において、10100,10150は比較器、10110は加算器、10120,10140は減算器、10130はカウンタ、10160はセレクタ、10170はAND回路である。
【0076】
図10において、比較器10100は内部アクセス長が停止要求サイクル以上であれば“1”を、そうでなければ“0”を出力する。加算器10110は、停止要求サイクルと転送時間から切換開始サイクルを計算し出力する。減算器10120は、切換開始サイクルから読み出し(read)プリチャージレイテンシを引いた値を計算し出力する。カウンタ10130は、(減算器10120の出力値)から(減算器10120の出力値+読み出し(read)プリチャージレイテンシ−1)までの値をカウントする。減算器10140はカウンタ10130の出力値からCASレイテンシを引いた値を出力する。比較器10150は減算器10140の出力値がRAS−CASレイテンシよりも大きければ“1”を、そうでなければ“0”を出力する。セレクタ10160は、比較器10100の出力値が“1”であれば停止開始サイクルとして減算器10120の出力値を、そうでなければ停止開始サイクルとして“0”を出力する。AND回路10170は、比較器10100と比較器10150の出力値の論理積をデータ保持信号として出力する。
【0077】
図11に図9の書き込み用停止判定回路9300の構成を示す。
【0078】
図11において、11100は比較器、11110は加算器、11120は減算器、11130はセレクタである。
【0079】
図11において、比較器11100は内部アクセス長が停止要求サイクル以上であれば“1”を、そうでなければ“0”を出力する。加算器11110は、停止要求サイクルと転送時間の和を切換開始サイクルとして出力する。減算器11120は、切換開始サイクルと書き込み(write)プリチャージレイテンシの差を出力する。セレクタ11130は、比較器11100の出力値が“1”であれば停止開始サイクルとして減算器11120の出力値を、そうでなければ停止開始サイクルとして“0”を出力する。
【0080】
次に、図4のメモリバス制御回路700の切換信号発生回路4400の構成例を示す。
【0081】
図12において、12100,12120は比較器、12110は加算器、12200は切換レジスタである。
【0082】
図12において、比較器12100は内部アクセスサイクルと切換開始サイクルが等しいときに“1”を出力する。加算器12110は切換開始サイクルとCPUアクセス長の和を出力する。比較器12120は内部アクセスサイクルと加算器12110の出力値が等しいときに“1”を出力する。切換レジスタ12200は、比較器12100の出力値が“1”のときに“1”にセットされ、比較器12120の出力値が“1”のときに“0”にリセットされる。切換レジスタ12200は、保持している値を切換信号750として出力する。
【0083】
次に、図13に図4の停止処理回路4410の構成を示す。
【0084】
図13において、13100はメモリ特性レジスタ、13200,13220は比較器、13210は加算器、13230はカウンタ、13240はFIFOバッファ、13250はセレクタ、13300は停止レジスタ、13310はプリチャージ発行回路である。
【0085】
図13において、メモリ特性レジスタ13100は、RAS−CASレイテンシ、読み出し(read)プリチャージレイテンシ、書き込み(write)プリチャージレイテンシを保持するレジスタである。比較器13200は、内部アクセスサイクルと停止開始サイクルが等しいとき“1”を出力する。セレクタ13250は、デコーダ4110が出力したコマンドによって読み出し(read)または書き込み(write)プリチャージレイテンシを出力する。加算器13210は、停止開始サイクル、CPUアクセス長、RAS−CASレイテンシ、セレクタ13250の出力値の和を出力する。比較器13220は、内部アクセスサイクルと加算器13210の和が等しいときに”1”を出力する。カウンタ13230は、比較器13200の出力値が“1”になったタイミングから、セレクタ13250の出力値が示す回数だけ、“1”を出力する。FIFOバッファ13240は、データ保持信号を保持し、カウンタ13230の出力値が“1”になったタイミングで保持していたデータ保持信号をpush信号として出力する。停止レジスタ13300は比較器13200の出力値が“1”のとき“1”にセットされ、比較器13220の出力値が“1”のとき“0”にリセットされる。停止レジスタ13300に保持される値は、停止信号730として出力される。プリチャージ発行回路13310は、比較器13200の出力値が“1”になったタイミングで内部バス530にメモリ200をプリチャージするための制御信号を出力する。
【0086】
図14に図4の再開処理回路4420の構成例を示す。図14において、14100はメモリ特性レジスタ、14200はラッチ、14210,14220はAND回路、14230はカウンタである。
【0087】
図14において、メモリ特性レジスタ14100は、RAS−CASレイテンシを保持するレジスタである。AND回路14210は、切換信号750が“1”→“0”になったタイミングで“1”を出力する。AND回路14220は、AND回路14210の出力値が“1”で、かつ停止信号730が“1”のときに“1”を出力する。カウンタ14230は、AND回路14220の出力値が“1”になったタイミングから、RAS−CASレイテンシサイクルだけpop信号として“1”を出力する。
【0088】
以上、メモリバス制御回路700について説明した。
【0089】
次に、図1の保持バッファ800の構成を図15に示す。
【0090】
図15において、15100はデコーダ、15200は中断アクセスレジスタ、15300は書き込み許可バッファ、15400はデータ保持レジスタ、15500,15530,15550はAND回路、15510,15520,15540はラッチである。
【0091】
図15において、デコーダ15100は、内部バス530から読み出したアクセス要求をデコードして中断されたアクセスが読み出し/書き込みのいずれであるかを示すコマンドと、中断されたアクセスの中断アドレスを出力する。AND回路15500は、切換信号750が“1”→“0”になり、かつ停止信号730が“1”のタイミングで“1”を出力する。中断アクセスレジスタ15200は、コマンドと、中断アドレスを保持し、AND回路15500の出力値が“1”になったタイミングで、保持していたコマンドと中断アドレスを内部バス530に出力する。AND回路15530は、停止信号730が“0”→“1”になるタイミングで“1”を出力する。AND回路15550は、切換信号750が“0”→“1”になるタイミングで“1”を出力する。書き込み許可バッファ15300は、AND回路15530の出力値が“1”のときに“1”にセットされ、AND回路15550の出力値が“1”のときに“0”にリセットされる。書き込み許可バッファ15300は、保持している値を書き込み許可信号として出力する。データ保持レジスタ15400は、書き込み許可信号が“1”である間、内部バス530からデータを読み出し、push信号をvalidフラグとして同時に保持する。データ保持レジスタ15400はまた、pop信号が“1”である間、保持しているデータを読み込んだ順に内部バス530に出力する。その時、validフラグが“1”の場合のみ有効なデータを出力する。
【0092】
以上、メモリコントローラ400の各部の詳細について説明した。
【0093】
先に概要を述べた本データ処理装置の動作の以上の各部の動作によって実現される詳細を以下に示す。
【0094】
図16に、内部バス530からの読み出しアクセス実行中に、CPUバス310から読み出しアクセス要求があった場合を示す。また、図16では、転送時間5サイクル、RAS−CASレイテンシ2サイクル、CASレイテンシ3サイクル、読み出しプリチャージレイテンシ3サイクルとして示している。メモリバス350の動作タイミングTを1サイクルとして表してある。
【0095】
図16において、T=1で内部バス530からの読み出しアクセスが開始される。このタイミングで保持バッファ800には、読み出しアクセスの読み出しコマンドとRowアドレスが登録される。T=3でCPUバス310から読み出しアクセス要求が発生するが、転送時間5サイクルでCPUバス310からのアクセスを実行するためにはT=8からメモリバス350をCPUバス310からのアクセス用に切換なければならず、実行中の読み出しアクセスを中断する必要がある。そのためにT=5で停止信号730が“1”となる。切換信号750はT=8で“1”となるが、T=3,4のタイミングで発行された読み出しコマンドによりT=6,7のタイミングにメモリ200から読み出しデータが転送されてくるため、T=6,7でpush信号を“1”にして保持バッファ800にデータd0とd1を保持する。また実行中のアクセスを中断し、T=8からCPUバス310からのアクセスを実行するため、T=5でメモリバス制御回路700からプリチャージコマンドを内部バス530に出力する。T=8で切換信号750を“1”にし、T=16までCPUバス310からの読み出しアクセスを実行する。T=17で切換信号750が“0”になり、このタイミングで保持バッファ800に保持されていたコマンドとRowアドレスが内部バス530に出力される。T=19で停止信号730が“0”になり、それに同期してpop信号が“1”になる。pop信号はT=19〜21まで“1”になるが、有効なデータが保持されていないためにT=19では内部バス530にはデータが出力されない。T=20,21ではデータd0とd1が内部バス530に出力される。
【0096】
次に、図17に内部バス530からの書き込みアクセス実行中に、CPUバス310から読み出しアクセス要求があった例で、転送時間5サイクル、RAS−CASレイテンシ2サイクル、CASレイテンシ0サイクル、書き込みプリチャージレイテンシ2サイクルのときのタイムチャートである。また図17では、メモリバス350の動作タイミングTを基準に表してある。
【0097】
図17において、T=1で内部バス530からの書き込みアクセスが開始される。このタイミングで保持バッファ800には、書き込みアクセスの書き込みコマンドとRowアドレスが登録される。T=3でCPUバス310から読み出しアクセス要求が発生するが、転送時間5サイクルでCPU310からのアクセスを実行するためにはT=8からメモリバス350をCPUバス310からのアクセス用に切換えねばならず、実行中の書き込みアクセスを中断する必要がある。そのためT=6で停止信号730が“1”となる。また、T=8からCPUバス310からのアクセスを実行するため、T=6でメモリバス制御回路700からプリチャージコマンドを内部バス530に出力する。T=8で切換信号750を“1”にして、T=16までCPUバス310からの読み出しアクセスを実行する。T=17で切換信号750が“0”になり、このタイミングで保持バッファ800に保持されていたコマンドとRowアドレスが内部バス530に出力される。T=19で停止信号730が“0”になり、それに同期してpop信号が“1”になる。pop信号はT=19〜21まで“1”になるが、中断したアクセスが書き込みコマンドの場合には保持バッファ800に保持されているデータはないために、保持バッファ800からは有効なデータは出力されない。
【0098】
以上、本発明の第1実施形態について説明した。
【0099】
ここで、図1におけるCPUインタフェース回路500は、図18に示すように構成するようにしてもよい。
【0100】
図18において、2100は読み出しバッファ、18100はキャッシュメモリ制御回路、18200はキャッシュメモリである。
【0101】
図18において、キャッシュメモリ制御回路18100とキャッシュメモリ18200は二次キャッシュを構成しており、キャッシュメモリ制御回路18100はCPUバス310からのアクセス要求をデコードして、該当するデータがキャッシュメモリ18200に登録されているかを調べる。登録されている場合には、メモリインタフェース回路520へCPUバス310からのアクセス要求を転送せずに、読み出しアクセスの場合にはキャッシュメモリ18200からデータをCPUバス310へ出力し、書き込みアクセスの場合にはキャッシュメモリ18200へCPUバス310からのデータを登録する。登録されていない場合には、メモリインタフェース回路520へアクセス要求を転送し、読み出されたデータw記憶する。また、キャッシュメモリ制御回路18100は、キャッシュメモリの内容のリプレースの制御を行うために、キャッシュメモリ18200の内容をメモリ200に書き込む制御なども行う。キャッシュメモリ制御回路18100の発行する書き込み要求は、メモリコントローラ400内において、CPU100からの書き込み要求と同様に処理される。
【0102】
ここで、キャッシュメモリ18200は、CPU100に内蔵しているキャッシュメモリよりも容量が大きいものであり、CPUインタフェース回路500内に大容量のキャッシュメモリ18200を二次キャッシュとして、内蔵することでメモリ200に対するCPU100からのアクセスを減らすことができるため、内部バス530からのアクセスを中断する頻度を下げることが可能となり、メモリ統合化による表示や描画の性能劣化を小さくすることができる。
【0103】
以上のように、本第1実施形態によれば、CPU100のメモリ200のアクセスの待ち時間を、上述した転送時間数に保証することができる。したがって、従来に比べ、その処理性能の劣化を軽減することができる。また、内部バス530側からのアクセスは、CPU100からのアクセスが発生すると強制的に中断させられるが、CPU100からのアクセス終了後は、中断したところからアクセスシーケンスを再開することができるので、本実施形態の構成を採用したことによる内部バス側からのアクセス効率の極めて小さい。
【0104】
以下、本発明に係るデータ処理装置の第2の実施形態について説明する。
【0105】
図19に、本第2実施形態に係るデータ処理装置の構成を示す。
【0106】
図示するように、本第2実施形態に係るデータ処理装置の構成は、ほぼ、図1に示した第1実施形態に係るデータ処理装置の構成と同様であり、メモリインタフェース回路19520の構成と、メモリインタフェース回路19520からCPU100、表示コントローラ19560、レンダリングプロセッサ19570に取り消し信号を送信するようにした点のみが異なる。
【0107】
メモリインタフェース回路19520は、あらかじめ定めた、CPU100にアクセスが許可されるメモリ200のアドレス領域と、表示コントローラ19560およびレンダリングプロセッサ19570にアクセスが許可されるメモリ200のアドレス領域を管理し、許可されたアドレス領域以外のアドレスにアクセス要求が発行された場合には、CPUバス310からのアクセス要求に対しては取り消し信号19600、内部バス530からのアクセスに対しては取り消し信号19600を出力する。
【0108】
図20に、このようなメモリインタフェース回路19520の構成を示す。
【0109】
図20において、20100はアドレス監視回路20200は許可アドレスレジスタである。
【0110】
図20に図19におけるメモリインタフェース回路19520の構成例を示す。図20において、20100はアドレス監視回路、20200は許可アドレスレジスタである。他の要素は、第1実施形態において同符号を付して示した要素と同じ要素である。
【0111】
図20において、許可アドレスレジスタ20200はCPU19100、表示コントローラ19560、レンダリングプロセッサ19570のアクセス許可アドレスが登録されている。アドレス監視回路20100は、CPUバス310と内部バス530からのアクセス要求を調べて、許可されている領域外へのアクセスがあった場合には、取消信号19600または19610を出力し、不正アクセスであることを通知する。
【0112】
このように、アドレスを監視し、アクセス許可アドレス領域以外へのアクセス要求があった際に取消信号19600及び19610を出力するメモリインタフェース回路19520を設けることによって、メモリ200上のデータの不正なアクセスによる誤書き込みなどを防ぐことが可能となり、システムの信頼性を向上することができる。
【0113】
以下、本発明の第3の実施形態について説明する。
【0114】
図21に、本第3実施形態に係るデータ処理装置の構成を示す。
【0115】
図21において、36560は表示ゴントローヲ、36570はレンダリングプロセッサ、36700はメモリバス制御回路である。他部は、図1において同符号を付して示した部位と同じ部位である。図示するように、本第3実施形態は、図1に示した第1実施形態の構成より保持バッファ800を省略した構成となっている。
【0116】
まず、本第3実施形態に係るデータ処理装置の動作の概要について説明する。
【0117】
データ処理装置において、メモリバス350が何も有効なメモリアクセスを実行していない時に、CPU100、表示コントローラ36560、レンダリングプロセッサ)いずれかがメモリ200をアクセスする場合の動作は第1実施形態の動作と同一である。また、CPU100がメモリアクセス中に内部バス530からのアクセス要求があった場合の動作も、第1実施形態の場合と同様である。
【0118】
一方、メモリバス350が内部バス530からのアアクセス実行中に、CPUl00からのアクセス要求があった場合は、次のように動作する。
【0119】
内部バス530からメモリバス350へのアクセス、読み出し要求によるものあっても書き込み要求によるものであっても動作の中心となるメモリコントローラ400の動作は変わらないので、ここではレンダリングプロセッサ36570がヂ売み出しアクセス実行中に、CPU100からのアクセス要求が発生した場合を例にとり説明する。
【0120】
CPUl00からアクセス要求が出力されると、第1実施形態の場合と同様にCPUバス制御信号320がメモリバス制御回路36700に入力する。メモリバス劉御画路36700は、メモリバス350が何も有効なメモリアクセスを実行していないときと同じタイミングで切換信号750を”1”にしてCPU100からのアクセスを実行させるが、切襖信号750が”1”になるまでに、レンダリングプロセッサ36570のメモリアクセスが柊了しない場合には、切換信号750を”l”にするのに先立って停止信号730を”l”にし、現在実行中のアクセスを一時中断することをレンダリングプロセッサ36570に通知する。レンダリングプロセッサ36570はアクセス実行中に停止信号フ30が”l”になると、途中まで読み込んだデータを無効化し、停止信号730が”0”になるまで停止する。
【0121】
メモリバス制御回路36700は、このようにしてレンダリングプロセッサ36570のメモリアクセスを停止させた後、切換信号750を”1”にしてCPU100のアクセスを実行させる。そして、CPU100のアクセスが終了すると、メモリバス簡御画路36700は切換信号750を”0”にし、内部バス530からのメモリ200のアクセスが実行できるようにする。また、メモリバス制御回路36700は、切換信号750を”0”とするのと同時に、停止信号730も”0”にする。停止信号730が”0”になると、停止していたレンダリングプロセッサ36570は、停止信号730の”0”から”1”への変化によって中断されたアクセスをサイド初めから実行する。
【0122】
このような動作を制御するメモリバス制御回路36700の構成を図22に示す。
【0123】
図22において、37300は停止判定回路、37410は停止処理画路である。他の要素は、第1実施形態において同符号を付して示した要素と同じ要素である。
【0124】
停止判定回路3フ300はデコーダ44110から出力されるコマンド、内部バス用アクセスカウンタ4220から出力される停止要求サイクル、内部バス用アクセスス長計算回路4230から出力される内部アクセス長に基づいて、切切換信号750を”l”にするタイミングを示す切換開始サイクル、停止信号730を”l”にす
ングを示す停止開始サイクルを出力する。停止処理回路37410は、デコーダ4110から出力されるコマンド、CPUバス用アクセス長計算回路42l0から出力されるCPUアクセス長、内部バス用アクセスカウンタ4220から出力される内部アクセスサイクルと、停止開始サイクルに基づいて、停止信号730を出力する。また、停止処理回路37410は、現在実行中の内部バス530からのアクセスを中断する必要がある場合には、メモリ200をプリチャージするための信号を制御信号として内部バス530に出力する。
【0125】
図23に、図22の停止判定回路37300の構成を示す。
【0126】
図中、38110はメモリ特性レジスタ、38200は読み出し用停止判定化路である。他の要素は、第1実施形態において同符号を付して示した要素と同じ要素である。
【0127】
メモリ特性レジスタ38110には、読み出し(read)/書き込み(write)それぞれのプリチャージレイテンシが保持される。読み出し用停止判定回路38200は、停止要求サイクル、内部アクセス長、転送時間、読み出し(read)レイテンシに基づいて、読み出しアクセス実行時の切換信号750を”1”にするタイミングを示す切換開始サイクル、停止信号730を”1”にするタイミングを示す停止開始サイクルを出力する。
【0128】
セレクタ9400およびセレクタ9410は、デコーダ4110から出力されたコマンドによって、読み出し用停止判定回路38200からの出力か、書き込み用停止判定回路9300からの出力を選択し、切換開始サイクル、停止開始サイクルとして出力する。
【0129】
図24に、図23の読み出し用停止判定回路38200の構成を示す。
【0130】
図中、比較器10100は内部アクセス長が停止要求サイクル以上であれば”1:を、層でなければ”0”を出力する。加算機10110は、停止要求サイクルとテンス時間から切換開始サイクルを計算し出力する。減算器10120は、切換開始サイクルから読み出し(read)プリチャージレイテンシを引いた値を計算し出力する。セレクタ10160は、比較器10100の出力値が”1”であれば、停止開始サイクルとして減算器10120の出力値を、そうでなければ停止開始サイクルとしてディフォルト値の”0”を出力する。
【0131】
次に、図22の停止処理回路37410の構成を図25に示す。
【0132】
図中、40100はメモリ特性レジスタ、402l0は加算器である。
【0133】
メモリ特佐レジスタ40100は、読み出し(read)/書き込み(erite)それぞれのプリチャージレイテンシを保持する。比較器13200は、内部アクセスサイクルと停止開始サイクルが等しいとき”l”を出力する。加算器40210は、停止開始サイクル、CPUアクセス長、セレクタl3250の出力値の和を出力する。比較器13220は、内部アクセスサイクルと加算機402l0の出力値が等しいとき”1”を出力する。停止レジスタl3300は、比較器13200の出力が”1”のときにセットされ、比較器l3220の出力値が”l”のときに””0”にリセットされる。停止レジスタl3300に保持される値は、停止信号730として出力される。
【0134】
以上のような構成によって実現される、先に概要を示した動作の具体例を示す。
【0135】
図26は、内部バス530からの読み出しアクセス実行中に、CPUバス3l0から読み出しアクセス要求が発生した場合のタイミングチャートを示しており、この例では、転送時間5サイクル、RAS‐CASレイテンシ2サイクル、CASレイテンシ3サイクル、読み出しプリチャージレイテンシ3サイクルとしている。
【0136】
図26では、T=lで内部バス530からの読み出しアグセスが開始される。T=3において、CPUバス310からの読み出し要求が発生するが、転送時間5サイクルでCPUパス310からのアクセスを実行するためには、T=8からメモリバスをCPUバス310からのアクセス用に切換なければならない。そのため、T=5で停止信号730を”1”として、実行中の内部バス530からのアクセスを中断させ、T=8からのCPUバス310からのアクセスを可能するために、T=5でメモリバス制御回路36700からプリチャージコマンドを内部バス530に出力することによりメモリ200にプリチャージコマンドを送る。そして、T=8で、切換信号750を”1”とし、T=16まで、CPUバス310からの読み出しアクセスを実行し、読み出しアクセスが終了したT=17で切換寝具750を”1”とすると共に停止信号730を”0”とし、停止した内部バス530からのアクセスを再開させる。
【0137】
以上、本発明の第3の実施形態について説明した。
【0138】
以下、本発明の第4の実施形態について説明する。
【0139】
図27に本第4実施形態に係るデータ処理装置の構成を示す。
【0140】
図示するように、本第4実施形態に係るデータ処理装置は、図1に示した第1実施形態に係るデータ処理装置に、圧縮・復元回路21100を付加した構成となっている。
【0141】
このような構成において、圧縮・復元回路21100は、内部バス530からメモリ200への書き込みアクセス時には、書き込みアドレスが。予め定めた圧縮処理の対象とするアドレスと一致する場合には内部バス530から送られたデータを圧縮し、一致しない場合には内部バス530から送られたデータをそのままメモリバス350に出力する。
【0142】
また、内部バス530からメモリ200への読み出しアクセス時には、読み出しアドレスが圧縮処理の対象とするアドレスと一致する場合にはメモリバス350から送られたデータを展開し、一致しない場合にはメモリバス350から送られたデータをそのまま内部バス530に出力する。
【0143】
上記のように、内部バス530からのアクセスのアドレスを監視し、アドレスによって圧縮/展開処理の実施するかどうかを選択できる圧縮・復元回路21100を設けることにより、例えばフレームバッファ220やテクスチャのソースデータに対するアクセスは圧縮/展開処理を行うが、レンダリングプロセッサ570のディスプレイリストに対するアクセスは圧縮/展開処理を行わないような制御が可能となる。このため、ディスプレイリストのように圧縮前のデータと圧縮後に展開したデータが一致する必要があるデータはそのまま転送し、フレームバッファ220内の画素データのように圧縮前のデータと、圧縮後に展開したデータが必ずしも一致しなくてもよいデータは圧縮/展開処理をして転送するといった制御が可能となる。
【0144】
したがって、必要に応じてデータの精度を保ちながら内部バス530からのメモリバス350へのアクセス時間を短縮することが可能となり、内部バス530からのアクセス実行中にCPUバス310からのアクセス発生によって内部バス530からのアクセスを中断する頻度を減らすことができ、表示や描画の性能劣化を、それが生じるような構成においても小さくすることができる。また、メモリ200の有効利用といった利点や、圧縮や復元処理からCPU100を解放することができるという利点もある。
【0145】
なお、以下の説明では、4つの画素の色を、4つの画素のうちから選択した二つの画素の色で近似することにより、画素のデータ量を削減する圧縮を行う場合を例にとる。したがって、以下の例では、圧縮したデータを復元した場合に、圧縮前元の画像が、そのまま復元されるわけではない。
【0146】
図28にこのような処理を担う圧縮・復元回路21100の構成を示す。
【0147】
図中、22100はアドレス変換回路、22200は圧縮回路、22300は復元回路、36100はアドレス監視回路、36200は圧縮実行アドレスレジスタ、36300,36310はセレクタである。
【0148】
図28において、圧縮実行アドレスレジスタ36200は、圧縮処理を行うアドレスが登録されているレジスタである。アドレス監視回路36100は、内部バス530からのアクセス要求を監視し、圧縮実行アドレスレジスタ36200に登録されているアドレスと比較し、その結果を選択信号として出力する。
【0149】
アドレス変換回路22100は、選択信号により内部バス530から送られたアドレスを、当該アドレスと圧縮前後のデータサイズによって定まる、当該アドレスが目的とするデータを圧縮したデータ記憶しているメモリ200のアドレスに、変換するかどうかを選択してメモリインタフェース回路520を経由してメモリバス350に出力する。圧縮回路22200は、内部バス530から送られたデータを圧縮して出力する。復元回路22300は、メモリバス350から送られたデータを展開して内部バス530に出力する。セレクタ36300,36310は、選択信号に従って圧縮/復元を行ったデータか、もしくは入力されたデータの一方を選択して出力する。
【0150】
図29に、図28の圧縮回路22200の構成を示す。
【0151】
図29において、23100は原色レジスタ、23200は圧縮処理回路、23300は圧縮レジスタである。
【0152】
ここでは圧縮前のデータは画素単位のデータで、1画素当たり16bit、R(赤;5bit)、G(緑;6bit)、B(青;5bit)の各フィールドからなるとし、表示コントローラ560がこの画素データをフレームバッファ220から読み出しアクセスする場合を例にとり説明する。
【0153】
図29において、原色レジスタ23100は、内部バス530から出力された圧縮前のデータを4画素分保持するレジスタである。原色レジスタ23100は、保持しているデータを原色データとして出力する。圧縮処理回路23200は、原色データに対して圧縮処理を行って代表色(16bit)、補助色(12bit)、選択番号(4bit)を出力する。圧縮レジスタ23300は、代表色、補助色、選択番号を保持するレジスタである。圧縮レジスタ23300は、保持しているデータをメモリインタフェース回路520に出力する。
【0154】
図30に図29の圧縮処理回路23200の構成を示す。
【0155】
図30において、24100は比較データ作成回路、24200〜24250,24520は比較器、24300は補助色作成回路、24500,24510は減算器である。
【0156】
比較データ作成回路24100は、原色データの大小判定を行うための比較データを作成して出力する。比較データは、各画素のデータがR、G、Bの異なるの3つのフィールドから構成されるために、比較時の大小関係が色によって偏らないようにするように原色データを加工したデータである。4つの原色データに対する比較データを作成後、比較器24200〜24220および各比較器の出力で制御されるセレクタで最大の比較データに対応する原色データを選択して第1色とし、比較器24230〜24250および各比較器の出力で制御されるセレクタで最小の比較データに対応する原色データを選択して第2色とする。
【0157】
補助色作成回路24300は、第1色と第2色の差分を12bitの補助色を作成して出力する。減算器24500,24510と比較器24520は、原色データが第1色と第2色のどちらに近いかを判定し、第1色に近い場合には“1”を、第2色に近い場合には“0”を選択番号として出力する。選択番号は、現職レジスタ23100に格納された4つの原色データごとに出力されるため、合計4bit出力される。
【0158】
図31に図30における比較データ回路24100の構成を示す。
【0159】
図中、25100〜25120は乗算器、25130は加算器である。
【0160】
乗算器25100は、原色データのR成分の2乗を出力する。同様に乗算器25110と25120は、G、B成分の2乗を出力する。加算器25130は、乗算器25100〜25120の出力値の和を出力する。この構成では比較データとして、R、G、Bの3つの独立な変数の2乗和を計算するため、原色データの大小関係を判定するときの精度を高くできる。
【0161】
図32に図30の補助色作成回路24300の構成を示す。
【0162】
図中、26100〜26120は減算器、26130〜26150は比較器、26160〜26180はセレクタである。
【0163】
減算器26100は第1色のR成分から第2色のR成分の差を出力する。比較器26130は、減算器26130の出力値が15(4bitで表せる最大値)より大きければ“0”を、そうでなければ“1”を出力する。セレクタ26160は、比較器26130の出力値によって減算器26100の出力値または15をR成分の補助色として出力する。G成分、B成分についても同様に4bitづつの補助色として出力する。この構成例では補助色作成のため第1色と第2色の色成分の差を求めるときに、第1色と第2色の差が15より大きい場合には15にクランプする。
【0164】
このようにして図29に示すように16ビットの代表色、12ビットの補助色、4ビットの選択番号として圧縮された4つの原色データを復元するのが図28の圧縮回路22200である。
【0165】
図33に、この圧縮回路22200の構成を示す。
【0166】
図33において、32100は圧縮レジスタ、32200は復元処理回路、32300は復元レジスタである。
【0167】
圧縮レジスタ32100はメモリインタフェース回路520から送られたデータを保持するレジスタである。圧縮レジスタ32100は、代表色(16bit)、補助色(12bit)、選択番号(4bit)を出力する。復元処理回路32200は、代表色、補助色、選択番号に基づいて原色データを復元し出力する。復元レジスタ32300は、復元された原色データを保持するレジスタである。復元レジスタ32300は、保持している復元された原色データを内部バス530に出力する。
【0168】
図34に図33における復元処理回路32200の構成を示す。
【0169】
図34において、33100は処理回路である。
【0170】
図34において、処理回路33100は、代表色、補助色、選択番号に基づいて圧縮されたデータを展開する復元処理を行い、復元色データを出力する。
【0171】
図35に図34の処理回路33100の構成を示す。
【0172】
図35において、34100〜34120はセレクタ、34130〜34150は加算器である。
【0173】
セレクタ34100は選択番号が“0”の場合には“0”を、“1”の場合には補助色のR成分を出力する。加算器34130は代表色のR成分とセレクタ34100の出力する代表色のR成分の和を復元した原色データのRのフィールドとして出力する。G成分、B成分についても同様に処理が行われる。
【0174】
以上、本発明の第4の実施形態について説明した。
【0175】
なお、図30の比較データ作成回路241は、図36または図37のように構成するようにしてもよい。
【0176】
図36の構成は、bit数の少ないR成分、B成分を2倍し、G成分と最上位bitの重みを揃えてから和を求めて比較データとするものである。この構成では、図31の構成に対し、G成分の乗算器が必要でないこと、またR成分、B成分の乗算器は×2倍の演算のみできればよく、これはシフト器で構成できるためハードウエアの物量を削減できる。
【0177】
また、図37の構成は、R成分、G成分、B成分そのままの和を求めて比較データとするものである。この構成では、図31の構成に対し各成分の乗算器が必要でないためハードウエアの物量を削減できる。R成分、B成分に対しG成分の最上位bitの重みが2倍あるが、表示データをフレームバッファ220から読み出す場合、比較するのは連続した4画素の色データであり各色成分の変化分は少ないため、このようにして作成した比較データを用いてもよい。
【0178】
また、図30の補助色作成回路24300は、図38のように構成するようにしてもよい。
【0179】
図38において、29100〜29120は減算器であり、図38の構成は、第1色と第2色の下位4bitのみを対象にして差を求めて補助色を作成する方式である。この構成では、図32の構成例に対し比較器とセレクタが必要でなくなるためハードウエアの物量を削減できる。また、表示データをフレームバッファ220から読み出す場合、差を求めるのは連続した4画素中の2画素の色データであり各色成分の変化分は少なく、各色の第5ビット、第6ビット目の値は連続した4画素では等しく減算によって相殺されるため、このようにして求めた補助色を第2色(代表色)に加算することにより第1色を正しく復元できる。
【0180】
また、図30の補助色作成回路24300を図39のように構成し、かつ、図34の処理回路を図40に示すように構成するようにしてもよい。
【0181】
図39に示した補助色作成回路24300は、第1色と第2色の上位4bitのみを対象にして差を求めて補助色を作成するようにしたものである。
【0182】
また、図40の処理回路33100において、35100〜35120は乗算器、35130〜35150はセレクタ、35160〜35180は加算器である。
【0183】
図40において、乗算器35100は補助色のR成分を2倍した結果を出力する。セレクタ35130は、選択信号が“0”の場合には“0”を、“1”の場合には乗算器35100の出力値を出力する。加算器35160は、代表色のR成分とセレクタ35130の出力値の和を求め復元色データとして出力する。同様にB成分についても復元色データを出力する。G成分については、乗算器23510が補助色のG成分の4倍を出力すること以外はR成分と同様である。
【0184】
図39、40の構成は、補助色作成回路24300に関し、図32の構成に対し比較器とセレクタが必要でなくなるためハードウエアの物量を削減できる。また、このようにすると、第1色は、下位ビットの精度まで正しく復元することはできなくなるが、視認上大きな問題は生じない。
【0185】
また、図30の圧縮処理回路23200全体は、図41に示すように構成するようにしてもよい。
【0186】
図41の構成は、原色データの中から任意の2つを選択して比較データを作成し、比較データが大きな原色データを第1色、他方を第2色とするものである。この構成では、図30の場合に比べ、幾分画質は劣化するが、図30の構成例に対し比較器5つ、セレクタ4つが必要でなくなるためハードウエアの物量を削減できる。
【0187】
最後に、以上の各実施形態の構成において、たとえば表示コントローラ560によるCRT150への表示が支障なく行うことができることを示す。
【0188】
図1などに示したように、以上の各実施形態では、CPUバス310を32bit×33MHzのスループットとし、メモリバス350を32bit×66MHzのスループットとしている。したがって、もし、CPU100がCPUバス310のスループットの限界までメモリ200のアクセスを行ったとしても、メモリバス320のスループットの半分しか、メモリバス320の能力を使用することがない。したがって、レンダリングププロセッサ570がメモリ200アクセスを行わないとして、概算でいって残る(66−33)MHz×32bit=1056Mbit/secは、表示コントローラ560のメモリアクセスに用いることができる。ここで、CRT150に800ドット×600ドットの24ビットフルカラーの画像をリフレッシュレート60Hzで表示する場合、表示コントローラ560がメモリ200から読み出さなければならないビットレートは、(800×600)×60Hz×24ビット=691.2Mbit/secとなる。したがって、CPU100がCPUバス310のスループットの限界までメモリ200のアクセスを行ったとしても、CRT150への表示を支障なく行い、レンダリングプロセッサ570のメモリ200のアクセスの機会も充分に確保できる。
【0189】
なお、本実施形態では、CPUバス310のスループットとメモリバス320のスループットを上記のように設定したが、メモリバス320のスループットとCPUバス310のスループットの差が、表示コントローラ560が表示のために必要とするメモリ200からの読み出しレート以上であれば、上記以外の設定でよい。
【0190】
また、実際には、CPU100がCPUバス310のスループットの限界までメモリ200のアクセスを行うことはありえないので、メモリバス320のスループットをCPUバス310の最大使用レートと表示コントローラ560が表示のために必要とするメモリ200からの読み出しレート以上とするような設定とするようにしてもよい。
【0191】
【発明の効果】
以上説明したように、本発明によれば、化メモリ方式を採用したデータ処理装置において、装置全体の処理性能の劣化を軽減することができる。
【図面の簡単な説明】
【図1】第1実施形態に係るデータ処理装置の構成を示すブロック図である。
【図2】第1実施形態に係るCPUインタフェース回路の構成を示すブロック図である。
【図3】第1実施形態に係るメモリインタフェース回路の構成を示すブロック図である。
【図4】第1実施形態に係るメモリバス制御回路の構成を示すブロック図である。
【図5】第1実施形態に係るCPUアクセスバッファの構成を示すブロック図である。
【図6】第1実施形態に係るCPUバス用アクセス長計算回路の構成を示すブロック図である。
【図7】第1実施形態に係る内部バス用アクセスカウンタの構成を示すブロック図である。
【図8】第1実施形態に係る内部バス用アクセス長計算回路の構成を示すブロック図である。
【図9】第1実施形態に係る停止判定回路の構成を示すブロック図である。
【図10】第1実施形態に係る読み出し用停止判定回路の構成を示すブロック図である。
【図11】第1実施形態に係る書き込み用停止判定回路の構成を示すブロック図である。
【図12】第1実施形態に係る切換信号発生回路の構成を示すブロック図である。
【図13】第1実施形態に係る停止処理回路の構成を示すブロック図である。
【図14】第1実施形態に係る再開処理回路の構成を示すブロック図である。
【図15】第1実施形態に係る保持バッファの構成を示すブロック図である。
【図16】第1実施形態の動作例を示すタイミングチャートである。
【図17】第1実施形態の動作例を示すタイミングチャートである。
【図18】第1実施形態に係るCPUインタフェース回路の第2の構成を示す図ロック図である。
【図19】第2実施形態に係るデータ処理装置の構成を示すブロック図である。
【図20】第2実施形態に係るメモリインタフェース回路の構成を示すブロック図である。
【図21】第3実施形態に係るデータ処理装置の構成を示すブロック図である。
【図22】第3実施形態に係るメモリバス制御回路の構成を示すブロック図である。
【図23】第3実施形態に係る停止判定回路の構成を示すブロック図である。
【図24】第2実施形態に係る読み出し用停止判定回路の構成を示すブロック図である。
【図25】第3実施形態に係る停止処理回路の構成を示すブロック図である。
【図26】第3実施形態の動作例を示すタイミングチャートである。
【図27】第4実施形態に係るデータ処理装置の構成を示すブロック図である。
【図28】第4実施形態に係る圧縮復元回路の構成を示すブロック図である。
【図29】第4実施形態に係る圧縮回路の構成を示すブロック図である。
【図30】第4実施形態に係る圧縮処理回路の構成を示すブロック図である。
【図31】第4実施形態に係る比較データ作成回路の構成を示す図である。
【図32】第4実施形態に係る補助色作成回路の構成を示すブロック図である。
【図33】第4実施形態に係る復元回路の構成を示すブロック図である。
【図34】第4実施形態に係る復元処理回路の構成を示すブロック図である。
【図35】第4実施形態に係る処理回路の構成を示すブロック図である。
【図36】第4実施形態に係る比較データ作成回路の第2の構成を示すブロック図である。
【図37】第4実施形態に係る比較データ作成回路の第3の構成を示すブロック図である。
【図38】第4実施形態に係る補助色作成回路の第2の構成を示したブロック図である。
【図39】第4実施形態に係る補助色作成回路の第3の構成を示したブロック図である。
【図40】第4実施形態に係る処理回路の第2の構成を示したブロック図である。
【図41】第4実施形態に係る圧縮処理回路の第2の構成を示したブロック図である。
【符号の説明】
100 CPU、150 CRT、200 メモリ、210 主記憶、220 フレームバッファ、310 CPUバス、320 CPUバス制御信号、350メモリバス、400 メモリコントローラ、500CPUインタフェース回路、510 内部バス調停回路、520,19520 メモリインタフェース回路、530 内部バス、540 内部バス制御信号、550 DAC、560 表示コントローラ、570 レンダリングプロセッサ、700 メモリバス制御回路、720 CPUバスアクセス有効信号、730 停止信号、740 push/pop信号、750 切換信号、800 保持バッファ、2100 読み出しバッファ、3100 アドレスバッファ、3200 データバッファ、4100,4110 デコーダ、4200 CPUアクセスバッファ、4210 CPUバス用アクセス長計算回路、4220 内部バス用アクセスカウンタ、4230 内部バス用アクセス長計算回路、4300 停止判定回路、4400 切換信号発生回路、4410 停止処理回路、4420 再開処理回路
Claims (4)
- CPUと、主記憶装置と、表示装置への表示を制御する表示制御装置とを備え、
前記表示制御装置が読み出して前記表示装置に表示する表示データを格納するフレームバッファとして前記主記憶装置の記憶領域の一部を用いるデータ処理装置であって、
前記主記憶装置に接続したメモリバスと、前記CPUに接続したCPUバスと、表前記示制御装置に接続したローカルバスに接続し、前記CPUバスと前記メモリバス間における前記CPUの前記主記憶装置へのメモリアクセスシーケンスの中継を行い、前記ローカルバスと前記メモリバス間における前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの中継を行うメモリコントローラを備え、
前記メモリコントローラは、
前記表示制御装置のメモリアクセスシーケンスの前記メモリバスへの中継中に、前記CPUの主記憶装置へのメモリアクセスシーケンスが前記CPUバス上で開始した場合に、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行を凍結させ、前記CPUの主記憶装置へのメモリアクセスシーケンスの終了後に、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行の凍結を解除し、メモリアクセスシーケンスの未実行の部分を実行させる手段と、
前記表示制御装置に前記主記憶装置へのメモリアクセスシーケンスの実行を凍結させた後に、凍結前の前記表示制御装置から前記主記憶装置へのメモリアクセスシーケンスに対して前記主記憶装置から前記メモリバスに出力されるデータを保持するバッファメモリと、
前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行の凍結の解除後に、前記バッファメモリに保持したデータを前記ローカルバスを介して前記表示制御装置に送る手段と、を有することを特徴とするデータ処理装置。 - CPUと、主記憶装置と、表示装置への表示を制御する表示制御装置とを備え、
前記表示制御装置が読み出して前記表示装置に表示する表示データを格納するフレームバッファとして前記主記憶装置の記憶領域の一部を用いるデータ処理装置であって、
前記主記憶装置に接続したメモリバスと、前記CPUに接続したCPUバスと、前記表示制御装置に接続したローカルバスに接続し、前記CPUバスと前記メモリバス間における前記CPUの前記主記憶装置へのメモリアクセスシーケンスの中継を行い、前記ローカルバスと前記メモリバス間における前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの中継を行うメモリコントローラを備え、
前記主記憶装置は、ページモードのアクセスシーケンスでアクセスされるメモリであって、
前記メモリコントローラは、
前記表示制御装置のメモリアクセスシーケンスの前記メモリバスへの中継中に、前記CPUの主記憶装置へのメモリアクセスシーケンスが前記CPUバス上で開始した場合に、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行を凍結させ、前記CPUの主記憶装置へのメモリアクセスシーケンスの終了後に、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行の凍結を解除し、メモリアクセスシーケンスの未実行の部分を実行させる手段と、
前記メモリバスに中継した前記表示制御手段のメモリシーケンスに含まれるロウアドレスを記憶するバッファメモリと、
前記CPUの主記憶装置へのメモリアクセスシーケンスの終了後、前記表示制御装置の主記憶装置へのメモリアクセスシーケンスの実行の凍結の解除に先だって、前記バッファメモリに保持したロウアドレスを前記メモリバスを介して前記主記憶装置に送る手段と、を有すること
を特徴とするデータ処理装置。 - 請求項1または2記載のデータ処理装置であって、
前記メモリコントローラは、データを圧縮して記憶する主記憶装置のアドレス範囲を登録したアドレス記憶手段と、
データを圧縮する圧縮手段と、
圧縮されたデータを復元する復元手段と、
CPUバス上のCPUの主記憶装置へのメモリアクセスシーケンスが主記憶装置の前記アドレス記憶手段に登録されたアドレス範囲にデータを書き込むメモリシーケンスである場合に、当該メモリアクセスシーケンスに代えて、当該データを前記圧縮手段を圧縮したデータを前記主記憶装置に書き込むメモリシーケンスを中継する手段と、
ローカルバス上の表示制御装置の主記憶装置へのメモリアクセスシーケンスが主記憶装置の前記アドレス記憶手段に登録されたアドレス範囲からデータを読み出すメモリシーケンスである場合に、当該メモリアクセスシーケンスに代えて、当該アドレス範囲のデータを圧縮したデータを記憶した主記憶装置のアドレス範囲からデータを読み出すメモリシーケンスをメモリバスに中継し、当該中継したメモリアクセスシーケンスで主記憶装置から読み出したデータに代えて、当該データを前記復元手段で復元したデータをローカルバスに中継する手段と、を有することを特徴とするデータ処理装置。 - 請求項1または2記載のデータ処理装置であって、
前記データを圧縮して記憶する主記憶装置のアドレス範囲は、前記フレームバッファとして用いる前記主記憶装置の記憶領域の範囲であり、
前記圧縮は、3以上の画素に対応する3以上のデータのうち、2つのデータを第1のデータ、第2のデータとして選択し、前記3以上のデータを、第1のデータと、第1のデータと第2のデータの差分値を表すデータと、前記3以上のデータの各々が、前記第1のデータと第2のデータのどちらに近いかを表すデータとに変換する圧縮であることを特徴とするデータ処理装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01373297A JP3573586B2 (ja) | 1997-01-28 | 1997-01-28 | データ処理装置 |
TW086113390A TW360823B (en) | 1996-09-30 | 1997-09-15 | Data processor and graphic processor |
US08/942,689 US6333745B1 (en) | 1996-09-30 | 1997-09-29 | Data processor having unified memory architecture providing priority memory access |
KR1019970049589A KR100450980B1 (ko) | 1996-09-30 | 1997-09-29 | 데이타프로세서및그래픽프로세서 |
US09/991,705 US6717583B2 (en) | 1996-09-30 | 2001-11-26 | Data processor having unified memory architecture providing priority memory access |
US10/669,562 US6954206B2 (en) | 1996-09-30 | 2003-09-25 | Data processor having unified memory architecture using register to optimize memory access |
US11/182,944 US7333116B2 (en) | 1996-09-30 | 2005-07-18 | Data processor having unified memory architecture using register to optimize memory access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01373297A JP3573586B2 (ja) | 1997-01-28 | 1997-01-28 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10207821A JPH10207821A (ja) | 1998-08-07 |
JP3573586B2 true JP3573586B2 (ja) | 2004-10-06 |
Family
ID=11841429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01373297A Expired - Fee Related JP3573586B2 (ja) | 1996-09-30 | 1997-01-28 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3573586B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000003381A1 (fr) * | 1998-07-09 | 2000-01-20 | Seiko Epson Corporation | Circuit d'attaque et dispositif a cristal liquide |
US7139849B2 (en) | 2002-08-07 | 2006-11-21 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit device |
KR101022472B1 (ko) | 2004-01-17 | 2011-03-16 | 삼성전자주식회사 | 효율적으로 버스를 사용하는 방법 |
JP5658430B2 (ja) | 2008-08-15 | 2015-01-28 | パナソニックIpマネジメント株式会社 | 画像処理装置 |
-
1997
- 1997-01-28 JP JP01373297A patent/JP3573586B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10207821A (ja) | 1998-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6333745B1 (en) | Data processor having unified memory architecture providing priority memory access | |
JP4383853B2 (ja) | 時間アロケータを有するグラフィックレンダリングエンジンを用いる装置、方法及びシステム | |
JP4426099B2 (ja) | 共有メモリを有するマルチプロセッサ装置 | |
US5600837A (en) | Multitask processor architecture having a plurality of instruction pointers | |
JP4416694B2 (ja) | データ転送調停装置およびデータ転送調停方法 | |
JPH0759084A (ja) | 画像処理システム | |
JPH04219859A (ja) | 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ | |
JPH11296154A (ja) | 図形処理装置及び図形処理方法 | |
JP4388005B2 (ja) | コンテキスト切替え装置 | |
JP3573586B2 (ja) | データ処理装置 | |
JP4190476B2 (ja) | グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 | |
GB2258069A (en) | High speed computer graphics bus | |
JP4244028B2 (ja) | グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 | |
JPS63106848A (ja) | 制御装置 | |
JP4236359B2 (ja) | 画面表示装置を備えたマイクロコンピュータ | |
JP2001134538A (ja) | 信号処理装置 | |
JP5213394B2 (ja) | 画像転送装置 | |
JP2007058276A (ja) | マルチプロセッサ | |
JP2000172553A (ja) | データ処理装置 | |
JP2806376B2 (ja) | 画像処理装置および画像処理方法 | |
JP2001184798A (ja) | 動画再生装置 | |
JPH0644179A (ja) | データ転送制御装置 | |
JPH10326250A (ja) | Dma転送制御装置 | |
JPH10283303A (ja) | 画像処理装置及びその方法 | |
JPH02214986A (ja) | 画像演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040525 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040528 |
|
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: 20040622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040629 |
|
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: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100709 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110709 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110709 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: 20110709 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: 20120709 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120709 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |