两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

使用基于電壓的功能的性能變化的指令優(yōu)化的制作方法

文檔序號:11851275閱讀:235來源:國知局
使用基于電壓的功能的性能變化的指令優(yōu)化的制作方法與工藝

除非本文中另外指示,在本部分中所描述的方法對于本申請中的權(quán)利要求不是現(xiàn)有技術(shù),并且不因包括在本部分中而被承認(rèn)為是現(xiàn)有技術(shù)。

隨著低電壓計算上的當(dāng)代發(fā)展已經(jīng)取得進步,用于操作集成電路的可允許的閾值和余量已經(jīng)顯著地降低。例如靠近閾值的計算可以使電壓等級降低到其中集成電路設(shè)計的制造上以前可接受的過程變化現(xiàn)在或許導(dǎo)致實質(zhì)上相異的功能上性能和容差的點。

典型地,在靠近閾值計算中,這樣的過程變化或許導(dǎo)致處理器核的子單元的局部故障。在同樣的操作條件下,例如,一個核的整數(shù)運算單元或許失敗,同時另一個核的旁路轉(zhuǎn)換緩沖器或許失敗。

概述

一些示例方法包括特征化多核處理器的工作負(fù)載以識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用。示例方法還可以包括選擇電壓以在該電壓下操作多核處理器的核。示例方法還可以包括基于在所選擇的電壓下各單個核中的經(jīng)識別的一個或多個單元的性能,將工作負(fù)載中的指令中的各單個指令分配給多核處理器的核中的核。

示例方法還可以包括從多核處理器可訪問的非易失性存儲器讀取指示在所選擇的電壓下各單個核中的經(jīng)識別的一個或多個子單元的性能的數(shù)據(jù)。

在一些示例方法中,指示在所選擇的電壓下各單個核中的所識別的一個或多個子單元的性能的數(shù)據(jù)可以包括指示針對在所選擇的電壓下各單個核中的經(jīng)識別的一個或多個子單元是否啟用功能的性能變化的數(shù)據(jù)。

在一些示例方法中,指示針對在所選擇的電壓下各單個核中的經(jīng)識別的一個或多個子單元是否啟用功能的性能變化的數(shù)據(jù)可以包括指示在所選擇的電壓下核的特定子單元的時鐘速度的數(shù)據(jù)。

在一些示例方法中,特征化多核處理器的工作負(fù)載以識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用包括:確定包括在工作負(fù)載中的經(jīng)識別的指令的類型;并且基于指令的類型,將權(quán)重分配給指令中的各單個指令。

另一示例方法包括在第一電壓下操作多核處理器的核。該方法還可以包括使用多核處理器的核來生成第一向量以指示針對在第一電壓下核中的多個子單元的各單個子單元是否啟用功能的性能變化。該方法還可以包括在第二電壓下操作多核處理器的核。該方法還可以包括使用多核處理器的核來生成第二向量以指示針對在第二電壓下針對核中的多個子單元中的各單個子單元是否啟用功能的性能變化。該方法還可以包括在第二電壓下操作多核處理器的核。該方法還可以包括將第一向量和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中。

在一些示例方法中,將第一向量和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中可以包括將第一向量和第二向量存儲在數(shù)據(jù)結(jié)構(gòu)中。

在一些示例方法中,將第一向量和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中可以包括存儲核中的多個子單元的各單個子單元的時鐘速度。

在一些示例方法中,將第一和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中可以包括存儲表,該表包括第一和第二向量。

在一些示例方法中,使用多核處理器的核來生成第一向量以指示針對在第一電壓下核中的多個子單元的各單個子單元是否啟用功能的性能變化可以包括生成第一向量以指示在第一電壓下和在第一溫度下針對核中的多個子單元中的各單個子單元啟用功能的性能變化,以及該方法還可以包括生成第三向量以指示針對在第一電壓下和在第二溫度下核中的多個子單元的各單個子單元是否啟用功能的性能變化。

在一些示例方法中,第一電壓可以對應(yīng)于第一電壓-頻率對,并且在第一電壓下操作多核處理器的核可以包括在第一電壓-頻率對中的頻率下操作核,以及第二電壓可以對應(yīng)于第二電壓-頻率對,并且在第二電壓下操作多核處理器的核可以包括在第二電壓-頻率對的頻率下操作核。

在一些示例方法中,第一向量可以包括多個二進制值,二進制值中的每一個值指示針對多個子單元的相應(yīng)子單元是否啟用功能的性能變化。

在一些示例方法中,第一向量可以包括頻率。

在又另一示例中,提供了多核處理器。多核處理器可以包括多個核,其中多個核中的各單個核包括被配置為基于操作電壓選擇性地啟用功能的性能變化的子單元。多核處理器還可以包括控制邏輯,其耦接到多個核的各單個核,并且被配置為接收操作電壓,以及接收來自多個核中的核的向量、該向量指示在操作電壓下哪個子單元已經(jīng)啟用了功能的性能變化,控制邏輯還被配置為將多個指令中的各單個指令分配給多個核,其中多個指令中的各單個指令基于該向量包括針對核中的一個或多個核的關(guān)聯(lián)。

在一些示例中,多核處理器還可以包括耦接到控制單元并且通過控制單元可訪問的非易失性存儲器,非易失性存儲器被配置為存儲針對核中的每一個核的向量,該向量指示在不同的操作電壓下哪個子單元已經(jīng)啟用功能的性能變化。

在一些示例中,向量還可以指示在特定的溫度下哪個子單元已經(jīng)啟用功能的性能變化。

在一些示例中,操作電壓還可以對應(yīng)于頻率,在該頻率下多個核被配置為響應(yīng)于接收到操作電壓來操作。

在一些示例中,多核處理器可以包括同構(gòu)多核處理器。

