專利名稱:具有qos保證的可縮放多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)。
背景技術(shù):
通常向在多媒體計(jì)算機(jī)系統(tǒng)上執(zhí)行的多媒體軟件應(yīng)用提供有關(guān)計(jì)算機(jī)系統(tǒng)的諸如硬件、固件或軟件組件之類的計(jì)算資源的分配的某種服務(wù)質(zhì)量(QoS)保證。這對游戲尤其成立。例如,可存在可用于每一個(gè)游戲的所分配的存儲器分配大小。多媒體計(jì)算機(jī)系統(tǒng)也可確保諸如游戲之類的應(yīng)用的先前版本仍將運(yùn)行,所以Qos保證可存在很多年。多媒體計(jì)算機(jī)系統(tǒng),尤其是游戲控制臺,現(xiàn)在一般提供作為其平臺的服務(wù)的一部分的常見功能。平臺的示例是XBOX 、索尼的Playstation3 或任天堂的Wii 。常見功能是許多類型的游戲或其他應(yīng)用使用的服務(wù),或與這些應(yīng)用相兼容的服務(wù)。常見的平臺功能的一些示例是顯示平面混合、顯示輸出記錄、視頻編解碼器編碼、用戶設(shè)備音樂解碼和混音、基于自動相機(jī)的玩家標(biāo)識等。另外,平臺服務(wù)可包括獨(dú)立于多媒體應(yīng)用但與多媒體應(yīng)同時(shí)運(yùn)行的功能。由于許多游戲和其他多媒體應(yīng)用現(xiàn)在可通過因特網(wǎng)來進(jìn)行交互,因此平臺服務(wù)可處理因特網(wǎng)協(xié)議消息,可提供在線聊天、朋友邀請、電子郵件,并可支持社交聯(lián)網(wǎng)服務(wù)。平臺和應(yīng)用兩者可使用共有的資源來執(zhí)行它們相應(yīng)的功能。由于支持交互性游戲和其他多媒體內(nèi)容的網(wǎng)絡(luò)連接性的形式一直在進(jìn)步,并且應(yīng)用的某些處理方面變成標(biāo)準(zhǔn),因此隨著時(shí)間的推移,平臺為各種應(yīng)用提供了越來越多的服務(wù),而仍服從針對這些多媒體應(yīng)用的相同的Qos保證,由此增加了對共享資源的爭用。
發(fā)明內(nèi)容
本技術(shù)為多媒體應(yīng)用提供了滿足服務(wù)質(zhì)量(QoS)標(biāo)準(zhǔn)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu),同時(shí)允許平臺服務(wù)隨時(shí)間而縮放的各種實(shí)施例。隨時(shí)間而縮放可允許新的服務(wù)或增強(qiáng)的當(dāng)前服務(wù)。平臺服務(wù)也可隨著時(shí)間而縮小。在用于根據(jù)一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證來為正執(zhí)行的多媒體應(yīng)用提供一致的性能的多媒體計(jì)算機(jī)系統(tǒng)的一實(shí)施例中,該系統(tǒng)包括計(jì)算資源的平臺分區(qū)、計(jì)算資源的應(yīng)用分區(qū)和至少一個(gè)共享資源。平臺分區(qū)包括含平臺中央處理單元(CPU)和平臺圖形處理單元(GPU)的計(jì)算資源。應(yīng)用分區(qū)包括含應(yīng)用CPU和應(yīng)用GPU的計(jì)算資源。在一些實(shí)施例中,應(yīng)用處理單元執(zhí)行除平臺服務(wù)應(yīng)用的指令以外的處理。在一些實(shí)施例中,系統(tǒng)還包括可被平臺分區(qū)資源和應(yīng)用分區(qū)資源訪問的共享資源。在多媒體計(jì)算機(jī)系統(tǒng)的一些實(shí)施例中,為了增強(qiáng)對資源的放大或縮小,平臺分區(qū)包括對一個(gè)或多個(gè)平臺服務(wù)應(yīng)用和多媒體應(yīng)用執(zhí)行處理的一個(gè)或多個(gè)資源,但是僅可多媒體應(yīng)用可通過軟件接口來訪問該平臺分區(qū)。此外,一個(gè)或多個(gè)共享計(jì)算資源可包括可執(zhí)行平臺服務(wù)應(yīng)用或多媒體軟件應(yīng)用的指令的附加的CPU,以基于針對多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證來提供多媒體應(yīng)用的一致性能。在一些實(shí)施例中,附加的CPU可執(zhí)行通用操作系統(tǒng)。還提供了具有軟件編碼在其上的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲的實(shí)施例,該軟件在被處理器執(zhí)行時(shí),使得處理器執(zhí)行一種用于在與一個(gè)或多個(gè)平臺服務(wù)應(yīng)用同時(shí)執(zhí)行的多媒體應(yīng)用之間分配計(jì)算資源以基于一個(gè)或多個(gè)QoS保證來提供多媒體應(yīng)用的一致性能的方法。提供本發(fā)明內(nèi)容以便以簡化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
圖I示出了具有用戶參與到游戲中的目標(biāo)識別、分析和跟蹤系統(tǒng)的示例實(shí)施例。圖2示出了與捕捉設(shè)備通信地耦合的控制臺計(jì)算系統(tǒng)的示例性實(shí)施例。圖3A是向QoS多媒體保證提供可縮放平臺服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。圖3B是多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的另一個(gè)實(shí)施例的框圖,該多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)如同圖3A中的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)具有附加的共享CPU和GPU。圖3C是用于在多媒體模式和通用計(jì)算模式之間改變至少一個(gè)處理單元的操作模式的方法的一實(shí)施例的流程圖。圖4示出了諸如可以在控制臺中實(shí)現(xiàn)的多媒體計(jì)算系統(tǒng)的另一個(gè)示例實(shí)施例。圖5A是向Qos多媒體保證提供可縮放平臺服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。圖5B是圖5A的提供QoS多媒體保證的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的實(shí)施例的另一個(gè)版本的框圖。圖6是描述了用于基于對多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證在多媒體應(yīng)用和平臺服務(wù)應(yīng)用之間分配計(jì)算資源的方法的一個(gè)實(shí)施例的流程圖。圖7是描述了實(shí)現(xiàn)優(yōu)先級的過程作為針對等待時(shí)間保證的QoS保證處理技術(shù)的一個(gè)實(shí)施例的流程圖。圖8是示出用于基于用于提供一致的實(shí)時(shí)性能的準(zhǔn)則來處理存儲器請求的QoS保證方法的示例的流程圖。
具體實(shí)施例方式多媒體內(nèi)容可以包括從諸如內(nèi)容提供方、寬帶、衛(wèi)星和有線電視公司、廣告代理、 因特網(wǎng)或來自web服務(wù)器的視頻流之類的媒體內(nèi)容源接收的任何類型的音頻、視頻和/或圖像媒體內(nèi)容。如此處所描述的那樣,多媒體內(nèi)容可包括錄制的視頻內(nèi)容、視頻點(diǎn)播內(nèi)容、 電視內(nèi)容、電視節(jié)目、公告、廣告片、音樂、電影、視頻剪輯,及其他點(diǎn)播媒體內(nèi)容。其他多媒體內(nèi)容可包括交互式游戲、基于網(wǎng)絡(luò)的應(yīng)用,以及任何其他內(nèi)容或數(shù)據(jù)(例如,包括節(jié)目指南應(yīng)用數(shù)據(jù)、用戶界面數(shù)據(jù)、廣告內(nèi)容、隱藏字幕、內(nèi)容元數(shù)據(jù)、搜索結(jié)果和/或推薦等等)。諸如在多媒體計(jì)算機(jī)系統(tǒng)上執(zhí)行的交互式游戲之類的多媒體應(yīng)用通過高度復(fù)雜的現(xiàn)場顯示器的實(shí)時(shí)更新來向用戶體驗(yàn)提供響應(yīng)于用戶輸入的3D圖形。例如,游戲應(yīng)用需要實(shí)時(shí)地更新化身、其他動畫角色和移動對象的快速走動的動作。另外,還需要更新復(fù)雜的背景和視覺效果。在較早批次的多媒體控制臺(即,通過多媒體多維數(shù)據(jù)集和PS2的Atari 2600)中,多媒體應(yīng)用在具有較少或沒有任何遠(yuǎn)程連接性的游戲控制臺上執(zhí)行。通常,應(yīng)用本身具有用于執(zhí)行創(chuàng)建用戶體驗(yàn)所需的所有任務(wù)的代碼。計(jì)算資源的平臺提供了標(biāo)準(zhǔn)化構(gòu)架來供多媒體應(yīng)用開發(fā)者進(jìn)行開發(fā)。計(jì)算資源可以是硬件、固件、軟件、或這些中的兩個(gè)或多個(gè)的組合。由于為想要與多媒體應(yīng)用一起交互的遠(yuǎn)程用戶開發(fā)了常規(guī)功能并開發(fā)了連接性需求,像XBox 、XBOX360 、 Kinect 、 索尼的Playstation 3 或任天堂的Wii 等較近批次的多媒體控制臺提供平臺服務(wù)軟件和其他平臺服務(wù)應(yīng)用,平臺服務(wù)軟件提供在這些計(jì)算機(jī)系統(tǒng)上執(zhí)行的所有多媒體應(yīng)用的常規(guī)功能,而其他平臺服務(wù)應(yīng)用獨(dú)立于多媒體應(yīng)用地運(yùn)行服務(wù)。平臺服務(wù)和多媒體應(yīng)用常常同時(shí)執(zhí)行。各應(yīng)用之間的資源的爭用可引起削弱用戶體驗(yàn)的降低的性能。平臺服務(wù)應(yīng)用增強(qiáng)了用戶的多媒體體驗(yàn)。平臺服務(wù)應(yīng)用不是操作系統(tǒng)或系統(tǒng)管理程序的功能。如同多媒體應(yīng)用一樣,平臺服務(wù)應(yīng)用可與操作系統(tǒng)或系統(tǒng)管理程序或系統(tǒng)軟件一起工作。平臺服務(wù)的示例是用于基于因特網(wǎng)的功能(如,電子郵件、社交聯(lián)網(wǎng)、即時(shí)消息收發(fā)和聊天)和對這些功能的顯示(包括現(xiàn)場語音聊天和現(xiàn)場視頻共享)的因特網(wǎng)協(xié)議處理,諸如將數(shù)據(jù)打包在標(biāo)準(zhǔn)消息格式中。常規(guī)功能的其他示例是維護(hù)用戶簡檔以及呈現(xiàn)獨(dú)立于特定多媒體應(yīng)用的菜單。將數(shù)據(jù)格式化成可被多媒體計(jì)算機(jī)系統(tǒng)所支持的所有應(yīng)用使用的格式。平臺提供標(biāo)準(zhǔn)化界面,多媒體開發(fā)者通過該界面來編程他們的多媒體應(yīng)用。這種接口的一個(gè)示例是應(yīng)用編程接口(API)。為了確保多媒體應(yīng)用隨時(shí)間的生存能力并促進(jìn)各種系列的多媒體應(yīng)用,對多媒體應(yīng)用(尤其是對游戲控制臺)的特征和性能的服務(wù)質(zhì)量(QoS)保證在多媒體計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)。與如個(gè)人計(jì)算機(jī)和蜂窩電話等其他硬件設(shè)備相比,這是所定義的多媒體控制臺的高級特征中的一個(gè)。一般說來,確保在已裝的第一控制臺上運(yùn)行的多媒體應(yīng)用的代碼的相同版本能在以后用相同的用戶可辨別的性能在已裝的最后控制臺上運(yùn)行例如4-10年。QoS保證的一些示例涉及實(shí)時(shí)等待時(shí)間和帶寬需求。例如,可確保存儲器讀取在某一時(shí)窗內(nèi)完成。在另一示例中,可確保對總線帶寬的分配用于某些數(shù)據(jù)傳輸。隨著時(shí)間的推移,由于數(shù)據(jù)和處理工作的量的增加,多媒體應(yīng)用具有更多的存儲器和帶寬需求,以實(shí)時(shí)地提供越來越逼真的用戶體驗(yàn)。此外,平臺提供新服務(wù)來支持新形式的連接性和社交網(wǎng)絡(luò), 以增強(qiáng)用戶體驗(yàn),以及支持使用它們來進(jìn)行傳輸?shù)臄?shù)據(jù)的新帶寬和等待時(shí)間需求。平臺服務(wù)還提供新的常規(guī)功能或改進(jìn)當(dāng)前功能的性能,以在用戶體驗(yàn)中支持多媒體改進(jìn)。為了一般基于有關(guān)特征和性能(例如,帶寬和等待時(shí)間)的QoS保證提供多媒體應(yīng)用隨時(shí)間的一致性能,并允許平臺服務(wù)縮放,可使用可減少爭用并改進(jìn)性能的不同體系結(jié)構(gòu)技術(shù)。例如,專用硬件可被分開地分配給硬件資源的平臺和應(yīng)用資源,而它們在先前的系統(tǒng)中會經(jīng)歷非常高的并發(fā)利用率。在其他示例中,諸如為了帶寬和等待時(shí)間保證,某些硬件資源(如總線和存儲器)可能會被過度構(gòu)建,這意味著資源具有超過對該資源的期望和保證使用的容量。這個(gè)方法還為平臺服務(wù)的擴(kuò)展或保證中的改變提供了增長的緩沖。在其他示例中,QoS軟件根據(jù)用于在一個(gè)或多個(gè)平臺服務(wù)應(yīng)用之間分配資源的方法來執(zhí)行,且多媒體應(yīng)用根據(jù)用于基于可應(yīng)用的QoS保證來提供多媒體應(yīng)用的一致性能的標(biāo)準(zhǔn)來執(zhí)行。圖I提供了當(dāng)前技術(shù)在其中可能有用的上下文示例。圖I示出了本技術(shù)的各實(shí)施例可在其中操作的、其中用戶正與正執(zhí)行的多媒體應(yīng)用進(jìn)行交互的目標(biāo)識別、分析和跟蹤系統(tǒng)的示例實(shí)施例。在這個(gè)示例中,控制臺計(jì)算環(huán)境12被示出。其他類型的多媒體計(jì)算機(jī)系統(tǒng)也可實(shí)現(xiàn)該技術(shù)??蓪?shí)現(xiàn)該技術(shù)的其他類型的計(jì)算機(jī)系統(tǒng)的一些示例是機(jī)頂盒、個(gè)人計(jì)算機(jī)或如便攜式計(jì)算機(jī)或手持式計(jì)算機(jī)設(shè)備的移動設(shè)備。目標(biāo)識別、分析和跟蹤系統(tǒng)10 可用來識別、分析和/或跟蹤諸如用戶18等的人類目標(biāo)。目標(biāo)識別、分析和跟蹤系統(tǒng)10的各實(shí)施例包括用于執(zhí)行游戲或其他應(yīng)用的控制臺計(jì)算環(huán)境12,以及用于從游戲或其他應(yīng)用提供音頻和視覺表示的視聽設(shè)備16。系統(tǒng)10還包括用于在三個(gè)維度(3D)中捕捉位置和用戶執(zhí)行的移動的捕捉設(shè)備20,計(jì)算環(huán)境12接收、翻譯并使用這些位置和移動來控制游戲或其他應(yīng)用??刂婆_計(jì)算環(huán)境12的實(shí)施例可以包括硬件的計(jì)算資源、軟件組件和/或固件組件,使得控制臺12可以用于執(zhí)行諸如游戲應(yīng)用和非游戲應(yīng)用之類的應(yīng)用。在一個(gè)或多個(gè)實(shí)施例中,控制臺計(jì)算機(jī)系統(tǒng)12可包括可執(zhí)行存儲在處理器可讀存儲設(shè)備上的用于執(zhí)行此處描述的過程的指令的多個(gè)處理器,如標(biāo)準(zhǔn)化處理器、專用處理器、微處理器等。系統(tǒng)10還包括一個(gè)或多個(gè)捕捉設(shè)備20,用于捕捉與一個(gè)或多個(gè)用戶有關(guān)的圖像數(shù)據(jù)和/或由捕捉設(shè)備感測到的對象。在各實(shí)施例中,捕捉設(shè)備20可以用于捕捉與一個(gè)或多個(gè)用戶的移動和姿勢相關(guān)的信息,所述信息被計(jì)算環(huán)境接收并且被用于呈現(xiàn)游戲或其他應(yīng)用程序的各方面、與所述各方面交互和/或控制所述各方面。下面更詳細(xì)地解釋控制臺計(jì)算環(huán)境12和捕捉設(shè)備20的示例。目標(biāo)識別、分析和跟蹤系統(tǒng)10的實(shí)施例可以連接到具有顯示器14的音頻/視覺設(shè)備16。設(shè)備16例如可以是可向用戶提供游戲或應(yīng)用視覺和/或音頻的電視機(jī)、監(jiān)視器、 高清電視機(jī)(HDTV)等。例如,控制臺計(jì)算環(huán)境12可包括可提供與游戲或其他應(yīng)用相關(guān)聯(lián)的音頻/視覺信號的GPU和/或音頻處理硬件和固件或在通用GPU上運(yùn)行的音頻軟件。音頻/視覺設(shè)備16可以從控制臺計(jì)算環(huán)境12接收音頻/視覺信號,并且然后可以向用戶18 輸出與該音頻/視覺信號相關(guān)聯(lián)的游戲或應(yīng)用視覺和/或音頻。根據(jù)一個(gè)實(shí)施例,音頻/ 視覺設(shè)備16可經(jīng)由例如S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜、分量視頻電纜、顯示端口兼容電纜等連接至控制臺計(jì)算環(huán)境12。在一示例實(shí)施例中,在控制臺計(jì)算環(huán)境12上執(zhí)行的應(yīng)用可以是具有實(shí)時(shí)交互的游戲,諸如用戶18可能正在玩的拳擊游戲。例如,控制臺計(jì)算環(huán)境12可使用視聽設(shè)備16 來向用戶18提供拳擊對手22的視覺表示??刂婆_計(jì)算環(huán)境12還可使用視聽設(shè)備16來提供用戶18可通過他的或她的移動來控制的玩家化身24的視覺表示。例如,用戶18可在物理空間中揮拳猛擊,這使得玩家化身24在游戲空間中揮拳猛擊。由此,根據(jù)一示例實(shí)施例, 捕捉設(shè)備20使用此處描述的技術(shù)來捕捉物理空間中重拳的3D表示。捕捉設(shè)備20中的處理器(參見圖2A)和目標(biāo)識別、分析和跟蹤系統(tǒng)10的控制臺計(jì)算環(huán)境12可用于識別并分析用戶18在物理空間中的重拳,從而使得該重拳可被實(shí)時(shí)地翻譯成玩家化身24在游戲空間中的姿勢或游戲控制。多媒體控制臺12可通過將該系統(tǒng)簡單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺12允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口或無線適配器可用的寬帶連接的集成,多媒體控制臺12還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。
圖2示出了與捕捉設(shè)備通信地耦合的控制臺計(jì)算系統(tǒng)的示例性實(shí)施例。根據(jù)一示例性實(shí)施例,捕捉設(shè)備20可被配置為通過可包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等在內(nèi)的任何合適的技術(shù)來捕捉包括深度圖像的帶有深度信息的視頻,該深度圖像可包括深度值。根據(jù)一實(shí)施例,捕捉設(shè)備20可將深度信息組織為“Z層”或者可與從深度相機(jī)沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設(shè)備20可以包括相機(jī)組件423。根據(jù)一示例性實(shí)施例,相機(jī)組件 423可以是或者可以包括可捕捉場景的深度圖像的深度相機(jī)。深度圖像可包括所捕捉的場景的二維(2-D)像素區(qū)域,其中2-D像素區(qū)域中的每個(gè)像素都可以表示深度值,比如所捕捉的場景中的物體與相機(jī)相距的例如以厘米、毫米等為單位的距離。相機(jī)組件423可以包括可用于捕捉場景的深度圖像的紅外(IR)光組件425、三維 (3D)相機(jī)426、以及RGB (視覺圖像)相機(jī)428。例如,在飛行時(shí)間分析中,捕捉設(shè)備20的IR 光組件425可以將紅外光發(fā)射到場景上,并且然后可以使用傳感器(在一些實(shí)施例中包括未示出的傳感器)、例如使用3-D相機(jī)326和/或RGB相機(jī)428來檢測從場景中的一個(gè)或多個(gè)目標(biāo)和物體的表面后向散射的光。在某些實(shí)施例中,可以使用脈沖紅外光,使得可以測量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差或相移并將其用于確定從捕捉設(shè)備20到場景中的目標(biāo)或物體上的特定位置的物理距離。根據(jù)另一實(shí)施例,捕捉設(shè)備20可包括兩個(gè)或更多物理上分開的相機(jī),這些相機(jī)可從不同角度查看場景以獲得視覺立體數(shù)據(jù),該視覺立體數(shù)據(jù)可被解析以生成深度信息。也可使用其他類型的深度圖像傳感器來創(chuàng)建深度圖像。捕捉設(shè)備20還可以包括話筒430,所述話筒430包括可以接收聲音并將其轉(zhuǎn)換成電信號的換能器或傳感器。話筒430可用于接收也可提供給控制臺計(jì)算系統(tǒng)12的音頻信號。在一示例實(shí)施例中,捕捉設(shè)備20還可包括可與圖像相機(jī)組件423進(jìn)行通信的處理器432。處理器432可包括可執(zhí)行指令的標(biāo)準(zhǔn)處理器、專用處理器、微處理器等,這些指令例如包括用于接收深度圖像、生成合適的數(shù)據(jù)格式(例如,幀)以及將數(shù)據(jù)傳送給控制臺計(jì)算系統(tǒng)12的指令。 捕捉設(shè)備20還可包括存儲器434,該存儲器434可存儲由處理器432執(zhí)行的指令、 由3-D相機(jī)和/或RGB相機(jī)所捕捉的圖像或圖像幀、或任何其他合適的信息、圖像等等。根據(jù)一示例實(shí)施例,存儲器434可包括隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、高速緩存、 閃存、硬盤或任何其他合適的存儲組件。如圖2所示,在一個(gè)實(shí)施例中,存儲器434可以是與圖像捕捉組件423和處理器432進(jìn)行通信的單獨(dú)組件。根據(jù)另一實(shí)施例,存儲器組件434 可被集成到處理器432和/或圖像捕捉組件422中。捕捉設(shè)備20通過通信鏈路436與控制臺計(jì)算系統(tǒng)12通信。通信鏈路436可以是包括例如USB連接、火線連接、以太網(wǎng)電纜連接等的有線連接和/或諸如無線802. lib、 802. llg、802. Ila或802. Iln連接等的無線連接。根據(jù)一個(gè)實(shí)施例,控制臺計(jì)算系統(tǒng)12可以通過通信鏈路436向捕捉設(shè)備20提供可用于確定例如何時(shí)捕捉場景的時(shí)鐘。附加地,捕捉設(shè)備20經(jīng)由通信鏈路436將由例如3-D相機(jī)426和/或RGB相機(jī)428捕捉的深度信息和視覺(例如RGB)圖像提供給控制臺計(jì)算系統(tǒng)12。在一個(gè)實(shí)施例中,深度圖像和視覺圖像以每秒30幀的速率來傳送,但是可以使用其他幀速率。控制臺計(jì)算系統(tǒng)12然后可以創(chuàng)建模型并使用模型、深度信息、以及所捕捉的圖像來例如控制諸如游戲或文字處理程序等的CN 102591418 A
書
明
說
6/16 頁
應(yīng)用和/或使化身或屏上人物動畫化。控制臺計(jì)算系統(tǒng)12包括深度圖像處理和骨架跟蹤模塊450,該模塊使用深度圖像來跟蹤可被捕捉設(shè)備20的深度相機(jī)功能檢測到的一個(gè)或多個(gè)人。深度圖像處理和骨架跟蹤模塊450向應(yīng)用452提供跟蹤信息,該應(yīng)用可以是視頻游戲、生產(chǎn)性應(yīng)用、通信應(yīng)用或其他軟件應(yīng)用等。還可將音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)提供給應(yīng)用452以及深度圖像處理和骨架跟蹤模塊450。應(yīng)用452將跟蹤信息、音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)提供給識別器引擎454。在另一實(shí)施例中,識別器引擎454從深度圖像處理和骨架跟蹤模塊450直接接收跟蹤信息,并從捕捉設(shè)備20直接接收音頻數(shù)據(jù)和視覺圖像數(shù)據(jù)。在一些實(shí)施例中,深度圖像處理和骨架跟蹤模塊450可以被認(rèn)為是共享資源,且在其他實(shí)施例中它也可被認(rèn)為是執(zhí)行多媒體應(yīng)用的處理的平臺資源。識別器引擎454與過濾器460、462、464、……、466的集合相關(guān)聯(lián),每一過濾器包括關(guān)于可由捕捉設(shè)備20檢測的任何人或物體執(zhí)行的姿勢、動作或狀況的信息。例如,來自捕捉設(shè)備20的數(shù)據(jù)可由過濾器460、462、464、……、466來處理,以便標(biāo)識一個(gè)用戶或一組用戶何時(shí)執(zhí)行了一個(gè)或多個(gè)姿勢或其他動作。這些姿勢可與應(yīng)用452的各種控制、對象或狀況相關(guān)聯(lián)。因此,控制臺計(jì)算系統(tǒng)12可以將識別器引擎454和過濾器一起用于解釋和跟蹤對象(包括人)的移動。捕捉設(shè)備20向控制臺計(jì)算系統(tǒng)12提供RGB圖像(或其他格式或色彩空間的視覺圖像)和深度圖像。深度圖像可以是多個(gè)觀測到的像素,其中每個(gè)觀測到的像素具有觀測到的深度值。例如,深度圖像可包括所捕捉的場景的二維(2-D)像素區(qū)域,其中該2-D像素區(qū)域中的每個(gè)像素都可具有深度值,諸如所捕捉的場景中的物體與捕捉設(shè)備相距的距離。 控制臺計(jì)算系統(tǒng)12將使用RGB圖像和深度圖像來跟蹤用戶或?qū)ο蟮囊苿?。例如,系統(tǒng)將使用深度圖像來跟蹤人的骨架??梢允褂迷S多方法以通過使用深度圖像來跟蹤人的骨架。 使用深度圖像來跟蹤骨架的一個(gè)合適的示例在Craig等人2009年10月21日提交的美國專利申請12/603,437 “Pose Tracking Pipeline (姿態(tài)跟蹤流水線)”(以下稱為’ 437申請)中提供,該申請的全部內(nèi)容通過引用結(jié)合于此。‘437申請的過程包括獲得深度圖像; 對數(shù)據(jù)進(jìn)行降采樣;移除和/或平滑化高方差噪聲數(shù)據(jù);標(biāo)識并移除背景;以及將前景像素中的每個(gè)分配給身體的不同部位?;谶@些步驟,系統(tǒng)將使一模型擬合到該數(shù)據(jù)并創(chuàng)建骨架。該骨架將包括一組關(guān)節(jié)和這些關(guān)節(jié)之間的連接。也可使用用于跟蹤的其他方法。在下列四個(gè)美國專利申請中還公開了合適的跟蹤技術(shù),所述專利的全部內(nèi)容都通過引用并入本文于2009年5月29日提交的美國專利申請12/475,308 “Device for Identifying and Tracking Multiple Humans Over Time (用于隨時(shí)間標(biāo)識和跟蹤多個(gè)人類的設(shè)備)”;于 2010 年 I 月 29 日提交的美國專利申請 12/696,282“Visual Based Identity Tracking(基于視覺的身份跟蹤)”;于2009年12月18日提交的美國專利申請12/641,788 “Motion Detection Using Depth Images (使用深度圖像的運(yùn)動檢測)”;以及于2009年10月7日提交的美國專利申請12/575,388 “Human Tracking System(人類跟蹤系統(tǒng))”。識別器引擎454包括多個(gè)過濾器460、462、464、......、466來確定姿勢或動作。過
濾器包括定義姿勢、動作或狀況以及該姿勢、動作或狀況的參數(shù)或元數(shù)據(jù)的信息。例如,包括一只手從身體背后經(jīng)過身體前方的運(yùn)動的投擲可被實(shí)現(xiàn)為包括表示用戶的一只手從身體背后經(jīng)過身體前方的運(yùn)動的信息的姿勢,因?yàn)樵撨\(yùn)動將由深度相機(jī)來捕捉。然后可為該姿勢設(shè)定參數(shù)。當(dāng)姿勢是投擲時(shí),參數(shù)可以是該手必須達(dá)到的閾值速度、該手必須行進(jìn)的距離(絕對的,或相對于用戶的整體大小)、以及識別器引擎對發(fā)生了該姿勢的置信度評級。 用于姿勢的這些參數(shù)可以隨時(shí)間在各應(yīng)用之間、在單個(gè)應(yīng)用的各上下文之間、或在一個(gè)應(yīng)用的一個(gè)上下文內(nèi)變化。應(yīng)用452可使用識別器引擎454所提供的過濾器460、462、464、……、466,或者它可提供其自己的、插入到識別器引擎454中的過濾器。在一個(gè)實(shí)施例中,所有過濾器具有啟用該插入特性的通用接口。此外,所有過濾器可利用參數(shù),因此可使用以下單個(gè)姿勢工具來診斷并調(diào)節(jié)整個(gè)過濾器系統(tǒng)。關(guān)于識別器引擎454的更多信息可在2009年4月13日提交的美國專利申請 12/422, 661 “Gesture Recognizer System Architecture (姿勢識別器系統(tǒng)架構(gòu))”中找到,該申請的全部內(nèi)容通過引用結(jié)合于此。關(guān)于識別姿勢的更多信息可在2009年2月23 日提交的美國專利申請12/391,150 “Standard Gestures (標(biāo)準(zhǔn)姿勢)”;以及2009年5月 29日提交的美國專利申請12/474,655“Gesture Tool (姿勢工具)”中找到,這兩個(gè)申請的全部內(nèi)容都通過引用結(jié)合于此。圖3A至圖5B公開了提供多媒體應(yīng)用QoS保證同時(shí)允許計(jì)算資源支持平臺服務(wù)應(yīng)用隨時(shí)間進(jìn)行縮放的多媒體計(jì)算機(jī)體系結(jié)構(gòu)的實(shí)施例。在一些實(shí)施例中,QoS保證可以由軟件控制的硬件資源分配機(jī)制來實(shí)施。硬件機(jī)制在資源分配必須發(fā)生或者資源分配必須在非常精細(xì)粒度的時(shí)間基礎(chǔ)上(即,每一個(gè)時(shí)鐘周期到十個(gè)時(shí)鐘周期)更新以確保用戶感知到的性能的一致性時(shí)通常是必需的(與軟件機(jī)制相反)。除了通常由第三方開發(fā)的針對多媒體應(yīng)用的QoS保證之外,還可存在例如與計(jì)算機(jī)系統(tǒng)上運(yùn)行的所有應(yīng)用(例如,平臺、多媒體或其他)或大多數(shù)應(yīng)用可用的等待時(shí)間和帶寬有關(guān)的系統(tǒng)標(biāo)準(zhǔn)。例如,即使單個(gè)平臺服務(wù)正在運(yùn)行,而沒有如游戲之類的任何其他多媒體應(yīng)用在運(yùn)行,系統(tǒng)還可執(zhí)行與系統(tǒng)通信構(gòu)造(例如,總線或縱橫互連)的帶寬和等待時(shí)間有關(guān)的系統(tǒng)標(biāo)準(zhǔn)。如以下附圖所示,多媒體計(jì)算機(jī)系統(tǒng)的各所示實(shí)施例中的一些計(jì)算資源,尤其是硬件資源,被包括在平臺分區(qū)或應(yīng)用分區(qū)中。為了便于描述,平臺分區(qū)中的計(jì)算資源成為平臺資源,且應(yīng)用分區(qū)中的計(jì)算資源成為應(yīng)用資源。這些分區(qū)是邏輯分區(qū)。圖3A是向QoS多媒體應(yīng)用保證提供可縮放平臺服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。平臺服務(wù)應(yīng)用327和多媒體應(yīng)用329中的每一個(gè)都依賴于主要用于處理它們的相應(yīng)功能的硬件。平臺分區(qū)包括諸如中央處理單元(CPU) 302和圖形處理單元 (GPU) 306之類的資源以及其他平臺資源332。平臺CPU 302可以是單核處理器或多核處理器。平臺CPU302包括高速緩存305??梢詾閼?yīng)用CPU的高速緩存305和高速緩存303實(shí)現(xiàn)各種高速緩存設(shè)計(jì)。高速緩存臨時(shí)地存儲數(shù)據(jù),并因此減少了存儲器存取周期的數(shù)量,從而改進(jìn)了處理速度和吞吐量。平臺CPU 302還包括閃速ROM(只讀存儲器)340,該閃速ROM 340可存儲在多媒體計(jì)算機(jī)系統(tǒng)12通電時(shí)在引導(dǎo)進(jìn)程的初始階段期間加載的可執(zhí)行代碼。 GPU 306以及以下的應(yīng)用GPU 308可具有嵌入式存儲器來用于其數(shù)據(jù)處理。其他平臺資源332的一些示例在以下附圖中示出。這種平臺資源332可包括向輸入和輸出單元320提供輸入和輸出接口,平臺資源332的一些示例是用戶輸入設(shè)備(用戶移動、游戲控制器、定點(diǎn)設(shè)備)、顯示器、如相機(jī)20圖之類的像捕捉設(shè)備、可移動介質(zhì)(例如,存儲棒、DVD、存儲器驅(qū)動器)、打印機(jī)以及可經(jīng)由通用串行總線(USB)、路由器和以太網(wǎng)電纜來連接的其他設(shè)備。平臺資源332可提供的資源的一些示例包括諸如視聽I/O單元之類的端口輸入和輸出硬件及驅(qū)動器、USB端口控制器、以太網(wǎng)端口或其他因特網(wǎng)或網(wǎng)絡(luò)連接接口,諸如WiFi或其他無線協(xié)議。此外,平臺資源332可包括可移動介質(zhì)的接口,諸如用于訪問例如熱插拔的、高密度的大容量存儲閃存的串行高級技術(shù)附連SATA (ODD和HDD兩者) 接口。應(yīng)用分區(qū)包括CPU 304、GPU 308和其他應(yīng)用資源330。CPU 304還可包括一個(gè)或多個(gè)處理核,并可包括表示通常與一個(gè)或多個(gè)核的處理單元相關(guān)聯(lián)的一個(gè)或多個(gè)高速緩存等級的高速緩存303。在其較低成本的實(shí)施例中,可存在不同的應(yīng)用和平臺CPU,但可存在使其資源通過軟件和硬件機(jī)制來分配的共享GPU。應(yīng)用GPU 304還包括閃存ROM 304,該閃存ROM 304可存儲在多媒體控制臺12通電時(shí)在引導(dǎo)進(jìn)程的初始階段期間加載的可執(zhí)行代碼。應(yīng)用資源330可包括僅可被應(yīng)用處理單元訪問的高速閃存。在一些實(shí)施例中,在一個(gè)或多個(gè)平臺服務(wù)應(yīng)用在所述平臺處理單元中的至少一個(gè)上以及所述多媒體應(yīng)用在所述應(yīng)用處理單元中的至少一個(gè)上的并發(fā)執(zhí)行期間,應(yīng)用處理單元并不執(zhí)行所述一個(gè)或多個(gè)平臺服務(wù)應(yīng)用。換言之,應(yīng)用處理單元執(zhí)行除平臺服務(wù)應(yīng)用的指令以外的處理。應(yīng)用處理單元將執(zhí)行操作系統(tǒng)、系統(tǒng)管理程序和如標(biāo)準(zhǔn)系統(tǒng)功能的代碼, 但它們被解除適用于CPU和GPU的先前系統(tǒng)的QoS保證,諸如并發(fā)的平臺服務(wù)應(yīng)用的執(zhí)行的處理時(shí)間的百分比。在為平臺服務(wù)和多媒體應(yīng)用提供分開的處理單元的各實(shí)施例中,相應(yīng)處理單元的高速緩存和嵌入式RAM在相應(yīng)分區(qū)中是不被共享的;并且因此,它們不會因?yàn)樵谄脚_服務(wù)應(yīng)用和多媒體應(yīng)用之間切換的應(yīng)用而顛簸(thrash)。另外,通過分區(qū)計(jì)算機(jī)系統(tǒng)的資源,平臺資源可以獨(dú)立于QoS保證中的至少一些操作,或者可以隨著時(shí)間的推移而增長以尤其在因硬件改進(jìn)而提供了更多的平臺服務(wù)時(shí)減少該保證的影響。例如,可用的對GPU處理的QoS保證可僅適用于應(yīng)用GPU 308但不適用于平臺GPU。一些實(shí)施例可能仍實(shí)施可使應(yīng)用處理單元的處理時(shí)間的某一百分比專用于針對一個(gè)或多個(gè)平臺服務(wù)應(yīng)用的處理的QoS保證。這一保證幫助保持多媒體應(yīng)用的操作隨時(shí)間的一致性。該保證可通過插入延遲線程以占據(jù)處理時(shí)間的百分比的方式來實(shí)施。平臺服務(wù)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在CPU 308上運(yùn)行,以便為該應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺上運(yùn)行的游戲應(yīng)用所引起的高速緩存中斷最小化。提供系統(tǒng)存儲器331來存儲在引導(dǎo)過程期間加載的軟件代碼和數(shù)據(jù)。在這個(gè)示例中,系統(tǒng)存儲器331存儲平臺服務(wù)應(yīng)用327的平臺處理單元302和306可加載的代碼。在這個(gè)實(shí)施例中,QoS保證軟件333及優(yōu)先級方案333也被存儲在系統(tǒng)存儲器中。QoS保證軟件可實(shí)現(xiàn)在對資源的請求的排定優(yōu)先級時(shí)可用的一個(gè)或多個(gè)優(yōu)先級方案。例如,可向資源執(zhí)行系統(tǒng)關(guān)鍵功能(如存儲器刷新)和影響用戶體驗(yàn)的具有實(shí)時(shí)要求的那些執(zhí)行功能分配優(yōu)先級,并且可向如多媒體應(yīng)用和平臺服務(wù)應(yīng)用等不同的應(yīng)用分配較低的優(yōu)先級。影響用戶體驗(yàn)的具有實(shí)時(shí)要求的各功能的一些示例是使用帶寬和高等待時(shí)間來避免TV或監(jiān)視器處的含假信號的視頻或者來自話筒的可聽流行樂曲的視頻輸出處理和其他實(shí)時(shí)的數(shù)據(jù)分發(fā)情況。
此外,QoS保證軟件333在執(zhí)行時(shí)可實(shí)現(xiàn)一種有關(guān)存儲器基于用于提供一致的實(shí)時(shí)性能或一致的用戶體驗(yàn)的標(biāo)準(zhǔn)來請求的QoS保證方法。這種標(biāo)準(zhǔn)的一些示例是每一個(gè)處理單元的執(zhí)行效率;以及存儲器通道效率。處理單元不會很好地忍受等待時(shí)間。未使用的時(shí)鐘周期代表CPU或GUP的低效的執(zhí)行效率。對存儲器通道的低效使用的一示例是一次激活太多的存儲器排(memory bank)。另一示例是使一個(gè)存儲器通道超載,同時(shí)另一個(gè)存儲器通道是空閑的。另外,由平臺處理單元302和306、在其他平臺資源332或共享資源312中的其他邏輯或控制單元從系統(tǒng)存儲器331執(zhí)行一個(gè)或多個(gè)軟件虛擬化接口 328(在這個(gè)示例中被實(shí)現(xiàn)為應(yīng)用編程接口(API))。在一些實(shí)施例中,虛擬化接口 328中的一個(gè)或多個(gè)也可對資源的處理請求中實(shí)現(xiàn)優(yōu)先級方案333。每一硬件資源具有伴隨來自相應(yīng)的硬件資源的請求的客戶機(jī)標(biāo)識(ID)。在一些實(shí)施例中,適用于請求的QoS保證或系統(tǒng)標(biāo)準(zhǔn)可由提出請求的硬件資源的客戶機(jī)ID來標(biāo)識出。在一些實(shí)施例中,平臺分區(qū)包括被虛擬化成正執(zhí)行的多媒體應(yīng)用的硬件設(shè)備。在一些情況下,多媒體應(yīng)用通過正在平臺處理單元或共享處理單元上執(zhí)行的軟件虛擬化接口來訪問這一平臺硬件設(shè)備。因此,隨著實(shí)際硬件正實(shí)現(xiàn)所請求的處理或資源,并不需要考慮該應(yīng)用分區(qū),并且資源看見了平臺或共享設(shè)備的客戶機(jī)ID。此外,可適用于虛擬化資源的QoS保證(例如,顯示處理的速度)可為應(yīng)用而保持不變,而平臺分區(qū)中的視頻編碼器被升級成能處理更多技術(shù)的更快的視頻編碼器。系統(tǒng)存儲器331還包括分區(qū)分配軟件334。在一些實(shí)施例中,多媒體計(jì)算機(jī)系統(tǒng)可以是共享處理單元資源的較大計(jì)算機(jī)系統(tǒng)中的多個(gè)計(jì)算機(jī)中的一個(gè)。在一些實(shí)施例中, 多媒體計(jì)算機(jī)系統(tǒng)可包括比圖3A中示出的代表性處理單元更多的處理單元。由于這些分區(qū)是邏輯性的,分區(qū)分配軟件334在執(zhí)行時(shí)可在平臺和各應(yīng)用分區(qū)之間動態(tài)地分配計(jì)算機(jī)資源。例如,在云計(jì)算示例中,由于更多的用戶加入在線交互游戲,分區(qū)分配軟件334可通過網(wǎng)絡(luò)從云中的另一個(gè)計(jì)算機(jī)處接收消息,以將其平臺CPU和GPU重新分配為應(yīng)用CPU和 GPU。在這一示例中,在應(yīng)用分區(qū)中指定比在平臺服務(wù)分區(qū)中多的處理單元可更為高效,使得存在更多的處理單元可用于多媒體應(yīng)用的不同執(zhí)行實(shí)例。系統(tǒng)管理控制器325提供涉及確保多媒體計(jì)算機(jī)系統(tǒng)12的可用性的各種服務(wù)功能。當(dāng)多媒體計(jì)算機(jī)系統(tǒng)12通電時(shí),可從系統(tǒng)存儲器331加載平臺應(yīng)用數(shù)據(jù)327以供平臺處理單元302、306執(zhí)行。平臺應(yīng)用可呈現(xiàn)用于在導(dǎo)航到多媒體計(jì)算機(jī)系統(tǒng)12上可用的不同媒體類型時(shí)提供一致的用戶體驗(yàn)的圖形用戶界面。在操作中,可將多媒體應(yīng)用329從計(jì)算機(jī)系統(tǒng)內(nèi)置的非易失性存儲器322或從多媒體應(yīng)用329從其開始和播放的外置的媒體驅(qū)動器320處加載非易失性存儲器322。每一處理單元302、304、306和308與通信結(jié)構(gòu)310進(jìn)行交互。系統(tǒng)的通信結(jié)構(gòu) 310是可被任一分區(qū)的資源直接訪問的共享計(jì)算資源312的一個(gè)示例。在通信結(jié)構(gòu)的一些示例是總線或互連結(jié)構(gòu)。在一些實(shí)施例中,通信結(jié)構(gòu)310可具有適應(yīng)多媒體應(yīng)用的一個(gè)或多個(gè)等待時(shí)間QoS保證,并在相同時(shí)間基于與該結(jié)構(gòu)的帶寬或等待時(shí)間有關(guān)的系統(tǒng)標(biāo)準(zhǔn)來滿足來自一個(gè)或多個(gè)平臺服務(wù)應(yīng)用的總線訪問請求的額外帶寬容量。由于該帶寬超過了請求量,存在可以忽略的爭用。這確實(shí)允許其他平臺服務(wù)應(yīng)用隨著時(shí)間的推移而增加,這將減少額外的開銷。在另一個(gè)實(shí)施例中,每一分區(qū)處理單元或至少每一分區(qū)CPU在縱橫方案中可具有虛擬的私有總線通道。在其他示例中,每一分區(qū)處理單元或一分區(qū)的處理單元可具有其自己的物理上分開的總線。除了額外的容量方案以外,如果不能滿足同時(shí)發(fā)生的請求, 則至少部分地基于QoS保證的優(yōu)先級方案可用于定量配給(ration)訪問。共享資源312還包括用于訪問存儲器322的存儲器控制器314,存儲器322可包括應(yīng)用可訪問的非易失性存儲器、易失性存儲器或兩者。在一個(gè)實(shí)施例中,存儲器322具有超過針對多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證的需求的有效帶寬和等待時(shí)間性能,且一個(gè)或多個(gè)標(biāo)準(zhǔn)量限制在相同時(shí)間執(zhí)行的平臺服務(wù)的數(shù)目。這個(gè)有效帶寬和等待時(shí)間性能可以用額外的存儲器大小和用于訪問存儲器的更多的通道來實(shí)現(xiàn)。例如,通常同時(shí)執(zhí)行的一組或多組平臺服務(wù)應(yīng)用的模型可基于不同的用戶使用場景來開發(fā)。存儲器的有效帶寬和等待時(shí)間性能的量可以超過在該組平臺應(yīng)用的運(yùn)行時(shí)期間使用的有效帶寬和等待時(shí)間性能,因?yàn)樵谠摻M平臺應(yīng)用的運(yùn)行時(shí)期間要求存儲器的最多的有效帶寬和等待時(shí)間性能,并要求由針對多媒體應(yīng)用的QoS保證所需的有效性能,以便避免用戶可感知到的多媒體應(yīng)用的性能改變。在一個(gè)示例中,多媒體應(yīng)用可能存在所分配的量或百分比的有效存儲器性能,并且來自平臺或其他系統(tǒng)服務(wù)的請求滿足未被分配的帶寬和等待時(shí)間資源。在另一實(shí)例中,不同的操作場景、系統(tǒng)標(biāo)準(zhǔn)或QoS保證或這些的組合可用作用于對可在運(yùn)行時(shí)期間被分配的存儲器的有效帶寬和等待時(shí)間性能設(shè)定限制的準(zhǔn)則的基礎(chǔ),該準(zhǔn)則作為QoS保證或系統(tǒng)標(biāo)準(zhǔn)的一部分。存儲器控制器314可隨后利用存儲器322的未被分配的容量來滿足針對多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證。圖3B是多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的另一個(gè)實(shí)施例的框圖,該多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)如同圖3A中的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)具有附加的共享CPU和GPU。在這個(gè)實(shí)施例中,存在由系統(tǒng)12提供的另一個(gè)CPU和GPU、共享的GPU 309和共享的CPU 307。在一示例中,這些系統(tǒng)處理單元307、309可執(zhí)行API 328,這些API 328與兩個(gè)分區(qū)的處理單元進(jìn)行交互來處理對位于平臺服務(wù)分區(qū)或共享資源312中的資源的請求。這允許平臺服務(wù)處理單元302、306不用對應(yīng)用單元的請求進(jìn)行處理。在另一個(gè)實(shí)施例中,共享的GPU 309 和共享的CPU可基于QoS保證為平臺服務(wù)應(yīng)用的執(zhí)行指令、多媒體應(yīng)用的指令或兩者提供附加的處理資源。在又一實(shí)施例中,共享的CPU 307、共享的GPU 309或兩者可執(zhí)行不同的通用操作系統(tǒng)(例如,Windows ),或提供由平臺服務(wù)或這多媒體應(yīng)用提供的功能之外的附加的功能。例如,這些處理單元307、309可運(yùn)行標(biāo)準(zhǔn)的個(gè)人計(jì)算機(jī)(PC)操作系統(tǒng)及其相關(guān)聯(lián)的圖形用戶界面,并可運(yùn)行該P(yáng)C OS提供的或與其兼容的應(yīng)用和服務(wù),諸如通過瀏覽器的因特網(wǎng)訪問、文子處理、生產(chǎn)力、內(nèi)容生成和視聽?wèi)?yīng)用。在圖3A中,系統(tǒng)存儲器還可存儲模式改變軟件335。這是針對不同的實(shí)施例的,其中代替具有用于以通用模式來執(zhí)行多媒體計(jì)算機(jī)系統(tǒng)的分開的CPU和GPU,該軟件切換出各分區(qū)中的一個(gè)分區(qū)的CPU(如應(yīng)用CPU)來以通用計(jì)算機(jī)模式進(jìn)行執(zhí)行。分區(qū)的GPU也可以被切換出。為了便于描述,多媒體應(yīng)用(如游戲)對平臺服務(wù)執(zhí)行的模式是指定的多媒體模式,并且通用操作系統(tǒng)正執(zhí)行的操作模式稱為通用計(jì)算機(jī)模式。用于可經(jīng)由輸入設(shè)備來提供指示他或她期望在各模式之間進(jìn)行切換的輸入。當(dāng)在模式之間進(jìn)行切換時(shí),處于當(dāng)前執(zhí)行模式中的系統(tǒng)的狀態(tài)被設(shè)為休眠。在一些示例中,CPU和GPU加載有指令,并且數(shù)據(jù)在被執(zhí)行其他模式所需要時(shí)被加載到運(yùn)行時(shí)存儲器中。(為了便于描述該討論僅說明了在兩個(gè)模式之間進(jìn)行切換,但是可以在多于兩個(gè)模式之間改變模式。)在一些實(shí)施例中,如果被切換到的模式先前具有正在運(yùn)行的其他應(yīng)用,則這些應(yīng)用的狀態(tài)可被恢復(fù)成所切換的模式的點(diǎn)。圖3C是用于在多媒體模式和通用計(jì)算模式之間改變至少一個(gè)處理單元的操作模式的方法的一實(shí)施例的流程圖。在步驟402模式改變軟件335將至少一個(gè)處理單元的當(dāng)前模式執(zhí)行狀態(tài)數(shù)據(jù)存儲在存儲器(例如,322)中,并在步驟404將正在至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用的當(dāng)前運(yùn)行時(shí)存儲器內(nèi)容存儲在存儲器中。執(zhí)行狀態(tài)數(shù)據(jù)的一些示例是指令隊(duì)列的當(dāng)前內(nèi)容,和在處理單元本地的CPU或GPU寄存器、高速緩存、嵌入式RAM或任何其他存儲器的內(nèi)容,和操作系統(tǒng)、當(dāng)前模式的顯示以及其他系統(tǒng)功能的狀態(tài)數(shù)據(jù)。運(yùn)行時(shí)存儲器內(nèi)容的一些示例是處理信息,和任何正在執(zhí)行的應(yīng)用的由系統(tǒng)在該應(yīng)用的當(dāng)前執(zhí)行實(shí)例期間存儲在易失性或非易失性存儲器中的數(shù)據(jù)。在步驟406,模式改變軟件335為至少一個(gè)處理單元加載所請求的模式(即,被改變成的模式)的先前存儲的執(zhí)行狀態(tài)數(shù)據(jù),并在步驟408為先前以所請求的模式在至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用加載先前存儲的運(yùn)行時(shí)存儲器內(nèi)容。圖4示出了向QoS多媒體保證提供可縮放的平臺服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)的計(jì)算系統(tǒng)體系結(jié)構(gòu)的另一示例實(shí)施例。多媒體控制臺100具有平臺CPU 302和應(yīng)用CPU 304。 為了便于附圖中的連接,這些CPU在用一模塊中被示出;然而,它們是分開的單元且并不共享任何高速緩存或ROM。平臺CPU 302可以是單核處理器或多核處理器。在這個(gè)示例中,平臺CPU 302具有一級(LI)高速緩存305 (I)和二級(L2)高速緩存305 (2)和閃速ROM(只讀存儲器)304。多媒體控制臺100還包括用于執(zhí)行多媒體應(yīng)用功能的應(yīng)用CPU 304。CPU304還可包括一個(gè)或多個(gè)處理核。在這個(gè)示例中,應(yīng)用CPU 304具有一級高速緩存303 (I)和二級高速緩存303 (2)和閃速ROM (只讀存儲器)342。多媒體控制臺100還包括平臺圖形處理單元(GPU) 306和應(yīng)用圖形處理單元 (GPU) 308 0為了便于附圖中的連接,這些CPU在用一模塊中被示出;然而,它們是分開的單元且并不共享任何存儲器結(jié)構(gòu)。每一 GPU具有其自己的嵌入式RAM 311、313。多媒體控制臺100內(nèi)的CPU 302,CPU 304,GPU 306,GPU 308、存儲器控制器314、 和各個(gè)其他組件經(jīng)由一條或多條總線互連,這些總線包括串行和并行總線、存儲器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。作為示例,這些體系結(jié)構(gòu)可包括用于到IO芯片的連接和/或作為將來的IO擴(kuò)展的連接器的外圍組件互聯(lián)(PCI)總線、 快速PCI總線等。通信結(jié)構(gòu)310代表各種總線或通信鏈路中的一個(gè)或多個(gè),該通信結(jié)構(gòu)310 也可如對圖3A中的通信結(jié)構(gòu)310所討論的具有額外容量。在這個(gè)實(shí)施例中,每一 GPU和視頻編碼器/視頻編解碼器(編碼器/解碼器)345 形成用于高速和高分辨率圖形處理的視頻處理流水線。來自GPU 306、308的嵌入式RAM 311、313的數(shù)據(jù)被存儲在存儲器322中。視頻編碼器/視頻編解碼器345經(jīng)由通信結(jié)構(gòu)310 來訪問存儲器322中的數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口 344輸出數(shù)據(jù),以便傳輸?shù)诫娨暀C(jī)或其他顯示器。由例如平臺聊天應(yīng)用之類的應(yīng)用生成的輕量消息(例如,彈出框)是通過使用GPU 來調(diào)度用于將彈出框呈現(xiàn)在覆蓋視頻平面中的代碼來創(chuàng)建的。覆蓋平面所使用的存儲器量取決于覆蓋區(qū)域大小,并且該覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)平臺服務(wù)應(yīng)用使用完整用戶界面的情況下,優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而消除了對改變頻率并弓I起τν重新同步的需求。存儲器控制器314促進(jìn)處理器訪問各種類型的存儲器322,諸如但不限于,一個(gè)或多個(gè)DRAM(動態(tài)隨機(jī)存取存儲器)通道。多媒體控制臺100包括較佳地在模塊318上實(shí)現(xiàn)的I/O控制器348、系統(tǒng)管理控制器325、音頻處理單元323、網(wǎng)絡(luò)接口控制器324、第一 USB主控制器349、第二 USB控制器 351和前面板I/O子部件350。USB控制器349和351用作外圍控制器352 (I) -352 (2)、無線適配器358、和外置存儲器設(shè)備356 (例如閃存、外置⑶/DVD ROM驅(qū)動器、記憶棒、可移動介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口 324和/或無線適配器358提供對網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問并且可以是包括以太網(wǎng)設(shè)備、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無線適配器組件中任何一種。提供系統(tǒng)存儲器331來存儲在引導(dǎo)過程期間加載的應(yīng)用數(shù)據(jù)。提供媒體驅(qū)動器 360且其可包括DVD/⑶驅(qū)動器、藍(lán)光驅(qū)動器、硬盤驅(qū)動器、或其它可移動媒體驅(qū)動器等。媒體驅(qū)動器360可以內(nèi)置或外置于多媒體控制臺100。應(yīng)用數(shù)據(jù)可經(jīng)由媒體驅(qū)動器360訪問, 以由多媒體控制臺100執(zhí)行、回放等。媒體驅(qū)動器360經(jīng)由諸如串行ATA總線或其他高速連接(例如IEEE 1394)等總線連接到I/O控制器348。系統(tǒng)管理控制器325提供涉及確保多媒體控制臺100的可用性的各種服務(wù)功能。 音頻處理單元323和音頻編解碼器346形成具有高保真度和立體聲處理的對應(yīng)的音頻處理流水線。音頻數(shù)據(jù)被存儲在存儲器322中,并被通過高保真立體聲和多通道音頻處理來形成相應(yīng)的音頻處理流水線的音頻處理單元323和音頻輸入/輸出單元346訪問。當(dāng)并發(fā)平臺服務(wù)應(yīng)用需要音頻時(shí),則由于時(shí)間敏感性而將音頻處理異步地調(diào)度給游戲應(yīng)用。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 344以供外部音頻用戶或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件350支持暴露在多媒體控制臺100的外表面上的電源按鈕351 和彈出按鈕353以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊362向多媒體控制臺100的組件供電。風(fēng)扇364冷卻多媒體控制臺100內(nèi)的電路。多媒體控制臺100可通過將該系統(tǒng)簡單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來操作。在該獨(dú)立模式中,多媒體控制臺100允許一個(gè)或多個(gè)用戶與該系統(tǒng)交互、看電影、或聽音樂。然而,隨著通過網(wǎng)絡(luò)接口 324或無線適配器358可用的寬帶連接的集成, 多媒體控制臺100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來操作。在多媒體控制臺100引導(dǎo)且系統(tǒng)資源被保留之后,執(zhí)行并發(fā)平臺服務(wù)應(yīng)用來提供平臺功能。平臺功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組平臺應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識是平臺服務(wù)應(yīng)用線程而非游戲應(yīng)用線程的線程。任選的輸入設(shè)備(例如,控制器352(1)和352(2))由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。 輸入設(shè)備要在平臺應(yīng)用和游戲應(yīng)用之間切換,使得其各自具有設(shè)備的焦點(diǎn)。I/O管理器348 較佳地控制輸入流的切換,且驅(qū)動程序維護(hù)關(guān)于焦點(diǎn)切換的狀態(tài)信息。捕捉設(shè)備20可以通過USB控制器349或其他接口來為控制臺100定義附加的輸入設(shè)備。圖5A是向QoS多媒體保證提供可縮放平臺服務(wù)的游戲控制臺計(jì)算機(jī)系統(tǒng)12體系結(jié)構(gòu)的一實(shí)施例的框圖。每一個(gè)樣本處理單元與共享資源通信結(jié)構(gòu)310的一實(shí)施例進(jìn)行交互,在本案中該共享資源通信結(jié)構(gòu)310是互連結(jié)構(gòu)310。結(jié)構(gòu)310可以是片上總線。存儲器控制器314控制用于經(jīng)由多個(gè)存儲器通道316中的一個(gè)或多個(gè)來訪問共享存儲器(此處所示的示例為一種形式的DRAM)的存儲器總線315。在這個(gè)實(shí)施例中,存在三個(gè)CPU和兩個(gè)GPU。平臺GPU 306被示為具有嵌入式RAM 313。應(yīng)用GPU 308也被示為具有嵌入式RAM 311。如以上所提到的,在一些實(shí)施例中,GPU 可以不具有嵌入式存儲器。平臺CPU 302用高速緩存305作為一般用于指令和用于數(shù)據(jù)的一級高速緩存和二級高速緩存的一實(shí)施例來示出。應(yīng)用CPU 304用高速緩存306作為一般用于指令和用于數(shù)據(jù)的一級高速緩存、二級高速緩存和三級(L3)高速緩存的一實(shí)施例來示出。用高速緩存506作為一級和二級高速緩存的一實(shí)施例來將共享的CPU 307示為多核 CPU。模塊519示出了多個(gè)輸入和輸出控制器。音頻處理單元542和544說明了專用硬件方法。應(yīng)用音頻處理器單元542在這個(gè)示例中是應(yīng)用硬件分區(qū)的一部分并且不必為平臺服務(wù)應(yīng)用執(zhí)行音頻處理。平臺音頻處理器544為一個(gè)或多個(gè)平臺服務(wù)應(yīng)用執(zhí)行音頻處理, 并為通過平臺服務(wù)軟件API 328來請求的一些多媒體應(yīng)用音頻任務(wù)執(zhí)行音頻處理。每一音頻處理器單元可包括用于編碼和解碼從平臺AV I/O控制器510接收或者向其輸出的音頻數(shù)據(jù)的硬件或數(shù)字信號處理器(DSP)或CPU執(zhí)行固件??稍诓煌耐ǖ郎喜⑿械剌斎牒洼敵霾煌囊纛l。例如,玩游戲的用戶可在一個(gè)通道上具有他們的音頻,而游戲的音頻正在其他通道上播放。所共享的專用處理器550可提供額外的計(jì)算資源。專用處理器550可支持的處理的一些示例是音頻和視頻處理、傳感器處理和圖像數(shù)據(jù)處理。除了共享專用處理器550以外,其他所示的I/O控制器是在平臺服務(wù)分區(qū)中多媒體應(yīng)用通過軟件虛擬化接口 328(例如,API)來進(jìn)行訪問的資源的示例。這些資源中的一些用于具有較少性能影響的共享硬件設(shè)備,諸如用戶輸入和輸出設(shè)備(例如,游戲控制器、鍵盤、定點(diǎn)設(shè)備)。要么它們是較底的帶寬,要么當(dāng)前所需的等待時(shí)間(為了滿足用戶體驗(yàn)需求)非常長,或者它們具有固有的重試能力。這些類型的硬件設(shè)備(它們并不是時(shí)間關(guān)鍵的)的其他示例包括但不限于以太網(wǎng)、WiFi、SATA (ODD和HDD)、高密度大容量存儲閃存、USB (用于許多設(shè)備類型)等。存在將從游戲應(yīng)用分區(qū)的觀點(diǎn)來進(jìn)行虛擬化的另一種分類的資源,并且平臺服務(wù)分區(qū)將充分地隱藏性能保證,即使存在實(shí)時(shí)等待時(shí)間和BW需求時(shí)也是這樣。這些資源的示例包括如平臺顯示控制器540視頻解碼器/編碼器(即,VC-I、H. 264、MPEG-2、MPEG-4等)、 視頻質(zhì)量框(即,運(yùn)動自適應(yīng)解交織、光斑減少、抖動減少等)、平臺I/O控制器348(例如, 快速PCI-e接口)和平臺視聽(AV)輸入/輸出接口控制器510(例如,其接收相機(jī)輸入552) 的硬件資源。這些框與實(shí)時(shí)視頻直接相關(guān),其對用戶體驗(yàn)具有關(guān)鍵的實(shí)時(shí)需求。在這些情況中,軟件API328被游戲應(yīng)用329用來進(jìn)行訪問。針對一致的實(shí)時(shí)性能的使用模塊用于避免由于作為整個(gè)總平臺中的下溢/溢出或其他低級QoS問題而引起的退出或錯(cuò)誤。平臺視聽控制器510控制與視聽設(shè)備或分開的顯示和音頻輸出設(shè)備的視聽輸入/輸出接口??墒褂玫慕涌诘氖纠骋话姹镜娘@示端口(DP)、高清晰度多媒體接口(HDMI)和數(shù)字音頻信號的索尼/飛利浦?jǐn)?shù)字互連格式(S/PDIF)。圖5B是向QoS多媒體保證提供可縮放的平臺服務(wù)的多媒體控制臺體系結(jié)構(gòu)的另一實(shí)施例的框圖,該框圖類似于圖5A,除了在這個(gè)實(shí)施例中應(yīng)用分區(qū)還包括高速、隨機(jī)存取閃速存儲器控制器572,該閃速存儲器控制器572用于控制在閃存接口 574的一個(gè)或多個(gè)通道518上的傳輸以訪問高速、隨機(jī)存取閃存536。在這個(gè)示例中,分區(qū)分配軟件334已經(jīng)映射了應(yīng)用程序單元304、408以允許它們訪問高速隨機(jī)存取閃存536而非訪問平臺處理單元 306,302ο圖2至圖5Β中示出的示例計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)可讀存儲介質(zhì)的示例。這樣的介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、高速緩存、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD) 或其他光盤存儲、記憶棒或卡、磁帶盒、磁帶、媒體驅(qū)動器、硬盤、磁盤存儲或其他磁性存儲設(shè)備、或能用于存儲所需信息且可以由計(jì)算機(jī)訪問的任何其他介質(zhì)。圖6是描述了用于基于對多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證在多媒體應(yīng)用和平臺服務(wù)應(yīng)用之間分配計(jì)算資源的過程的一個(gè)實(shí)施例的流程圖。在步驟702軟件接口 API 328接收對處理的請求,并在步驟703確定該請求是否是對執(zhí)行影響用戶體驗(yàn)的關(guān)鍵實(shí)時(shí)處理的資源的請求。如果是,則在步驟705相對于其他實(shí)時(shí)關(guān)鍵請求來處理該請求。 例如,可根據(jù)對顯示器的視頻數(shù)據(jù)的存儲器讀取來排定DRAM刷新的優(yōu)先級。如果該請求不是對執(zhí)行關(guān)鍵實(shí)時(shí)用戶體驗(yàn)處理的資源的請求,則在步驟704軟件API 328確定該請求是否是對多媒體應(yīng)用的請求。在一個(gè)實(shí)施例中,客戶機(jī)ID可標(biāo)識來自應(yīng)用分區(qū)資源的請求。 在另一個(gè)示例中,該請求可來自平臺資源但包括指示它是對多媒體應(yīng)用執(zhí)行的請求的數(shù)據(jù)段。響應(yīng)于該請求是對除多媒體應(yīng)用329以外的應(yīng)用的請求,資源在步驟706基于在多媒體計(jì)算機(jī)系統(tǒng)12中的資源的當(dāng)前條件來處理該請求。當(dāng)前條件一般指計(jì)算機(jī)系統(tǒng)以及當(dāng)前正在執(zhí)行的特定資源的當(dāng)前操作狀態(tài)。例如,多媒體應(yīng)用可被加到運(yùn)行時(shí)存儲器中并執(zhí)行,但是由于用戶已切換到了平臺服務(wù)應(yīng)用的菜單屏或者已點(diǎn)擊了 “暫停”因此它處于“暫?!睜顟B(tài)。這種操作狀態(tài)將可能降低對應(yīng)用的請求的優(yōu)先級。按照圖3A中的所存儲的優(yōu)先級方案333,還可存在如DRAM刷新或高安全威脅之類的并發(fā)系統(tǒng)功能,這些并發(fā)系統(tǒng)功能在優(yōu)先級上比對資源的應(yīng)用請求更高,因?yàn)樗鼈儠绊懹?jì)算機(jī)本身的操作的完整性。還可存在因其關(guān)鍵的實(shí)時(shí)性能窗口而比多媒體應(yīng)用請求優(yōu)先處理的平臺服務(wù),這些關(guān)鍵的實(shí)時(shí)性能窗口會不利地影響用戶體驗(yàn)。一些示例將是音頻輸出處理和混音。另一示例是需要在微秒的時(shí)間段內(nèi)更新顯示的視頻顯示輸出, 否則顯示上的一些像素將因?yàn)轱@示數(shù)據(jù)未及時(shí)更新而是黑色區(qū)域。在一些實(shí)例中,自然用戶界面(NUI)系統(tǒng)的相機(jī)圖像數(shù)據(jù)可比來自應(yīng)用CPU 304的一種類型的請求具有相對更高的優(yōu)先級。此外,諸如QoS保證軟件333之類的軟件可基于優(yōu)先級方案333將請求的優(yōu)先級重新安排在不同資源的可編程隊(duì)列中。如果請求是對多媒體應(yīng)用的請求,則軟件接口 328在步驟708確定在請求資源的當(dāng)前條件下QoS保證參數(shù)是否被滿足。例如,視頻編碼器345在對多媒體應(yīng)用的請求先前可具有兩個(gè)請求,但每個(gè)請求都具有使對發(fā)送多媒體應(yīng)用的流傳輸視頻的QoS等待時(shí)間保證仍被滿足的數(shù)據(jù)大小。當(dāng)請求可在資源的當(dāng)前條件下被滿足時(shí),在步驟710資源基于當(dāng)前條件處理請求。如果可適用的QoS保證參數(shù)在當(dāng)前的資源條件下不能被滿足,則資源分配控制單元620在步驟712在處理請求時(shí)應(yīng)用QoS保證處理技術(shù)。圖7和圖8提供應(yīng)用圖6的過程的QoS保證處理技術(shù)的實(shí)現(xiàn)實(shí)例。
圖7是描述了實(shí)現(xiàn)優(yōu)先級的過程作為針對等待時(shí)間保證的QoS保證處理技術(shù)的一個(gè)實(shí)施例的流程圖。步驟702至706如以上對圖6所討論的那樣執(zhí)行。如果請求是對多媒體應(yīng)用的請求,則API在步驟808確定在資源當(dāng)前條件下針對處理的QoS保證的上限或最大限制是否可被滿足。上限的示例是用于處理存儲器存取請求的最大時(shí)間量。上限的另一示例是基于顯示刷新率的時(shí)間限制。例如,游戲應(yīng)用通?;?0Hz或60Hz的實(shí)際時(shí)間, 并且在每一幀時(shí)間內(nèi)存在許多性能關(guān)鍵部分,這在限制了 QoS在其上執(zhí)行的時(shí)間窗口的上限。如果請求在當(dāng)前條件下不能滿足QoS保證等待時(shí)間上限,則在步驟816中API 328分配可用于多媒體應(yīng)用請求的最高優(yōu)先級。例如,帶著滿足上限的目標(biāo),可在請求隊(duì)列中提升該請求。例如按照存儲在系統(tǒng)存儲器311中的優(yōu)先級方案333,優(yōu)先級值的范圍可能是可用于多媒體應(yīng)用的。如果在步驟808確定在當(dāng)前條件下針對處理的QoS等待時(shí)間保證的上限可被滿足,則在步驟810軟件API 328確定在當(dāng)前條件下可適用的等待時(shí)間QoS保證的下限是否可被滿足。對于一些資源,可存在下限,例如關(guān)于時(shí)間窗口的下限,以便在QoS實(shí)現(xiàn)中具有穩(wěn)定的行為。下限可防止或減少Q(mào)oS主動干涉,以免其發(fā)生得過多,QoS主動干涉將在整個(gè)計(jì)算機(jī)系統(tǒng)控制臺上削弱其他性能的增加。例如,如用戶輸入設(shè)備之類的硬件設(shè)備由于它們較低的帶寬使用、與其他資源相比有較長的等待時(shí)間保證或者它們具有固定的重試能力,因此它們具有較少的性能影響。如果在資源的當(dāng)前條件下也滿足下限或最小限制,則在步驟814資源基于當(dāng)前條件來處理請求。如果在當(dāng)前條件下不能滿足對針處理的QoS保證的下限,則軟件API 328在步驟812將延遲插入到處理中以滿足下限或最小限制要求。在一些實(shí)施例中,上等待時(shí)間或下等待時(shí)間可申請例如I/O設(shè)備或諸如因特網(wǎng)連接之類的其他接口,其中輸入或數(shù)據(jù)即使在第一時(shí)間沒有被處理也可能會被再次發(fā)送。圖8是示出用于基于用于提供一致的實(shí)時(shí)性能的準(zhǔn)則來處理存儲器請求的QoS保證方法的示例的流程圖。在步驟922,存儲器的QoS保證軟件333或者存儲器的API 328接收存儲器存取請求。按照先前討論的步驟703和705,如果該請求是對執(zhí)行對用戶體驗(yàn)的實(shí)時(shí)處理的資源的請求,則相對于其他實(shí)時(shí)關(guān)鍵請求來處理該請求。在步驟704,存儲器的QoS保證軟件333或存儲器API 328確定請求是否來自執(zhí)行對正執(zhí)行的多媒體應(yīng)用的處理的資源。如果請求是對多媒體應(yīng)用的請求,則存儲器QoS保證軟件333、328在步驟926基于針對一致性能的準(zhǔn)則和當(dāng)前條件來確定由QoS所分配的存儲器資源處理該請求的時(shí)間。如對圖3A所討論地,針對一致性能的準(zhǔn)則的一些示例包括每一個(gè)處理單元的執(zhí)行效率和存儲器通道效率。按照當(dāng)前的條件,可存在來自執(zhí)行關(guān)鍵的實(shí)時(shí)處理的資源的請求,其為在對多媒體應(yīng)用的請求前面的那個(gè)事件提供一致的用戶體驗(yàn)和一致的計(jì)算機(jī)系統(tǒng)性能。另外,存儲器請求的系統(tǒng)標(biāo)準(zhǔn)可以是當(dāng)前條件的一部分。響應(yīng)于請求不是對多媒體應(yīng)用的請求,在步驟930QoS保證軟件333或者存儲器控制器API 328基于并非被分配用于針對多媒體應(yīng)用的QoS保證請求的存儲器資源的當(dāng)前條件來處理該請求。在一些實(shí)施例中,對用于QoS請求的存儲器資源的分配在執(zhí)行期間可以是完全動態(tài)的或部分動態(tài)的。在其他實(shí)施例中,當(dāng)多媒體應(yīng)用正在執(zhí)行時(shí),用于QoS請求的存儲器資源的分配可以是用于QoS保證請求的預(yù)留存儲器。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。更確切而言,上述具體特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開的。
權(quán)利要求
1.一種用于執(zhí)行服從針對多媒體軟件應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的處理的多媒體計(jì)算機(jī)系統(tǒng),包括平臺計(jì)算資源分區(qū),它包括平臺中央處理單元(CPU)和平臺圖形處理單元(GPU);以及應(yīng)用計(jì)算資源分區(qū),它包括應(yīng)用CPU和應(yīng)用GPU ;以及可被平臺分區(qū)資源和應(yīng)用分區(qū)資源訪問的共享資源。
2.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述應(yīng)用CPU和所述平臺CPU是不具有任何共享的高速緩存存儲器的分開的處理器。
3.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述應(yīng)用GPU和所述平臺GPU是不具有任何共享的嵌入式RAM存儲器的分開的處理器。
4.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括具有被編碼在其上的指令一個(gè)或多個(gè)計(jì)算機(jī)存儲介質(zhì),所述指令用于使所述處理單元中的至少一個(gè)在平臺和應(yīng)用分區(qū)之間動態(tài)地分配計(jì)算資源。
5.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于在一個(gè)或多個(gè)平臺服務(wù)應(yīng)用在所述平臺處理單元中的至少一個(gè)上以及所述多媒體應(yīng)用在所述應(yīng)用處理單元中的至少一個(gè)上的并發(fā)執(zhí)行期間,所述應(yīng)用處理單元并不執(zhí)行所述一個(gè)或多個(gè)平臺服務(wù)應(yīng)用。
6.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述共享資源是可被所述平臺CPU、所述平臺GPU、所述應(yīng)用CPU和所述應(yīng)用GPU訪問的存儲器;并且所述系統(tǒng)還包括具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲介質(zhì),所述指令用于使處理器基于以下準(zhǔn)則來相對于所述存儲器執(zhí)行基于針對所述多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS) 保證的QoS保證方法,所述準(zhǔn)則包括所述處理單元中的每一個(gè)的執(zhí)行效率;以及存儲器通道效率。
7.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括所述平臺分區(qū)包括對一個(gè)或多個(gè)平臺服務(wù)應(yīng)用和所述多媒體應(yīng)用執(zhí)行處理、但僅可被所述多媒體應(yīng)用經(jīng)由軟件接口來訪問的一個(gè)或多個(gè)硬件資源。
8.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲介質(zhì),所述指令用于使處理器執(zhí)行基于針對多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的QoS等待時(shí)間保證功能,所述方法包括確定是否針對所述多媒體應(yīng)用的處理的QoS等待時(shí)間保證的上限不能被滿足;以及響應(yīng)于所述QoS等待時(shí)間保證的上限沒有被滿足,基于當(dāng)前條件來分配可用于所述處理的最聞優(yōu)先級。確定是否針對所述多媒體應(yīng)用的處理的QoS等待時(shí)間保證的下限不能被滿足;以及響應(yīng)于所述QoS等待時(shí)間保證的所述下限沒有被滿足,將延遲插入到所述處理中以滿足所述下等待時(shí)間限制。
9.一種用于執(zhí)行服從針對多媒體軟件應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的處理的多媒體計(jì)算機(jī)系統(tǒng),包括平臺計(jì)算資源分區(qū),它包括平臺中央處理單元(CPU)和平臺圖形處理單元(GPU);應(yīng)用計(jì)算資源分區(qū),它包括應(yīng)用CPU和應(yīng)用GPU ;可被所述處理單元中的每一個(gè)訪問的存儲器;以及具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲介質(zhì),所述指令用于使所述處理單元中的至少一個(gè)執(zhí)行一種用于在多媒體模式和通用計(jì)算機(jī)模式之間將操作模式改變成至少一個(gè)處理單元的所請求的模式。
10.如權(quán)利要求9所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,用于在多媒體模式和通用計(jì)算機(jī)模式之間改變所述至少一個(gè)處理單元的操作模式的方法包括將所述至少一個(gè)處理單元的當(dāng)前模式執(zhí)行狀態(tài)數(shù)據(jù)存儲在所述存儲器中;將在所述至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用的當(dāng)前運(yùn)行時(shí)存儲器內(nèi)容存儲在所述存儲器中。為所述至少一個(gè)處理單元加載所請求的模式的先前存儲的執(zhí)行狀態(tài)數(shù)據(jù);以及為先前在所述至少一個(gè)處理單元上以所請求的模式執(zhí)行的任何應(yīng)用加載先前存儲的運(yùn)行時(shí)存儲器內(nèi)容。
全文摘要
本發(fā)明涉及具有QOS保證的可縮放多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)。描述了各種版本的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu),這些多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)滿足對諸如游戲應(yīng)用之類的多媒體應(yīng)用的服務(wù)質(zhì)量(QoS)保證,同時(shí)允許平臺資源,尤其是硬件資源,隨時(shí)間放大或縮小。將計(jì)算機(jī)系統(tǒng)的計(jì)算資源劃分成平臺分區(qū)和應(yīng)用分區(qū),每一分區(qū)都包括其自己的中央處理單元(CPU)和可選的圖形處理單元(GPU)。為了改善資源的放大或縮小,平臺分區(qū)包括只能被多媒體應(yīng)用通過軟件接口訪問的一個(gè)或多個(gè)硬件資源。另外,在這些分區(qū)的外面可存在被這些分區(qū)共享或者提供通用計(jì)算資源的其他資源。
文檔編號G06F1/16GK102591418SQ20111044011
公開日2012年7月18日 申請日期2011年12月15日 優(yōu)先權(quán)日2010年12月16日
發(fā)明者J·V·塞爾, J·塔迪夫, J·安德魯斯, M·S·格羅斯曼, N·R·貝克, S·卡麗 申請人:微軟公司