JP6728370B2 - 下位互換性のためのレガシーバス動作のシミュレーション - Google Patents

下位互換性のためのレガシーバス動作のシミュレーション Download PDF

Info

Publication number
JP6728370B2
JP6728370B2 JP2018538550A JP2018538550A JP6728370B2 JP 6728370 B2 JP6728370 B2 JP 6728370B2 JP 2018538550 A JP2018538550 A JP 2018538550A JP 2018538550 A JP2018538550 A JP 2018538550A JP 6728370 B2 JP6728370 B2 JP 6728370B2
Authority
JP
Japan
Prior art keywords
bus
legacy
legacy device
bandwidth
adjusting
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.)
Active
Application number
JP2018538550A
Other languages
English (en)
Other versions
JP2019505046A5 (ja
JP2019505046A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2019505046A publication Critical patent/JP2019505046A/ja
Publication of JP2019505046A5 publication Critical patent/JP2019505046A5/ja
Priority to JP2020114122A priority Critical patent/JP6987185B2/ja
Application granted granted Critical
Publication of JP6728370B2 publication Critical patent/JP6728370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1678Details of memory controller using bus width
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • 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/38Information transfer, e.g. on bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本出願は、本発明の譲受人に譲渡され、2016年1月22日に出願された米国仮出願第62/284号の利益を主張するものであり、この内容全体が、参照により本明細書に援用される。
新しいコンピュータアーキテクチャがリリースされると、以前のバージョンのアーキテクチャ用に作成されたアプリケーションは、新しいアーキテクチャで完璧に実行することが望まれる。この機能は、しばしば「下位互換性」と呼ばれる。下位互換性を実装することは、新しいアーキテクチャがレガシー用に作成されたプログラムの命令を実行できるように、新しいホストアーキテクチャ上のターゲットレガシーデバイスをエミュレートすることを含む。コンピュータアーキテクチャは、時間の経過と共にバスの技術的進歩、クロック速度、プロセッサアーキテクチャ、キャッシング、標準規格などを利用するように変化する。1つのコンピュータアーキテクチャが新しいアーキテクチャに置き換えられると、古いアーキテクチャはいわゆるレガシーアーキテクチャになる。ネットワークプロトコル、ユーザーインターフェース、オーディオ処理、デバイスドライバ、グラフィックス処理、メッセージング、ワードプロセッサ、スプレッドシート、データベースプログラム、ゲーム、その他のアプリケーションなどのソフトウェアアプリケーションは、その開発過程では、レガシーアーキテクチャ向けに作成されている。そのようなレガシーソフトウェアは、新しいアーキテクチャにアップグレードしても、ユーザーにとって価値があるものである。したがって、新しいアーキテクチャでレガシーソフトウェアを実行できるようにする必要がある。
新しいデバイス及びレガシーデバイスのハードウェアコンポーネントのパフォーマンスの違いにより、新しいデバイスの同期のエラーが発生し、新しいデバイスアーキテクチャで実行しているときに、レガシーアプリケーションがクラッシュし得る。このようなパフォーマンスの差は、例えば、新しいデバイスとレガシーデバイスとの間のバスアーキテクチャの違いから生じる可能性がある。バスアーキテクチャは、異なるデバイスコンポーネント間で複数のデータパスを提供する。レガシーデバイス及び新しいデバイスは、デバイスコンポーネント間のタイミング及びデータ転送速度の制約が異なるため、デバイスコンポーネント間で異なるバスパスを持つことができる。例えば、新しいデバイスの2つのコンポーネント間のバスパスが、レガシーデバイスのこれらのコンポーネント間で対応するバスパスよりも高速である場合、あるコンポーネントによって引き続き使用されているデータは、別のコンポーネントによって早い段階で上書きされ得る。
新しいデバイスでレガシーアプリケーションを実行しているときのバス動作の違いによって発生する問題に対処するために、新しいデバイスは、レガシーデバイスのバス動作をエミュレートする方法で、レガシーアプリケーションを実行しているときにバスパフォーマンスを調整し得る。
新しいシステムのバススロットルは、レガシーバス動作から決定される推定帯域幅の割り当てに基づき得る。バストラフィックは、レガシーバス動作から推定された量に従って、特定のバストランザクションに割り当てられた利用可能なバス帯域幅の量を制限することによって調整し得る。バストラフィックは、新しいデバイスがレガシーシステムによって割り当てられていた帯域幅と少なくとも同量の帯域幅を割り当てるように調整されるが、レガシーアプリケーションの実行時に同期エラーが発生することはそれほど多くはない。新しいデバイスでレガシーアプリケーションを実行している間にスロットルを調整して、追加の帯域幅の割り当てによって実行に問題が生じる量を決定できる。
本開示の教示は、添付の図面と併せて以下の詳細な説明を考慮することによって容易に理解することができる。
本開示の態様による新しいデバイスとレガシーデバイスとの間のバスアーキテクチャの違いを説明するように構成されたデバイスを示すブロック図である。 本開示の態様による新しいデバイスとレガシーデバイスとの間のバスアーキテクチャの違いを考慮して帯域幅の割り当てを決定するヒューリスティックアプローチを示すフロー図である。
以下の詳細な説明は、例示の目的で多くの特定の詳細を含むが、当業者であれば、以下の詳細に対する多くの変形及び変更が特許請求された発明の範囲内にあることを理解するであろう。したがって、以下に記載される本発明の例示的な実施形態は、一般性を失うことなく、かつ制限を課すことなく、特許請求された発明に記載されている。
図1は、レガシーデバイス用に作成されたアプリケーションを実行しているときに、レガシーデバイスと新しいデバイスとの間のバスアーキテクチャの違いを説明するように構成された新しいデバイスの例を示す。この例では、新しいデバイスは、共通メモリ106及びI/Oアクセスコントローラ108に結合されたマルチコアCPU及びマルチコアGPUを含み得る。各CPUまたはGPUコアは、バックサイドバス(BSB1、BSB2)を介して、レベル2キャッシュ110及びバスインターフェースユニット112に結合される。レベル2のキャッシュ110は、フロントサイドバス(FSB)によってメモリ106及びI/Oアクセスコントローラ108に結合される。追加のメモリ(図示せず)、周辺機器114、ビデオ116、及びデータ記憶デバイス118は、様々なバスによってアクセスコントローラを介してCPU及びGPUとインターフェースする。CPU及びGPUは、データ及び/または命令の一時的な記憶のための構成可能なレジスタ105を含み得る。図1のデバイスのレガシーバージョンは、例えば、CPU及びGPUのための別個のバスがあるアーキテクチャや、メモリ及びI/Oアクセスのための別個のコントローラがあるアーキテクチャなどの、異なるアーキテクチャを有することができる。
図1に示す例では、アクセスコントローラ108は、例えば、メモリ106に格納されたコード命令103を実行することによって、バスパフォーマンスを調整してレガシーバス動作をエミュレートし、レガシーアプリケーションを実行しているときに同期を維持する。アクセスコントローラは、レガシーデバイスのバス動作をエミュレートする方法で利用可能なバス帯域幅を割り当てることにより、様々なバスBSB1、BSB2、FSBのバストラフィックを調整する(108)。スロットルには、レガシーデバイスのバスパフォーマンスデータによって通知される。このデータを生成するために、レガシーアプリケーションの実行中にレガシーデバイスがテストされ得る。異なるバスクライアントのバス帯域幅の割り当ては、異なる条件で測定される。特定のバストランザクションに割り当てられる帯域幅に影響を及ぼす要因には、バスにアクセスしている特定のバスクライアント(例えば、CPU102またはGPU104)、バスを介して送信されるデータの送信元または宛先(例えば、メモリ106)、データが読み書きされているかどうか、トランザクションの優先順位が高いか低いか、要求された帯域幅の量、他のバスクライアントがバス帯域幅に対して競合しているか、などが含まれる。これらの要因のすべては、バス帯域幅の割り当てと共にレガシーデバイスのテスト中に記録され得る。
レガシーバス動作をエミュレートするには、テーブル駆動型アプローチ、比率駆動型アプローチ、ヒューリスティックアプローチの少なくとも3つのアプローチがある。3つのアプローチはすべて、レガシーデバイスが異なる状況下で異なるクライアントに実際に割り当てる帯域幅を調べ、同一または類似の状況下で新しいデバイスで帯域幅の割り当てを複製する。テスト段階では、特定のクライアントと特定のリソースとの間(または特定のクライアントとの間)の古いハードウェア上の帯域幅の割り当てが、異なる状況下で測定される。測定された帯域幅の割り当て値は、新しいハードウェアのテーブルまたは比率またはヒューリスティックに入れられる。
テーブル駆動型アプローチ
テーブル駆動型アプローチでは、新しいデバイスは、メモリ106または構成可能レジスタ105に格納されたルックアップテーブルを使用して、異なるバストラフィック条件下でノード間に帯域幅を割り当てる。簡単な例として、メモリトランザクション用に30MB/sの利用可能なバス帯域幅で競合する2つのバスクライアントAとBがあると仮定する。以下の表1は、レガシーデバイスの測定されたパフォーマンス(すなわち、バス帯域幅の割り当て)に基づいて、クライアントAとBとの間に割り当てられた帯域幅を示す。
表1では、所与の要求された帯域幅に割り当てられた帯域幅はA/Bで示され、ここで、AはクライアントAに割り当てられた帯域幅であり、BはクライアントBに割り当てられた帯域幅である。表1の値は、レガシーアプリケーションによる通常動作中のレガシーデバイスのバス帯域幅の割り当てを監視することによって決定され得る。要求された帯域幅以外のいくつかの要因は、例えば、帯域幅が読み出しまたは書き込み動作のために要求されているかどうか、A及びBの要求の相対的な優先順位など、帯域幅の割り当てに影響を及ぼし得る。テーブルには、これらの要因を考慮に入れ得る。
比率アプローチ
比率アプローチは、メモリ106または構成可能レジスタ105に格納されたテーブルが比率によって帯域幅の割り当てを指定することを除いて、テーブル駆動アプローチと同様である。例えば、表2は、利用可能な最大バス帯域幅の割合による帯域幅の要求及び割り当てを示す。
上記では2次元の例を示したが、テーブルまたは比率アプローチは、3つ、4つまたはそれ以上の異なるバスクライアントに対応するために、3つ、4つまたはそれ以上の次元に拡張し得る。また、クライアントの異なるグループにサービスを提供する複数の異なるバスがある場合、テーブルまたは比率はこのことを考慮に入れ得る。
ヒューリスティックアプローチ
ヒューリスティックアプローチは、レガシーバス動作のコンピュータモデル201を使用して、帯域幅の割り当てを決定する。図2に一例を示す。クライアントAとBとの間の所与のバストランザクションの場合、ヒューリスティックは、現在のバストラフィック、要求された帯域幅、帯域幅を要求するクライアント(複数可)、トラフィックの宛先などに関する入力を受信する。図2では、入力は、それぞれクライアントA及びクライアントBからの帯域幅要求202、204である。ヒューリスティックは、クライアントAとBとの間のバスパスの動作、バス調停206など、同じまたは類似の状況下でのレガシーバス動作に関するデータ208を使用してモデル化する。レガシーバス動作データは、ヒューリスティックによる迅速なアクセスのためにローカルメモリに格納され得る。モデリングでは、帯域幅要求、現在のバスの条件、及びレガシーバスデータを考慮して、クライアントA及びクライアントBの推定バス帯域幅の割り当てを決定する。バスコントローラ、例えば、バスインターフェース112は、これらの割り当てを使用してバストラフィックを調整することができる。
テーブル、比率、及びヒューリスティックアプローチでは、原因よりも、所与の状況下でレガシーバス帯域幅がどのように割り当てられるかが考慮される。レガシーバス帯域幅の調停は、データがクライアントから読み取られているか、クライアントに書き込まれているか、トランザクションの優先順位が高いか低いか、要求された帯域幅の量などによって異なる。レガシーバス帯域幅の割り当てが十分に予測可能である場合、それらはテーブル、比率またはヒューリスティックアプローチを使用して複製できる。
ウィジェットは、メモリ106及びI/Oコントローラ108によって実装する必要はない。代替的な実施態様では、バスクライアントA、Bは自己スロットルすることができる。具体的には、各バスクライアントは、バストラフィックを調べて、レガシーシステムに処理可能な帯域幅よりも多くの帯域幅を要求しているかどうかを判断し、十分な帯域幅が利用可能であると判断するまで要求を保持するウィジェット109を含むことができる。これらの各ウィジェットは、構成可能レジスタ111に格納されたテーブル、比率、またはヒューリスティックにアクセスすることができる。
上記は、本発明の好適な実施形態の完全な説明であるが、様々な代替、変更、及び等価物を使用することが可能である。したがって、本発明の範囲は、上記の説明を参照せずに判断されるべきであり、代わりに、添付の特許請求の範囲を参照して、等価物の全範囲と共に判断されるべきである。好適であろうとなかろうと、任意の特徴は、好適であろうとなかろうと、他の特徴と組み合わせることができる。以下の特許請求の範囲において、不定冠詞「A」または「An」は、別段特に述べられていない場合を除いて、その冠詞に続く事項の1つまたは複数の量のことを言う。添付の特許請求の範囲は、「〜するための手段」という言い回しを使用して所与の特許請求の範囲においてそのような限定が明示的に記載されていない限り、ミーンズ・プラス・ファンクションの限定を含むものとして解釈されない。指定された機能を実行「するための手段」を明示的に記載していない特許請求の範囲内の要素は、米国特許法112条(f)項に規定されている「手段」または「ステップ」句として解釈されない。

Claims (25)

  1. 非レガシーデバイス上でレガシーアプリケーションを実行しているときのバス動作におけるタイミング及びデータ転送速度に関する違いによって発生する問題に対処するための方法であって、
    前記レガシーアプリケーションを実行しているときに、レガシーデバイスのバス動作をエミュレートする方法で、前記非レガシーデバイスのバスパフォーマンスを調整する、方法。
  2. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記レガシーデバイスのバス動作から決定される推定された帯域幅の割り当てに基づいている、請求項1に記載の方法。
  3. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記レガシーデバイスバス動作から推定される量に従って、特定のバストランザクションに割り当てられる利用可能なバス帯域幅の量を制限することを含む、請求項1に記載の方法。
  4. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記非レガシーデバイスが前記レガシーデバイスによって割り当てられた帯域幅と少なくとも同量の帯域幅であるがレガシーアプリケーションの実行時に同期エラーが発生するほど大きくはない帯域幅を割り当てるように、前記非レガシーデバイス上のバストラフィックを調整することを含む、請求項1に記載の方法。
  5. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記非レガシーデバイス上でレガシーアプリケーションを実行している間に前記バスパフォーマンスを調整し、追加の帯域幅の割り当てによって実行に問題が生じる量を決定することを含む、請求項1に記載の方法。
  6. 前記非レガシーデバイスが、メモリまたは構成可能なハードウェアレジスタに格納されたルックアップテーブルを使用して、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てる、請求項1に記載の方法。
  7. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、帯域幅の割り当てを決定するために前記レガシーデバイスのバス動作のコンピュータモデルを使用することを含む、請求項1に記載の方法。
  8. 前記非レガシーデバイスが、メモリまたは構成可能なハードウェアレジスタに格納された1つまたは複数の比率を使用して、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てる、請求項1に記載の方法。
  9. 非レガシーデバイスであって、
    1つまたは複数のプロセッサと、
    1つまたは複数のバスによって前記1つまたは複数のプロセッサに動作可能に結合されたメモリと、を備え、
    前記メモリに記憶され、前記プロセッサによって実行可能な実行可能命令が、実行されると、前記プロセッサに、前記非レガシーデバイスでレガシーアプリケーションを実行しているときに、バス動作におけるタイミング及びデータ転送速度に関する違いによって発生する問題に対処する方法を実装させ、前記方法が、
    前記レガシーアプリケーションを実行しているときに、レガシーデバイスのバス動作をエミュレートする方法で、前記1つまたは複数のバス上のバスパフォーマンスを調整することを含む、非レガシーデバイス
  10. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、前記レガシーデバイスのバス動作から決定される推定された帯域幅の割り当てに基づいている、請求項9に記載の非レガシーデバイス
  11. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、前記レガシーデバイスバス動作から推定される量に従って、特定のバストランザクションに割り当てられる利用可能なバス帯域幅の量を制限することを含む、請求項9に記載の非レガシーデバイス
  12. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、前記非レガシーデバイスが前記レガシーデバイスによって割り当てられた帯域幅と少なくとも同量の帯域幅であるがレガシーアプリケーションの実行時に同期エラーが発生するほど大きくはない帯域幅を割り当てるように、前記非レガシーデバイス上のバストラフィックを調整することを含む、請求項9に記載の非レガシーデバイス
  13. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、前記非レガシーデバイス上でレガシーアプリケーションを実行している間に前記バスパフォーマンスを調整し、追加の帯域幅の割り当てによって実行に問題が生じる量を決定することを含む、請求項9に記載の非レガシーデバイス
  14. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てるために、メモリまたは構成可能なハードウェアレジスタに格納されたルックアップテーブルを使用することを含む、請求項9に記載の非レガシーデバイス
  15. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、帯域幅の割り当てを決定するために前記レガシーデバイスのバス動作のコンピュータモデルを使用することを含む、請求項9に記載の非レガシーデバイス
  16. 前記1つまたは複数のバス上のバスパフォーマンスを調整することが、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てるために、メモリまたは構成可能なハードウェアレジスタに格納された1つまたは複数の比率を使用することを含む、請求項9に記載の非レガシーデバイス
  17. 前記1つまたは複数のプロセッサが、1つまたは複数の中央プロセッサユニットを含む、請求項9に記載の非レガシーデバイス
  18. コンピューティングデバイスに、非レガシーデバイス上でレガシーアプリケーションを実行しているときのバス動作におけるタイミング及びデータ転送速度に関する違いによって発生する問題に対処する方法を実装させるように構成された実行可能命令を媒体中に具体化した非一時的なコンピュータ可読媒体であって、前記方法が、
    前記レガシーアプリケーションを実行しているときに、レガシーデバイスのバス動作をエミュレートする方法で、前記非レガシーデバイス上のバスパフォーマンスを調整することを含む、前記非一時的なコンピュータ可読媒体。
  19. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記レガシーデバイスのバス動作から決定される推定された帯域幅の割り当てに基づいている、請求項18に記載の非一時的なコンピュータ可読媒体。
  20. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記レガシーデバイスバス動作から推定される量に従って、特定のバストランザクションに割り当てられる利用可能なバス帯域幅の量を制限することを含む、請求項18に記載の非一時的なコンピュータ可読媒体。
  21. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記非レガシーデバイスが前記レガシーデバイスによって割り当てられた帯域幅と少なくとも同量の帯域幅であるがレガシーアプリケーションの実行時に同期エラーが発生するほど大きくはない帯域幅を割り当てるように、前記非レガシーデバイス上のバストラフィックを調整することを含む、請求項18に記載の非一時的なコンピュータ可読媒体。
  22. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、前記非レガシーデバイス上でレガシーアプリケーションを実行している間に前記バスパフォーマンスを調整し、追加の帯域幅の割り当てによって実行に問題が生じる量を決定することを含む、請求項18に記載の非一時的なコンピュータ可読媒体。
  23. 前記非レガシーデバイスが、メモリまたは構成可能なハードウェアレジスタに格納されたルックアップテーブルを使用して、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てる、請求項18に記載の非一時的なコンピュータ可読媒体。
  24. 前記非レガシーデバイス上のバスパフォーマンスを調整することが、帯域幅の割り当てを決定するために前記レガシーデバイスのバス動作のコンピュータモデルを使用することを含む、請求項18に記載の非一時的なコンピュータ可読媒体。
  25. 前記非レガシーデバイスが、メモリまたは構成可能なハードウェアレジスタに格納された1つまたは複数の比率を使用して、異なるバストラフィック条件下で前記非レガシーデバイスのノード間に帯域幅を割り当てる、請求項18に記載の非一時的なコンピュータ可読媒体。
JP2018538550A 2016-01-22 2017-01-20 下位互換性のためのレガシーバス動作のシミュレーション Active JP6728370B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020114122A JP6987185B2 (ja) 2016-01-22 2020-07-01 下位互換性のためのレガシーバス動作のシミュレーション

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662286284P 2016-01-22 2016-01-22
US62/286,284 2016-01-22
PCT/US2017/014270 WO2017127634A1 (en) 2016-01-22 2017-01-20 Simulating legacy bus behavior for backwards compatibility

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020114122A Division JP6987185B2 (ja) 2016-01-22 2020-07-01 下位互換性のためのレガシーバス動作のシミュレーション

Publications (3)

Publication Number Publication Date
JP2019505046A JP2019505046A (ja) 2019-02-21
JP2019505046A5 JP2019505046A5 (ja) 2019-11-07
JP6728370B2 true JP6728370B2 (ja) 2020-07-22

Family

ID=59360526

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018538550A Active JP6728370B2 (ja) 2016-01-22 2017-01-20 下位互換性のためのレガシーバス動作のシミュレーション
JP2020114122A Active JP6987185B2 (ja) 2016-01-22 2020-07-01 下位互換性のためのレガシーバス動作のシミュレーション

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020114122A Active JP6987185B2 (ja) 2016-01-22 2020-07-01 下位互換性のためのレガシーバス動作のシミュレーション

Country Status (6)

Country Link
US (1) US10102094B2 (ja)
EP (2) EP4145297A1 (ja)
JP (2) JP6728370B2 (ja)
KR (1) KR102160414B1 (ja)
CN (2) CN116401184B (ja)
WO (1) WO2017127634A1 (ja)

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US62284A (en) 1867-02-19 photo-litho
US5305452A (en) * 1987-10-23 1994-04-19 Chips And Technologies, Inc. Bus controller with different microprocessor and bus clocks and emulation of different microprocessor command sequences
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5857085A (en) * 1996-11-13 1999-01-05 Cypress Semiconductor Corporation Interface device for XT/AT system devices on high speed local bus
US5875309A (en) * 1997-04-18 1999-02-23 3Com Corporation Arbitration system using linked table
EP1226493B1 (en) * 1999-11-05 2006-05-03 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication processor
US6639918B1 (en) * 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
JP2001344287A (ja) * 2000-06-02 2001-12-14 Nec Microsystems Ltd アルゴリズム記述におけるバスの性能評価方法
DE10036278A1 (de) * 2000-07-26 2002-02-07 Bosch Gmbh Robert Verfahren zur Überwachung eines Programmablaufs mittels einer Debug Logik
US6912611B2 (en) * 2001-04-30 2005-06-28 Advanced Micro Devices, Inc. Split transactional unidirectional bus architecture and method of operation
US7046245B2 (en) 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
US7081893B2 (en) 2001-10-10 2006-07-25 Sony Computer Entertainment America Inc. System and method for point pushing to render polygons in environments with changing levels of detail
CA2429876A1 (en) * 2003-05-27 2004-11-27 Ibm Canada Limited - Ibm Canada Limitee Testing computer applications
US7114112B2 (en) * 2003-06-18 2006-09-26 International Business Machines Corporation Method, system, and program for simulating Input/Output (I/O) requests to test a system
US7155553B2 (en) * 2003-08-14 2006-12-26 Texas Instruments Incorporated PCI express to PCI translation bridge
WO2005036795A2 (en) * 2003-10-10 2005-04-21 Nokia Corporation Communication bus having low latency
US7558723B2 (en) * 2003-12-12 2009-07-07 Microsoft Corporation Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
US7231475B1 (en) * 2004-01-30 2007-06-12 Cisco Technology, Inc. Advanced bandwidth allocation in PCI bus architecture
US20060168269A1 (en) * 2004-12-30 2006-07-27 Microsoft Corporation Bus abstraction
JP4397858B2 (ja) * 2005-06-27 2010-01-13 株式会社ソニー・コンピュータエンタテインメント エミュレート装置及びエミュレート方法
JP2007048019A (ja) * 2005-08-10 2007-02-22 Sony Computer Entertainment Inc エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth
US7809547B2 (en) * 2005-12-29 2010-10-05 Guenthner Russell W Host computer system emulating target system legacy software and providing for incorporating more powerful application program elements into the flow of the legacy software
CN100488175C (zh) * 2006-09-12 2009-05-13 华为技术有限公司 串行级联总线上行流控方法及节点设备
US8149242B2 (en) 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
US8473647B2 (en) * 2007-09-17 2013-06-25 Apple Inc. Methods and apparatus for decreasing power consumption and bus activity
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
CN101676890B (zh) * 2008-08-15 2012-05-16 北京北大众志微系统科技有限责任公司 一种动态调整带宽分配的总线仲裁方法及仲裁器
JP5415779B2 (ja) * 2009-02-19 2014-02-12 株式会社ソニー・コンピュータエンタテインメント 互換アダプタ装置および互換処理方法
JP2011034495A (ja) * 2009-08-05 2011-02-17 Panasonic Corp メモリアクセス装置、及び映像処理システム
CN101788947B (zh) * 2010-02-09 2012-10-17 华为技术有限公司 系统总线的监测方法、系统总线监测器及片上系统
CN102318289B (zh) * 2011-07-29 2014-12-10 华为技术有限公司 带宽调整方法、总线控制器及信号转换器
SG11201404726TA (en) * 2012-02-21 2014-09-26 Applied Materials Inc Enhanced re-hosting capability for legacy hardware and software
JP2013196667A (ja) * 2012-03-23 2013-09-30 Ricoh Co Ltd 画像処理装置
CN103455458A (zh) * 2012-05-28 2013-12-18 鸿富锦精密工业(深圳)有限公司 多gpu环境下pci_e总线带宽调整方法及系统
US9858235B2 (en) * 2012-11-15 2018-01-02 Advanced Micro Devices, Inc. Emulated legacy bus operation over a bit-serial bus
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
EP3129958B1 (en) 2014-04-05 2021-06-02 Sony Interactive Entertainment LLC Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9760113B2 (en) 2015-02-20 2017-09-12 Sony Interactive Entertainment America Llc Backward compatibility through use of spoof clock and fine grain frequency control
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance

Also Published As

Publication number Publication date
JP2019505046A (ja) 2019-02-21
JP2020170541A (ja) 2020-10-15
CN116401184B (zh) 2024-07-16
CN108885553B (zh) 2022-12-27
EP3405866A4 (en) 2019-08-07
CN116401184A (zh) 2023-07-07
EP3405866A1 (en) 2018-11-28
KR102160414B1 (ko) 2020-09-28
US20170212820A1 (en) 2017-07-27
JP6987185B2 (ja) 2021-12-22
EP4145297A1 (en) 2023-03-08
KR20180104077A (ko) 2018-09-19
CN108885553A (zh) 2018-11-23
US10102094B2 (en) 2018-10-16
WO2017127634A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
JP5170782B2 (ja) ヘテロジニアス処理ユニットのための集中デバイス仮想化レイヤ
JP5902175B2 (ja) Gpu利用可能仮想マシンの負荷分散技法
CN105830026B (zh) 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法
US7484016B2 (en) Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US9110702B2 (en) Virtual machine migration techniques
JP5180373B2 (ja) 仮想化環境における割り込みメッセージ終了のレイジー処理
WO2018119952A1 (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
US8930568B1 (en) Method and apparatus for enabling access to storage
CN109977037B (zh) 一种dma数据传输方法及系统
JP6974510B2 (ja) データを処理するための方法、装置、デバイス及び媒体
KR102315102B1 (ko) 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체
Markussen et al. Smartio: Zero-overhead device sharing through pcie networking
CN111857943A (zh) 数据处理的方法、装置与设备
WO2015154226A1 (zh) 一种虚拟化环境中的数据通信的方法、装置及处理器
JP6728370B2 (ja) 下位互換性のためのレガシーバス動作のシミュレーション
Shukla et al. Shared memory heterogeneous computation on PCIe-supported platforms
US11119787B1 (en) Non-intrusive hardware profiling
JPWO2018173300A1 (ja) I/o制御方法およびi/o制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200701

R150 Certificate of patent or registration of utility model

Ref document number: 6728370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250