在又另一示例中,提供系統(tǒng)。該系統(tǒng)可以包括多核處理器,多核處理器包括存儲單元,該存儲單元被配置為存儲指示針對在多個電壓下多核處理器的核的子單元是否啟用功能的性能變化的數(shù)據(jù)。該系統(tǒng)還可以包括模塊,其耦接到存儲器并且被配置為將來自多個電壓中的操作電壓提供給多核處理器,并且其中模塊被配置為根據(jù)存儲在存儲單元中的數(shù)據(jù),將指令分配給多核處理器的核。

在一些示例中,模塊還可以被配置為特征化工作負(fù)載,包括識別由包括在工作負(fù)載中的指令中的各單個指令使用的一個或多個子單元。

在一些示例中,模塊還可以被配置為通過確定包括在工作負(fù)載中的指令的類型來至少部分地特征化工作負(fù)載,并且還可以被配置為基于指令的類型,將權(quán)重分配給指令。

在一些示例中,針對特定核是否啟用功能的性能變化是基于溫度的。

在一些示例中,模塊還可以被配置為將針對特定核的關(guān)聯(lián)分配給指令中的各單個指令。

在一些示例中,模塊可以包括超級管理器(hypervisor)。

前面的概述僅僅是示例性的,而不意在以任何方式進行限制。通過參考附圖以及下面的詳細(xì)描述,除了上文所描述的示例性的方案、實施例和特征之外,另外的方案、實施例和特征將變得顯而易見。

附圖說明

本公開的前述和其他特征將從結(jié)合附圖的下文中的描述和隨附權(quán)利要求中變得更加充分地明顯。應(yīng)當(dāng)理解,這些附圖僅僅描繪了根據(jù)本公開的幾個實施例,并且因此并不被認(rèn)為是限制它的范圍,本公開將通過使用附圖利用附加特性和細(xì)節(jié)而被描述,在附圖中:

圖1是根據(jù)本文所描述的至少一些實施例而布置的示例系統(tǒng)的框圖;

圖2是圖示根據(jù)本文所描述的至少一些實施例而布置的、在多核處理器中分配指令的示例方法的流程圖;

圖3是圖示根據(jù)本文所描述的至少一些實施例而布置的、確定多核處理器的指令關(guān)聯(lián)的示例方法的流程圖;

圖4是圖示指示在多個電壓下核的示例功能的性能變化的示例數(shù)據(jù)結(jié)構(gòu)的框圖;

圖5是圖示根據(jù)本文所描述的至少一些實施例的、被布置用于使用基于電壓的功能的性能變化的指令優(yōu)化的示例計算設(shè)備的框圖;以及

圖6是圖示根據(jù)本文所描述的至少一些實施例的、被布置來存儲用于使用基于電壓的功能的性能變化的指令優(yōu)化的指令的示例計算機程序產(chǎn)品的框圖。

具體實施方式

在以下詳細(xì)描述中,參考附圖,所述附圖形成詳細(xì)描述的一部分。除非上下文另外指示,在附圖中,相似的符號通常標(biāo)識相似的部件。在具體實施方式、附圖和權(quán)利要求中描述的說明性實施例并不旨在是限制性的。在不脫離本文所出現(xiàn)的主題的精神或范圍的前提下,可以利用其它實施例,以及可以進行其它改變。如本文一般地描述地,并且在附圖中圖示的,本公開的方面可以以廣泛的各種不同的配置被布置、替代、組合、分割和設(shè)計,所有這些在本文中都被明確地構(gòu)想到。

本公開總體上尤其關(guān)注涉及使用基于電壓的功能的性能變化的指令優(yōu)化(或另外指令的改進執(zhí)行)的方法、系統(tǒng)、產(chǎn)品、設(shè)備和/或裝置。

簡單來說,一些示例方法包括特征化多核處理器的工作量以識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用。示例方法還可以包括選擇電壓以在該電壓下來操作多核處理器的核。示例方法還可以包括基于在所選擇的電壓下各單個核的經(jīng)識別的一個或多個子單元,將工作負(fù)載的指令中的各單個指令分配給多核處理器的多個核中的核。

圖1是根據(jù)本文所描述的至少一些實施例而布置的示例系統(tǒng)100的框圖。圖1示出多核處理器110和模塊120。多核處理器110可以包括:控制邏輯112、非易失性存儲器114、和多個核115a-n(一般上是“多個核115”或“核115”)。圖1中所描述的各個部件僅僅是示例,并且包括減少部件、組合部件、添加部件和替代部件的其他變化都是預(yù)期的。

控制邏輯112可以耦接到核115中的每一個核以及非易失性存儲器114,并且總體上可以管理多核處理器110的操作。具體地,控制邏輯112可以將指令提供給核115中的每一個核,并且可以被配置為執(zhí)行其他處理器任務(wù),比如本文進一步所描述的那些任務(wù)。

模塊120可耦接到多核處理器110,并且可以包括計算設(shè)備的一個或多個硬件和/或軟件部件。模塊120可以包括一個或多個存儲設(shè)備,其包括易失性存儲器和/或非易失性存儲器,其根據(jù)所描述的實施例反過來可以被編碼為具有用于操作系統(tǒng)的指令和用于執(zhí)行指令的優(yōu)化(或另外改進的執(zhí)行)的一個或多個應(yīng)用。在一些示例中,模塊120可以包括超級管理器。在操作期間,以及如更詳細(xì)地將被解釋的,模塊120可以將任務(wù)提供給多核處理器110以用于執(zhí)行。任務(wù)可以包括與工作負(fù)載相關(guān)聯(lián)的編程線程和/或一個或多個指令。舉例來說,任務(wù)可以包括幾千條(例如,10,000)指令。如所描述的控制邏輯112可以將任務(wù)的指令提供給核115中的一個或多個??刂七壿?12可以例如將任務(wù)的所有指令提供給單個核115,或者可以將任務(wù)的指令提供給多個核115。

