JP2005309229A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2005309229A
JP2005309229A JP2004128499A JP2004128499A JP2005309229A JP 2005309229 A JP2005309229 A JP 2005309229A JP 2004128499 A JP2004128499 A JP 2004128499A JP 2004128499 A JP2004128499 A JP 2004128499A JP 2005309229 A JP2005309229 A JP 2005309229A
Authority
JP
Japan
Prior art keywords
bus
access
processor
register
address
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
JP2004128499A
Other languages
English (en)
Inventor
Toru Matsui
徹 松井
Akisuke Shigenaga
哲資 重永
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004128499A priority Critical patent/JP2005309229A/ja
Priority to US11/111,858 priority patent/US20050237332A1/en
Publication of JP2005309229A publication Critical patent/JP2005309229A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Abstract

【課題】記憶手段の占有時間を抑えてシステムの応答性を向上させる。
【解決手段】ローカルメモリ17へのアクセスにより処理を実行する命令並列プロセッサ4と、ローカルメモリ17にアクセスする少なくとも1つの機能ブロックと、ローカルメモリ17から命令並列プロセッサ4に対するデータを分割転送するローカルメモリインターフェース10とを備える。
【選択図】 図1

Description

本発明は、情報処理装置に関するものである。
グラフィックスプロセッサのローカルメモリで描画命令リスト、描画フレーム、テクスチャあるいはZバッファ等の様々な情報を扱うシステムでは、ローカルメモリとのデータ転送能力が性能に大きく影響する。近年のカーナビゲーションシステムでは、地図描画の他、動画処理や音声処理でもローカルメモリとのアクセスがあり、ローカルメモリとのデータ転送量が大きくなっている。
従来、ローカルメモリとのアクセス効率を上げる方法として、グラフィックスプロセッサがローカルメモリへデータを書き込む際に不連続アドレスを検出し、常に連続したアドレスでローカルメモリにアクセスすることで書き込み時間を短縮する方法がある(例えば、特許文献1参照)。
特開平11−133945号公報
しかしながら、上記従来の方法にあっては、ローカルメモリにデータを書き込む際のアクセス効率向上のための考慮がされているが、ローカルメモリからデータを読み出す際に、一度に長い期間のデータ転送があれば、他にローカルメモリを使用する処理が待たされ、処理の開始が遅れるという事情があった。
例えば、カーナビゲーションシステムの高度化を例に挙げると、表示画面サイズの拡大と地図の複雑化に伴い、描画命令リストが増大し、ローカルメモリから描画命令リストを読み出すデータ転送量が大きくなる。従って、描画命令リストの転送期間が長くなり、他にローカルメモリを使用する処理の開始が遅れ、システムの応答性が悪くなるという事情があった。
本発明は、上記従来の事情に鑑みてなされたものであって、第1の目的は、記憶手段の占有時間を抑えてシステムの応答性を向上させる情報処理装置を提供することである。また、第2の目的は、1度のアクセスで、第1のバスよりバス幅の大きい第2のバスへアクセスを行うことができる情報処理装置を提供することである。さらに、第3の目的は、高速に機能ブロックを起動できる情報処理装置を提供することである。
本発明の情報処理装置は、ディスプレイリストを記憶しておく記憶手段と、前記記憶手段から前記ディスプレイリストを読み出し、前記ディスプレイリストに応じた処理を行う処理手段と、前記記憶手段にアクセスする少なくとも1つの機能ブロックと、前記記憶手段から前記処理手段にデータを転送する転送手段とを備え、前記転送手段が、前記データを転送する際に、分割転送することを特徴とする。
上記構成によれば、記憶手段から処理手段に対するデータを分割転送することにより、アクセス1回当りの記憶手段占有時間を抑えることができる為、記憶手段を使用する他の処理の開始が長時間待たされることがなくなり、システムの応答性が向上する。また、上記構成によれば、分割転送間に機能ブロックが記憶手段にアクセスできる為、システムの応答性が向上する。
また、本発明の情報処理装置は、前記処理装置と前記機能ブロックとのアクセスを行う第1のバスと、前記処理装置と前記記憶手段とのアクセスを行う第2のバスとを備え、前記第1のバスと前記第2のバスとが独立して設けられたことを特徴とする。上記構成によれば、第1のバスと第2のバスとが、独立して設けられることにより、処理手段は並列処理を行うことができる為、処理効率が向上する。
また、本発明の情報処理装置は、前記転送手段が、前記データを分割転送する際に、データ転送要求に対して予め設定した優先順位に従って前記データを転送することを特徴とする。
また、本発明の情報処理装置は、第1のバスから前記第1のバスよりバス幅の大きい第2のバスへのアクセスを行うバスアクセス装置を含む情報処理装置であって、前記第1のバスから転送されるアドレスを格納する格納手段と、前記格納手段へのアクセスによって前記第1のバスより前記第2のバスへのアクセス要求が発生したことを検知し、第2のバスにアクセスするために必要なアドレスの一部を生成するアドレス生成手段と、前記第1のバスから転送されるアドレスと前記格納手段が格納するアドレスと、前記アドレス生成手段が生成するアドレスとを連結して前記第2のバスへ転送する連結手段とを備える。
上記構成によれば、格納したアドレスと第1のバスから転送されるアドレスと、生成されたアドレスを加算することにより、第1のバスのバス幅より大きいアドレスの生成が可能になる為、1度のアクセスで、第1のバスよりバス幅の大きい第2のバスへアクセスを行うことができる。また、上記構成によれば、格納手段に不変アドレスを格納しておけば、第1のバスから転送した可変アドレスと格納される不変アドレスと、生成されたアドレスを連結してアクセスしたいアドレスを特定できる為、1回のアクセスで第1のバスから第2のバスへアクセスでき、アクセス回数を削減できる。
また、本発明の情報処理装置は、少なくとも1つの機能ブロックと、前記機能ブロックへのアクセスにより前記機能ブロックを起動させるプロセッサと、前記機能ブロックへのアクセスエラーを前記プロセッサに通知する通知手段とを備える。
上記構成によれば、機能ブロックへのアクセスエラーをプロセッサに通知する通知手段を備えることにより、プロセッサは、自らアクセスの成否判断を行うことなく通知に基づいて機能ブロックを起動させることができる為、高速に機能ブロックを起動できる。
また、本発明の情報処理装置は、前記機能ブロックが実行している間、前記機能ブロックへのアクセスを禁止する手段を備える。上記構成によれば、機能ブロック実行中のアクセスを禁止することにより、内部状態を保持した状態でアクセスエラーの通知が可能になる。
さらに、本発明の情報処理装置は、前記機能ブロックが、起動設定を行うための起動レジスタと、前記プロセッサからのアクセスにより動作に必要なパラメータを保持する第1のレジスタ、前記起動レジスタの設定時に前記1段目のレジスタからの内容を保持する第2のレジスタを有する2段構成のパラメータレジスタとを備える。上記構成によれば、第2のレジスタに保持したパラメータに基づいて処理を実行し、処理中に第1のレジスタに新たなパラメータを設定できる為、機能ブロック実行中のパラメータ設定が可能となり、高速処理が可能になる。
本発明によれば、記憶手段から処理手段に対するデータを分割転送することにより、アクセス1回当りの記憶手段占有時間を抑えることができる為、記憶手段を使用する他の処理の開始が長時間待たされることがなくなり、システムの応答性が向上する。また、分割転送間に機能ブロックが記憶手段にアクセスできる為、システムの応答性が向上する。
また、本発明によれば、格納したアドレスと第1のバスから転送されるアドレスと、生成されたアドレスを加算することにより、第1のバスのバス幅より大きいアドレスの生成が可能になる為、1度のアクセスで、第1のバスよりバス幅の大きい第2のバスへアクセスを行うことができる。また、上記構成によれば、格納手段に不変アドレスを格納しておけば、第1のバスから転送した可変アドレスと格納される不変アドレスと、生成されたアドレスを連結してアクセスしたいアドレスを特定できる為、1回のアクセスで第1のバスから第2のバスへアクセスでき、アクセス回数を削減できる。
さらに、本発明によれば、機能ブロックへのアクセスエラーをプロセッサに通知する通知手段を備えることにより、プロセッサは、自らアクセスの成否判断を行うことなく通知に基づいて機能ブロックを起動させることができる為、高速に機能ブロックを起動できる。
(第1の実施形態)
図1は、本発明の第1の実施形態を説明するためのグラフィックスプロセッサ、およびそのグラフィックスプロセッサが搭載されたグラフィックスシステムを説明するための概略構成を示す図である。図1において、グラフィックスプロセッサ1は、主として、ローカルメモリ17へのアクセスにより処理を実行する命令並列プロセッサ4と、ローカルメモリ17にアクセスする機能ブロック(後述)と、ローカルメモリ17から命令並列プロセッサ4に対するデータを転送するローカルメモリインターフェース10と、を備える。 命令並列プロセッサ4は、ローカルメモリ17から描画命令や機能ブロックへの設定内容を含むディスプレイリスト(以下、DLと言う)等を読み出し、処理を行う。ローカルメモリインターフェース10は、複数のデータ転送要求に対して予め設定した優先順位又は転送要求順に従い順次データを転送する。
命令並列プロセッサ4がアクセス可能な領域は、レジスタ空間、メモリ空間、拡張レジスタ空間、IO空間の4つの領域に分けられる。
レジスタ空間は、内部メモリ制御ユニット5と制御バス21、メモリバス22等とのバス制御を行うバス調停ユニット6や、映像情報を取り込み、ローカルメモリ17に格納するビデオ入力エンジン7、描画データをローカルメモリ17から読み出して表示モニタ16に出力するビデオ出力エンジン8、音声データを出力するオーディオインターフェース9、ローカルメモリ17とのアクセス制御を行うローカルメモリインターフェース10、システムCPU15とのアクセス制御を行うCPUインターフェース11のレジスタ領域と座標変換処理や浮動小数点演算を行う座標変換プロセッサ12、グラフィックス処理を行う描画エンジン13の一部のレジスタが該当し、メモリ空間は、ローカルメモリ領域が該当する。なお、上述した機能ブロックとしては、ビデオ入力エンジン7、ビデオ出力エンジン8、オーディオインターフェース9、ローカルメモリインターフェース10、CPUインターフェース11、座標変換プロセッサ12、描画エンジン13が含まれる。
また、拡張レジスタ空間は、座標変換プロセッサ12、描画エンジン13の一部のレジスタが該当し、IO空間は内蔵メモリ制御ユニット5、命令メモリ2、データメモリ3、がそれに当たる。
グラフィックスプロセッサ1内に存在する内部バスとして、命令並列プロセッサ4が上記レジスタ領域に存在する機能ブロックにパラメータ設定を行う場合や、システムCPU15がCPUインターフェース11を介してグラフィックスプロセッサ1内の領域にアクセスする場合に用いる制御バス21と、命令並列プロセッサ4やビデオ入力エンジン7、ビデオ出力エンジン8、オーディオインターフェース9、座標変換プロセッサ12、描画エンジン13がローカルメモリ17にアクセスする際にデータの受け渡しを行うために用いるメモリバス22、命令並列プロセッサ4が座標変換プロセッサ12や描画エンジン13にパラメータ設定や起動処理を行うために用いる拡張機能バス20、命令メモリ2、データメモリ3にアクセスするためのプロセッサローカルバス18が存在する。命令並列プロセッサ4と各機能ブロックとのアクセスを行う拡張機能バス20、制御バス21及びメモリバス22と、命令並列プロセッサ4とローカルメモリ17とのアクセスを行うプロセッサローカルバス18とは、独立して設けられる。
内部メモリ制御ユニット5には命令並列プロセッサ4から上記制御バス21に接続されたブロックへのアクセスや、プロセッサローカルバス18へのアクセスを行うレジスタ制御バス23や、命令並列プロセッサ4からローカルメモリ17へデータの受け渡しを行うために用いるデータメモリバス24、命令並列プロセッサ4へローカルメモリ17から命令コードを充填するための命令メモリバス25を有している。
また、バス調停ユニット6は命令並列プロセッサ4と命令並列プロセッサ4が使用する命令メモリ2とデータメモリ3とのアクセスや、その他レジスタ領域、メモリ領域とのアクセスを制御する内部メモリ制御ユニット5や、内部メモリ制御ユニット5と制御バス21、メモリバス22、プロセッサローカルバス18、プロセッサ拡張バス19、拡張機能バス20のアクセス制御を行う。バス調停ユニット6は、制御バス21から制御バス21よりバス幅の大きいプロセッサローカルバス18へのアクセスを行うものである。
バス調停ユニット6と命令並列プロセッサ4は、内部メモリ制御ユニット5を介して、レジスタ制御バス23、データメモリバス24、命令メモリバス25、プロセッサ拡張バス19、プロセッサローカルバス18によって接続されている。
図2は、図1に示すグラフィックスプロセッサが行う処理の概要を示すフローチャートである。システムCPU15で作られた、描画命令や機能ブロックへの設定内容を含むDLをローカルメモリ17に格納した後(ステップS21)、グラフィックプロセッサ1はローカルメモリ17から読み出したDLを命令並列プロセッサ4のデータメモリ3に充填し(ステップS22)、命令並列プロセッサ4にてセットアップ処理を行い(ステップS23)、処理結果データを描画エンジン13等に対して与える(ステップS24)。
処理結果データを受け取った描画エンジン13は描画データに変換し、変換後の描画データをローカルメモリ17に蓄え、ビデオ出力エンジン8がローカルメモリ17から描画データを読み出し、表示モニタ16に出力する(ステップS25)。
(並列処理)
図3は、命令並列プロセッサの動作状況を示す説明図である。図3(1)は、図1に示す命令並列プロセッサ4の動作状況を示し、命令並列プロセッサ4を並列処理させない場合(上段)と、命令並列プロセッサ4を並列処理させる場合(下段)の処理概要を示す。
図3(1)に示すDL充填31は、図2のステップS22に示すローカルメモリ17から命令並列プロセッサ4へ描画命令リスト読み出しを意味し、描画セットアップ処理32は、図2のステップS23に示す描画セットアップを意味し、描画エンジン制御33は、図2のステップ24に示す処理結果データを描画エンジン13へ供給することを意味する。
図3(1)の下段に示すように、命令並列プロセッサ4を並列処理させることにより、DL充填31、描画セットアップ処理32および描画エンジン制御33を並行して行うことができるため、図3(1)下段のCの期間だけ、命令並列プロセッサ4の処理時間を短縮することができる。ここで、命令並列プロセッサ4が並列処理を行うためには、一回のDL充填の量が常に一定であることが必要である。これにより、ある程度の決まったタイミングで描画セットアップ処理を開始できるため、並列性を保つことができる。なお、描画命令の各データサイズが全て同じである場合、DL充填量を一定にすることに加え、一定の命令数でDL充填してもよいし、1つの命令毎にDL充填してもよい。また、通常の描画命令は各デーサイズが同一でないため、DL充填の際に、最後に充填された描画命令が全て転送されない状況が起こりうる。この場合、プロセッサ内部に転送されずに残った描画命令を記憶しておき、次のDL充填で続きの描画命令と合わせて処理すればよい。
(バス調停)
図7は、図1に示したバス調停ユニット6のバス使用権要求信号を説明するための内部構成図である。メモリバス22にアクセスするマスター側のバスは命令メモリバス25、データメモリバス24の2本であり、これらはバス調停ユニット6内のメモリアクセス調停部26によって調停され、メモリバス22へのアクセスを行う。
同様にプロセッサローカルバス18にはレジスタ制御バス23、制御バス21の2本がマスター側のバスとしてアクセスを行い、これらはバス調停ユニット6内のプロセッサローカルバスアクセス調停部30によって調停され、プロセッサローカルバス18へのアクセスを実施する。
また、制御バス21に対してはレジスタ制御バス23がマスター側のバスとなり、制御バス21は拡張機能バス20に対してマスター側のバスとなるよう接続されている。この拡張機能バス20に対してはプロセッサ拡張バス19もマスターとしての動作を行うが、プロセッサ拡張バス19か制御バス21のどちらが拡張機能バス20にアクセスするかはレジスタ設定によって決められる。
この時のバス調停ユニット6の内部動作について図7を用いて説明する。図3(1)に示すDL充填31は、データメモリバス24からのアクセス要求としてバス調停ユニット6にアクセスされる。図7におけるデータメモリアクセス要求39がそれにあたり、図3(1)に示す描画エンジン制御33は、プロセッサ拡張バス19からの書き込み要求としてバス調停ユニット6にアクセスされる。図7におけるプロセッサ拡張バスアクセス要求42がそれにあたる。これらリクエスト要求を出すバスと要求先のバスが互いに独立しており、バス調停ユニット6内でも別々に動作できる。
バス調停ユニット6のデータの流れについて、図7を簡略化した図8を用いて説明する。図3(1)に示すDL充填命令31、すなわちデータメモリバス24からのアクセス要求に対しては図8のメモリバス用パス37を用いてDLデータが読み出され、図3(1)に示す描画エンジン制御33、すなわちプロセッサ拡張バス19からのアクセス要求に対しては図8のプロセッサ拡張バス用パス38を用いて描画エンジン13にパラメータ設定等を行う。したがって、バス調停ユニット6内では要求信号、データ共に独立しているため、命令並列プロセッサ4を待たせることなく並列処理に対応することができる。
(分割処理)
次に、図3(2)は、図1に示すローカルメモリ17に対してデータを一括転送する場合(上段)と分割転送する場合(下段)のアクセス状況を示す。図3(2)に示す機能ブロック処理34は、図2のステップS25に示す描画データを出力することを意味するが、例えば描画エンジン13以外のビデオ出力エンジン8が表示処理のために行うローカルメモリ17へのアクセスも含んでいる。
図3(2)に示すように、ローカルメモリ17へのアクセスを分割処理(下段)することにより、機能ブロックの処理を早い時間に開始することができるため、システムとしての応答性が、一括転送時(上段)よりも向上する。
(バスロック検出)
図5は、長時間のロック状態を回避するためのバスエラー信号の説明図である。命令並列プロセッサ4の命令メモリバス25もしくはデータメモリバス24へのアクセスでは、バス調停ユニット6に対して図5(1),(3)に示すように、REQ信号をアサートさせる。図5の信号は全てLOWでアサート状態とし、また縦方向の点線は全てクロックの立ち上がりエッジを示す。
図3(1)に示すような従来のまとまった単位での要求方法では、一つ一つのアクセス期間が長時間になるため、他ブロックがアクセス中なのか、システム上でなんらかの不具合が発生し、メモリバス22がロック状態になっているのかという判断をバス権取得までの待ち時間のみで決定することが困難である(図5のB1は、メモリACK信号が帰ってこない状態を示す)。
しかしながら、本実施形態に示すように分割処理を行えば、各アクセスに要する所要時間が短いため、待ち時間をカウントすることで、システムになんらかの問題が発生し、バス、もしくはシステムのどこかがロックしていることがわかる。
図5(5)ではカウント100の時点でエラー信号(図5(6)のBUS ERROR)をアサートしている。従って例えば、一定時間を越えてもアクノリッジ信号(図5(2),(4)のメモリACK信号)がアサートされない場合に命令並列プロセッサ4や、システムCPU15に対してバスエラー信号をアサートするという回路をシステムに搭載することで、長時間のロック状態を回避することができる。
(第2の実施形態)
次に、命令並列プロセッサ4を用いて描画処理とメディア処理を並行して処理する場合の例を説明する。
図6は、本発明の第2の実施形態を説明するためのフローチャートであり、グラフィックプロセッサ1が描画処理とメディア処理を並行して処理する場合の概要を示す。システムCPU15で作られたDLやメディア処理命令をローカルメモリ17に格納した後(ステップS61)、グラフィックプロセッサ1はローカルメモリ17からメディア処理命令を読み出し、命令メモリ2に充填する(ステップS62)。
次にローカルメモリ17から命令並列プロセッサ4のデータメモリ3へDLを充填する(ステップS63)。データメモリ3に充填したDLを用いて命令並列プロセッサ4がセットアップ処理を行い(ステップS64)、処理結果データを描画エンジン13等に対して与える(ステップS65)。処理結果データを受け取った描画エンジン13は描画データに変換し、変換後の描画データをローカルメモリ17に蓄える。
次にメディア処理関連の元データを命令並列プロセッサ4のデータメモリ3に充填し、メディア処理のセットアップ処理を行い、ここではオーディオインターフェース9に処理結果を供給する。ローカルメモリ17に蓄えられた描画データはビデオ出力エンジン8がローカルメモリ17から描画データを読み出し、表示モニタ16に出力する(ステップS66,S67)。
(並列処理)
図4は、命令並列プロセッサの動作状況を示す説明図である。図4(1)は、図1に示す命令並列プロセッサ4の動作状況を示し、命令並列プロセッサ4を並列処理させない場合(上段)と、命令並列プロセッサ4を並列処理させる場合(下段)の処理概要を示す。
図4(1)に示すDL充填31は、データメモリバス24からのアクセス要求としてバス調停ユニット6にアクセスされる。図7におけるデータメモリアクセス要求39がそれにあたり、図4(1)に示す描画エンジン制御33は、プロセッサ拡張バス19からの書き込み要求としてバス調停ユニット6にアクセスされる。図7におけるプロセッサ拡張バスアクセス要求42がそれにあたる。
また、図4(1)に示すメディア処理用命令充填35は、命令メモリバス25からのアクセス要求としてバス調停ユニット6にアクセスされる。図7における命令メモリアクセス要求40がそれにあたる。データメモリバス24からの要求と、命令メモリバス25からの要求に関する制御については後に述べる。プロセッサ拡張バス19からのリクエスト要求については、要求先のバスが他の要求とは異なるために独立しており、バス調停ユニット6内でもデータメモリバス24、命令メモリバス25に関するアクセスとは別々に動作できる。
(メモリアクセス調停)
図9は、図7に示すメモリアクセス調停部の動作を説明するためのフローチャートである。バス調停ユニット6内のメモリアクセス調停部26はメモリアクセスのリクエストを受ける(ステップS91)と命令メモリバス25からのリクエストとデータメモリバス24からのリクエストが同時にアサートされている場合(ステップS92)、命令メモリバス25のアクセスを優先して受け入れ、データメモリバス24からのリクエストは待ちうけキューに格納される(ステップS93,S94)。
メモリアクセスのリクエストが同時でない場合、すなわち1サイクルでもリクエスト信号がアサートされるタイミングに差がある場合、先にリクエスト信号をアサートした方の要求を受け入れ、後にリクエスト信号をアサートした方はキューに格納される(ステップS95)。なお、図1に示す内部メモリ制御ユニット5によって命令並列プロセッサ4の転送要求は分割処理されるため、データメモリアクセス要求と命令メモリアクセス要求は、通常複数回発行される。
図8は、バス調停ユニットのデータの流れについて説明するための図であり、図7を簡略化した図である。図4(1)に示すDL充填31とメディア処理用命令充填35、すなわちデータメモリバス24からのアクセス要求と命令メモリバス25からのアクセス要求に対しては図8のメモリバス用パス37を用いてDLデータやメディア処理用命令コードが読み出される。また、図4(1)に示す描画エンジン制御33、すなわちプロセッサ拡張バス19からのアクセス要求に対しては図8のプロセッサ拡張バス用パス38を用いて描画エンジン13にパラメータ設定等を行う。
したがって、バス調停ユニット6内では要求信号、データ共に独立しているため、描画エンジン制御33を独立して行うことができ、またデータメモリ要求と命令メモリ要求に関しては図9に示すような制御を行うため、どちらかが長時間待ち状態に陥ることなく並列処理に対応することができる。
前述のように、図4(1)は、図1に示す命令並列プロセッサ4の動作状況を示している。図4(1)において、DL充填31は、図6のステップS63に示すローカルメモリ17から命令並列プロセッサ4へ描画命令リスト読み出しを示し、メディア処理用命令充填35は図6のステップS62に示すローカルメモリ17から命令並列プロセッサ4へメディア処理命令読み出しを示す。
また、図4(1)に示す描画セットアップ処理32は、図6のステップS64に示す描画セットアップを意味し、図4(1)に示す描画エンジン制御33は図6のステップS65に示す処理結果データを描画エンジン13へ供給することを意味し、図4(1)に示すメディア処理実施36は、図6のステップS67に示すメディア処理実施を意味する。
図4(1)に示すように、命令並列プロセッサ4を並列処理させることによって、メディア処理用命令充填35、DL充填31および描画セットアップ処理32を並列実行させ、メディア処理用命令充填35の後にメディア処理実施36を行い、DL充填31の後に描画エンジン制御33を行うことによって、図4(1)下段のCに示す期間だけ処理時間を短縮することができる。
図4(2)は、図1に示すローカルメモリ17に対してデータを一括転送する場合(上段)と分割転送する場合(下段)のアクセス状況を示す。図9に示すバス調停ユニット6の制御を行うことによって、図4(2)に示すようにメディア処理用命令充填35とDL充填31は互いの転送要求の間に命令・データ充填を行うことができる。
図4(2)に示す機能ブロック処理34は、図6のステップS66に示す描画データを出力すること意味するが、例えば描画エンジン13以外のビデオ出力エンジン8が表示処理のために行うローカルメモリ17へのアクセスも含んでいる。
図4(2)に示すように、ローカルメモリ17へのアクセスを分割処理(下段)することにより、機能ブロック処理34を早い時間に行うことができるため、システムとしての応答性が、一括転送時(上段)よりも向上する。
(第3の実施形態)
図10は、制御バス領域のアドレスマップを示す図である。バス調停ユニット6は、制御バス21から制御バス21よりバス幅の大きいプロセッサローカルバス17へのアクセスを行う。図10に示すように、制御バス21のアドレス幅は14bitであり、制御バス21からのアクセスに対してバス調停ユニット6はアドレスの上位2bitをデコードすることでプロセッサローカルバス18へのアクセスであることを判断する。尚、データ幅は制御バス、プロセッサローカルバス共に同一とする。
図11は、プロセッサローカルバスのアドレスマップを示す図である。プロセッサローカルバス18のアドレス幅は22bitであり、アドレスによって命令メモリ領域、データメモリ領域、その他の領域に分けられる。
図12は、プロセッサローカルバスにおけるアクセスを説明するための図である。制御バス21からプロセッサローカルバス18へのアクセスが発生した場合、アドレス幅が異なることから図12に示すように、1回目のアクセスで少なくとも10bitのプロセッサローカルバスアドレスを格納し、2回目のアクセスで残りのアドレスを指定することによってプロセッサローカルバス18の全アドレスが確定し、アクセスを実行することができる。
図13は、プロセッサローカルバスのバスプロトコルを示すタイムチャートであり、プロセッサローカルバス18の命令メモリ領域への書き込みアクセスを示している。図13に示すように、プロセッサローカルバス18は、アドレス(図13(2))とチップセレクト信号(図13(3),(4),(5))を使用してアクセス先を特定していることがわかる。
図12に示す構成を用いた場合、制御バス21からプロセッサローカルバス18へのアクセスを1回行うために制御バス21から2回のアクセスが必要となる。
(上位bitを再利用)
図14は、プロセッサローカルバスにおける他のアクセスを説明するための図である。図14に示すように、バス調停ユニット6内に、プロセッサローカルバス18の命令メモリ領域、データメモリ領域、その他の領域に対応する3つの8bitのプロセッサローカルバスアクセスレジスタ27,28,29を設ける。プロセッサローカルバスアクセスレジスタ27,28,29は、制御バス21から転送されるアドレスを格納する。また、バス調停ユニット6内に、制御バス21から転送されるアドレスとレジスタ27〜29のいずれかに格納されるアドレスとを連結してプロセッサローカルバス18へ転送する連結器50を設ける。
これらのレジスタにアクセスすることによって、バス調停ユニット6が次に制御バス21からプロセッサローカルバス18へのアクセスを受けたときに、各レジスタに格納された8bitの値と次にアクセスされたアドレスの12bitを連結することでプロセッサローカルバス18のアドレスのうち20bitを得ることができる。
20bitのうち、下位12bitが次にアクセスされたアドレスから与えられ、13bit目から20bit目まではプロセッサローカルバスアクセスレジスタ27,28,29から与えられる。残りの上位2bitはバス調停ユニット6内の3つのプロセッサローカルバスアクセスレジスタ27,28,29のうち、どれに最後に値が設定されたかによって、命令メモリ領域もしくはデータメモリ領域であれば01を与え、その他の領域であれば10を与える。
2回目以降、プロセッサローカルバスアクセスレジスタ27,28,29に新たにアクセスがされないかぎり、プロセッサローカルバスアクセスレジスタ27,28,29の値と上位2bitを与えることにより、プロセッサローカルバス18の下位12bitが変化する分のアクセスは、制御バス21からの1回のアクセスでプロセッサローカルバス18にアクセスすることができる。
チップセレクト信号としては、上記3種類のプロセッサローカルバスアクセスレジスタ27,28,29のうち、どれにアクセスされたかによって、バス調停ユニット6は所望のチップセレクト信号(CS信号)を生成することができる。
また、制御バス21からプロセッサローカルバス18の別の領域、例えば命令メモリ領域へのアクセスを行った後、データメモリ領域へのアクセスを行う場合、図10に示すバス調停ユニット6内部に割り振られた領域に存在する、プロセッサローカルバスリセットレジスタにアクセスすることによって、もう一度1回目のアクセス、すなわちプロセッサローカルバスアクセスレジスタ27,28,29へアドレス8bitの設定を行うところから処理を開始できる。
上記構成により、格納したアドレスと制御バス21から転送されるアドレスとを連結することにより、制御バス21のバス幅より大きいアドレスの生成が可能になる為、1度のアクセスで、バス幅の大きいプロセッサローカルバス18へアクセスを行うことができる。また、上記構成により、レジスタ27〜29に不変アドレスを格納しておけば、制御バス21から転送した可変アドレスと格納される不変アドレスとを連結して、制御バス21から1回のアクセスで転送したいアドレスを特定できる為、アクセス回数を削減できる。
(第4の実施形態)
プロセッサ拡張バス19と拡張機能バス20は、命令並列プロセッサ4が機能ブロックへのアクセスによりこの機能ブロックを起動させる場合に、機能ブロックへのアクセスエラーを命令並列プロセッサ4に通知するレジスタアクセスエラーフラグを含む。具体的には、命令並列プロセッサ4がバス調停ユニット6を経由して座標変換プロセッサ12や描画エンジン13のレジスタをアクセスする際、レジスタアクセスに失敗した場合に座標変換プロセッサ12あるいは描画エンジン13がレジスタアクセスエラーフラグをアサートし、命令並列プロセッサ4に通知する。
命令並列プロセッサ4はレジスタアクセスエラーフラグをコンディションフラグとして分岐命令等に利用する。ここで描画エンジン13におけるレジスタアクセスエラーフラグの活用方法について以下に述べる。
描画エンジン13は、頂点座標や線分の傾き等、描画に必要なパラメータレジスタ群と、描画命令と起動フラグを設定する描画起動レジスタ、描画が終了しているかどうかを示す描画終了レジスタを備えている。
図15は、通常の描画命令起動までのフローである。ステップS151で描画終了レジスタをリードする。次にステップS152で描画が終了しているかどうか判定し、描画が終了していればステップS153に進み、描画が終了していなければステップS151に戻って再度描画終了レジスタをリードする。ステップS153で描画命令に必要なパラメータレジスタ群を設定し、ステップS154で描画起動レジスタを設定し、描画命令を起動する。この場合には、描画終了レジスタをリードし描画終了かどうかの比較を行った結果をコンディションフラグとして分岐することになるため、処理時間がかかる。
(レジスタアクセスエラーフラグ)
図16は、レジスタアクセスエラーフラグを用いた場合の描画命令起動までのフローチャートである。描画エンジン13を例に、レジスタアクセスエラーフラグを使用する場合について説明する。ここでは、描画エンジン13に描画実行中の描画エンジン13へのアクセスを禁止する手段を設け、パラメータレジスタ群に次の描画命令のパラメータの書き込みがあった場合、パラメータ内容を書き換えずにレジスタアクセスエラーフラグをアサートするよう構成する。
図16に示すように、ステップS161で一つ目のパラメータをパラメータレジスタに書き込む。この時、描画実行中であればレジスタアクセスエラーフラグがアサートされ、書き込み対象になったレジスタの内容は書き換わらない。また、描画終了していればレジスタアクセスエラーフラグはアサートされず、書き込み対象になったレジスタの内容が書き換わる。
次にステップS162でレジスタアクセスエラーフラグがアサートされているかどうか判定し、フラグがアサートされていなければステップS163に進み、フラグがアサートされていればステップS161に戻って再度一つ目のパラメータをパラメータレジスタに書き込む。ステップS163で残りのパラメータレジスタ群を設定し、ステップS164で描画起動レジスタを設定し、描画命令を起動する。
この構成によると、レジスタアクセスエラーフラグによってアクセスエラーが通知される為、描画終了レジスタをリードする必要がなく、レジスタアクセスエラーフラグを分岐のためのコンディションフラグにできる。この構成により、描画終了レジスタのリード及び比較を行う時間を削減することにより、高速に描画命令の起動を行うことができる。
(2段構成のレジスタ)
つづいて、描画エンジン13の別の構成について述べる。描画エンジン13のパラメータレジスタ群の中のそれぞれのパラメータについて、2段構成のレジスタを持つ。拡張機能バス20からは1段目のレジスタに動作に必要なパラメータが書き込まれ、描画起動レジスタが設定され描画命令を起動した時に、1段目のレジスタの内容が2段目のレジスタにコピーされる。
描画エンジン13は、2段目のレジスタのパラメータを基に描画を行う。これによれば、ある描画命令を実行している間に次の描画命令のパラメータを1段目のレジスタに書き込むことができるので、描画処理とパラメータ設定を並列に行えるという利点がある。
図17は、2段構成のレジスタにおける通常の描画命令起動までのフローチャートである。ステップS171で描画命令に必要なパラメータを1段目のパラメータレジスタ群を設定した後、ステップS172で描画終了レジスタをリードする。次にステップS173で描画が終了しているか判定し、描画が終了していればステップS174に進み、描画が終了していなければステップS172に戻って再度描画終了レジスタをリードする。
ステップS174で描画起動レジスタを設定し、描画命令を起動する。この時、1段目のレジスタの内容が2段目のレジスタにコピーされ、描画エンジンは2段目のレジスタのパラメータを基に描画を行うため、次の描画命令のパラメータを1段目のレジスタに設定できるようになる。この場合も前述したものと同様に、描画終了レジスタをリードする期間が存在し、描画終了かどうかの比較を行った結果をコンディションフラグとして分岐することになる。
図18は、2段構成のレジスタにおけるレジスタアクセスエラーフラグを用いた場合の描画命令起動までのフローチャートである。ステップS181で描画命令に必要なパラメータを1段目のパラメータレジスタ群に設定した後、ステップS182で描画起動レジスタを設定する。この時、描画実行中であればレジスタアクセスエラーフラグがアサートされ、描画命令は起動されず、1段目のレジスタの内容が2段目のレジスタにコピーされることはない。
また、描画終了していればレジスタアクセスエラーフラグはアサートされず、描画命令が起動される。次にステップS183でレジスタアクセスエラーフラグがアサートされているかどうか判定し、フラグがアサートされていればステップS182に戻って再度描画起動レジスタを設定し、フラグがアサートされていなければ描画命令が起動されているので次の描画命令のパラメータを1段目のレジスタに設定できるようになる。
この構成によると、描画終了レジスタをリードする必要がなく、レジスタアクセスエラーフラグを分岐のためのコンディションフラグにできるので比較を行う必要もなく、高速に描画命令の起動を行うことができることに加え、描画処理とパラメータ設定を並列に行うことができる。
なお、以上、ローカルメモリからディスプレイリストを読み出す例を説明したが、ローカルメモリ以外のメモリから読み出してもよい。また、以上説明したグラフィックスプロセッサを、地図表示とAV処理を同時に行うような高度カーナビゲーションシステムに搭載してもよい。
本発明は、ローカルメモリからプロセッサに対するデータを分割転送する転送手段を備えることにより、アクセス1回当りのローカルメモリ占有時間を抑えることができる為、ローカルメモリを使用する他の処理の開始が長時間待たされることがなくなり、システムの応答性が向上する効果を有し、情報処理装置等に有用である。
本発明の第1の実施形態を説明するためのグラフィックスプロセッサ、およびそのグラフィックスプロセッサが搭載されたグラフィックスシステムを説明するための概略構成を示す図 図1に示すグラフィックスプロセッサが行う処理の概要を示すフローチャート 命令並列プロセッサの動作状況を示す説明図 命令並列プロセッサの動作状況を示す説明図 長時間のロック状態を回避するためのバスエラー信号の説明図 本発明の第2の実施形態を説明するためのフローチャート バス使用権要求信号を説明するためのバス調停ユニット6の内部構成図 バス調停ユニットのデータの流れについて説明するための図 図7に示すメモリアクセス調停部の動作を説明するためのフローチャート 制御バス領域のアドレスマップを示す図 プロセッサローカルバスのアドレスマップを示す図 プロセッサローカルバスにおけるアクセスを説明するための図 プロセッサローカルバスのバスプロトコルを示すタイムチャート プロセッサローカルバスにおける他のアクセスを説明するための図 通常の描画命令起動までのフローチャート レジスタアクセスエラーフラグを用いた場合の描画命令起動までのフローチャート 2段構成のレジスタにおける通常の描画命令起動までのフローチャート 2段構成のレジスタにおけるレジスタアクセスエラーフラグを用いた場合の描画命令起動までのフローチャート
符号の説明
1 グラフィックスプロセッサ
2 命令メモリ
3 データメモリ
4 命令並列プロセッサ
5 内部メモリ制御ユニット
6 バス調停ユニット
7 ビデオ入力エンジン
8 ビデオ出力エンジン
9 オーディオインターフェース
10 ローカルメモリインターフェース
11 CPUインターフェース
12 座標変換プロセッサ
13 描画エンジン
14 システムメモリ
15 システムCPU
16 表示モニタ
17 ローカルメモリ
18 プロセッサローカルバス
19 プロセッサ拡張バス
20 拡張機能バス
21 制御バス
22 メモリバス
23 レジスタ制御バス
24 データメモリバス
25 命令メモリバス
26 メモリアクセス調停部
27 命令メモリ領域レジスタ
28 データメモリ領域レジスタ
29 その他の領域レジスタ
30 プロセッサローカルバスアクセス調停部
31 DL充填
32 描画セットアップ処理
33 描画エンジン制御
34 機能ブロック処理
35 メディア処理用命令充填
36 メディア処理実施
37 メモリバス用パス
38 プロセッサ拡張バス用パス
39 データメモリアクセス要求
40 命令メモリアクセス要求
41 レジスタ制御バスアクセス要求
42 プロセッサ拡張バスアクセス要求
43 制御バスアクセス要求
44 メモリバスアクセス要求

