TWI739112B - 提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 - Google Patents
提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI739112B TWI739112B TW108118437A TW108118437A TWI739112B TW I739112 B TWI739112 B TW I739112B TW 108118437 A TW108118437 A TW 108118437A TW 108118437 A TW108118437 A TW 108118437A TW I739112 B TWI739112 B TW I739112B
- Authority
- TW
- Taiwan
- Prior art keywords
- current version
- application
- weaker
- systems
- frequency
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/08—Digital computers in general; Data processing equipment in general using a plugboard for programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/08—Digital computers in general; Data processing equipment in general using a plugboard for programming
- G06F15/10—Tabulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
若一應用程式經設計以用於一系統之一當前版本,則該應用程式在一第一操作頻率下運行,且若該應用程式經設計以用於在低於該第一操作頻率之一頻率下操作的該系統之一先前版本,則該應用程式在一第二操作頻率下運行。該第二操作頻率可高於該系統之該先前版本之該操作頻率以考慮該等兩個系統之間的等待時間、生產量或其他處理特性的差異。軟體可讀循環計數器係基於在該系統之該先前版本之該操作頻率,而非真實的操作頻率下運行的一欺騙時脈。應強調,提供此摘要以遵守要求摘要將允許某一檢索者或其他讀者迅速確認本技術揭示案之標的的規則。該摘要係在理解其將不用以解釋或限制申請專利範圍之範疇或含義的情況下提交。
Description
本揭示案之態樣係關於在電腦系統上執行電腦應用程式。詳言之,本揭示案之態樣係關於提供針對電腦系統之較舊版本設計的應用程式/標題之向後相容性的系統或方法。
現代電腦系統對於不同的計算任務經常使用不同的處理器。除了中央處理單元(CPU)之外,現代電腦可具有專用於圖形管線中之某些計算任務的圖形處理單元(GPU),兩者皆可能為亦可含有其他單元之加速處理單元(APU)的一部分。
能力較強之中央處理單元(CPU)、圖形處理單元(GPU)及加速處理單元(APU)可具有較高等待時間,或與能力較弱之組件不同的等待時間特性。舉例而言,能力較強之GPU與能力較弱之GPU相比在其紋理管線方面可 具有較多階段。在此情況下,此管線之等待時間增加。在另一實例中,能力較強之APU對於CPU可含有L3高速緩存,相比之下能力較弱之APU沒有此高速緩存。在此情況下,隨著針對能力較強之APU存取丟失所有高速緩存之資料所需的時間增加,記憶體等待時間特性不同,但針對能力較強之APU的平均等待時間將減少。
能力較強之裝置及能力較弱之裝置可能夠執行相同的處理(例如,在CPU上執行程式指令或在GPU上執行各種程式及固定功能操作),但此處理之等待時間的差異可導致能力較強之裝置無法相對於能力較弱之裝置向後相容。類似地,在處理速度或生產量方面可存在差異,此導致能力較強之裝置無法向後相容。舉例而言,對於某些類型之處理,能力較強之裝置可能夠在相同的時間間隔內執行較多處理迭代。或者,能力較強之裝置可使用不同的演算法來執行處理,該等演算法導致行為比能力較弱之裝置快或慢,此取決於環境。
在視訊遊戲控制台之情況下,操作通常處於設定的時脈頻率,且對軟體應用程式進行測試以在此設定的頻率下獲得恰當操作。有時,需要在能力較強之控制台上運行針對原始的能力較弱之控制台創建的應用程式。此能力經常稱作“向後相容性”。在此等情況下,能力較強之裝置需要能夠運行針對能力較弱之裝置創建的應用程式而不會對等待時間或處理速度之差異產生不利影響。
此在本揭示案之態樣形成的背景內。
100‧‧‧計算系統
110‧‧‧加速處理單元
120‧‧‧CPU
121‧‧‧作業系統
122‧‧‧應用程式
124‧‧‧圖形API
125、135‧‧‧欺騙時脈
130‧‧‧圖形處理單元(GPU)
132‧‧‧硬體模組
134‧‧‧著色器
136‧‧‧光柵器模組
140‧‧‧記憶體
142‧‧‧圖形記憶體
144‧‧‧顯現目標
145‧‧‧顏色緩衝區
146‧‧‧深度緩衝區
147‧‧‧顯示緩衝區
150‧‧‧支援功能
152‧‧‧輸入/輸出(I/O)
156C‧‧‧CPU時脈
156G‧‧‧GPU時脈
158‧‧‧快取記憶體
160‧‧‧大容量儲存裝置
162‧‧‧電腦可讀媒體
170‧‧‧使用者介面
172‧‧‧網路介面
180‧‧‧顯示器
182‧‧‧圖形
190‧‧‧資料匯流排
CCC、CCG‧‧‧循環計數器
可易於藉由結合附圖考慮以下詳細描來理解本揭示案之教示,在附圖中:圖1為圖示根據本揭示案之態樣的可在各種操作頻率下組態之系統的方塊圖。
圖2為圖示根據本揭示案之態樣的判定系統之操作頻率的可能的過程流之實例的流程圖。
儘管以下詳細描述出於圖示之目的含有許多特定細節,然而一般熟習此項技術者將瞭解,以下細節之許多變化及更改在本發明之範疇內。因此,闡述下文所描述之本發明之例示性實施例而完全不失所主張之發明的一般性且不對所主張之發明施加限制。
導言
若干方法可用於在能力較強之控制台上運行針對能力較弱之控制台創建的應用程式。在一個實例中,能力較強之控制台可經設定以在原始控制台之頻率下運行。在此頻率設定下,能力較強之控制台的操作將基於在任何時刻正執行之特定處理而變化,且可歸因於正執行之彼特定處理的等待時間(及其他)特性而比能力較弱之控制台慢或快。當能力較強之控制台的操作比原始控制台慢時,可歸因於無法滿足顯示時序、音訊流輸出或類似者施加之即時截止時間而在應用程式中發生許多錯誤。
在另一實例中,能力較強之控制台可經設定以在遠高於原始控制台之頻率下運行。操作速度將基於正執行之處理的特定性而變化,但其將始終如一地高於原始控制台且因此可順利地滿足即時截止時間。然而,歸因於此高速操作之未經測試的結果,應用程式中可發生許多錯誤。舉例而言,在生產者-消費者模型中,若資料之消費者以高於最初預期之速度操作,則其可在資料生產者使資料可用之前試圖存取資料,且儘管可存在同步機制,然而其不可能在此等狀況下在原始控制台上測試。替代地,若資料之生產者以高於最初預期之速度操作,則其可重寫仍正由資料消費者使用之資料。
實施例
本揭示案之實施例提供將控制台(亦即,能力較強之控制台)設定為在高於控制台之先前版本(亦即,能力較弱之控制台)的頻率下運行的系統及方法。理想地,能力較強之控制台之頻率設定為稍高於原始控制台之操作頻率,此係因為能力較強之控制台的操作速度基於在任何時刻正執行之處理的特定性而變化。藉由此組態,錯誤發生率可最小化,此係因為操作速度不會大得足以觸發高速操作之無意結果,亦不會足夠低以致無法滿足即時截止時間。
詳言之,在不需要抵消處理之等待時間、生產量或其他態樣之差異的影響的情況下,能力較強之控制 台僅可在兩個頻率下操作:針對經創建以在能力較強之控制台上運行之應用程式的較高頻率,及為了向後相容性而與原始控制台相同的頻率(亦即,當運行針對原始控制台創建之應用程式時)。但歸因於需要抵消處理之等待時間、生產量及其他態樣之差異的影響,需要對操作頻率具有細粒度控制,使得能力較強之控制台可在稍高於原始控制台之頻率下運行。確切頻率設定可藉由實驗使用控制台及各種軟體應用程式兩者來判定,或頻率設定可隨應用程式而變化,或頻率設定可取決於應用程式之效能特性時時刻刻變化。
應注意,軟體應用程式可存取循環計數器,例如,CPU或GPU之操作循環的計數器,或替代地以較慢速率遞增之計數器,舉例而言,計數器可在每當CPU或GPU完成16個時脈循環時遞增。由於CPU及GPU之頻率在原始控制台上為固定的,因此應用程式可依賴於此時序之一致性。舉例而言,軟體應用程式可關於CPU與GPU之間的時脈比做出假設。替代地,應用程式可使用GPU循環計數器以計算至下一垂直消隱間隔之時間,且接著在開始垂直消隱之前修改正執行之顯現操作以便確保所有顯現為完整的。
當此相同的軟體應用程式在能力較強之控制台上在較高頻率下運行時,可因為使用循環計數器而發生許多錯誤。舉例而言,因為在較高頻率下,垂直消隱間隔之間的循環數目將較大,因此關於在下一垂直消隱間隔開 始之前的可用時間的計算將不正確,從而導致關於所執行之顯現的不恰當的決策且可能導致致命錯誤。
因此,本揭示案之態樣亦提供以欺騙時脈替換真實的循環計數器之系統及方法,欺騙時脈傳回對應於能力較弱之控制台之頻率的數目。循環計數器之讀數是否傳回真實的循環計數,或替代地其是否傳回欺騙時脈值取決於使用情況且將由作業系統組態。本揭示案之實施例提供經組態以在兩種模式下操作之系統。第一模式為正常模式,其中系統在正常操作頻率下操作,且第二模式為相容模式,其中系統在假設系統與其他系統(例如,系統之舊版本)之間相容的情況下操作。系統經組態以在正常模式中啟動及操作。然而,當運行最初針對系統之較舊版本設計的應用程式或標題時,系統可經組態以針對所載入之應用程式切換至合適的操作頻率。
現轉向圖1,描繪了根據本揭示案之態樣的經組態以在各種頻率下操作之計算系統100的說明性實例。根據本揭示案之態樣,系統100可為嵌入式系統、移動電話、個人電腦、平板電腦、攜帶型遊戲裝置、工作站、遊戲控制台及類似者。
系統一般而言可包括處理器及記憶體,其經組態以例如藉由執行在特徵方面與下文論述之圖2的方法有共同之處的方法以實施本揭示案之態樣。在圖示實例中,處理器為加速處理單元110,其包括中央處理單元(CPU)120及單晶片上之圖形處理單元(GPU)130。在替代 實施方案中,CPU 120及GPU 130可實施為單獨晶片上之單獨硬體組件。系統100亦可包括記憶體140。記憶體140可視情況包括CPU 120及GPU 130可存取之主記憶體單元,且主記憶體之一部分可視情況包括圖形記憶體142之一部分。CPU 120及GPU 130可各自包括一個或多個處理器核,例如,單核、雙核、四核、八核或更多核。CPU 120及GPU 130可經組態以使用資料匯流排190存取一個或多個記憶體單元,且在一些實施方案中,其可用於系統100以包括兩個或兩個以上不同的匯流排。
記憶體140可包括呈積體電路之形式的一個或多個記憶體單元,其提供可定址記憶體,例如,RAM、DRAM及類似者。記憶體含有經組態以在執行時實施圖2之方法以用於判定系統之操作頻率的可執行指令。另外,圖形記憶體142可臨時儲存圖形資源、圖形緩衝區及用於圖形顯現管線之其他圖形資料。圖形緩衝區可包括例如用於儲存頂點參數值之一個或多個頂點緩衝區及用於儲存頂點索引之一個或多個索引緩衝區。圖形緩衝區亦可包括一個或多個顯現目標144,其可包括容納根據本揭示案之態樣計算的像素/樣本值之顏色緩衝區145及深度緩衝區146。在某些實施方案中,顏色緩衝區145及/或深度緩衝區146可用以判定待儲存在顯示緩衝區147中之顯示像素顏色值之最終陣列,其可構成意欲呈現於顯示器上之最終顯現的影像。在某些實施方案中,顯示緩衝區可包括前緩衝區及一個或多個後緩衝區,且GPU 130可經組態以自顯 示緩衝區147之前緩衝區掃描輸出圖形幀以用於呈現於顯示器180上。
CPU 120可經組態以執行CPU程式碼,CPU 120可包括作業系統121或應用程式122,其利用所顯現之圖形(諸如視訊遊戲)及對應圖形API 124以用於基於應用程式122之狀態來向GPU 130實施之程式發布繪製命令或繪製調用。CPU程式碼亦可實施實體模擬及其他功能。CPU及GPU時脈156C、156G可經組態以允許CPU及GPU基於與系統100之標準時脈速率不同的時脈速率來執行指令。作為實例,且不作為限制,若應用程式122用於系統100之能力較弱的版本,則時脈頻率156C、156G之值可對應於能力較弱之版本的時脈頻率,或稍高於因系統100之等待時間較高而出現問題時的頻率。
為了支援圖形之顯現,GPU 130可執行著色器134,其可包括頂點著色器及像素著色器。GPU亦可執行其它著色器程式,諸如,例如幾何著色器、細分曲面著色器、計算著色器及類似者。GPU 130亦可包括特殊硬體模組132,其可包括一個或多個紋理映射單元及/或經組態以在圖形管線之一個或多個階段下實施操作的其他硬體模組。著色器134及硬體模組132可在最終像素值輸出至顯示器之前在管線中的各階段下與記憶體140及緩衝區144中之資料介接。經組態以由APU 110、CPU 120及GPU 130執行之著色器134及/或其他程式可作為指令儲存在非暫時性電腦可讀媒體中。作為實例且不作為實施方案, GPU可實施光柵器模組136,其可經組態以針對螢幕空間像素獲取多個原始樣本且根據樣本性質調用一個或多個像素著色器。
系統100亦可包括眾所周知的支援功能150,其可例如經由匯流排190與系統之其他組件通信。此等支援功能可包括但不限於輸入/輸出(I/O)元件152、可包括分別用於CPU 120及GPU 130之單獨時脈156C、156G的一個或多個時脈,及快取記憶體158。系統100可視情況包括用以儲存程式及/或資料之大容量儲存裝置160,諸如磁碟機、CD-ROM驅動器、快閃記憶體、磁帶驅動器、藍光光碟驅動器或類似者。在一個實例中,大容量儲存裝置160可接收含有最初經設計以在能力較弱之系統上運行之舊有應用程式的電腦可讀媒體162。替代地,舊有應用程式162(或其一部分)可儲存於記憶體140中或部分儲存於快取記憶體158中。
裝置100亦可包括用以向使用者呈現所顯現之圖形182的顯示單元180及促進系統100與使用者之間的互動的使用者介面單元170。顯示單元180可呈以下形式:平板顯示器、陰極射線管(CRT)螢幕、觸控螢幕、頭戴式顯示器(HMD)或可顯示文字、數字、圖形符號或影像之其他裝置。顯示器180可顯示根據本文中描述之各種技術處理的所顯現之圖形182。使用者介面170可含有一個或多個周邊設備,諸如鍵盤、滑鼠、操縱杆、光筆、遊戲控制器、觸控螢幕及/或可結合圖形使用者介面(GUI)使用 之其他裝置。在某些實施方案中,應用程式122之狀態及圖形之基本內容可至少部分由藉由使用者介面170進行之使用者輸入判定,例如,在應用程式122包括視訊遊戲之視訊遊戲實施方案中。
系統100亦可包括使得裝置能夠經由網路與其他裝置通信之網路介面172。網路可為例如區域網路(LAN)、廣域網路(諸如網際網路)、個人區域網路(諸如藍芽網路)或其他類型的網路。所示及所描述組件中之各者可以硬體、軟體或韌體,或其中兩者或兩者以上之某一組合實施。
根據本揭示案之態樣,CPU 120可包括實施循環計數器CCC以使CPU操作之執行同步的硬體組件。GPU 130可類似地包括實施循環計數器CCG以使GPU操作之執行同步的硬體組件。循環計數器CCC、CCG自時脈讀取時脈循環,其可為對應的標準時脈156C、156G或對應的欺騙時脈125、135。根據本揭示案之態樣,當運行針對系統100之當前版本編寫的應用程式時,循環計數器CCC、CCG可經組態以自標準時脈156C、156G讀取循環,而當運行針對系統之能力較弱之版本編寫的應用程式時,循環計數器CCC、CCG可經組態以自欺騙時脈125、135讀取循環,欺騙時脈125、135可設定為硬體之能力較弱之版本的標準操作頻率。
圖2為圖示根據本揭示案之態樣的判定控制台之操作頻率的可能的過程流之實例的流程圖,過程流由 作業系統121或其他軟體或硬體機構實施。在201處,當將應用程式122載入以在系統100上運行時,操作可在正常模式中開始。首先,經由軟體ID、軟體核對和、與軟體相關聯之元資料、媒體類型或其它機構之檢查判定應用程式122是否經設計用於此系統或用於系統之先前版本,如210處所指示。當判定所載入之應用程式意欲用於系統100時,系統可在正常頻率下運行,如220處所指示。舉例而言,CPU 120及GPU 130可分別在其正常操作頻率下運行。詳言之,循環計數器CCC、CCG可讀取對應時脈156C及156G,如222處所指示。
當所載入之應用程式122經設計以用於系統100之能力較弱之版本時,系統可判定無錯誤操作之時脈頻率,如230處所指示。作為實例且不作為限制,時脈156C、156G可經設定以在稍高於能力較弱之系統中之對應時脈頻率的頻率下運行CPU 120及GPU 130。替代地,時脈頻率156C、156G可即時地調整,使得當系統100之操作速度基於任何時刻正執行之處理的特定性而變化時,處理以與能力較弱之系統相同的速度或比其稍快的速度發生。可以考慮CPU 120及/或GPU 130之處理的較高等待時間、生產量及其他態樣之影響的方式判定時脈頻率。欺騙時脈頻率125、135經設定以對應於能力較弱之系統之CPU及GPU操作的標準頻率,如232處所指示。詳言之,循環計數器CCC、CCG經組態以讀取對應的欺騙時脈125及135,如234處所指示。
為了給出實例,系統之先前版本的GPU可在500MHz之GPU時脈下運行,且當前系統可在750MHz之GPU時脈156G下運行。當載入經設計以僅用於當前系統之應用程式時,系統在156G設定為750MHz的情況下運行。在此實例中,循環計數器CCG將對應於750MHz頻率(亦即,其為真實循環計數器)。當載入舊有應用程式(亦即,經設計以用於系統之先前版本的應用程式)時,系統100可在稍高於先前系統之操作頻率的頻率(例如,156G設定為505MHz的情況下)下運行。在此向後相容模式中,GPU欺騙時脈135將經組態以在500MHz下運行,且循環計數器CCG將自欺騙時脈衍生,因而向舊有應用程式提供預期值。
當前系統在等待時間特性、生產量或用於計算之演算法方面與先前系統不同,因此儘管計算結果可能相同,然而控制台之操作速度將基於所執行之操作的特定性而變化。因此,當載入之應用程式122為舊有應用程式時,可能需要將時脈156C、156G設定為藉由對所載入之特定應用程式進行測試判定的值,例如藉由在較高時脈頻率下運行且逐步減小有效時脈頻率直到處理錯誤不再發生為止。亦可能需要基於應用程式之效能特性動態地調整時脈156C、156G。
本揭示案之態樣克服了針對能力較弱之系統編寫的程式在能力較強之系統上運行時出現的向後相容性問題。調整能力較強之系統之系統時脈速率適應裝置之間 的差異。使可讀循環計數器基於欺騙時脈而非真實時脈允許舊有應用程式碼之正確操作。
儘管以上內容為對本發明之較佳實施例的完整描述,但有可能使用各種替代方案、修改及等效物。因此,本發明之範疇不應參考以上描述判定,而應替代地參考所附申請專利範圍連同其等效物的全範疇判定。本文中描述之無論是否為較佳的任何特徵都可與本文中描述之無論是否為較佳的任何其他特徵組合。在以下申請專利範圍中,除非另外明確陳述,否則不定冠詞“一”指該冠詞之後的項目中之一者或多者的數量。所附申請專利範圍不應解釋為包括構件加功能限制,除非此限制在給定申請專利範圍中使用短語“用於......之構件”明確地敍述。
Claims (21)
- 一種提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法,其包含:在判定載入在系統之當前版本上的應用程式是用於能力較弱或其他系統之後,a)當該應用程式經設計以用於該系統之該當前版本時,在處理器上以該系統之該當前版本之標準時脈頻率運行該應用程式;以及b)當該應用程式經設計以用於具有不同標準時脈頻率之該能力較弱或替代系統時以第二時脈頻率運行該應用程式,其中該第二時脈頻率小於該不同標準時脈頻率。
- 如申請專利範圍第1項所述之方法,其中該第二時脈頻率大於該不同標準時脈頻率。
- 如申請專利範圍第1項所述之方法,其中b)包括基於該系統之該當前版本與該能力較弱或其他系統之間的等待時間或等待時間特性的差異、基於該系統之該當前版本與該能力較弱或其他系統之間的生產量或操作速度的差異、或基於該系統之該當前版本與該能力較弱或其他系統之間關於用於計算之演算法的差異來設定該第二頻率。
- 如申請專利範圍第1項所述之方法,其中該系統之該當前版本包括軟體可讀循環計數器,其以該能力較弱或其他系統之該標準操作頻率或略高於該標準時鐘頻率的速率遞增,以避免在操作時觸發錯誤。
- 如申請專利範圍第1項所述之方法,其中該系統 之該當前版本包括軟體可讀循環計數器,其中b)包括以該能力較弱或其他系統之該標準操作頻率略高於該標準時鐘頻率的速率遞增,以避免在操作時觸發錯誤,以及a)包括使該循環計數器以不同速率遞增。
- 如申請專利範圍第1項所述之方法,其中a)中的該處理器包括以該系統之該當前版本之該標準時脈頻率運行的時脈組,其中在b)中的運行該應用程式包括設定第二時脈使該處理器以該第二時脈頻率運行以及針對不同應用程式將該第二操作頻率設定為不同值。
- 如申請專利範圍第1項所述之方法,其中b)包括基於當前正在該處理器上運行之該應用程式的效能特性動態地設定該第二操作頻率。
- 如申請專利範圍第1項所述之方法,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的等待時間或等待時間特性的差異來判定該第二操作頻率。
- 如申請專利範圍第1項所述之方法,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的生產量的差異來判定該第二操作頻率。
- 如申請專利範圍第1項所述之方法,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的關於用於計算之演算法的差異來判定該第二操作頻率。
- 一種提供經由使用欺騙時脈及細粒度頻率控制實 現之向後相容性的系統,其包含:處理器;記憶體;以及嵌入在該記憶體中的處理器可執行指令,該等指令被組態以在由該處理器執行之後實施方法,該方法包含:在判定載入在該系統之當前版本上的應用程式是用於該系統之該當前版本還是用於能力較弱或其他系統之後,a)當該應用程式經設計以用於該系統之該當前版本時,在處理器上以該系統之該當前版本之標準時脈頻率運行該應用程式;以及b)當該應用程式經設計以用於具有不同標準時脈頻率之該能力較弱或其他系統時以第二時脈頻率運行該應用程式,其中該第二時脈頻率小於該不同標準時脈頻率。
- 如申請專利範圍第11項所述之系統,其中該第二時脈頻率大於該不同標準時脈頻率。
- 如申請專利範圍第11項所述之方法,其中b)包括基於該系統之該當前版本與該能力較弱或其他系統之間的等待時間或等待時間特性的差異、基於該系統之該當前版本與該能力較弱或其他系統之間的生產量或操作速度的差異、或基於該當前系統與該能力較弱或其他系統之間關於用於計算之演算法的差異來設定該第二頻率。
- 如申請專利範圍第11項所述之系統,其中該系統之該當前版本包括軟體可讀循環計數器,其以該能力較弱或其他系統之該標準操作頻率或略高於該標準時鐘頻率 的速率遞增,以避免在操作時觸發錯誤。
- 如申請專利範圍第11項所述之系統,其中該系統之該當前版本包括軟體可讀循環計數器,其中b)包括以該能力較弱或其他系統之該標準操作頻率略高於該標準時鐘頻率的速率遞增,以避免在操作時觸發錯誤,以及b)包括使該循環計數器以不同速率遞增。
- 如申請專利範圍第11項所述之系統,其中b)包括針對不同應用程式將該第二時脈頻率設定為不同值。
- 如申請專利範圍第11項所述之系統,其中b)包括基於當前正在該處理器上運行之該應用程式的效能特性動態地設定該第二操作頻率。
- 如申請專利範圍第11項所述之系統,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的等待時間或等待時間特性的差異來判定該第二操作頻率。
- 如申請專利範圍第11項所述之系統,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的生產量的差異來判定該第二操作頻率。
- 如申請專利範圍第11項所述之系統,其中b)更包括藉由考慮該系統之該當前版本與該能力較弱或其他系統之間的關於用於計算之演算法的差異來判定該第二操作頻率。
- 一種非暫態電腦可讀取媒體,其具有嵌入其中的電腦可讀取指令,該等指令被組態以在由處理器執行之後 實施方法,該方法包含:在判定載入在系統之當前版本上的應用程式是用於該系統之該當前版本還是用於能力較弱或其他系統之後,a)當該應用程式經設計以用於該系統之該當前版本時,在處理器上以該系統之該當前版本之標準時脈頻率運行該應用程式;以及b)當該應用程式經設計以用於具有不同標準時脈頻率之該能力較弱或其他系統時以第二時脈頻率運行該應用程式,其中該第二時脈頻率小於該系統之該當前版本之該標準時脈頻率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/627,988 | 2015-02-20 | ||
US14/627,988 US9760113B2 (en) | 2015-02-20 | 2015-02-20 | Backward compatibility through use of spoof clock and fine grain frequency control |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201937332A TW201937332A (zh) | 2019-09-16 |
TWI739112B true TWI739112B (zh) | 2021-09-11 |
Family
ID=56692494
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105135728A TWI615701B (zh) | 2015-02-20 | 2016-01-26 | 經由使用欺騙時脈及細粒度頻率控制實現之向後相容性 |
TW108118437A TWI739112B (zh) | 2015-02-20 | 2016-01-26 | 提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 |
TW106142239A TWI669592B (zh) | 2015-02-20 | 2016-01-26 | 提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 |
TW105102350A TWI569128B (zh) | 2015-02-20 | 2016-01-26 | 經由使用欺騙時脈及細粒度頻率控制實現之向後相容性 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105135728A TWI615701B (zh) | 2015-02-20 | 2016-01-26 | 經由使用欺騙時脈及細粒度頻率控制實現之向後相容性 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106142239A TWI669592B (zh) | 2015-02-20 | 2016-01-26 | 提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 |
TW105102350A TWI569128B (zh) | 2015-02-20 | 2016-01-26 | 經由使用欺騙時脈及細粒度頻率控制實現之向後相容性 |
Country Status (7)
Country | Link |
---|---|
US (4) | US9760113B2 (zh) |
EP (2) | EP3761186A1 (zh) |
JP (1) | JP6467062B2 (zh) |
KR (1) | KR101862180B1 (zh) |
CN (2) | CN107251004B (zh) |
TW (4) | TWI615701B (zh) |
WO (1) | WO2016134071A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US10068311B2 (en) | 2014-04-05 | 2018-09-04 | Sony Interacive Entertainment LLC | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
US11302054B2 (en) | 2014-04-05 | 2022-04-12 | Sony Interactive Entertainment Europe Limited | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
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 |
US9892024B2 (en) | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
KR102179237B1 (ko) | 2016-01-22 | 2020-11-16 | 주식회사 소니 인터랙티브 엔터테인먼트 | 하위 호환성을 위한 cpuid 스푸핑 |
CN108885553B (zh) | 2016-01-22 | 2022-12-27 | 索尼互动娱乐股份有限公司 | 模拟向后兼容的传统总线行为 |
US10915333B2 (en) * | 2016-03-30 | 2021-02-09 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
US10409319B2 (en) * | 2017-04-17 | 2019-09-10 | Intel Corporation | System, apparatus and method for providing a local clock signal for a memory array |
WO2023113822A1 (en) * | 2021-12-17 | 2023-06-22 | Google Llc | Loading state detection for gaming applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5125088A (en) * | 1986-09-08 | 1992-06-23 | Compaq Computer Corporation | Computer system speed control at continuous processor speed |
US6278338B1 (en) * | 2000-05-01 | 2001-08-21 | Silicon Wave Inc. | Crystal oscillator with peak detector amplitude control |
TWI417703B (zh) * | 2010-07-22 | 2013-12-01 | Genesys Logic Inc | 相容於通用序列匯流排協定之時脈同步方法 |
TWI460572B (zh) * | 2009-12-04 | 2014-11-11 | Via Tech Inc | 時脈產生器以及通用串列匯流排模組 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787032A (en) * | 1986-09-08 | 1988-11-22 | Compaq Computer Corporation | Priority arbitration circuit for processor access |
DE69230117T2 (de) * | 1991-06-17 | 2000-06-15 | Sun Microsystems, Inc. | Verfahren und Gerät, die es Rechnerschaltkreisen ermöglichen, mit aktualisierten Versionen von Rechnersoftware zu funktionieren |
JP3866781B2 (ja) * | 1994-05-26 | 2007-01-10 | セイコーエプソン株式会社 | 消費電力を効率化した情報処理装置 |
US5623647A (en) | 1995-03-07 | 1997-04-22 | Intel Corporation | Application specific clock throttling |
JP3272918B2 (ja) * | 1995-10-06 | 2002-04-08 | 富士通株式会社 | 並列処理計算機システムおよび同システム用構成装置並びに並列処理計算機システムにおけるクロック・チューニング方法 |
US6298448B1 (en) | 1998-12-21 | 2001-10-02 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automatic CPU speed control based on application-specific criteria |
US6681192B2 (en) * | 2000-09-23 | 2004-01-20 | Microsoft Corporation | Systems and methods for fast timer calibration |
US20020108064A1 (en) * | 2001-02-07 | 2002-08-08 | Patrick Nunally | System and method for optimizing power/performance in network-centric microprocessor-controlled devices |
JP2005506611A (ja) | 2001-10-10 | 2005-03-03 | ソニー・コンピュータ・エンタテインメント・アメリカ・インク | 環境マッピングシステムおよび方法 |
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 |
US7171606B2 (en) | 2003-03-25 | 2007-01-30 | Wegener Communications, Inc. | Software download control system, apparatus and method |
US7496776B2 (en) * | 2003-08-21 | 2009-02-24 | International Business Machines Corporation | Power throttling method and apparatus |
US20050076253A1 (en) * | 2003-10-05 | 2005-04-07 | De-Jen Lu | Method of url-based power management and associated web browsing device |
US7281145B2 (en) * | 2004-06-24 | 2007-10-09 | International Business Machiness Corporation | Method for managing resources in a CPU by allocating a specified percentage of CPU resources to high priority applications |
EP1803062A1 (en) * | 2004-09-20 | 2007-07-04 | Sony Computer Entertainment Inc. | Methods and apparatus for distributing software applications |
JP2006099411A (ja) * | 2004-09-29 | 2006-04-13 | Oki Electric Ind Co Ltd | ソフトウェアの使用制限方法 |
US8274518B2 (en) * | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
US7930693B2 (en) * | 2005-04-04 | 2011-04-19 | Cisco Technology, Inc. | Method and system for accessing and launching a java based applet as a locally installed application |
FI20065165L (fi) | 2006-03-15 | 2007-09-16 | Abb Oy | Taajuusmuuttajan ohjain, oheislaite, menetelmä ja ohjelma |
US8149242B2 (en) | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
US9760146B2 (en) * | 2007-01-08 | 2017-09-12 | Imagination Technologies Limited | Conditional activation and deactivation of a microprocessor |
US7941684B2 (en) * | 2008-02-28 | 2011-05-10 | Advanced Micro Devices, Inc. | Synchronization of processor time stamp counters to master counter |
US20100164966A1 (en) * | 2008-12-31 | 2010-07-01 | Apple Inc. | Timing controller for graphics system |
US20100199118A1 (en) * | 2009-02-03 | 2010-08-05 | Atmel Corporation | Microcontroller with compatibility mode |
US8276015B2 (en) | 2009-02-23 | 2012-09-25 | International Business Machines Corporation | Managing the power-performance range of an application |
US8463884B2 (en) | 2009-04-08 | 2013-06-11 | Microsoft Corporation | Synchronization of mobile device with application server |
US8706652B2 (en) | 2009-06-09 | 2014-04-22 | Northwestern University | System and method for controlling power consumption in a computer system based on user satisfaction |
TWI423017B (zh) * | 2010-06-21 | 2014-01-11 | Ind Tech Res Inst | 效能調整裝置、具有此效能調整裝置的處理器及其效能調整方法 |
US8863114B2 (en) | 2010-12-06 | 2014-10-14 | Red Hat, Inc. | Managing software packages using a version control system |
US9891939B2 (en) | 2011-03-03 | 2018-02-13 | Microsoft Technology Licensing, Llc | Application compatibility with library operating systems |
US8707289B2 (en) * | 2011-07-20 | 2014-04-22 | Google Inc. | Multiple application versions |
US9196013B2 (en) * | 2011-10-31 | 2015-11-24 | Apple Inc. | GPU workload prediction and management |
US9928751B2 (en) * | 2012-06-29 | 2018-03-27 | Apple Inc. | Generic media covers |
KR20140030823A (ko) * | 2012-09-04 | 2014-03-12 | 삼성전자주식회사 | 3차원 작업 부하를 이용하여 dvfs 정책을 수행하는 시스템-온 칩 및 이의 동작 방법 |
US9858095B2 (en) * | 2012-09-17 | 2018-01-02 | International Business Machines Corporation | Dynamic virtual machine resizing in a cloud computing infrastructure |
GB2508599A (en) * | 2012-12-04 | 2014-06-11 | Ibm | Software version management when downgrading software |
CN103118290B (zh) * | 2013-02-28 | 2016-11-16 | 北京奇虎科技有限公司 | 程序安装适配性的检测方法、装置及*** |
US10409353B2 (en) * | 2013-04-17 | 2019-09-10 | Qualcomm Incorporated | Dynamic clock voltage scaling (DCVS) based on application performance in a system-on-a-chip (SOC), and related methods and processor-based systems |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
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 |
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 |
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 |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US10438312B2 (en) | 2014-04-05 | 2019-10-08 | Sony Interactive Entertainment LLC | Method for efficient re-rendering objects to vary viewports and under varying rendering and 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 |
US20160116954A1 (en) * | 2014-10-28 | 2016-04-28 | Linkedln Corporation | Dynamic adjustment of cpu operating frequency |
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 |
US10235219B2 (en) | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
US9892024B2 (en) | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
-
2015
- 2015-02-20 US US14/627,988 patent/US9760113B2/en active Active
-
2016
- 2016-01-26 TW TW105135728A patent/TWI615701B/zh active
- 2016-01-26 TW TW108118437A patent/TWI739112B/zh active
- 2016-01-26 TW TW106142239A patent/TWI669592B/zh active
- 2016-01-26 TW TW105102350A patent/TWI569128B/zh active
- 2016-02-17 KR KR1020177026375A patent/KR101862180B1/ko active IP Right Grant
- 2016-02-17 EP EP20191048.6A patent/EP3761186A1/en active Pending
- 2016-02-17 CN CN201680010968.XA patent/CN107251004B/zh active Active
- 2016-02-17 JP JP2017543996A patent/JP6467062B2/ja active Active
- 2016-02-17 EP EP16753011.2A patent/EP3259676B1/en active Active
- 2016-02-17 WO PCT/US2016/018346 patent/WO2016134071A1/en active Application Filing
- 2016-02-17 CN CN202110968121.5A patent/CN113791667B/zh active Active
-
2017
- 2017-09-12 US US15/701,736 patent/US10534395B2/en active Active
-
2020
- 2020-01-10 US US16/740,271 patent/US11119528B2/en active Active
-
2021
- 2021-09-14 US US17/475,164 patent/US11829197B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5125088A (en) * | 1986-09-08 | 1992-06-23 | Compaq Computer Corporation | Computer system speed control at continuous processor speed |
US6278338B1 (en) * | 2000-05-01 | 2001-08-21 | Silicon Wave Inc. | Crystal oscillator with peak detector amplitude control |
TWI460572B (zh) * | 2009-12-04 | 2014-11-11 | Via Tech Inc | 時脈產生器以及通用串列匯流排模組 |
TWI417703B (zh) * | 2010-07-22 | 2013-12-01 | Genesys Logic Inc | 相容於通用序列匯流排協定之時脈同步方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201937332A (zh) | 2019-09-16 |
KR20170113676A (ko) | 2017-10-12 |
EP3761186A1 (en) | 2021-01-06 |
TWI669592B (zh) | 2019-08-21 |
US10534395B2 (en) | 2020-01-14 |
US11119528B2 (en) | 2021-09-14 |
KR101862180B1 (ko) | 2018-05-29 |
JP2018511859A (ja) | 2018-04-26 |
TW201723723A (zh) | 2017-07-01 |
TW201809950A (zh) | 2018-03-16 |
US20220004219A1 (en) | 2022-01-06 |
TWI615701B (zh) | 2018-02-21 |
EP3259676A1 (en) | 2017-12-27 |
US20180004243A1 (en) | 2018-01-04 |
EP3259676A4 (en) | 2018-07-25 |
JP6467062B2 (ja) | 2019-02-06 |
EP3259676B1 (en) | 2020-09-23 |
US9760113B2 (en) | 2017-09-12 |
US11829197B2 (en) | 2023-11-28 |
CN113791667B (zh) | 2022-10-21 |
US20200150712A1 (en) | 2020-05-14 |
CN107251004B (zh) | 2021-09-07 |
CN107251004A (zh) | 2017-10-13 |
US20160246323A1 (en) | 2016-08-25 |
CN113791667A (zh) | 2021-12-14 |
TWI569128B (zh) | 2017-02-01 |
TW201640250A (zh) | 2016-11-16 |
WO2016134071A1 (en) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI739112B (zh) | 提供經由使用欺騙時脈及細粒度頻率控制實現之向後相容性的方法、系統以及非暫態電腦可讀取媒體 | |
US11164357B2 (en) | In-flight adaptive foveated rendering | |
EP2734923B1 (en) | Synchronization of shader operation | |
KR20160148594A (ko) | 그래픽스 프로세싱에 있어서 렌더 타깃에 기초한 플렉스 렌더링 | |
US20180166045A1 (en) | Efficient occlusion detection in display compositor | |
US8780120B2 (en) | GPU self throttling | |
US20210358079A1 (en) | Methods and apparatus for adaptive rendering | |
WO2021102772A1 (en) | Methods and apparatus to smooth edge portions of an irregularly-shaped display | |
WO2021000226A1 (en) | Methods and apparatus for optimizing frame response | |
US11238772B2 (en) | Methods and apparatus for compositor learning models | |
WO2021232328A1 (en) | Methods and apparatus for tickless pre-rendering | |
CN115660940B (zh) | 一种基于垂直消隐模拟的图形应用帧率同步方法 | |
US9159160B1 (en) | Texture sharing between application modules | |
WO2021042331A1 (en) | Methods and apparatus for graphics and display pipeline management |