核115中的每一個可以執(zhí)行由控制邏輯112提供的指令,并且可以包括用于執(zhí)行指令的多個子單元。每個子單元可以專用于執(zhí)行一種或多種特定類型的指令,比如專用于浮點運算的指令或?qū)S糜谡麛?shù)運算的指令。每一個子單元例如可以包括:浮點單元(FPU)、算術(shù)邏輯單元(ALU)、其中的其他類型的單元或其中的部分、或其組合。多核處理器110的多個核115可以是同構(gòu)的或異構(gòu)的。

由控制邏輯112提供給核115的指令可以根據(jù)基于關(guān)聯(lián)的分配而被提供。例如,每一個指令可以針對指定的核115而被分配“關(guān)聯(lián)”,其指示待被指定的核115執(zhí)行的指令的偏愛。模塊120可以按任務(wù)等級或者按指令等級將關(guān)聯(lián)分配給指令,并且可以使用基于相位特征、指令調(diào)查(instruction census)、先行(Lookahead)和/或任何其他基于關(guān)聯(lián)的分配方法來實施基于關(guān)聯(lián)的分配。雖然模塊120可以將關(guān)聯(lián)分配給許多指令,但是控制邏輯112可以例如基于可用資源、和/或指令類型來選擇性地忽略關(guān)聯(lián)。

每一個核115可以根據(jù)多個電壓-頻率對中的每一個來進行操作。例如,每一個核115可以在多個電壓中的每一個下來操作,并且針對每一個電壓,還可以在與電壓相關(guān)聯(lián)的特定頻率下來操作。例如,核115a可以以與每一個電壓相關(guān)聯(lián)的操作頻率來在多個不同的電壓下操作。另外,在其下核115操作的電壓可以由模塊120命令。作為響應(yīng),每一個核115可以識別與命令的電壓相關(guān)聯(lián)的頻率,并且在經(jīng)識別的頻率下操作。在其他示例中,電壓和頻率兩者可以由模塊120命令。通過以該方式調(diào)整電壓和頻率,總體上可以改進處理效率。

在某些情況下,核115的一個或多個子單元在核115的命令的頻率下或許不正確地操作。核115中的特定的子單元例如可以針對合適的操作要求更低的頻率。相應(yīng)地,核115可以針對每一個子單元來選擇性地啟用功能的性能變化。針對子單元啟用功能的性能變化可以包括降低子單元通過其來操作的頻率(例如,時鐘頻率)。以這種方式降低頻率可以包括降低一半頻率,或其它因數(shù)的頻率。附加地或備選地,功能的功能變化可以基于核115的溫度和/或電壓而被選擇性地啟用。例如,核115中的子單元可以基于溫度和頻率來進行不同的操作,通過溫度和頻率子單元進行的操作可以被調(diào)整以幫助確保每一個子單元恰當(dāng)?shù)夭僮鳌?/p>

根據(jù)本文所描述的一個或多個實施例,在操作期間,核115中的每一個可以提供數(shù)據(jù)來指示哪個子單元啟用功能的性能變化。出于本文描述的目的,以這種方式由核115提供的數(shù)據(jù)可以指示核115的“性能”,并且相應(yīng)地被稱為“性能數(shù)據(jù)”。由核115提供的性能數(shù)據(jù)可以被提供給控制邏輯112并且還可以以向量形式被提供。舉例來說,性能數(shù)據(jù)向量的每一個元素可以指示與元素相關(guān)聯(lián)的子單元是否根據(jù)功能的性能變化來正在操作。在一些示例中,每一個元素可以通過指定二進制值來指示針對子單元是否啟用功能的性能變化(例如,二進制1可以指示啟用功能的性能變化),和/或可以指示子單元的操作頻率。附加地或備選地,每一個元素可以指示主時鐘的每個時鐘周期中由子單元完成的指令的數(shù)量。

為了生成性能數(shù)據(jù),多核處理器110的每一個核115可以在多個電壓中的每一個電壓下進行操作,并且作為響應(yīng)提供對應(yīng)于多個電壓中的每一個電壓的性能數(shù)據(jù)。針對每一個核115,在每一個電壓下的性能數(shù)據(jù)可以被放置在數(shù)據(jù)結(jié)構(gòu)中,比如表、鏈表、或數(shù)組。參考圖4,針對核115圖示示例數(shù)據(jù)結(jié)構(gòu)400,其指示在多個電壓中的每一個電壓下的、核115中的每一個子單元的性能功能的變化。在至少一示例中,性能數(shù)據(jù)可以與特定的溫度或溫度范圍相關(guān)聯(lián)。例如,核115可以針對多個溫度范圍中的每一個而在多個電壓下進行操作,使得針對在每一個溫度下每一個操作電壓來提供性能數(shù)據(jù)。

性能數(shù)據(jù)可以在多核處理器110的制造過程期間或在多核處理器110的初始操作期間生成。控制邏輯112可以例如接收每一個核115的性能數(shù)據(jù)并且將用于隨后參考的性能數(shù)據(jù)存儲在非易失性存儲器114、模塊120的易失性存儲器、和/或模塊120的非易失性存儲器中。附加地或備選地,在多核處理器110的操作期間,性能數(shù)據(jù)可在多核處理器的操作期間由核115中的每一個來實時提供。以這種方式,在操作期間隨著電壓和/或溫度波動,功能的性能變化可以被追蹤。

