TWI587126B - 用於通用串列匯流排(usb)操作之性能最佳化的系統及方法 - Google Patents

用於通用串列匯流排(usb)操作之性能最佳化的系統及方法 Download PDF

Info

Publication number
TWI587126B
TWI587126B TW101135593A TW101135593A TWI587126B TW I587126 B TWI587126 B TW I587126B TW 101135593 A TW101135593 A TW 101135593A TW 101135593 A TW101135593 A TW 101135593A TW I587126 B TWI587126 B TW I587126B
Authority
TW
Taiwan
Prior art keywords
dma
processor
activity
indicator
usb
Prior art date
Application number
TW101135593A
Other languages
English (en)
Other versions
TW201337535A (zh
Inventor
傅春安
潘聖雄
Original Assignee
英特爾股份有限公司
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 英特爾股份有限公司 filed Critical 英特爾股份有限公司
Publication of TW201337535A publication Critical patent/TW201337535A/zh
Application granted granted Critical
Publication of TWI587126B publication Critical patent/TWI587126B/zh

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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding

Description

用於通用串列匯流排(USB)操作之性能最佳化的系統及方法
本發明係有關用於通用串列匯流排(USB)操作之性能最佳化的系統及方法。
已實現通用串列匯流排(USB)標準來標準化計算裝置至電腦周邊裝置(比如鍵盤、指向裝置、數位相機、印表機、可攜式媒體播放器、磁碟驅動器、及網路配接器)的連結以通訊並同時供應電源。USB標準包括對主機控制器介面(HCI)的支援,HCI係能使USB的主機控制器與軟體中之主機控制器驅動程式通訊的一種暫存器級介面。驅動器軟體通常係與計算裝置之操作系統一起提供,但也可藉由比如微控制器之特定應用裝置加以實現。USB標準中所支援的HCI技術包括有開放式主機控制器介面(OHCI)、通用主機控制器介面(UHCI)、增強型主機控制器介面(EHCI)、及可擴充型主機控制器介面(xHCI)。EHCI標準提供高速USB功能並仰賴同伴控制器,OHCI或UHCI,來處置全或低速裝置功能。
EHCI支援週期性資料傳輸,比如中斷及等時USB傳輸。當一USB裝置「啟動」中斷傳輸時,由USB裝置佇列中斷請求直到主機輪詢USB裝置以要求資料。另一方面,等時傳輸可連續及週期性地發生,並可涉及時敏資訊,比如音頻或視頻流。在這兩種傳輸的任一種中,含有 主機控制器及主處理器(CPU)之設備中的CPU之運作可能會受影響。例如,在EHCI支援的直接記憶體存取(DMA)傳輸中,DMA控制器允許裝置直接存取主記憶體而不需CPU介入。該DMA特徵幾乎遍及於當前的計算裝置中並允許計算裝置內的硬體子系統與CPU無關地存取記憶體。在無DMA的情況中,使用經編程的輸入/輸出(I/O)之CPU通常在讀取或寫入操作的整個期間會被完全佔用,而因此無法用來履行其他工作。使用DMA,CPU可啟動傳輸,在傳輸進行的同時履行其他操作,且一旦完成了操作便接收來自DMA控制器的中斷。這對任何時候CPU無法跟上資料傳輸的速率係很有用的,或CPU可在等待相對慢的I/O資料傳輸之同時履行有用的工作。類似地,多核心處理器內的處理元件可傳輸資料往返其區域記憶體而不佔用其處理器時間並允許運算與資料傳輸並行。
在目前技術中,取決於EHCI DMA活動的狀態,CPU可進入省電C狀態(其中C0指正常操作電力狀態,且狀態C1到C6指較低電力操作狀態,其中C6為最低電力狀態或「最深」C狀態)。例如,可配置計算系統,使得當一控制器接收確立(assert)(輸出)EHCI DMA現行狀態之信號時,CPU係維持在最低可能的潛伏,其相應於一淺C狀態(如C2)。依照此方式,可節省一些處理器電力,同時CPU可以最小延遲恢復正常電力操作。
另一方面,如果控制器接收了一取消確立(de-assert)EHCI DMA現行狀態之信號,可能可將CPU置於比淺C狀態消耗更少電 力的較深C狀態中。依照此方式,可減少整體的系統耗電量。當控制器接收到恢復週期性EHCI訊務的信號時,控制器可發送喚醒信號至CPU,使CPU可恢復在較高電力C狀態中之正常操作。然而,由於與恢復CPU正常操作關聯之潛伏的緣故,當CPU離開較深C狀態時可能會延遲新訊務的處理。
據此,需要經改善的技術及設備來解決這些及其他的問題。
實施例可包括用於排程處置USB資料之CPU操作的經改善之設備及方法。如所述,在各種實施例中可在等時或中斷資料傳輸中傳遞USB資料。為了促進USB傳輸之處置,USB主機控制器可位在晶片組中。USB主機控制器可履行EHCI及UHCI或OHCI資料傳輸。在各種實施例中,可採用電力管理模組來警戒控制器關於當前及未來的USB資料傳輸活動,藉此促進控制器調整CPU之C狀態的能力。控制器可將CPU置於較深的CPU狀態中,並可回應於從電力管理模組接收到的信號而將CPU帶到較淺的狀態中。
如果處理器在正常電力位準操作,則比如CPU之處理器一般被視為處於「C0」狀態中。處理器可進入一系列的較高C狀態,其中消耗逐漸減少的電力。在C1狀態中,例如,可能閘控一些內部時脈,並在C2狀態中可能 停止一些內部時脈。然而,在C1或C2狀態中,處理器可以離開一離開狀態並返回C0狀態的最小潛伏恢復至C0狀態。「C3」狀態一般係指耗電量小於C2狀態的狀態。例如,在C3狀態中,可能不窺探處理器快取。在C4狀態中,可停止內部時脈並可減少內部CPU電壓。在C6狀態中,內部CPU電壓可減至低如0 V且CPU之架構狀態可儲存於靜態隨機存取記憶體陣列(SRAM)中。從較深的C狀態恢復CPU到C0狀態之潛伏對最深的C狀態而言可能大上許多。例如,針對從C6狀態恢復CPU操作到C0狀態可能發生100μs或更多的潛伏。
第1圖描繪用於管理處理器102中之電力及潛伏的系統100。在各種實施例中,處理器102可以為透過USB埠106耦合到一或更多個其他裝置的計算裝置中之CPU。系統100包括耦合到處理器102並耦合到電力管理控制器108之電力管理模組104。在各種實施例中,如下詳述,電力管理模組104可提供信號至電力管理控制器108,這觸發電力管理控制器108調整處理器102之電力狀態。在一些實施例中,電力管理模組可位在晶片組中,比如I/O控制器集線器(ICH)、南橋(Southbridge)、或可包括或可耦合到USB主機控制器(未明確顯示)的系統100之其他構件。
系統100之操作系統可排程一週期USB列表以傳送等時資料傳輸或中斷傳輸。此一列表可儲存在系統100的記憶體110中。該列表可指示USB主機控制器何時運行 往返USB埠106的中斷及等時資料傳輸。在各種實施例中,可根據標準USB訊框單位(在UHCI/OHCI訊務的情況下可為1ms訊框,或在EHCI訊務的情況下可為125μs微訊框)在ICH與USB埠之間傳輸USB資料。因此,可在為期1ms的訊框或為期125μs的微訊框中從USB主機控制器傳輸資料到USB埠。如後詳述,電力管理模組可檢查其中週期USB列表已排程有活動之微訊框。
第2圖描繪包括電力管理模組104之一實施例的系統200。在此實施例中,處理器102透過系統組構(fabric)210耦合到電力管理模組104,在一些實施例中系統組構210可包括記憶體匯流排。電力管理模組104包括預取(pre-fetch)引擎202,其可配置成檢查其中週期USB列表已排程有活動之USB訊框。因此,在USB無活動的週期中,不需窺探處理器102的快取,這促進將處理器102置於較低電力狀態(如C3到C6狀態)中的能力。
在各種實施例中,預取引擎202可配置成預取USB DMA引擎之排程表,該USB DMA引擎存取USB訊務,如EHCI、OHCI、或UHCI訊務。在第2圖中所示之特定實施例中,USB DMA引擎可為EHCI DMA引擎206。在各種實施例中,電力管理模組104包括耦合到預取引擎202之計分板(scoreboard)204。將於後進一步討論計分板204之結構。在一些實施例中,預取引擎202可以預取的EHCI DMA排程表填充計分板204。EHCI DMA引擎亦可透過系統組構210耦合到記憶體110。計分板204也可 耦合到預先喚醒(pre-wake)邏輯模組208。EHCI DMA引擎206及預先喚醒邏輯模組208之每一者亦可耦接到電力管理控制器108。如後詳述,計分板204可輸出其由EHCI DMA引擎206及預先喚醒邏輯模組208所使用的項目(entries)來發送訊息到電力管理控制器108。
在各種實施例中,預取引擎202可檢查主記憶體中之USB訊框中的經排程活動,其中已由週期列表指示器(pointer)指向USB訊框。預取引擎202可接著將具有排程的USB活動之訊框標記為「現行」且將不具有排程的USB活動之訊框標記為閒置。預取引擎可儲存結果於計分板204中,其可充當未來活動指標(future acitivity indicator)。在第2圖中所示的範例中,計分板可充當未來EHCI DMA活動指標。
在各種實施例中,電力管理模組可使用計數器監視EHCI DMA引擎206的目前狀態。第3a圖描繪一實施例,其中電力管理模組包括訊框索引計數器210以追蹤被EHCI DMA引擎206存取的訊框,而第3b圖描繪於後進一步說明之預先喚醒邏輯模組302的一實施例。
根據各種實施例,計分板204可配置成維持未來EHCI DMA活動之每微訊框指標。第4圖描繪包括配置於資料結構中之多個單元402的示範計分板204,其中每個單元402可相應於一預取的微訊框。如所示,每個單元402包括提供相應於那個微訊框之活動的指標之項目。於第一實例描繪計分板204,其中已預取相應於經EHCI DMA排程的活動之多個項目。在各種實施例中,可由比 如預先喚醒邏輯模組208的邏輯使用這些項目來判定何時發送預先喚醒指標到電力管理控制器108,如後進一步詳述。
根據各種實施例,電力管理模組104可使用從預先喚醒邏輯模組208及EHCI DMA引擎206所發送的信號組合來指揮電力管理控制器108設定處理器102的C狀態。當排程比如中斷或等時訊務的USB訊務時,EHCI DMA引擎206可存取記憶體,比如記憶體110。在此期間,EHCI DMA引擎可確立一信號,其被轉送到電力管理控制器108。例如,EHCI DMA引擎可配置成於EHCI DMA訊務週期中確立「EHCI DMA現行」指標。
在各種實施例中,可在無活動一段時間後回復訊務時確立此「EHCI DMA現行」。可發送該信號至電力管理控制器108,使電力管理控制器108得調整或維持處理器102的C狀態。例如,如果當電力管理控制器108接收到「EHCI DMA現行」信號(或「指標」)時處理器102在低電力C2狀態中,則電力管理控制器可認知到EHCI DMA引擎確實很忙碌且USB訊務正被處理中。電力管理控制器108可因此判定處理器102應被保持在C2狀態中,其中來自C2狀態之喚醒(或離開)潛伏為期最小。依照此方式,處理器102可以最小延遲離開到C0電力狀態以回復全電力操作。在一些實施例中,電力管理模組104可在一段無活動時期後當回復EHCI DMA訊務時的時間點確立「EHCI DMA現行」指標。據此,電力管理控制 器108可在從EHCI DMA引擎206接收該「EHCI DMA現行」指標後將處理器102之電力狀態維持在低潛伏C狀態中,比如C2或之上(亦即,C0)。
電力管理模組104也可配置成在EHCI DMA引擎未處理任何USB訊務的時期中取消確立「EHCI DMA現行」信號,亦即,發送EHCI DMA無活動的指標至電力管理控制器108。當由EHCI DMA引擎206取消確立「EHCI DMA現行」信號時,電力管理控制器108接著可判定出可將處理器102安全地置於比如C6狀態之較深的C狀態中以節省電力。
根據各種實施例,當從C6狀態喚醒處理器102變得必要時,電力管理模組可轉送即時信號至電力管理控制器108以將處理器102帶到適當之C狀態,比如C0。尤其,可基於經排程的USB訊務在預定時刻發送預先喚醒指標至電力管理控制器108。例如,可轉送來自計分板204的項目至預先喚醒邏輯模組208。如前述,這項目可包含經排程EHCI DMA活動之指標。當預先喚醒邏輯模組208接收來自計分板204的計分板項目時,預先喚醒邏輯模組208可接著使用這些項目來判定何時排程預先喚醒指標以發送到電力管理控制器108。
由於預先喚醒邏輯模組208可比EHCI DMA處理由項目所標示之USB訊務的時間提前許多地接收計分板項目,預先喚醒邏輯模組208可有足夠的時間提供預先喚醒指標至電力管理控制器108,使處理器102可離開深C狀 態並在EHCI DMA訊務回復時醒至適當的C狀態,比如C0。
第3b圖描繪預先喚醒邏輯模組302的一實施例。預先喚醒邏輯模組302包括EHCI DMA狀態判定模組304,其可判定EHCI DMA引擎206之目前操作狀態。例如,可由EHCI DMA狀態判定模組304從訊框索引計數器210的輸出判定出目前正被EHCI DMA引擎206存取之USB訊框(也在此稱為「當前訊框」)。預先喚醒邏輯模組302還包括計分板比較模組306,其可比較當前(微)訊框與計分板204中之預取的項目以判定正被EHCI DMA引擎206存取之當前USB(微)訊框與相應於計分板204中之一給定預取項目的未來USB(微)訊框之間的時間差。例如,計分板204中之該給定預取項目可表示出在一段無活動間隔後EHCI DMA活動的回復。據此,計分板比較模組306可將一給定計分板單元映射到相應的未來USB微訊框以判定出未來USB微訊框與正被EHCI DMA引擎206存取之當前USB微訊框的差。這可藉此提供計分板204中所標示之未來活動與當前活動之間的前置時間之指標。
預先喚醒邏輯模組302亦可包括預先喚醒指標時控模組308。預先喚醒警報時控模組308的功能在於基於來自計分板比較模組306及EHCI DMA狀態判定模組304的資訊判定,如果有的話,欲採取的適當行動。例如,預先喚醒警報時控模組308可判定向電力管理控制器108確立一預先喚醒警報指標之時序。如後進一步詳述,該時序可基 於處理器102從當前C狀態離開的潛伏。
預先喚醒邏輯模組302可採取之行動的一個範例為在判定輸出預先喚醒指標的恰當時序之後輸出預先喚醒指標至電力管理控制器108以使處理器離開當前C狀態。可計算確立預先喚醒指標之時間以最佳化系統100的性能。例如,預先喚醒邏輯模組208可判定目前非現行之EHCI DMA引擎將回復存取記憶體110之未來時間點。基於EHCI DMA將回復之時間的判定,預先喚醒邏輯模組可判定第二時間點,其相應於處理器102何時開始離開當前C狀態。
尤其,何時從深C狀態喚醒處理器102的判定可牽涉計分板之週期或間歇的查核,這可參照第4到6圖更完整地理解。
在第4圖中所示的實施例中,「1」的項目可提供現行狀態之指標,而「0」提供閒置狀態的指標。可以一個項目填充計分板204中的每個單元402,使電力管理模組104可訊問相應於一給定微訊框之任何單元來判定EHCI DMA未來活動。第4圖中所示的實施例意在描繪一時刻,在此時已在計分板204之結構內預取並儲存經排程的EHCI DMA之多個項目。該組項目400之配置可以下列方式相應於經排程的EHCI DMA活動。可將近來預取的微訊框填充到第一列中,而最先預取的微訊框可佔據最後一列FN。預取活動指標之該列FN因此可相應於將在最接近現在的時間點履行之EHCI DMA操作。較高的列故相應於較 晚的時刻,其為最近預取的。在第4圖的範例中,共N列的每一列可相應於與相鄰列間距1 ms的間隔之操作,亦即,間隔一個USB訊框之操作。據此,計分板的「深度」可相應於N毫秒。另外,相鄰的項目可相應於間隔一個125μs之標準微訊框週期的操作。在一範例中,計分板的底部區域可含有相應於當前的EHCI DMA活動之項目。因此,在第4圖中所示之實例中,預先喚醒邏輯模組208可判定出EHCI DMA引擎206目前正在存取相應於計分板204的項目FNM4之微訊框。如在別處所指,這可從追蹤正被EHCI DMA引擎206處理之當前訊框或微訊框的訊框索引計數器210判定出來。因此,藉由檢閱計分板204的項目400,預先喚醒邏輯模組208判定EHCI DMA引擎目前為非現行(FNM4單元的項目=0)且將無回復任何活動直到相應於單元F3M4(其之項目為「1」)的時刻。在N=4的一範例中,單元F1M4相應於與目前的單元(FNM4)相隔3個訊框或3 ms之未來的時間。據此,預先喚醒邏輯模組208可判定出處理器102將在EHCI DMA訊務回復(其將在未來3 ms後發生)以前發生的一時間點離開當前C狀態(例如,C6)。預先喚醒邏輯模組208可進一步判定出處理器102從C6狀態離開之經編程的離開潛伏約為100μs。基於此離開潛伏,預先喚醒邏輯模組208可判定將在一時刻啟動喚醒信號,計算該時刻以在不牽累未來EHCI DMA活動之方式恢復處理器到C0狀態。例如,可發送預先喚醒信號,使電力管理控制器108在比 相應於單元位置F3M4的時間早約100 μs或距離現在時間約2.9 ms(=3-0.1 ms)的時刻啟動處理器102從C6狀態的離開。
第5圖描繪當儲存另一組項目500時計分板204的另一個實例。在此實例中,計分板單元402具有全部都為「0」的項目,或無活動指標。當預先喚醒邏輯模組208審視在第5圖中所示的實例之計分板204,預先喚醒邏輯模組208可判定出EHCI DMA無活動時期會持續直到相應於單元位置F1M0之微訊框。在檢閱項目500時,訊框索引計數器210可進一步指出正被EHCI DMA引擎206處理之當前訊框相應於單元位置F4M4(其中N=4),這向預先喚醒邏輯模組208指出並未排程任何EHCI DMA活動至少直到相應於單元F1M0之微訊框,或離現在3.5 ms。因此,預先喚醒邏輯模組208可判定大約3 ms左右不需採取進一步行動,比如備置預先喚醒指標。
第6圖描繪當儲存第三組項目600時計分板204的第三實例。在此實例中,計分板204單元從單元位置F4M1起具有全部相應於「1」指標的項目。當預先喚醒邏輯模組208審視在第6圖中所示的實例之計分板204,預先喚醒邏輯模組208可基於訊框索引計數器210判定出正被EHCI DMA引擎206處理之當前訊框相應於單元位置F4M4(其中N=4),這向預先喚醒邏輯模組208指出在相應於三個微訊框或離現在0.375 ms的時候排程有EHCI DMA活動。因此,預先喚醒邏輯模組208可判定不久後應轉送 預先喚醒指標至電力管理控制器108,使電力管理控制器108可指揮處理器102從深C狀態即時離開,以使處理器102在約0.375 ms內恢復到C0。
在一些實施例中,計分板204可包含如圖中所示之數列(訊框)或可為數訊框深,亦即,計分板可包括許多列,每一列相應於為期1 ms之USB訊框。每列可包含八個單元,相應於各具有為期125μs之EHCI微訊框。在各種實施例中,計分板中之列數量(FN)可隨時間而變,但可長期維持相對恆定。可由電力管理模組104間歇地,比如在處理器102處於深C狀態中的時期中,履行計分板204之填充。
電力管理模組104之實施例所提供的一項優點在於可在USB無活動的時期中將處理器102置於深C狀態中,同時在新活動回復時仍能夠以即時的方式離開深C狀態。由於計分板204可為預先喚醒邏輯模組208提供多達數毫秒或更多的「往前看」以判定EHCI DMA活動,預先喚醒邏輯模組208可即時提供預先喚醒指標來從深C狀態喚醒處理器102,只要從深C狀態之經編程的離開潛伏大致上不超過計分板204所提供的「往前看」間隔。
這與用於管理USB訊務之已知技術(其中向控制器確立或取消確立「EHCI DMA現行」指標)不同。一已知系統的控制器可在接收到「EHCI DMA現行」指標的取消確立(指出將不處理任何USB傳輸)時將處理器置於較低電力C狀態中。然而,由於需要維持服務品質 (QOS),已知系統可能需要最小延遲來處置EHCI傳輸,其因此會對處理器之低電力C狀態施加一最大離開潛伏。此必要的離開潛伏可能係在僅數μs的程度以維持恰當的QOS。例如,如果在深C狀態中之CPU的離開潛伏係在一微訊框持續時期(125μs)的程度,為使CPU瞬間開始喚醒程序而無本實施例之預先喚醒指標,處理USB訊務之給定微訊框的EHCI DMA引擎可能必須拋下微訊框的處理且可能潛在導致正備處理之資料中的使用者可見錯誤。此考量於是阻止處理器被置於較深C狀態中,其之離開潛伏會超過可接受的延遲。因此,在USB無活動的時期中,已知系統還是被配置成將處理器維持在比所需更高的電力C狀態中,因為無法避免從深C狀態之離開衝擊USB訊務的QOS。
在本實施例中,如先前所指,電力管理模組可根據CPU之當前C狀態調整發送預先喚醒指標的時序,使得USB訊務的QOS及處理器耗電量兩者皆為最佳化。例如,預先喚醒邏輯模組可配置成接收關於處理器102之當前C狀態的信號。因此,如果在第一時刻處理器102被置於C6狀態中,則可將由預先喚醒邏輯模組208所發出的預先喚醒指標之時序,或從電力管理控制器108到處理器102之喚醒信號的時序,配置成將自C6狀態之離開潛伏納入考量。在125μs離開潛伏的一個範例中,這可能意味著將處理器102從C6狀態之離開設定成比經排程的EHCI DMA活動早約125至150μs開始。之後,如果處理器102 被置於具有較少離開潛伏之C4狀態中,則可調整預先喚醒指標時序來補償較少的離開潛伏。在一個範例中,這可能意味著將處理器102從C4狀態之離開設定成比經排程的EHCI DMA活動早約50至75μs開始。據此,電力管理模組104可根據所關注之CPU的當前C狀態之改變偶爾或經常地調整預先喚醒信號之發出與經排程的USB訊務間的相對時序。
根據各種實施例,可將計分板的大小在系統操作期間維持在一個範圍內。例如,預取引擎202主要可在處理器102之深C狀態時期中履行預取,使得可根據場合以表示未來EHCI DMA之項目(取代相應於已履行的EHCI DMA活動之項目)重新填充計分板204。依照此方式,在大部分閒置之系統中,可將處理器102維持在深C狀態中且可某程度上規律地更新計分板204以維持其之大小。然而,當例如計分板204不滿時,投機性(opportunistic)預取也可在處理器102處於C2狀態中時發生。據此,計分板204的大小可隨時間波動。
根據額外的實施例,比如計分板204之計分板的大小可根據處理器技術的演進而在未來處理系統中改變以滿足變化的未來CPU潛伏需求。因此,等同於1至2 USB訊框的計分板深度可能足以應付當前技術常見的CPU潛伏,其中自C6狀態之離開潛伏可在100μs左右的程度。然而,預測未來處理器技術之深C狀態的離開潛伏會迅速增長到毫秒的時間範圍。本實施例可因此提供含有具有4 ms或更大之深度的計分板之電力管理模組,以建立超出離開潛伏之經排程活動的「往前看」。
包括在本文中的係代表用於履行所揭露之系統及架構之新穎態樣的示範方法之一組流程圖。雖為了說明的簡單性,將本文中所示之例如具有流程圖表或流程圖形式的一或更多方法顯示並敘述為一系列的動作,應可了解並認知到這些方法不限於動作的順序,因一些動作可根據該些方法以與本文中所示及所述不同的順序發生及/或與其他動作同時發生。例如,熟悉此技藝人士將可理解並認知到可替代地以一系列相關的狀態或事件(如狀態圖)代表一種方法。此外,針對一新穎實作未必需要方法中所述之所有動作。
第7圖描繪一示範邏輯流700。在區塊702,系統檢查DMA現行指標。DMA現行指標可指出系統正在處理EHCI DMA訊務。在區塊704,如果已確立DMA現行指標,則流程移至區塊706,其中系統等待,之後返回區塊702。如果,在區塊704,DMA現行信號並未確立或已經取消確立,則流程移至區塊708。在區塊708,判定經排程之DMA活動的時序。經排程之DMA活動的時序可相應於待履行之經排成的EHCI DMA活動。在區塊710,基於經排程之DMA活動的時序確立預先喚醒指標。依照此方式,因EHCI DMA訊務當前的無活動而正處於深C狀態中之處理器會在經排程之DMA活動時自深C狀態離開。
第8圖描繪另一個示範邏輯流800。邏輯流800可代 表履行以判定經排程之DMA活動的時序並可包含在區塊708內之子區塊之區塊。在區塊802,預取EHCI DMA活動。在一些實施例中,可在處理器處於CPU的深C狀態時期的同時履行預取。在區塊804,以基於預取之EHCI DMA活動的EHCI DMA活動指標之項目填充計分板。這些指標可指出預取的USB微訊框是否相應於現行或非現行的USB微訊框。在區塊806,檢查訊框計數器以判定當前的EHCI DMA操作。訊框計數器可計數EHCI DMA引擎之微訊框以判定當前的微訊框。在區塊808,比較當前之EHCI DMA操作與預取的計分板項目。這可允許EHCI DMA引擎之當前微訊框與指示經排程之EHCI DMA活動的預取計分板項目之間的相對時序。
第9圖描繪又一個示範邏輯流900。在區塊902,判定當前的CPU C狀態。在區塊904,基於當前CPU狀態編程離開潛伏。較深C狀態可能需要比例如較淺C狀態更大的離開潛伏。在區塊906,判定經排程之DMA活動的時序。在一些實施例中,可根據區塊802至808履行該判定。在區塊908,基於經排程之DMA活動的時序及當前CPU C狀態的經編程的離開潛伏設定用於確立預先喚醒指標之時間。
第10圖描繪再一個示範邏輯流1000。在區塊1002,編程第一CPU C狀態的離開潛伏。在區塊1004,基於當前CPU C狀態確立預先警報信號。可以如邏輯流800至900中所提出般判定之時序確立該預先喚醒信號。在區塊 1006,檢查當前CPU C狀態。如果,在區塊1008,當前CPU C狀態已經從用來確立在區塊1004之預先喚醒信號的前一個CPU C狀態改變,則流程移至區塊1010,其中更新當前CPU C狀態之記錄。邏輯流接著返回至區塊1004,其中基於當前更新過的C狀態輸出預先喚醒信號。如果,在區塊1008,CPU C狀態並未改變,則邏輯流直接移至區塊1004。
第11圖描繪一示範系統實施例的圖,且尤其,第11圖為顯示包括各種元件之平台1100的圖。例如,第11圖顯示平台(系統)1100可包括處理器/圖形核心1102、晶片組/平台控制集線器(PCH)1104、輸入/輸出(I/O)裝置1106、隨機存取記憶體(RAM)(如動態RAM(DRAM))1108、及唯讀記憶體(ROM)1110、顯示電子產品1120、顯示背光1122、及各種其他平台構件1114(如風扇、交叉流吹風機、散熱器、DTM系統、冷卻系統、殼體、通風口、及諸如此類)。系統1100也可包括無線通訊晶片1116及圖形裝置1118。然而,實施例不限於這些元件。
如第11圖中所示,I/O裝置1106、RAM 1108、及ROM 1110透過晶片組1104耦合到處理器1102。晶片組1104可藉由匯流排1112耦合到處理器1102。據此,匯流排1112可包括多條線。
處理器1102可為包含一或更多個處理器核心之中央處理單元並可包括具有任何數量的處理器核心之任何數量 的處理器。處理器1102可包括任何類型的處理單元,比如CPU、多處理單元、減少指令集電腦(RISC)、具有管線的處理器、複雜指令集電腦(CISC)、數位信號處理器(DSP)、及諸如此類。在一些實施例中,處理器1102可為位在分別的積體電路晶片上之多個分別的處理器。在一些實施例中,處理器1102可為具有集成顯卡之處理器,而在其他實施例中,處理器1102可為圖形核心或多核心。
第12圖描繪適合實施前述的各種實施例之示範計算系統(架構)1200之一實施例。如在此應用中所用,用語「系統」及「裝置」及「構件」意指電腦相關實體,無論為硬體、硬體及軟體之組合、軟體、或執行中的軟體,由示範計算架構1200提供其之範例。例如,構件可為,但不限於為,運行在處理器上之程序、處理器、硬碟驅動機、多儲存驅動機(光學及/或磁性儲存媒體的)、物件、可執行程式、執行線程、程式、及/或電腦。舉例來說,運行於伺服器上之應用及伺服器兩者皆可為構件。一或更多個構件可處於處理器及/或執行線程內且構件可本地化於一台電腦上及/或分散在兩或更多個構件之間。此外,構件可藉由各種的通訊媒體彼此通訊式耦合以協調操作。該協調可牽涉資訊之單向或雙向交換。例如,構件可通訊具有在通訊媒體上傳輸之信號的形式之資訊。可將該資訊實現為分配至各個信號線的信號。在這種分配中,每一個訊息為一個信號。然而,其他實施例可替代地採用資 料訊息。可跨各個連結發送這種資料訊息。示範連結包括平行介面、串列介面、及匯流排介面。
在一實施例中,計算架構1200可包含或實施為電子裝置之一部分。電子裝置的範例可包括但不限於行動裝置、個人數位助理、行動計算裝置、智慧型手機、蜂巢式無線電話、手持機組、單向呼叫器、雙向呼叫器、發訊裝置、電腦、個人電腦(PC)、桌上型電腦、膝上型電腦、筆記型電腦、手持電腦、平板電腦、伺服器、伺服器陣列或伺服器場、網站(web)伺服器、網路伺服器、網際網路伺服器、工作站、迷你電腦、主機電腦、超級電腦、網路裝置、網站裝置、分散式計算系統、多處理器系統、處理器為基之系統、消費者電子產品、可編程式消費者電子產品、電視、數位電視、機上盒、無線存取點、基地站、訂戶站、行動訂戶中心、無線電網路控制器、路由器、集線器、閘道、橋接器、交換器、機器、或上述之組合。實施例不限於此上下文。
計算架構1200包括各種共同的計算元件,比如一或更多個處理器、共同處理器、記憶體單元、晶片組、控制器、周邊裝置、介面、振盪器、時控裝置、視頻卡、音頻卡、多媒體輸入/輸出(I/O)構件、及諸如此類。然而,實施例不限於計算架構1200之實作。
如第12圖中所示,計算架構1200包含處理單元1204、系統記憶體1206、及系統匯流排1208。處理單元1204可為任何各種市售處理器。也可採用雙微處理器及其 他多處理器架構作為處理單元1204。系統匯流排1208提供系統構件之介面,包括但不限於,系統記憶體1206至處理單元1204之介面。系統匯流排1208可為任何若干類型的匯流排結構,其可使用任何各種市售的匯流排架構來進一步互連至記憶體匯流排(有或無記憶體控制器)、周邊匯流排、及本地匯流排。
計算架構1200可包含或實施各種製品。製品可包含電腦可讀取儲存媒體以儲存各種形式的編程邏輯。電腦可讀取儲存媒體之範例可包括能夠儲存電子資料之任何有形的媒體,包括依電性記憶體或非依電性記憶體、可移除式或不可移除式記憶體、可抹除或不可抹除式記憶體、可寫入或可覆寫式記憶體、及諸如此類。編程邏輯的範例可包括使用任何適當類型的碼所實現之可執行電腦程式指令,該些碼比如為來源碼、編譯碼、解譯碼、可執行碼、靜態碼、動態碼、物件導向碼、視覺碼、及類似者。
系統記憶體1206可包括各種類型的電腦可讀取儲存媒體,其具有一或更多個較高速記憶體單元之形式,比如唯讀記憶體(ROM)、隨機存取記憶體(RAM)、動態RAM(DRAM)、雙資料率DRAM(DDRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、可編程式ROM(PROM)、可抹除可編程式ROM(EPROM)、可電性抹除可編程式ROM(EEPROM)、快閃記憶體、比如鐵電聚合物記憶體、雙向開關(ovnoic)記憶體、相變或鐵電記憶體之聚合物記憶體、矽-氧化物-氮化物-氧化物-矽 (SONOS)記憶體、磁或光卡、或適合儲存資訊之任何其他類型的媒體。在第12圖中所示的例示實施例中,系統記憶體1206可包括非依電性記憶體1210及/或依電性記憶體1212。在非依電性記憶體1210中可儲存有基本輸入/輸出系統(BIOS)。
電腦1202可包括各種類型的電腦可讀取儲存媒體,其具有一或更多個較低速記憶體單元之形式,包括內部硬碟驅動器(HDD)1214、讀取或寫入可移除式磁碟1218之磁性軟碟驅動器(FDD)1216、及讀取或寫入可移除式光碟1222(如CD-ROM或DVD)之光碟驅動器1220。HDD 1214、FDD 1216、及光碟驅動器1220可分別藉由HDD介面1224、FDD介面1226、及光學驅動介面1228連接到系統匯流排1208。用於外部驅動實作之HDD介面1224可包括通用串列匯流排(USB)及IEEE 1294介面計數的至少一者或兩者。
該些驅動器及關聯之電腦可讀取媒體提供資料、資料結構、電腦可執行指令、及諸如此類之依電性及/或非依電性的儲存。例如,可在驅動器及記憶體單元1210及1212中儲存數個程式模組,包括操作系統1230、一或更多個應用程式1232、其他程式模組1234、及程式資料1236。
使用者可透過一或更多個無線/有線輸入裝置(例如鍵盤1238及比如滑鼠1240之指向裝置)輸入命令及資訊到電腦1202中。其他輸入裝置可包括麥克風、紅外線 (IR)遠端控制器、操縱桿、遊戲墊、手寫筆、觸碰螢幕、或類似者。這些及其他輸入裝置經常透過耦合到系統匯流排1208的輸入裝置介面1242連接到處理單元1204,但可藉由其他介面連接,比如平行埠、IEEE 1294串列埠、遊戲埠、USB埠、IR介面、及諸如此類。
監視器1244或其他類型的顯示裝置亦可經由介面(比如視頻適配器1246)連接至系統匯流排1208。監視器1244外,電腦通常包括其他周邊輸出裝置,比如揚聲器、印表機、及諸如此類。
電腦1202可使用邏輯連結經由至一或更多個遠端電腦(比如遠端電腦1248)之有線及/或無線通訊在連網環境中操作。遠端電腦1248可為工作站、伺服器電腦、路由器、個人電腦、可攜式電腦、微處理器為基之娛樂用品、同級裝置、或其他常見的網路節點,並通常包括許多或所有相關於電腦1202所述之元件,然而為了簡明僅繪示記憶體/儲存裝置1250。所示之邏輯連結包括至區域網路(LAN)1252及/或更大網路(例如廣域網路(WAN)1254)之有線/無線連結。這種LAN及WAN連網環境常見於辦公室及公司,且促進企業範圍之電腦網路,比如內部網路,所有這些都可連接至全球通訊網路,例如,網際網路。
當用於LAN連網環境中時,電腦1202透過有線及/或無線通訊網路介面或適配器1256連接到LAN 1252。適配器1256可促成至LAN 1252之有線及/或無線通訊,LAN 亦可包括設置於其上以與適配器1256的無線功能通訊之無線存取點。
當用於WAN連網環境中時,電腦1202可包括數據機1258,或連接到WAN 1254上的通訊伺服器,或具有用於在WAN 1254上建立通訊之其他機構,比如藉由網際網路。數據機1258,其可為內部或外部及有線及/或無線裝置,經由輸入裝置介面1242連接到系統匯流排1208。在連網環境中,相關於電腦1202繪示之程式模組,或其之部分,可儲存在遠端記憶體/儲存裝置1250中。應可認知到所示之網路連結為示範性且可使用在電腦間建立通訊鏈結之其他機構。
電腦1202可操作成使用IEEE 802系列標準來與無線及有線裝置或實體通訊,比如操作性配置成與例如印表機、掃描器、桌上型及/或可攜式電腦、個人數位助理(PDA)、通訊衛星、與可無線偵測標籤相關的任何設備或位置(如售貨亭、報攤、盥洗室)、及電話無線通訊(如IEEE 802.11通過空中調變技術)之無線裝置。這包括至少Wi-Fi(或Wireless Fidelity)、WiMax、及藍芽TM無線技術。因此,通訊可為如同與傳統網路一起之預定結構或簡單地為至少兩個裝置間的特設(ad hoc)通訊。Wi-Fi網路使用稱為IEEE 802.11x(a、b、g、n、等等)之無線電技術來提供安全可靠且快速的無線連結。Wi-Fi網路可用來連接電腦彼此、至網際網路、並至無線網路(其使用IEEE 802.3相關之媒體及功能)。
可使用詞句「一實施例(one embodiment)」或「一實施例(an embodiment)」連同其衍生詞來敘述一些實施例。這些用語意指連同該實施例所述之特定特徵、結構、或特性係包括在至少一個實施例中。在說明書各處中詞組「在一實施例中」的出現未必都指相同的實施例。此外,可使用詞句「耦合的」或「連接的」連同其衍生詞來敘述一些實施例。這些用語未定意為彼此的同義詞。例如,可使用用語「耦合的」及/或「連接的」來敘述一些實施例以指示兩或更多個元件彼此直接實體或電性接觸。然而,用語「耦合的」也可意指兩或更多個元件未彼此直接接觸,但仍彼此合作或互動。
應強調提供發明摘要以讓讀者可迅速確認技術內容的本質。發明人認為其不應用來解釋或限制申請專利範圍之範疇或意義。另外,在先前的實施方式中,可發現於單一實施例中將各種特徵群集在一起以使揭露流暢。此揭露方法不應解釋成反映主張專利權之實施例需要比每一個專利範圍中所明確敘述者還要更多的特徵之打算。更確切地,下列申請專利範圍反映具有發明性之標的在於比單一揭露之實施例的所有特徵更少。因此,下列申請專利範圍在此併入實施方式中,其中每一個專利範圍獨自成立為一分別的實施例。在所附之申請專利範圍中,使用用語「包括(including)」及「其中(in which)」分別作為個別用語「包含(comprising)」及「其中(wherein)」之簡單英語的等效者。此外,用語「第一」、「第二」、「第 三」、及諸如此類僅用為標籤,且不打算對其受詞施加數值需求。
於上說明的係包括所揭露之架構的範例。當然,不可能描述構件及/或方法之每一種可設想得到的組合,但此技藝中具有通常知識者可意識到可有許多進一步的組合及置換。據此,新穎的架構打算涵蓋落入所附之申請專利範圍的精神及範圍內之所有這種替換、修改、及變異。
100‧‧‧系統
102‧‧‧處理器
104‧‧‧電力管理模組
106‧‧‧USB埠
108‧‧‧電力管理控制器
110‧‧‧記憶體
200‧‧‧系統
202‧‧‧預取引擎
204‧‧‧計分板
206‧‧‧EHCI DMA引擎
208‧‧‧預先喚醒邏輯模組
210‧‧‧系統組構
210‧‧‧訊框索引計數器
302‧‧‧預先喚醒邏輯模組
304‧‧‧EHCI DMA狀態判定模組
306‧‧‧計分板比較模組
308‧‧‧預先喚醒警報時控模組
400‧‧‧項目
402‧‧‧單元
1100‧‧‧平台(系統)
1102‧‧‧處理器/圖形核心
1104‧‧‧晶片組/平台控制集線器
1106‧‧‧輸入/輸出裝置
1108‧‧‧隨機存取記憶體
1110‧‧‧唯讀記憶體
1112‧‧‧匯流排
1114‧‧‧其他平台構件
1116‧‧‧無線通訊晶片
1118‧‧‧圖形裝置
1120‧‧‧顯示電子產品
1122‧‧‧顯示背光
1200‧‧‧計算架構
1202‧‧‧電腦
1204‧‧‧處理單元
1206‧‧‧系統記憶體
1208‧‧‧系統匯流排
1210‧‧‧非依電性記憶體
1212‧‧‧依電性記憶體
1214‧‧‧硬碟驅動器
1216‧‧‧磁性軟碟驅動器
1218‧‧‧磁碟
1220‧‧‧光碟驅動器
1222‧‧‧光碟
1224‧‧‧HDD介面
1226‧‧‧FDD介面
1228‧‧‧光學驅動介面
1230‧‧‧操作系統
1232‧‧‧應用程式
1234‧‧‧其他程式模組
1236‧‧‧程式資料
1238‧‧‧鍵盤
1240‧‧‧滑鼠
1242‧‧‧輸入裝置介面
1244‧‧‧監視器
1246‧‧‧視頻適配器
1248‧‧‧遠端電腦
1250‧‧‧記憶體/儲存裝置
1252‧‧‧區域網路
1254‧‧‧廣域網路
1256‧‧‧網路適配器
1258‧‧‧數據機
第1圖描繪用於管理處理器中之電力及潛伏的系統。
第2圖描繪包括電力管理模組之一實施例的系統。
第3a圖描繪包括訊框索引計數器之電力管理模組的一實施例。
第3b圖描繪預先喚醒邏輯模組的一實施例。
第4圖描繪包括配置於資料結構中之多個單元的示範計分板。
第5圖描繪具有另一組項目之計分板的另一實例。
第6圖描繪具有第三組項目之計分板的第三實例。
第7圖描繪一示範邏輯流。
第8圖描繪另一個示範邏輯流。
第9圖描繪又一個示範邏輯流。
第10圖描繪再一個示範邏輯流。
第11圖描繪計算系統之一實施例。
第12圖描繪計算架構之一實施例。
102‧‧‧處理器
104‧‧‧電力管理模組
108‧‧‧電力管理控制器
110‧‧‧記憶體
202‧‧‧預取引擎
204‧‧‧計分板
206‧‧‧EHCI DMA引擎
208‧‧‧預先喚醒邏輯模組
210‧‧‧系統組構

Claims (30)

  1. 一種用於通用串列匯流排(USB)操作之性能最佳化的設備,包含:處理器;第一邏輯,可操作於該處理器上以輸出直接記憶體存取(DMA)活動指標以指出直接記憶體存取資料傳輸操作之活動的當前狀態;第二邏輯,可操作於該處理器上以判定待履行之經排程的DMA活動;及第三邏輯,可操作於該處理器上以在履行該經排程的DMA活動之前輸出預先喚醒指標至控制器。
  2. 如申請專利範圍第1項所述之設備,該第一邏輯:當正在履行直接記憶體存取操作時,確立DMA現行指標;及當未履行直接記憶體存取操作時,取消確立該DMA現行指標。
  3. 如申請專利範圍第1項所述之設備,包含:第四邏輯,以預取將由該第一邏輯處理之經排程的DMA活動;及具有多個計分板單元之計分板,該些計分板單元之一或更多者包括將針對通用串列匯流排(USB)微訊框處理之該活動的指標。
  4. 如申請專利範圍第3項所述之設備,一或更多個 計分板單元包含USB匯流排時間之125μs間隔的活動指標。
  5. 如申請專利範圍第3項所述之設備,該第四邏輯配置成藉由輪詢USB訊務之記憶體來填充該計分板。
  6. 如申請專利範圍第3項所述之設備,該第四邏輯在當該處理器處於比第二電力狀態消耗更少電力之低電力狀態中時預取經排程的DMA活動。
  7. 如申請專利範圍第3項所述之設備,該第三邏輯配置成:判定由該第一邏輯處理之當前訊框;比較該當前訊框與該計分板中之一項目;及至少部分基於該比較該當前訊框判定用於確立該預先喚醒指標之時序。
  8. 如申請專利範圍第3項所述之設備,該計分板包含微訊框之陣列,該第三邏輯配置成基於該處理器之當前電力狀態的離開潛伏,判定該預先喚醒指標之發送與待履行之該DMA活動的開始之間的偏置。
  9. 如申請專利範圍第1項所述之設備,該第三邏輯配置成僅在當該處理器處於比第二電力狀態消耗更少電力之低電力狀態中時輸出該預先喚醒指標。
  10. 一種用於通用串列匯流排(USB)操作之性能最佳化的系統,包含:處理器;儲存經排程的通用串列匯流排(USB)活動之記憶 體;第一邏輯,可操作於該處理器上以輸出直接記憶體存取(DMA)活動指標以指出直接記憶體存取資料傳輸操作之活動的當前狀態;第二邏輯,可操作於該處理器上以判定待履行之經排程的DMA活動;及第三邏輯,可操作於該處理器上以在履行該經排程的DMA活動之前輸出預先喚醒指標至控制器。
  11. 如申請專利範圍第10項所述之系統,該第一邏輯:當正在履行直接記憶體存取操作時,確立DMA現行指標;及當未履行直接記憶體存取操作時,取消確立該DMA現行指標。
  12. 如申請專利範圍第10項所述之系統,包含:第四邏輯,以預取將由該第一邏輯處理之經排程的DMA活動;及具有多個計分板單元之計分板,該些計分板單元之一或更多者包括將針對USB微訊框處理之該活動的指標。
  13. 如申請專利範圍第12項所述之系統,該第四邏輯在當該處理器處於比第二電力狀態消耗更少電力之低電力狀態中時預取經排程的DMA活動。
  14. 如申請專利範圍第12項所述之系統,該第三邏輯配置成: 判定由該第一邏輯處理之當前訊框;比較該當前訊框與該計分板中之一項目;及至少部分基於該比較該當前訊框判定用於確立該預先喚醒指標之時序。
  15. 如申請專利範圍第12項所述之系統,該計分板包含微訊框之陣列,該第三邏輯配置成基於該處理器之當前電力狀態的離開潛伏,判定該預先喚醒指標之發送與待履行之該DMA活動的開始之間的偏置。
  16. 如申請專利範圍第10項所述之系統,該第三邏輯配置成僅在當該處理器處於比第二電力狀態消耗更少電力之低電力狀態中時輸出該預先喚醒指標。
  17. 一種包含含有指令的電腦可讀取儲存媒體之物件,當由處理器執行該些指令時,會使系統:輸出直接記憶體存取(DMA)活動指標以指出直接記憶體存取資料傳輸操作之活動的當前狀態;判定將由該系統履行之經排程的DMA活動;及在履行該經排程的DMA活動之前輸出預先喚醒指標至控制器。
  18. 如申請專利範圍第17項所述之含有指令的物件,當由處理器執行該些指令時,會使系統:當正在履行直接記憶體存取操作時,向該控制器確立DMA現行指標;及當未履行直接記憶體存取操作時,向該控制器取消確立該DMA現行指標。
  19. 如申請專利範圍第17項所述之含有指令的物件,當由處理器執行該些指令時,會使系統:預取將由該USB/DMA引擎處理之經排程的DMA活動;向記憶體輪詢USB訊務;及以針對個別的USB訊框單元處理之該活動的指標填充計分板中之多個單元的每一個單元。
  20. 如申請專利範圍第19項所述之含有指令的物件,當由處理器執行該些指令時,會使系統以將針對包含125μs間隔的個別USB微訊框處理之該活動的指標填充計分板中之多個單元的每一個單元。
  21. 如申請專利範圍第19項所述之含有指令的物件,當由處理器執行該些指令時,會使系統在當中央處理單元(CPU)處於比第二電力狀態消耗更少電力之低電力狀態中時預取經排程的DMA活動。
  22. 如申請專利範圍第19項所述之含有指令的物件,當由處理器執行該些指令時,會使系統:判定中央處理單元(CPU)之離開潛伏;及基於該CPU的當前電力狀態之離開潛伏判定該偏置。
  23. 如申請專利範圍第19項所述之含有指令的物件,當由處理器執行該些指令時,會使系統:判定EHCI DMA引擎之當前訊框;比較該當前訊框與該計分板中之一項目;及 至少部分基於該比較該當前訊框判定用於輸出該預先喚醒指標之時序。
  24. 一種用於通用串列匯流排(USB)操作之性能最佳化的方法,包含:在第一時刻判定無發生直接記憶體存取(DMA)資料傳輸操作;判定當由系統履行經排程的DMA活動時之第二時刻;及當無發生DMA資料傳輸操作時,在第三時刻輸出預先喚醒指標至控制器,該第三時刻設定在該第二時刻之前。
  25. 如申請專利範圍第24項所述之方法,包含:當正在該系統中履行直接記憶體存取操作時,向該控制器確立DMA現行指標;及當未履行直接記憶體存取操作時,向該控制器取消確立該DMA現行指標。
  26. 如申請專利範圍第24項所述之方法,包含:預取將由USB/DMA引擎處理之經排程的DMA活動;向記憶體輪詢通用串列匯流排(USB)訊務;及以將針對個別的USB微訊框履行之該活動的指標填充計分板中之多個單元的每一個單元。
  27. 如申請專利範圍第26項所述之方法,包含以將針對包含125μs間隔的個別USB微訊框履行之該活動的指 標填充計分板中之多個單元的每一個單元。
  28. 如申請專利範圍第26項所述之方法,包含:判定配置成處理該些資料傳輸操作的EHCI DMA引擎之當前訊框;比較該當前訊框與該計分板中之一項目;及至少部分基於該比較該當前訊框判定該第三時刻。
  29. 如申請專利範圍第24項所述之方法,包含:判定中央處理單元(CPU)之離開潛伏;及基於該CPU的當前電力狀態之離開潛伏判定該第三時刻。
  30. 如申請專利範圍第24項所述之方法,包含:基於第一CPU電力狀態編程CPU的第一離開潛伏;基於該當前的CPU電力狀態在該第三時刻輸出第一預先喚醒指標;判定與該第一CPU電力狀態不同的第二CPU電力狀態;基於該第二CPU電力狀態編程該CPU的第二離開潛伏;及基於該第二CPU電力狀態在第四時刻輸出第二預先喚醒指標。
TW101135593A 2011-10-03 2012-09-27 用於通用串列匯流排(usb)操作之性能最佳化的系統及方法 TWI587126B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
MYPI2011004736A MY174440A (en) 2011-10-03 2011-10-03 System and method for performance optimization in usb operations

Publications (2)

Publication Number Publication Date
TW201337535A TW201337535A (zh) 2013-09-16
TWI587126B true TWI587126B (zh) 2017-06-11

Family

ID=48044053

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101135593A TWI587126B (zh) 2011-10-03 2012-09-27 用於通用串列匯流排(usb)操作之性能最佳化的系統及方法

Country Status (4)

Country Link
US (1) US20140136748A1 (zh)
MY (1) MY174440A (zh)
TW (1) TWI587126B (zh)
WO (1) WO2013052112A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160381191A1 (en) * 2015-06-26 2016-12-29 Intel IP Corporation Dynamic management of inactivity timer during inter-processor communication
US10970004B2 (en) * 2018-12-21 2021-04-06 Synopsys, Inc. Method and apparatus for USB periodic scheduling optimization
TWI762852B (zh) * 2020-01-03 2022-05-01 瑞昱半導體股份有限公司 記憶體裝置及其操作方法
CN113110878A (zh) * 2020-01-09 2021-07-13 瑞昱半导体股份有限公司 存储器装置及其操作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123180A1 (en) * 2004-12-02 2006-06-08 Derr Michael N USB schedule prefetcher for low power
TW200841176A (en) * 2007-04-03 2008-10-16 Realtek Semiconductor Corp Method for setting a USB device and computer-readable recording medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844901A (en) * 1996-03-15 1998-12-01 Integrated Telecom Technology Asynchronous bit-table calendar for ATM switch
US7281074B2 (en) * 2005-06-29 2007-10-09 Intel Corporation Method and apparatus to quiesce USB activities using interrupt descriptor caching and asynchronous notifications
JP2007323137A (ja) * 2006-05-30 2007-12-13 Funai Electric Co Ltd 電子機器システム及びコントローラ
US9141572B2 (en) * 2006-12-15 2015-09-22 Microchip Technology Incorporated Direct memory access controller
US8321706B2 (en) * 2007-07-23 2012-11-27 Marvell World Trade Ltd. USB self-idling techniques
US9146892B2 (en) * 2007-10-11 2015-09-29 Broadcom Corporation Method and system for improving PCI-E L1 ASPM exit latency
US8078768B2 (en) * 2008-08-21 2011-12-13 Qualcomm Incorporated Universal Serial Bus (USB) remote wakeup
US8504855B2 (en) * 2010-01-11 2013-08-06 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123180A1 (en) * 2004-12-02 2006-06-08 Derr Michael N USB schedule prefetcher for low power
TW200841176A (en) * 2007-04-03 2008-10-16 Realtek Semiconductor Corp Method for setting a USB device and computer-readable recording medium

Also Published As

Publication number Publication date
WO2013052112A1 (en) 2013-04-11
MY174440A (en) 2020-04-18
WO2013052112A4 (en) 2013-06-06
TW201337535A (zh) 2013-09-16
US20140136748A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
US9740645B2 (en) Reducing latency in a peripheral component interconnect express link
US9904346B2 (en) Methods and apparatus to improve turbo performance for events handling
TWI670602B (zh) 電子器件及省電快取記憶體使用之方法
US7966506B2 (en) Saving power in a computer system
EP3190478B1 (en) Method, apparatus and system to transition system power state of a computer platform
EP4273666A2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
CN105190531A (zh) 空闲显示情况下的存储器功率节省
US8806232B2 (en) Systems and method for hardware dynamic cache power management via bridge and power manager
CN102567109A (zh) 中断分配方案
KR101844809B1 (ko) 클록 게이팅 제어를 위한 조기의 웨이크-경고
TWI587126B (zh) 用於通用串列匯流排(usb)操作之性能最佳化的系統及方法
CN104798039A (zh) 用于平台占空比处理的技术
CN102262434A (zh) 基于加速计输出来修改电子设备的转换的方法和装置
EP2808758B1 (en) Reduced Power Mode of a Cache Unit
CN103218031A (zh) 电子装置以及休眠方法
US9974210B2 (en) Systems and methods of real time optimum airflow balancing on rack level airflow constraint
US8510583B2 (en) Asynchronous sleep mode for host controller
JP2015513147A (ja) 優先度ベースのインテリジェントプラットフォームの受動的熱管理
ProLiant 5L6500 Scalable System