Claims (7)

  1. ディスプレイリストを記憶しておく記憶手段と、
    前記記憶手段から前記ディスプレイリストを読み出し、前記ディスプレイリストに応じた処理を行う処理手段と、
    前記記憶手段にアクセスする少なくとも1つの機能ブロックと、
    前記記憶手段から前記処理手段にデータを転送する転送手段とを備え、
    前記転送手段は、前記データを転送する際に、分割転送することを特徴とする情報処理装置。
  2. 請求項1記載の情報処理装置であって、
    前記処理装置と前記機能ブロックとのアクセスを行う第1のバスと、
    前記処理装置と前記記憶手段とのアクセスを行う第2のバスとを備え、
    前記第1のバスと前記第2のバスとが独立して設けられたことを特徴とする情報処理装置。
  3. 請求項1又は2記載の情報処理装置であって、
    前記転送手段は、前記データを分割転送する際に、データ転送要求に対して予め設定した優先順位に従って前記データを転送することを特徴とする情報処理装置。
  4. 第1のバスから前記第1のバスよりバス幅の大きい第2のバスへのアクセスを行うバスアクセス装置を含む情報処理装置であって、
    前記第1のバスから転送されるアドレスを第2のバスにアクセスするために必要なアドレスの一部として格納する格納手段と、
    前記格納手段へのアクセスによって前記第1のバスより前記第2のバスへのアクセス要求が発生したことを検知し、第2のバスにアクセスするために必要なアドレスの一部を生成するアドレス生成手段と、
    前記第1のバスから転送されるアドレスと前記格納手段が格納するアドレスと、前記アドレス生成手段が生成するアドレスとを連結して前記第2のバスへ転送する連結手段とを備える情報処理装置。
  5. 少なくとも1つの機能ブロックと、
    前記機能ブロックへのアクセスにより前記機能ブロックを起動させるプロセッサと、
    前記機能ブロックへのアクセスエラーを前記プロセッサに通知する通知手段とを備える情報処理装置。
  6. 請求項5記載の情報処理装置であって、
    前記機能ブロックが実行している間、前記機能ブロックへのアクセスを禁止する手段を備える情報処理装置。
  7. 請求項5又は6記載の情報処理装置であって、
    前記機能ブロックは、
    起動設定を行うための起動レジスタと、
    前記プロセッサからのアクセスにより動作に必要なパラメータを保持する第1のレジスタ、前記起動レジスタの設定時に前記1段目のレジスタからの内容を保持する第2のレジスタを有する2段構成のパラメータレジスタとを備える情報処理装置。