在操作期間,性能數(shù)據(jù)可以被模塊120使用以基于性能數(shù)據(jù)將關(guān)聯(lián)分配給一個或多個指令。模塊120可以例如使用性能數(shù)據(jù)以確定核115中哪個單個核或多個核最適合于執(zhí)行特定的指令并且相應(yīng)地將關(guān)聯(lián)分配給該指令。以這種方式,使用核115執(zhí)行指令可以被優(yōu)化或另外改進。舉例來說,利用半時鐘的浮點ALU操作的第一核115a或許更低效率執(zhí)行浮點運算指令,并且模塊120或許更偏向利用完全時鐘的浮點ALU的第二核115b來執(zhí)行浮點運算指令。模塊120可以將關(guān)聯(lián)分配給用于第二核115b的浮點運算指令。在一些示例中,模塊120可以實時接收性能數(shù)據(jù)并且使用實時接收到的性能數(shù)據(jù)將關(guān)聯(lián)分配給指令。在其他示例中,模塊120可以將性能數(shù)據(jù)存儲在例如模塊120的非易失性存儲器上以用于隨后的參考。

圖2是圖示根據(jù)本文所描述的至少一些實施例而布置的、在多核處理器中分配指令的示例方法200的流程圖。示例方法可以包括由塊205、210、和/或215中的一個或多個所示的一個或多個操作、功能或動作。響應(yīng)于執(zhí)行(比如通過本文所描述的一個或多個處理器)存儲在非暫態(tài)計算機可讀介質(zhì)、比如計算設(shè)備或一些其他的控制器或相似配置的設(shè)備的計算機可讀介質(zhì)中的計算機可讀指令,可以執(zhí)行塊205-215中所描述的操作。

示例過程可以從塊205開始,其可以包括“特征化多核處理器的工作負(fù)載以識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用”。塊205之后可以是塊210,其可以包括:“選擇電壓以在該電壓下操作多核處理器的核”。塊210之后可以是塊215,其可以包括“基于在所選擇的電壓下各單個核中經(jīng)識別的一個或多個子單元,將工作負(fù)載中的指令中的各單個指令分配給多核處理器的多個核中的核”。

包括在所描述的示例方法中的塊是出于說明性目的。在一些實施例中,塊可以以不同的順序執(zhí)行。在一些其他的實施例中,各個塊可以被消除。在另外其他實施例中,各個塊可以被分成附加塊、利用其他塊補充、或組合在一起稱為更少的塊。這些特定的塊的其他變化可以是預(yù)期的,包括塊的順序的改變、被分離或被組合成其他塊的塊的內(nèi)容的改變等。在一些示例中,在塊205之前,可以執(zhí)行塊210。

塊205可以包括“特征化多核處理器的工作負(fù)載以識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用”。模塊120可以針對多核處理器110識別例如提供給或存儲在模塊120中的工作負(fù)載。模塊120可以特征化工作負(fù)載以識別工作負(fù)載中的指令和每一個經(jīng)識別的指令的類型和/或被每一個經(jīng)識別的指令使用的子單元。例如,指令可以被識別為針對浮點運算(例如,加、減、乘、除)或針對整數(shù)運算。在某些情況下,特征化工作負(fù)載還可以包括將權(quán)重分配給每一個指令類型。權(quán)重可以例如指示相對于工作負(fù)載內(nèi)的其他指令類型的每一個指令類型的頻率。每一個指令類型的權(quán)重然后可以被加權(quán)以對照每一個核115的性能數(shù)據(jù)來確定哪個核115最適合于執(zhí)行每一個指令和/或包括指令的一個或多個任務(wù)。

塊210可以包括“選擇電壓以在該電壓下操作多核處理器的核”。模塊120可以針對多處理器110的核115選擇操作的電壓。如所描述,該電壓可以被命令給核115中的每一個,使得核115中的每一個可以根據(jù)電壓-頻率對來操作。在至少一個實施例中,電壓可以被選擇以優(yōu)化(或另外改進)工作負(fù)載中經(jīng)識別的指令的執(zhí)行。例如,如果工作負(fù)載包括指向整數(shù)運算的相對更多的指令,那么模塊120可以將電壓命令給多核處理器110的核115,以得到執(zhí)行針對整數(shù)運算的指令的最大總效率。

塊215可以包括“基于在所選擇的電壓下各單個核中的經(jīng)識別的一個或多個子單元的性能,將工作負(fù)載中的指令的各單個指令分配給多個處理器的多個核中的核”。例如,根據(jù)在塊205處所特征化的工作負(fù)載和在塊210處所選擇的電壓,模塊120可以針對特定的核115將關(guān)聯(lián)分配給指令中的每一個指令。指令隨后可以被提供給控制邏輯112以用于在核115上的執(zhí)行。如所描述的,控制邏輯112可以選擇性地忽略被分配給指令的關(guān)聯(lián)。

圖3是圖示根據(jù)本文所描述的至少一些實施例而布置的、確定多核處理器的指令關(guān)聯(lián)的示例方法300的流程圖。示例方法可以包括如由塊305、310、315、320、和/或325中的一個或多個塊所示的一個或多個操作、功能或動作。響應(yīng)于執(zhí)行(比如通過本文所描述的一個或多個處理器)存儲在計算機可讀介質(zhì)、比如計算設(shè)備或一些其他的控制器或相似配置的設(shè)備的非暫態(tài)計算機可讀介質(zhì)中的計算機可執(zhí)行指令,可以執(zhí)行塊305-325中所描述的操作。

示例過程可以從塊305開始,其可以包括“在第一電壓下操作多核處理器的核”。塊305之后可以是塊310,其可以包括“使用多核處理器的核來生成第一向量以指示針對在第一電壓下核的多個子單元的各單個子單元是否啟用功能的性能變化”。塊310之后可以是塊315,其可以包括“在第二電壓下操作多核處理器中的核”。塊315之后可以是塊320,其可以包括“使用多核處理器中的核來生成第二向量以指示針對在第二電壓下核的多個子單元的各單個子單元是否啟用功能的性能變化”。塊320之后可以是塊325,其可以包括“將第一和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中”。

包括在所描述的示例方法中的塊是出于說明性的目的。在一些實施例中,塊可以以不同的順序執(zhí)行。在一些其他的實施例中,各個塊可以被消除。在另外其他實施例中,各個塊可以被分成附加塊、利用其他塊補充、或組合在一起稱為更少的塊。這些特定的塊的其他變化可以是預(yù)期的,包括塊的順序的改變、被分離或被組合成其他塊的塊的內(nèi)容的改變等。舉例來說,在塊320處生成第一向量之前,第一向量可以被存儲在非易失性存儲器中。

塊305可以包括“在第一電壓下操作多核處理器的核”??梢栽诘谝浑妷合虏僮鞫嗪颂幚砥?10的核115、比如核115a。如所描述的,電壓可以由模塊120或控制邏輯112來命令。響應(yīng)于第一電壓,核115可以根據(jù)對應(yīng)的電壓-頻率對進行操作。因為核115中的子單元或許不以電壓-頻率對來進行適當(dāng)?shù)夭僮?,所以?15可以針對子單元的一個或多個子單元來選擇性地啟用功能的功能變化。

塊310可以包括“使用多核處理器的核來生成第一向量以指示在第一電壓下核的多個子單元的各單個子單元是否啟用功能的性能變化”。雖然在第一電壓下進行操作,但是核115可以提供性能數(shù)據(jù)來指示針對哪個子單元啟用功能的性能變化。性能數(shù)據(jù)可以以向量形式被提供,和/或可以指示二進制值,其指示針對每一個子單元是否啟用功能的性能變化。性能數(shù)據(jù)可以從每一個核115被提供給控制邏輯112。

塊315可以包括“在第二電壓下來操作多核處理器中的核”??梢栽诘诙妷合聛聿僮鞫嗪颂幚砥?10中的核115。如所描述的,電壓可以由模塊120或控制邏輯112來命令。響應(yīng)于第二電壓,核115可以根據(jù)對應(yīng)的電壓-頻率對來操作。因為核115的子單元在電壓-頻率對下或許不適當(dāng)?shù)夭僮?,所以?15可以針對子單元的一個或多個來選擇性地啟用功能的性能變化。

塊320可以包括“使用多核處理器的核來生成第二向量以指示針對在第一電壓下核的多個子單元的各單個子單元是否啟用功能的性能變化”。雖然在第二電壓下進行操作,但是核115可以提供性能數(shù)據(jù)來指示針對哪個子單元啟用功能的性能變化。性能數(shù)據(jù)可以以向量形式被提供,和/或還可以指示二進制值來指示針對每一個子單元是否啟用功能的性能變化。性能數(shù)據(jù)可以從每一個核115被提供給控制邏輯112。

塊325可以包括“將第一和第二向量存儲在與多核處理器相關(guān)聯(lián)的非易失性存儲器中”。在控制邏輯112接收來自在每一個電壓下的核115的第一和第二向量兩者之后,控制邏輯112可以將向量存儲在非易失性存儲器、比如多核處理器110的非易失性存儲器114或模塊120的非易失性存儲器中。如所描述的,向量可以被存儲在數(shù)據(jù)結(jié)構(gòu)、比如表中。

盡管已經(jīng)描述了關(guān)于特定的核115的方法300,但是應(yīng)當(dāng)理解,方法300可以在多個核上同時地被執(zhí)行,使得針對操作的每一個電壓通過每一個核115提供向量。此外,核115可以在許多電壓下被操作,和/或可以以不同的溫度在同樣的電壓下被操作許多次。

圖4是圖示指示在多個電壓下核的功能的性能變化的示例數(shù)據(jù)結(jié)構(gòu)400的框圖;如所描述的,數(shù)據(jù)結(jié)構(gòu)400可以指示在每一個電壓下哪個子單元410啟用功能的性能變化。

子單元410可以包括浮點除法子單元(FP DIV)、浮點乘法子單元(FPMUL)、浮點ROM子單元(FP ROM)、整數(shù)乘法子單元(INT MUL)、整數(shù)除法子單元(INT DIV)、整數(shù)洗牌(shuffle)子單元(INT SHUF)、帶符號的整數(shù)移位子單元(SISHIFT)、整數(shù)耗時子單元(INT SLOW)、旁路轉(zhuǎn)換緩沖器(translation lookaside buffer)子單元(TLB)、1級數(shù)據(jù)緩存子單元(L1D)、1級指令緩存子單元(L1I)、讀取-存儲(load-store)隊列子單元(LSQ)、重新排序緩沖子單元(ROM)、和按次序子單元(InORD)。這些和/或其他子單元的任何組合可以被使用在核115中的每一個核中。

如描述的,功能的性能變化可以包括調(diào)整一個或多個子單元410操作的頻率。參考圖4,二進制“1”可以指示針對子單元410啟用功能的性能變化,以及二進制“0”可以指示針對子單元410沒有啟用功能的性能變化。將0.8V的電壓作為示例,核115的功能的性能變化可以例如被啟用以用于INT MUL子單元和INT DIV子單元。

圖5是圖示根據(jù)本文所描述的至少一些實施例的、被布置用于使用基于電壓的功能的性能變化的指令優(yōu)化(或另外改進的執(zhí)行指令)的示例計算設(shè)備的框圖。在非?;A(chǔ)配置501中,計算設(shè)備500典型地包括一個或多個處理器510和系統(tǒng)存儲器520。存儲器總線530可以被用于處理器510和系統(tǒng)存儲器520之間的通信。一個示例中的處理器510可以對應(yīng)于圖1中的多核處理器110。

根據(jù)期望的配置,處理器510可以是任何類型,包括但不限于微處理器(μP)、微控制器(μC)、數(shù)字信號處理器(DSP)或其任意組合。處理器510可以包括多等級緩存(例如一級緩存511和二級緩存512)、處理器核513、寄存器514、控制邏輯516、和非易失性存儲器517。一個實施例中的處理器核513可以對應(yīng)于圖1中的核115。示例處理器核513可以包括運算邏輯單元(ALU)、浮點單元(FPU)、數(shù)字信號處理核(DSP核)或其任意組合。一個實施例中的控制邏輯516可以對應(yīng)于圖1中的控制邏輯112。一個實施例中的非易失性存儲器517可以對應(yīng)于圖1中的非易失性存儲器114。示例存儲器控制器515還可以與處理器510一起使用,或在一些實施方式中,存儲控制器515可以是處理器510的內(nèi)部部分。