JP2004128499A 2004-04-23 2004-04-23 情報処理装置 Pending JP2005309229A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004128499A JP2005309229A (ja) 2004-04-23 2004-04-23 情報処理装置
US11/111,858 US20050237332A1 (en) 2004-04-23 2005-04-22 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004128499A JP2005309229A (ja) 2004-04-23 2004-04-23 情報処理装置

Publications (1)

Publication Number Publication Date
JP2005309229A true JP2005309229A (ja) 2005-11-04

Family

ID=35135946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004128499A Pending JP2005309229A (ja) 2004-04-23 2004-04-23 情報処理装置

Country Status (2)

Country Link
US (1) US20050237332A1 (ja)
JP (1) JP2005309229A (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280579A (en) * 1990-09-28 1994-01-18 Texas Instruments Incorporated Memory mapped interface between host computer and graphics system
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
JP2001159525A (ja) * 1999-11-30 2001-06-12 Mitsubishi Electric Corp ナビゲーション装置および記録媒体
JP3946397B2 (ja) * 1999-12-24 2007-07-18 三菱電機株式会社 車載情報処理装置
US7043363B2 (en) * 2002-10-10 2006-05-09 Sirf Technology, Inc. Host based satellite positioning systems
US6842849B2 (en) * 2001-05-21 2005-01-11 Arm Limited Locking source registers in a data processing apparatus
JP2003050774A (ja) * 2001-08-08 2003-02-21 Matsushita Electric Ind Co Ltd データ処理装置およびデータ転送方法
JP4807692B2 (ja) * 2001-09-26 2011-11-02 パイオニア株式会社 画像作成装置及びその方法、並びにコンピュータプログラム
US7200770B2 (en) * 2003-12-31 2007-04-03 Hewlett-Packard Development Company, L.P. Restoring access to a failed data storage device in a redundant memory system

Also Published As

Publication number Publication date
US20050237332A1 (en) 2005-10-27

Similar Documents

Publication Publication Date Title
CN100592271C (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
JP6009692B2 (ja) グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法
JP3579461B2 (ja) データ処理システム及びデータ処理装置
JP3573614B2 (ja) 画像処理装置及び画像処理システム
JPH0348370A (ja) メモリアクセス制御回路
US8429355B2 (en) Information processor system
JP2006323760A (ja) 情報処理装置、システム、方法およびプロセッサ
JP2010055440A (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
JP4446968B2 (ja) データ処理装置
US20080016296A1 (en) Data processing system
JP2005165592A (ja) データ転送装置
JPH0793274A (ja) データ転送方式及びデータ転送装置
JP2005309229A (ja) 情報処理装置
JP2005190487A (ja) グラフィックスプロセッサ
JP6170363B2 (ja) 制御装置、コンピュータシステム、制御方法、及びプログラム
JP4137903B2 (ja) グラフィックス表示装置およびグラフィックスプロセッサ
JP2006285872A (ja) マルチcpuシステム
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP3204297B2 (ja) Dma転送制御装置
JPH0844661A (ja) 情報処理装置
JP2003122626A (ja) 高性能グラフィックスコントローラ
JP4560398B2 (ja) データ処理回路
JPH09186836A (ja) ディジタル複写機
JP3537786B2 (ja) データ処理システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060327