根據(jù)期望的配置,系統(tǒng)存儲器520可以是任何類型,包括但不限于易失性存儲器(例如RAM)、非易失性存儲器(例如ROM、閃存等)或其任意組合。系統(tǒng)存儲器520可以包括操作系統(tǒng)521、一個或多個應(yīng)用522以及程序數(shù)據(jù)524。應(yīng)用522可以包括指令優(yōu)化邏輯523,其可以被配置為基于如本文所描述的執(zhí)行數(shù)據(jù)來優(yōu)化指令。相應(yīng)地,一個實施例中的系統(tǒng)存儲器520可以對應(yīng)于模塊120。程序數(shù)據(jù)524可以包括執(zhí)行數(shù)據(jù)、和/或可用于實現(xiàn)指令優(yōu)化邏輯523的其他信息。在一些實施例中,應(yīng)用522可以被布置以利用程序數(shù)據(jù)524在操作系統(tǒng)521上進行操作,使得可以執(zhí)行本文所描述的任何過程。所描述的基本配置在圖5中通過基礎(chǔ)配置501的虛線內(nèi)的那些部件圖示出。

計算設(shè)備500可以具有附加特征或功能、和附加接口,以促進基本配置501和任何需要的設(shè)備以及接口之間的通信。例如,總線/接口控制器540可以被用于促進經(jīng)由存儲接口總線541在基本配置501和一個或多個數(shù)據(jù)存儲設(shè)備550之間的通信。數(shù)據(jù)存儲設(shè)備550可以是可移動存儲設(shè)備551、非可移動存儲設(shè)備552或其組合??梢苿哟鎯头强梢苿哟鎯υO(shè)備的示例包括磁盤設(shè)備(例如軟盤驅(qū)動器和硬盤驅(qū)動器(HDD))、光盤驅(qū)動器(例如壓縮盤(CD)驅(qū)動器或數(shù)字多功能盤(DVD)驅(qū)動器)、固態(tài)驅(qū)動器(SSD)以及磁帶驅(qū)動器等等。示例計算機存儲介質(zhì)可以包括以用于存儲信息(例如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移除和非可移除的介質(zhì)。

系統(tǒng)存儲器520、可移動存儲設(shè)備551和非可移除存儲設(shè)備552是計算機存儲介質(zhì)的示例。計算機存儲介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其他存儲技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他的光存儲裝置、磁帶盤、錄音帶、磁盤存儲或其他磁盤存儲設(shè)備、或可被用于存儲期望信息并且可被計算設(shè)備500訪問的任何其他介質(zhì)。任何這樣的計算機存儲介質(zhì)可以是計算設(shè)備500的部分。

計算設(shè)備500也可以包括接口總線542,其用于促進經(jīng)由總線/接口控制器540的從各種接口設(shè)備(例如輸出設(shè)備、外圍接口和通信設(shè)備)到基本配置501的通信。示例輸出設(shè)備560包括圖形處理單元561和音頻處理單元562,其可以被配置為經(jīng)由一個或多個A/V端口563與各種外部設(shè)備(例如顯示器或揚聲器)通信。示例外圍接口570包括串行接口控制器571或并行接口控制器572,其可以被配置為經(jīng)由一個或多個I/O端口573與外部設(shè)備進行通信,比如輸入設(shè)備(例如鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等)或其他外圍設(shè)備(例如打印機、掃描儀等)。示例通信設(shè)備580包括網(wǎng)絡(luò)控制器581,其可以布置為促進經(jīng)由一個或多個通信端口582通過網(wǎng)絡(luò)通信鏈路與一個或多個其他計算設(shè)備590進行通信。

網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個示例。通信介質(zhì)可以典型地通過計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或調(diào)制數(shù)據(jù)信號(例如載波或其他傳輸機制)中的其他數(shù)據(jù)進行實施,并且可以包括任何信息遞送介質(zhì)?!罢{(diào)制數(shù)據(jù)信號”可以是這樣的信號,其具有以信號中的編碼信息那樣的方式設(shè)置或改變的其特征中的一個或多個。舉例而言但不做限制,通信介質(zhì)可以包括有線介質(zhì)(例如有線網(wǎng)或直接有線連接)、以及無線介質(zhì)(例如聲波、無線電頻率(RF)、微波、紅外(IR)和其他無線介質(zhì))。如本文所使用的術(shù)語計算機可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。

計算設(shè)備500可以被實施為小型體積便攜式(或移動)電子設(shè)備(例如手機、個人數(shù)據(jù)助理(PDA)、個人媒體播放器設(shè)備、無線web查看設(shè)備、個人耳機設(shè)備、應(yīng)用特定設(shè)備或包括上面任何功能的混合設(shè)備)的一部分。計算設(shè)備500也可被實施為包括膝上型計算機和非膝上型計算機配置的個人計算機。

圖6是圖示根據(jù)本文所描述的至少一些實施例的、被布置以針對使用基于電壓的功能的性能變化的指令優(yōu)化來存儲指令的示例計算機程序產(chǎn)品的框圖??梢员粚嵤榛虬ㄓ嬎銠C可讀介質(zhì)606、計算機可記錄介質(zhì)608、計算機通信介質(zhì)610或其組合的信號承載介質(zhì)602存儲程序指令604,其可以將處理單元配置為執(zhí)行先前所描述的過程中的所有或一些。這些指令可以包括例如一個或多個可執(zhí)行指令以特征化多核處理器的工作負(fù)載來識別所述多核處理器的各單個核的一個或多個子單元,以供包括在所述工作負(fù)載中的指令使用;選擇電壓以在其下操作多核處理器的核;以及基于在所選擇的電壓下各單個核的經(jīng)識別的一個或多個子單元的性能,將工作負(fù)載中的指令的各單個指令分配給多核處理器中的核的核。

本公開并不是以本申請中所描述的特定的示例來限制的,這些特定的示例意圖作為各個方面的說明。在不脫離其精神和范圍的情況下,可以進行許多修改和示例。除了本文所枚舉的那些之外,在本公開范圍內(nèi)的功能上等同的方法和設(shè)備根據(jù)前面的說明將是可能的。這樣的改進和示例意圖落在隨附權(quán)利要求書的范圍內(nèi)。連同這些權(quán)利要求書所給予權(quán)利的等同方案的整個范圍內(nèi),本公開僅受隨附權(quán)利要求書的措辭限制。本公開不限于特定的方法、試劑、化合物組成或生物系統(tǒng),這些當(dāng)然可以變化。本文所使用的術(shù)語僅是為了描述特定示例的目的,而不意在限制。

關(guān)于本文中實質(zhì)上任何復(fù)數(shù)和/或單數(shù)術(shù)語的使用,本領(lǐng)域技術(shù)人員能夠根據(jù)上下文和/或應(yīng)用適當(dāng)?shù)貜膹?fù)數(shù)變換成單數(shù)和/或從單數(shù)變換成復(fù)數(shù)。為了清晰的目的,本文中可以明確地闡明了各種單數(shù)/復(fù)數(shù)置換。

本領(lǐng)域技術(shù)人員將理解,一般地,本文所使用的術(shù)語,尤其是隨附權(quán)利要求(例如,隨附權(quán)利要求的主體)中所使用的術(shù)語,通常意在為“開放式”術(shù)語(例如,術(shù)語“包括”應(yīng)當(dāng)解釋為“包括但不限于”,術(shù)語“具有”應(yīng)解釋為“至少具有”,術(shù)語“包含”應(yīng)解釋為“包含但不限于”,等等)。

本領(lǐng)域技術(shù)人員還將理解,如果意圖表達(dá)引導(dǎo)權(quán)利要求記述項的具體數(shù)量,則這樣的意圖應(yīng)該明確地記載于權(quán)利要求中,如果沒有這樣的記載,則這樣的意圖不存在。例如,為輔助理解,下面的隨附權(quán)利要求可能包含了引導(dǎo)性短語“至少一個”和“一個或多個”的使用以引導(dǎo)權(quán)利要求記述項。然而,這種短語的使用不應(yīng)解釋為暗指不定冠詞“一”或“一個”引導(dǎo)權(quán)利要求記述項將包含該所引導(dǎo)的權(quán)利要求記述項的任何特定權(quán)利要求局限于僅包含一個該記述項的示例,即使當(dāng)同一權(quán)利要求包括了引導(dǎo)性短語“一個或多個”或“至少一個”以及諸如不定冠詞“一”或“一個”的(例如,“一”和/或“一個”應(yīng)當(dāng)解釋為表示“至少一個”或“一個或多個”);這同樣適用于對于用于引導(dǎo)權(quán)利要求記述項的定冠詞的使用。另外,即使明確地記述了被引導(dǎo)的權(quán)利要求記述項的具體數(shù)量,本領(lǐng)域技術(shù)人員將理解到這些記述項應(yīng)當(dāng)解釋為至少表示所記述的數(shù)量(例如,沒有其它修飾語的裸記述“兩個記述項”表示至少兩個記述項或兩個以上的記述項)。

此外,在使用類似于“A、B和C等中的至少一個”的慣用法的那些實例中,通常這樣的構(gòu)造旨在表達(dá)本領(lǐng)域技術(shù)人員理解該慣用法的含義(例如,“具有A、B和C中的至少一個的系統(tǒng)”將包括但不限于僅具有A、僅具有B、僅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系統(tǒng))。在使用類似于“A、B和C等中的至少一個”的慣用法的那些實例中,通常這樣的構(gòu)造旨在表達(dá)本領(lǐng)域技術(shù)人員理解該慣用法的含義(例如,“具有A、B和C中的至少一個的系統(tǒng)”將包括但不限于僅具有A、僅具有B、僅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系統(tǒng))。本領(lǐng)域技術(shù)人員將進一步理解,表示兩個或多個備選術(shù)語的幾乎任何轉(zhuǎn)折詞和/或短語,無論是在說明書、權(quán)利要求或附圖中,都應(yīng)理解為設(shè)想包括一項、任一項或兩項的可能性。例如,術(shù)語“A或B”將理解為包括“A”或“B”或“A和B”的可能性。

另外,對于用馬庫什組(Markush groups)的措辭描述的本公開的特征或方面,本領(lǐng)域的技術(shù)人員將理解本公開也因此用馬庫什組的成員中的任何單個成員或子組的措辭來描述。

本領(lǐng)域技術(shù)人員將理解的是,出于任何以及全部的目的,諸如在提供所撰寫的說明書方面,本文所公開的全部范圍也涵蓋了任何和全部的可能的子范圍及其子范圍的組合。能夠容易地認(rèn)識到,任何所列范圍都充分地描述了同一范圍并且使同一范圍分解成至少均等的兩半、三份、四份、五份、十份等等。作為非限制性示例,本文所論述的每個范圍能夠容易地分解成下三分之一、中三分之一和上三分之一,等等。本領(lǐng)域技術(shù)人員還將理解的是,諸如“多達(dá)”、“至少”、“多于”、“少于”等所有的言詞包括所記述的數(shù)量并且是指如上文所論述的隨后能夠分解成子范圍的范圍。最后,本領(lǐng)域技術(shù)人員將理解的是,范圍包括每個獨立的成員。因此,例如,具有1-3個單元的組是指具有1個、2個或3個單元的組。類似地,具有1-5個單元的組是指具有1個、2個、3個、4個、或5個單元的組,等等。

盡管前面的詳細(xì)描述已經(jīng)通過使用框圖、流程圖和/或示例闡述了設(shè)備和/或過程的各個實施例,以及在這些框圖、流程圖和/或示例包含一項或多項功能和/或操作的程度上,可以通過各種各樣的硬件、軟件、固件或幾乎其任意組合來單獨地和/或共同地實現(xiàn)這些框圖、流程圖或示例內(nèi)的每項功能和/或操作。在一個實施例中,本文所描述的主題的多個部分可經(jīng)由專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)或其它集成形式來實現(xiàn)。然而,在本文公開的示例的一些方面可以整體地或部分地在集成電路中等效地實現(xiàn)為:在一個或多個計算機上運行的一個或多個計算機程序(例如,實現(xiàn)為在一個或多個計算機系統(tǒng)上運行的一個或多個程序)、在一個或多個處理器上運行的一個或多個程序(例如,實現(xiàn)為在一個或多個微處理器上運行的一個或多個程序)、固件、或幾乎任何組合,并且將認(rèn)識到,根據(jù)本公開內(nèi)容,設(shè)計電路和/或編寫用于軟件和/或固件的代碼將是可能的。例如,如果用戶確定速度和精確度是最重要的,那么用戶可以選擇主要為硬件和/或固件的手段;如果靈活性是最重要的,用戶可以選擇主要是軟件的實施方式;或者,同樣也是備選地,用戶可以選擇硬件、軟件和/或固件的一些組合。

另外,本文所描述的主題的機制能夠作為程序產(chǎn)品以各種形式被分發(fā),并且本文所描述的主題的示例性實施例都適用,而不論實際上用于實施分發(fā)的信號承載介質(zhì)的特定類型如何。信號承載介質(zhì)的示例包括但不限于以下:可記錄型介質(zhì),諸如軟盤、硬盤驅(qū)動器、壓縮盤(CD)、數(shù)字視頻光盤(DVD)、數(shù)字帶、計算機存儲器等;以及傳輸型介質(zhì),諸如數(shù)字和/或模擬通信介質(zhì)(例如,光纖電纜、波導(dǎo)、有線通信鏈路、無線通信鏈路等)。

本領(lǐng)域技術(shù)人員將理解的是,在本領(lǐng)域內(nèi)通常以本文闡述的方式來描述設(shè)備和/或過程,此后利用工程實踐將這些所描述的設(shè)備和/或過程集成到數(shù)據(jù)處理系統(tǒng)中。也即,本文所描述的設(shè)備和/或過程的至少一部分可以通過合理數(shù)量的實驗集成到數(shù)據(jù)處理系統(tǒng)中。典型的數(shù)據(jù)處理系統(tǒng)通常包括如下中的一種或多種:系統(tǒng)單元殼體,視頻顯示設(shè)備,比如易失性和非易失性存儲器的存儲器,比如微處理器和數(shù)字信號處理器的處理器,比如操作系統(tǒng)的計算實體、驅(qū)動器、圖形用戶接口和應(yīng)用程序的計算實體,比如觸摸板或觸摸屏的一個或多個交互設(shè)備,和/或包括反饋回路和控制電機(例如用于感測位置和/或速度的反饋;用于移動和/或調(diào)整部件和/或數(shù)量的控制電機)的控制系統(tǒng)。典型的數(shù)據(jù)處理系統(tǒng)可利用任何適合的商業(yè)可用部件來實現(xiàn),比如在數(shù)據(jù)計算/通信和/或網(wǎng)絡(luò)計算/通信系統(tǒng)中典型地提供的那些部件。

本文所描述的主題有時示出包含在不同的其它部件中的或與不同的其它部件連接的不同部件。這些所描繪的體系結(jié)構(gòu)僅是示例性的,并且實際上可以實施實現(xiàn)相同功能的許多其它體系結(jié)構(gòu)。在概念意義上,實現(xiàn)相同功能的任何部件布置是有效地“關(guān)聯(lián)的”,以實現(xiàn)期望的功能。因此,在本文被組合以實現(xiàn)特定功能的任何兩個部件可視為彼此“關(guān)聯(lián)”以使得實現(xiàn)期望功能,不論體系結(jié)構(gòu)或中間部件如何。同樣,任意兩個如此關(guān)聯(lián)的部件還可視為彼此“可操作地連接”、或“可操作地耦合”以實現(xiàn)期望的功能,并且能夠如此關(guān)聯(lián)的任意兩個部件還可視為彼此“能夠可操作地耦合”以實現(xiàn)期望功能。能夠可操作耦合的具體示例包括但不限于能夠物理上配對和/或物理交互的部件和/或能夠無線交互和/或無線交互的部件和/或邏輯上交互和/或能夠邏輯上交互的部件。

盡管本文已經(jīng)公開了各個方面和示例,但是其他方面和示例是可能的。本文所公開的各個方案和示例是出于說明性的目的,并不意圖是限制性的,其中真實的范圍和精神通過下面的權(quán)利要求來表示。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绥阳县| 灵宝市| 宿迁市| 满城县| 突泉县| 寿光市| 荥阳市| 化德县| 黄陵县| 信宜市| 宿州市| 凤山市| 尉犁县| 宁明县| 长子县| 贵德县| 枞阳县| 绵竹市| 天等县| 册亨县| 兴安县| 常德市| 阿拉尔市| 永嘉县| 酉阳| 台北县| 伊金霍洛旗| 宝鸡市| 奇台县| 普定县| 高安市| 威宁| 九台市| 合山市| 北票市| 内丘县| 屏山县| 西林县| 新田县| 水城县| 阳曲县|