專利名稱:用于實時數(shù)據(jù)處理應(yīng)用中的過載檢測的系統(tǒng)、方法和裝置的制作方法
背景領(lǐng)域本發(fā)明涉及數(shù)據(jù)處理。
背景在實時處理環(huán)境中,處理器可以被期望用于不晚于一定的時間完成一個或多個計算任務(wù)。例如,處理器可以被期望在特定的持續(xù)時間內(nèi)提供一個或多個計算結(jié)果。處理器執(zhí)行任務(wù)是否足夠快以滿足時間約束可以取決于多個因素,諸如任務(wù)的復(fù)雜性、輸入的特性、處理器的設(shè)計、以及處理器的時鐘速率。
這些因素中的一些可能很難或不可能在運行時間上控制。例如,處理器的設(shè)計(例如,令集結(jié)構(gòu))可以在制造期間被固定。其它因素可以在系統(tǒng)設(shè)計期間被改變。例如,其它因素保持不變時,可以通過增加時鐘頻率(在特定處理器的物理極限內(nèi))而增加處理器的執(zhí)行速度。
一種對實時系統(tǒng)計劃的方法用于確定最差情況處理負(fù)載并且相應(yīng)地設(shè)置時鐘頻率。然而,在一些應(yīng)用中,可以期望以少于滿足最差情況負(fù)載所需的速率時鐘控制處理器。例如,功率消耗也涉及時鐘頻率。尤其在諸如CMOS(互補金屬氧化物半導(dǎo)體)的處理技術(shù)中,功率耗散隨著時鐘頻率大量增長。在便攜式應(yīng)用中,某個設(shè)計的商業(yè)生存性取決于電池壽命,而且選擇處理器時鐘的較差情況速率可以導(dǎo)致可用能源的不可接收的浪費。
在一些應(yīng)用中,可以期望使用已經(jīng)可用的時鐘源。例如,在一便攜式無線設(shè)備中,一個或多個時鐘源(例如,振蕩器)可能已經(jīng)存在,以產(chǎn)生用于諸如調(diào)制或解調(diào)的射頻操作的信號。使用可用時鐘源可以節(jié)省芯片面積(例如,通過避免附加時鐘源和分布網(wǎng)絡(luò)造成的芯片面積消耗),而且也避免或降低不同時鐘源之間的干擾電勢。
不幸的是,頻率被選擇來降低功率消耗的時鐘源,或者已經(jīng)可用的時鐘源不能提供足夠的執(zhí)行速度以滿足最差情況處理要求。當(dāng)處理任務(wù)被期望但沒有完成時,過載條件發(fā)生。在一些應(yīng)用中,數(shù)據(jù)的結(jié)果無效性或者任務(wù)之間的沖突可以導(dǎo)致性能的非期望降級。期望降低或避免過載條件可能發(fā)生的系統(tǒng)內(nèi)的降級。
在其它應(yīng)用中,數(shù)據(jù)的無效性或任務(wù)之間的沖突可以導(dǎo)致無效或未定義的操作,或者否則可以導(dǎo)致系統(tǒng)變得不穩(wěn)定。期望避免過載條件可能發(fā)生的系統(tǒng)內(nèi)的不穩(wěn)定操作。
摘要按照本發(fā)明的一實施例的過程控制方法包括檢測到定時信號的預(yù)定特性時設(shè)置定時指示符的狀態(tài)。例如,預(yù)定特性可以是諸如上升或下降沿的特定狀態(tài)轉(zhuǎn)移。在一些實現(xiàn)中,定時信號可以由過程或者由諸如振蕩器的設(shè)備而產(chǎn)生,而且定時指示符可以被實現(xiàn)為二進制或多值標(biāo)志以及/或者存儲在處理器寄存器或其它存儲器位置的一個或多個狀態(tài)字比特。
這樣的方法也包括執(zhí)行一過程,以及在完成執(zhí)行的預(yù)定階段時檢驗定時指示符的狀態(tài)。在一示例中,當(dāng)完成執(zhí)行過程時檢驗發(fā)生。按照本發(fā)明的另一實施例的方法包括完成執(zhí)行時設(shè)置狀態(tài)指示符的狀態(tài)。按照本發(fā)明的又一實施例的方法包括基于定時指示符的狀態(tài)以預(yù)定的執(zhí)行模式執(zhí)行輔助過程。
按照本發(fā)明的一實施例的裝置包括控制模塊、處理模塊、以及輔助處理模塊。控制模塊被配置和安排用于當(dāng)檢測到定時信號的預(yù)定特征時設(shè)置定時指示符的狀態(tài)。處理操作被配置和安排用于執(zhí)行第二數(shù)據(jù)操作和用于當(dāng)完成第二數(shù)據(jù)操作的預(yù)定階段時檢驗定時指示符的狀態(tài)。輔助處理模塊被配置和安排用于基于定時指示符的狀態(tài)以預(yù)定的執(zhí)行模式執(zhí)行第一數(shù)據(jù)操作。
本發(fā)明不受上述摘要中提出的特性限制或制約,本發(fā)明的其它實施例和實現(xiàn)以及它們的應(yīng)用在這里被描述。
附圖的簡要描述
圖1是按照本發(fā)明的實施例的裝置100的框圖。
圖2是按照本發(fā)明的實施例的方法P100的流程圖。
圖3是按照本發(fā)明的實施例的裝置100的實現(xiàn)102的框圖。
圖4是按照本發(fā)明的實施例的方法P100的實現(xiàn)P102的流程圖。
圖5是按照本發(fā)明的實施例的裝置200的框圖。
圖6示出了按照本發(fā)明的實施例的方法P200的流程圖。
圖7示出了按照本發(fā)明的實施例的裝置200的框圖。
圖8示出了按照本發(fā)明的實施例的方法P300的流程圖。
圖9示出了按照本發(fā)明的實施例的裝置300的框圖。
圖10示出了裝置300的實現(xiàn)304的框圖。
圖11示出了狀態(tài)圖表。
圖12示出了輔助數(shù)據(jù)過程P250的實現(xiàn)P252。
圖13示出了包括任務(wù)T225的數(shù)據(jù)過程P234的實現(xiàn)P236。
圖14示出了用于裝置300的實現(xiàn)304的框圖。
優(yōu)選實施例的詳細(xì)描述術(shù)語“示例性的”這里專用于表示“用作示例、實例或說明”。這里描述為“示例性的”實施例、安排或者應(yīng)用不被認(rèn)為優(yōu)于或者優(yōu)越于其他實施例、安排或應(yīng)用。
在實時系統(tǒng)中,數(shù)據(jù)過程可以被預(yù)期在指定的時間期間(或者到某個時刻前)完成一定量數(shù)據(jù)的產(chǎn)生(或者消耗)。例如在諸如無線傳輸或視頻顯示的應(yīng)用中,發(fā)送或顯示過程可以預(yù)期一上行流數(shù)據(jù)處理(例如,編解碼器)按照固定調(diào)度產(chǎn)生數(shù)據(jù)分組或幀。同樣,在諸如無線接收或視頻捕獲的應(yīng)用中,接收或捕獲過程可以預(yù)期一下行流數(shù)據(jù)處理(例如,編解碼器)按照固定的調(diào)度消耗數(shù)據(jù)分組或幀。不滿足這樣的時間約束的后果可以從系統(tǒng)性能的暫時降級到系統(tǒng)完全失效。
圖1示出了按照本發(fā)明的實施例的過載檢測P100的方法的流程圖。方法P100包括兩個過程控制過程P110和數(shù)據(jù)過程P130。在控制過程P110中,任務(wù)T110設(shè)置定時指示符的狀態(tài)為可以對控制過程P110和數(shù)據(jù)過程P130訪問。定時指示符可以被實現(xiàn)為二進制或多值標(biāo)志。例如,定時指示符可以包括存儲在處理器寄存器或其它存儲器位置的一個或多個狀態(tài)字比特。
在一示例性應(yīng)用中,控制過程P110響應(yīng)于預(yù)定頻率的定時信號的指定狀態(tài)轉(zhuǎn)移(例如,上升沿)而執(zhí)行。在蜂窩電話的特定示例中,語音數(shù)據(jù)流被分為連續(xù)幀(具有例如20毫秒的持續(xù)時間),而且控制過程P110響應(yīng)于只是幀之間的邊界的定時信號而執(zhí)行。這樣,定時信號可以由外部過程或諸如振蕩器或計數(shù)器的設(shè)備(未示出)而產(chǎn)生。在一示例性實現(xiàn)中,控制過程P110是響應(yīng)于來自過程或設(shè)備(未示出)的中斷請求而執(zhí)行的中斷服務(wù)例程。
在數(shù)據(jù)過程P130中,任務(wù)T210執(zhí)行時間受限操作。在一示例性應(yīng)用中,時間受限操作被預(yù)期在特定期間或某個時刻前產(chǎn)生和/或消耗一定量的數(shù)據(jù)。在蜂窩電話的某個示例中,時間受限操作可以是編碼用于傳輸?shù)恼Z音數(shù)據(jù)幀的聲音編碼操作。在視頻顯示示例中,任務(wù)T210可以包括解碼一定量的用于顯示的視頻數(shù)據(jù)的解壓縮操作。
當(dāng)完成任務(wù)T210時,任務(wù)T220檢驗定時指示符的狀態(tài)。如果任務(wù)T220發(fā)現(xiàn)定時指示符的狀態(tài)還未被設(shè)置(例如,通過控制過程P110),則數(shù)據(jù)過程P130已經(jīng)滿足時間約束。否則,如果任務(wù)T220發(fā)現(xiàn)定時指示符的狀態(tài)已經(jīng)被設(shè)置(例如,通過控制過程P110),則數(shù)據(jù)過程P130遭受過載。
響應(yīng)于任務(wù)T220中過載的檢測而采取的操作可以包括在任務(wù)T210的隨后迭代中增加時間受限操作的優(yōu)先級,以及/或者使用較簡單的操作模式(例如,降低的壓縮率或降低的質(zhì)量解壓過程)。根據(jù)任務(wù)T210和相關(guān)任務(wù)和/或過程的特性,可以刪除用于迭代的任務(wù)T210的輸出,所述迭代中檢測到過載條件。
任務(wù)T220可以包括重置定時指示符的狀態(tài)(即,在狀態(tài)已經(jīng)被檢驗后)?;蛘?,重置定時指示符的狀態(tài)可以發(fā)生在完成任務(wù)T220與開始任務(wù)T110的下一迭代和完成任務(wù)T210的下一迭代中最早者之間的任何時刻。在另一應(yīng)用中,另一任務(wù)或過程(未示出)可以參考(和重置)任務(wù)T220已經(jīng)完成之后的定時指示符的狀態(tài)。
在一示例性實現(xiàn)中,控制過程P110和數(shù)據(jù)過程P130包括了在邏輯元件的可編程陣列上可執(zhí)行的指令序列,所述邏輯元件的可編程陣列諸如微處理器或數(shù)字信號處理器(DSP)、以及定時指示器120包括了陣列的寄存器或存儲器空間內(nèi)的一位置。
圖2示出了按照本發(fā)明的實施例的裝置100的框圖。一當(dāng)接收到定時信號S10的特定狀態(tài)轉(zhuǎn)移時,控制模塊110設(shè)置定時指示符120的狀態(tài)。一當(dāng)完成處理任務(wù)時,處理模塊130檢驗定時指示符120的狀態(tài)。檢驗定時指示符120的狀態(tài)后,模塊130也可以重置指示符120的狀態(tài),或者另一模塊(未示出)可以參考(和重置)指示符的狀態(tài)。
在示例性實現(xiàn)中,控制模塊110包括邏輯元件的可編程陣列,諸如執(zhí)行指令序列的微處理器或數(shù)字信號處理器(DSP),處理模塊130包括執(zhí)行不同指令序列的相同可編程陣列,而且定時指示符120包括陣列的寄存器或存儲器空間內(nèi)的一位置。在另一實現(xiàn)中,控制模塊110和處理模塊130的一個或兩個包括邏輯元件的陣列,所述邏輯元件被制造成應(yīng)用專用集成電路(ASIC)或者被編程進現(xiàn)場可編程門陣列(FPGA)。
圖3示出了方法P100的實現(xiàn)P102的流程圖。方法P102包括兩個過程控制過程P110和數(shù)據(jù)過程P132。在數(shù)據(jù)過程P132中,一當(dāng)完成任務(wù)T210,任務(wù)T230設(shè)置狀態(tài)指示符的狀態(tài)。在此實現(xiàn)中,數(shù)據(jù)過程P132按照任務(wù)T220的結(jié)果設(shè)置狀態(tài)指示符的狀態(tài),從而狀態(tài)指示符指示[例如,過程P132(未示出)的其它任務(wù)和/或另一過程或設(shè)備]任務(wù)T210的時間受限操作是否在特定的限制內(nèi)完成。
狀態(tài)指示符可以包括二進制或多值標(biāo)志,可以對數(shù)據(jù)過程P132以及可能到另一過程或設(shè)備訪問。例如,狀態(tài)指示符可以包括存儲在處理器寄存器或其它存儲器位置中的一個或多個狀態(tài)字比特(狀態(tài)字也包括定時指示符)。
在另一實現(xiàn)中,狀態(tài)指示符指示位置(例如,端口或者存儲器地址),在所述位置發(fā)現(xiàn)任務(wù)T210和/或過程P132的輸出。這樣,當(dāng)過載條件發(fā)生以致任務(wù)T210的輸出仍不可用時,任務(wù)T230可以設(shè)置狀態(tài)指示符以指示發(fā)現(xiàn)默認(rèn)輸出(例如,預(yù)定常數(shù)串)所在的位置。在將非完全結(jié)果傳遞到隨后的過程或任務(wù)可能引起不穩(wěn)定性的應(yīng)用中,這樣的實現(xiàn)是被希望的。
在一示例性應(yīng)用中,控制過程P110在接收定時信號時按照狀態(tài)指示符的狀態(tài)服務(wù)一定量(例如,一分組)的數(shù)據(jù),所述數(shù)據(jù)由任務(wù)T210產(chǎn)生到另一過程或設(shè)備(未示出)??蛇x地,控制過程P110可以接收一定量的數(shù)據(jù)作為對任務(wù)T210的輸入,所述輸入來自這樣的時刻上的這樣的過程或設(shè)備而且接收數(shù)據(jù)按照狀態(tài)指示符的狀態(tài)。
根據(jù)任務(wù)T210和相關(guān)任務(wù)的特性和/或過程,可以刪除用于迭代的任務(wù)T210的輸出,在所述迭代中過載條件被檢測??蛇x地,消耗來自(或者將輸入供給)任務(wù)T210的輸出的過程或設(shè)備對于定時信號可以操作具有一些固定或可變的空間。這樣,可能在受限情況下,甚至當(dāng)已經(jīng)檢測到過載條件時,這樣的過程或設(shè)備消耗來自任務(wù)T210的輸出(或?qū)⑤斎胩峁┙oT210)。
在其中任務(wù)T210包括聲音編碼操作的蜂窩電話的某個示例中,任務(wù)T230可以設(shè)置狀態(tài)指示符,以指示可以發(fā)現(xiàn)空分組(例如,預(yù)定的常量串)所在的位置。在另一應(yīng)用中,狀態(tài)指示符可以包括到任務(wù)T210和或過程P132的輸入被指向的位置,從而在過載情況下,任務(wù)T230設(shè)置狀態(tài)指示符以指示輸入應(yīng)該被指向的默認(rèn)位置。
圖4示出了方法P100的實現(xiàn)P104的流程圖。方法P104包括兩個過程控制過程P110和數(shù)據(jù)過程P134。在數(shù)據(jù)過程P134中,任務(wù)T205在任務(wù)T210執(zhí)行開始前設(shè)置狀態(tài)指示符的狀態(tài)。在示例性應(yīng)用中,任務(wù)T205將狀態(tài)指示符設(shè)置到指示過載的狀態(tài),任務(wù)T230將狀態(tài)指示符設(shè)置到指示不存在過載的狀態(tài)。在另一應(yīng)用中,任務(wù)T205將狀態(tài)指示符設(shè)置到指示未完成任務(wù)T210的狀態(tài),任務(wù)T230將狀態(tài)指示符設(shè)置到指示完成任務(wù)T210的狀態(tài)。在兩種情況下,當(dāng)由定時指示符指示的時間條件發(fā)生時,過程或設(shè)備可以讀取狀態(tài)指示符的狀態(tài),并且確定任務(wù)T210是否在規(guī)定的限制內(nèi)完成?;蛘?,過程或設(shè)備可以基于狀態(tài)指示符的狀態(tài)從適當(dāng)?shù)奈恢脵z索數(shù)據(jù)(以及/或者存儲數(shù)據(jù))。
圖5示出了裝置100的實現(xiàn)102的框圖。完成處理任務(wù)時,處理模塊132按照定時指示符120的當(dāng)前狀態(tài)設(shè)置狀態(tài)指示符140的狀態(tài)。處理模塊132也可以在開始處理任務(wù)前設(shè)置狀態(tài)指示符的狀態(tài)(例如,設(shè)置成初始狀態(tài))。
在實時處理環(huán)境中,幾個數(shù)據(jù)過程可以產(chǎn)生單個結(jié)果。這些過程可以進發(fā)和/或連續(xù)執(zhí)行。例如,在按照如這里所描述的本發(fā)明的實施例的方法中,任務(wù)T210的時間受限操作可以對另一個過程或任務(wù)產(chǎn)生的結(jié)果操作,并且/或者可以將中間結(jié)果提供給另一過程或任務(wù)。
圖6示出按照本發(fā)明的實施例的方法P200的流程圖。方法P200包括三個過程控制過程P110、數(shù)據(jù)過程P234、以及輔助數(shù)據(jù)過程P250。在數(shù)據(jù)過程P234中,任務(wù)T212執(zhí)行第二操作(例如,如上面所描述的時間受限操作)。在輔助數(shù)據(jù)過程P250中,任務(wù)T310檢驗定時指示符的狀態(tài),而任務(wù)T320按照定時指示符的狀態(tài)執(zhí)行第一操作。
在一示例性實施例中,任務(wù)T212的第二操作相關(guān)于或者甚至視任務(wù)T320的第一操作而定。例如,第二操作的結(jié)果可以至少部分取決于第一操作的結(jié)果。
盡管圖6示出了任務(wù)T212在任務(wù)T320之后,在另一實現(xiàn)中兩任務(wù)可以被相反次序執(zhí)行或同時執(zhí)行。甚至在第二操作視第一操作而定的情況下,初始狀態(tài)可以被提供給第一操作,從而第二操作可以先執(zhí)行。
在此示例中,任務(wù)T320的第一操作以至少兩種不同模式之一執(zhí)行限制模式和非限制模式。當(dāng)在限制模式中,第一操作比在非限制模式中消耗較少的處理周期,從而減小整個處理負(fù)載。在另一示例中,任務(wù)T320的第一操作可以使用幾個優(yōu)先模式(例如,關(guān)于一組處理器中斷)中的一個執(zhí)行。
如果任務(wù)T310確定定時指示符被設(shè)置,則數(shù)據(jù)過程P234的任務(wù)T212超過對先前迭代的給定時間約束。在此情況下,任務(wù)T310重置定時指示符的狀態(tài),第一操作以限制模式執(zhí)行。從第一操作到第二操作的處理周期的動態(tài)再分配可以使第二操作在規(guī)定的時間約束內(nèi)完成隨后迭代的執(zhí)行。如果任務(wù)T310確定定時指示符沒有被設(shè)置,則第一操作以非限制模式執(zhí)行。
在蜂窩電話的某一示例中,任務(wù)T320的第一操作是對消附屬于電話的免提設(shè)備中的對消聲音回聲的回聲對消操作。此回聲對消操作具有兩部分。一部分包括信道學(xué)習(xí)過程,此過程分析聲信道(可以包括反射的回聲)中的語音能量,并且更新信道的存儲表示。另一部分包括對消過程,此過程將存儲的表示應(yīng)用于一定量的語音數(shù)據(jù)。在非限制模式中,這兩個過程都是活動的。在限制模式中,信道學(xué)習(xí)過程暫停(即,存儲的表示沒有被更新),只有對消過程是活動的。在一個這樣的示例中,更新存儲的表示可以暫停一小段時間,而不造成系統(tǒng)性能的實質(zhì)降級。
圖7示出了按照本發(fā)明的實施例的裝置200的框圖。輔助處理模塊250按照定時指示符120的當(dāng)前狀態(tài)執(zhí)行第一數(shù)據(jù)操作。如果輔助處理模塊250確定狀態(tài)被設(shè)置,則它也重置定時指示符120的狀態(tài)(例如,設(shè)置到初始狀態(tài))。
當(dāng)完成第二數(shù)據(jù)操作時(例如,時間受限操作),處理模塊230按照定時指示符120的當(dāng)前狀態(tài)設(shè)置狀態(tài)指示符140的狀態(tài)。處理模塊230也可以在開始第一數(shù)據(jù)操作前設(shè)置狀態(tài)指示符的狀態(tài)(例如,到初始狀態(tài))。
在示例性實現(xiàn)中,處理模塊230包括諸如微處理器或執(zhí)行指令序列的數(shù)字信號處理器(DSP)的邏輯元件的可編程陣列,而且輔助處理模塊250包括執(zhí)行不同指令序列的相同可編程陣列。在另一實現(xiàn)中,處理模塊230和輔助處理模塊250中一個或兩個包括制造進應(yīng)用專用集成電路(ASIC)或者編程進現(xiàn)場可編程門陣列(FPGA)的邏輯元件的陣列。
圖8示出按照本發(fā)明的一實施例的方法P300的流程圖??刂七^程P112包括任務(wù)T120,任務(wù)T120檢驗狀態(tài)指示符的狀態(tài)。在示例性應(yīng)用中,任務(wù)T120按照狀態(tài)指示符的狀態(tài)將一定量(例如,一個分組)的任務(wù)T212產(chǎn)生的數(shù)據(jù)輸入另一過程或設(shè)備(未示出)。在一個這樣的應(yīng)用中,任務(wù)T120將數(shù)據(jù)輸入另一過程(或者輸入相同處理器或不同處理器上執(zhí)行的過程),用于進一步的處理操作。在蜂窩電話的特定示例中,任務(wù)T120將聲音編碼的分組輸入另一過程或設(shè)備,用于與傳輸相關(guān)的進一步操作(諸如差錯糾正編碼和交織)?;蛘?,任務(wù)T120可以按照狀態(tài)指示符的狀態(tài)從這樣的過程或設(shè)備接收一定量的數(shù)據(jù)作為任務(wù)T212的輸入。
圖9示出了按照本發(fā)明的實施例的裝置300的框圖。接收定時信號S10的規(guī)定狀態(tài)轉(zhuǎn)移后,控制模塊210設(shè)置定時指示符120的狀態(tài),并且檢驗狀態(tài)指示符140的狀態(tài)。在一示例性應(yīng)用中,控制模塊210按照狀態(tài)指示符的狀態(tài)將一定量(例如,一個分組)的處理模塊230產(chǎn)生的數(shù)據(jù)通過輸出信號S20輸入另一過程或設(shè)備(未示出)。在可選應(yīng)用中,控制模塊210按照狀態(tài)指示符的狀態(tài)從另一過程或設(shè)備接收一定量的數(shù)據(jù)作為處理模塊230的輸入。
在一示例性實現(xiàn)中,控制模塊210包括諸如微處理器或執(zhí)行指令序列的數(shù)字信號處理器(DSP)的邏輯元件的可編程陣列,處理模塊230和輔助模塊250包括執(zhí)行不同指令序列的相同可編程陣列。在另一實現(xiàn)中,一個或多個控制模塊110、處理模塊130以及輔助處理模塊250包括被制造進應(yīng)用專用集成電路(ASIC)或者編程進現(xiàn)場可編程門陣列(FPGA)的邏輯元件的陣列。
如上所述的第一和第二數(shù)據(jù)操作往往互補,當(dāng)一個較多活動時另一個較少活動。例如,第二數(shù)據(jù)操作可以是用于蜂窩電話的聲碼器,而第一數(shù)據(jù)操作可以是用于(電氣上或通過無線鏈路)連接到蜂窩電話的免提設(shè)備(例如,包括麥克風(fēng)和擴音器,它們被設(shè)計為用戶可攜帶和/或安裝在用戶的附近)的聲回聲對消器。
在這樣的安排中,隨著信道中的語音活動程度的增加,聲碼器往往趨于更活動(即,要求更多處理周期來完成)。例如,靜音期可以用低于語音期的速率編碼。另一方面,當(dāng)信道為恒定(例如,靜音)時,回聲對消器往往趨于更活動,由于訓(xùn)練操作執(zhí)行以表征信道,當(dāng)信道中的語音活動程度增加時,回聲對消器變得較少活動。
在當(dāng)其它操作相對不活動時一操作相對活動的情況下,小于最壞情況要求的時鐘速率可以足以避免大多數(shù)情況下的過載條件。當(dāng)過載情況發(fā)生在這樣的情況下時(例如,當(dāng)一操作在其它操作變得不活動前變得活動時),可以預(yù)期這種情況是瞬間的。在按照本發(fā)明的實施例將一方法和裝置應(yīng)用于這樣的一系統(tǒng)時,允許此系統(tǒng)快速(例如,在數(shù)據(jù)操作的下一次迭代中)返回非限制操作是適當(dāng)?shù)摹?br>
在可選應(yīng)用中,第一和第二數(shù)據(jù)操作往往互補,兩任務(wù)的活動性程度一起上升和下降。還在其它情況下,第一和第二數(shù)據(jù)操作的活動程度往往會獨立于另一個。在這樣的情況下,可以期望為第一和第二數(shù)據(jù)操作的一個或兩個提供幾種操作模式(例如,每個具有不同的處理負(fù)載)。作為提供不同操作模式的另一選擇(或附加),可以期望參考數(shù)據(jù)操作和/或另一數(shù)據(jù)操作的當(dāng)前或先前速率來控制數(shù)據(jù)操作的速率。
在一些應(yīng)用中,過載情況可以具有變化的嚴(yán)重程度。可以期望在這些情況下當(dāng)前速率部分基于系統(tǒng)的先前速率或狀態(tài)。圖10示出了包括這里所述的方法或裝置的示例性系統(tǒng)的狀態(tài)圖,所述方法或裝置按照系統(tǒng)操作的歷史提供不同的處理速率。在初始狀態(tài)10a中,系統(tǒng)被配置使得受控數(shù)據(jù)操作以非限制速率執(zhí)行。如果檢測到過載條件,系統(tǒng)移到狀態(tài)10b,期中受控數(shù)據(jù)操作被配置以降低的速率執(zhí)行。如果沒檢測到過載條件,系統(tǒng)維持在狀態(tài)10a。
如果檢測到過載條件,同時系統(tǒng)處于狀態(tài)10b,則系統(tǒng)移至狀態(tài)10c,其中,受控數(shù)據(jù)操作被配置以進一步降低的速率執(zhí)行。否則,系統(tǒng)返回狀態(tài)10a。如果當(dāng)系統(tǒng)處于狀態(tài)10c時沒有檢測到過載條件,則系統(tǒng)返回狀態(tài)10b。在此示例中,不包括其它狀態(tài),如果檢測到過載條件則系統(tǒng)維持在狀態(tài)10c。
在另一示例中,狀態(tài)10a除外的狀態(tài)是初始狀態(tài)。在又一示例中,一個不同數(shù)據(jù)操作或者多于一個數(shù)據(jù)操作的速率可以從一狀態(tài)變化至另一狀態(tài)。在又一示例中,當(dāng)系統(tǒng)處于最大限制狀態(tài)時過載條件的檢測指示差錯條件并且初始化另一過程(例如,差錯記錄、差錯處理以及/或者差錯恢復(fù)過程)。
在其它應(yīng)用中,可以預(yù)期過載情況持續(xù)多于第一和第二數(shù)據(jù)操作的一個迭代。這種情況下,在每個過載檢測可以導(dǎo)致另一過載條件之后返回到非限制速率,產(chǎn)生限制和非限制速率之間的顛簸。在這個和其它情況下,可能希望延遲恢復(fù)一個或多個數(shù)據(jù)操作的處理速率。
圖11示出了包括這里所描述的方法和裝置的示例性系統(tǒng)的狀態(tài)圖。在初始狀態(tài)20a中,系統(tǒng)被配置使得收集的受控數(shù)據(jù)操作以非限制速率執(zhí)行。如果檢測到過載條件,系統(tǒng)移至狀態(tài)20c,其中受控數(shù)據(jù)操作被配置以降低的速率執(zhí)行。如果沒有檢測到過載條件,則系統(tǒng)維持在狀態(tài)20a。
在此示例中,不包括其它狀態(tài),如果系統(tǒng)處于狀態(tài)20c時檢測到過載條件,則系統(tǒng)維持在此狀態(tài)。否則(如果沒有檢測到過載條件),系統(tǒng)移至狀態(tài)20b,其中受控數(shù)據(jù)操作被配置以降低的速率繼續(xù)執(zhí)行。如果系統(tǒng)處于狀態(tài)20b時檢測到過載條件,則系統(tǒng)移至狀態(tài)20c;否則系統(tǒng)返回狀態(tài)20a。
在另一示例中,除狀態(tài)20a外的狀態(tài)是初始狀態(tài)。在另一示例中,不同數(shù)據(jù)操作或多于一個數(shù)據(jù)操作的速率可以從一個狀態(tài)變化到另一狀態(tài)。在又一示例中,當(dāng)系統(tǒng)處于最大限制狀態(tài)時過載條件的檢測指示初始化另一過程的差錯條件。
圖12示出了包括任務(wù)T315的輔助數(shù)據(jù)過程P250的實現(xiàn)P252。任務(wù)T315按照任務(wù)T310的結(jié)果設(shè)置任務(wù)T320的操作速率(和/或數(shù)據(jù)過程P234的任務(wù)T212的操作速率)。在另一實現(xiàn)中,任務(wù)T315可以按照狀態(tài)指示符的狀態(tài)設(shè)置此速率或這些速率。
圖13示出了包括任務(wù)T255的數(shù)據(jù)過程P234的實現(xiàn)P236。任務(wù)T225按照任務(wù)T220的結(jié)果設(shè)置輔助數(shù)據(jù)過程P250的任務(wù)T320的操作速率(和/或任務(wù)T212的操作速率)。在其它實現(xiàn)中,任務(wù)T225可以在任務(wù)T230之后或與它進發(fā)地發(fā)生。在T225發(fā)生在任務(wù)T230之后的情況下,任務(wù)T225可以按照狀態(tài)指示符的狀態(tài)設(shè)置這樣的一個或多個速率。
圖14示出了裝置300的實現(xiàn)304的框圖。裝置304包括速率指示符260和處理模塊210的實現(xiàn)232。一當(dāng)完成第二數(shù)據(jù)操作(例如,時間受限操作),處理模塊232按照定時指示符120的當(dāng)前狀態(tài)設(shè)置速率標(biāo)識符260的狀態(tài)。輔助處理模塊250根據(jù)速率指示符260的狀態(tài)(例如,以一個速率或以由速率指示符指示的模式)執(zhí)行一第一數(shù)據(jù)操作。在其它實現(xiàn)中,輔助處理模塊250可以設(shè)置或重置速率指示符260的狀態(tài),而且/或者處理模塊232可以按照速率指示符260的速率執(zhí)行第二數(shù)據(jù)操作。
速率指示符260可以包括可以對處理模塊250并且可以對另一過程或設(shè)備訪問的二進制或多值標(biāo)志。例如,速率指示符260可以包括存儲在處理器寄存器或其它存儲器位置的一個或多個狀態(tài)字比特(其中,狀態(tài)字也可以包括定時指示符120和/或狀態(tài)指示符140)。
如這里所描述,按照本發(fā)明的實施例的一方法和裝置可以被應(yīng)用于支持使用時鐘源,所述時鐘源提供低于最差情況處理要求的執(zhí)行速度。例如,這樣的方法和裝置在檢測到過載條件后可以在數(shù)據(jù)操作(例如,從非臨界操作到臨界操作)之間動態(tài)地再分配處理周期。
對所述實施例的以上介紹被提供以便使本領(lǐng)域內(nèi)的任何技術(shù)人員可以制造或使用本發(fā)明。對這些實施例的多種修改是可能的,而且如這里提出的檢測過載條件和動態(tài)再分配處理周期的一般原理也可以被應(yīng)用于其它實施例。
例如,上述實施例檢測過載條件的發(fā)生。在其它實施例中,進行的過程可以被監(jiān)視以檢測過程發(fā)生前的潛在的過載。例如,定時和/或狀態(tài)指示符的附加檢測可以被執(zhí)行(例如,在執(zhí)行時間受限或第二數(shù)據(jù)操作期間)。在一個這樣的應(yīng)用中,進程的當(dāng)前機器狀態(tài)或程度可以與預(yù)期的狀態(tài)或主要管理點比較。
本發(fā)明的實施例可以部分或全部被實現(xiàn)為硬線電路或制造進應(yīng)用專用集成電路的電路配置。本發(fā)明的實施例也可以被實現(xiàn)為兩個或更多處理器或者在兩個或更多處理器上執(zhí)行的應(yīng)用。因此,本發(fā)明并不限于這里示出的實施例,而要符合與這里揭示的原理和新穎特征一致的最寬泛的范圍。
權(quán)利要求
1.一種過程控制的方法,所述方法包括當(dāng)檢測到定時信號的一預(yù)定特性時,設(shè)置定時指示符的狀態(tài);執(zhí)行數(shù)據(jù)過程;當(dāng)完成所述執(zhí)行的預(yù)定階段,檢驗定時指示符的狀態(tài);以及以預(yù)定執(zhí)行模式執(zhí)行輔助過程;其中輔助過程的執(zhí)行模式基于定時指示符的狀態(tài)。
2.如權(quán)利要求1所述的過程控制方法,其特征在于,輔助過程的執(zhí)行模式基于輔助過程的先前執(zhí)行模式和數(shù)據(jù)過程的執(zhí)行模式中至少一個。
3.如權(quán)利要求1所述的過程控制方法,其特征在于,輔助過程的執(zhí)行模式包括限制模式和非限制模式中的一個。
4.如權(quán)利要求3所述的過程控制方法,其特征在于,限制模式比非限制模式消耗較少的處理周期。
5.如權(quán)利要求1所述的過程控制方法,其特征在于,中斷服務(wù)例程當(dāng)檢測到定時信號的預(yù)定特性時執(zhí)行,以及其中中斷服務(wù)例程包括定時指示符的所述設(shè)置。
6.如權(quán)利要求1所述的過程控制方法,所述方法還包括接收一定量的語音數(shù)據(jù),其中執(zhí)行數(shù)據(jù)過程包括對語音數(shù)據(jù)執(zhí)行數(shù)據(jù)操作。
7.如權(quán)利要求1所述的過程控制方法,其特征在于,數(shù)據(jù)過程包括壓縮操作和解壓操作中的一個。
8.如權(quán)利要求7所述的過程控制方法,其特征在于,數(shù)據(jù)過程包括聲音編碼操作。
9.如權(quán)利要求8所述的過程控制方法,其特征在于,輔助過程包括回聲對消操作。
10.如權(quán)利要求9所述的過程控制方法,其特征在于,回聲對消操作包括訓(xùn)練過程和對消過程,以及其中輔助過程的執(zhí)行模式包括限制模式和非限制模式中的一個,以及其中在限制模式中,訓(xùn)練過程的活動程度實質(zhì)被限制得與非限制模式中訓(xùn)練過程的活動程度相似。
11.一種過程控制方法,所述方法包括當(dāng)檢測到定時信號的預(yù)定特性時,設(shè)置定時指示符的狀態(tài);執(zhí)行一過程;以及當(dāng)完成所述執(zhí)行的預(yù)定階段時,檢驗定時指示符的狀態(tài)。
12.如權(quán)利要求11所述的過程控制方法,其特征在于,定時信號的預(yù)定特性是特定的狀態(tài)轉(zhuǎn)移。
13.如權(quán)利要求11所述的過程控制方法,其特征在于,過程包括聲音編碼操作。
14.如權(quán)利要求11所述的過程控制方法,其特征在于,中斷服務(wù)例程在檢測到定時信號的預(yù)定特性時執(zhí)行,以及其中中斷服務(wù)例程包括定時指示符的所述設(shè)置。
15.處理裝置包括定時指示符;控制模塊,被配置和安排用于當(dāng)檢測到定時信號的預(yù)定特性時設(shè)置定時指示符的狀態(tài);輔助處理模塊,被配置和安排用于以預(yù)定的執(zhí)行模式執(zhí)行第一數(shù)據(jù)操作,處理模塊,被配置和安排用于執(zhí)行第二數(shù)據(jù)操作;以及其中處理模塊還被配置和安排用于當(dāng)完成第二數(shù)據(jù)操作的預(yù)定階段時檢驗定時指示符的狀態(tài),以及其中預(yù)定的執(zhí)行模式基于定時指示符的狀態(tài)。
16.如權(quán)利要求15所述的處理裝置,其特征在于,控制模塊被配置和安排用于一當(dāng)檢測到定時信號的特定狀態(tài)轉(zhuǎn)移時設(shè)置定時指示符的狀態(tài)。
17.如權(quán)利要求15所述的處理裝置,其特征在于,預(yù)定的執(zhí)行模式基于輔助過程的先前執(zhí)行模式和數(shù)據(jù)過程的執(zhí)行模式中至少一個。
18.如權(quán)利要求15所述的處理裝置,其特征在于,預(yù)定的執(zhí)行模式包括限制模式和非限制模式中的一個。
19.如權(quán)利要求18所述的處理裝置,其特征在于,輔助處理模塊被配置和安排為將限制模式下的第一數(shù)據(jù)操作的活動程度限制得可與非限制模式下第一數(shù)據(jù)操作的活動程度相比較。
20.如權(quán)利要求18所述的處理裝置,其特征在于,輔助處理模塊被配置和安排為與非限制模式相比在限制模式下執(zhí)行第一數(shù)據(jù)操作實質(zhì)消耗較少的處理周期。
21.如權(quán)利要求15所述的處理裝置,其特征在于,所述裝置還包括狀態(tài)指示符,被配置和安排用于指示第二數(shù)據(jù)操作的完成和未完成中的一個。
22.如權(quán)利要求21所述的處理裝置,其特征在于,定時指示符和狀態(tài)指示符中的至少一個包括在處理器寄存器和存儲器中的一個的位置。
23.如權(quán)利要求15所述的處理裝置,其特征在于,所述裝置還包括狀態(tài)指示符,被配置和安排用于指示存儲器位置,其中處理模塊還被配置和安排用于當(dāng)完成第二數(shù)據(jù)操作時設(shè)置狀態(tài)指示符的狀態(tài)。
24.如權(quán)利要求23所述的處理裝置,其特征在于,狀態(tài)指示符被配置和安排用于指示第二數(shù)據(jù)操作的輸出被儲存的位置和默認(rèn)輸出被儲存的位置中的一個。
25.如權(quán)利要求15所述的處理裝置,其特征在于,所述裝置還包括狀態(tài)指示符,被配置和安排用于指示過載條件存在和不存在中的一個。
26.如權(quán)利要求15所述的處理裝置,其特征在于,第二數(shù)據(jù)操作包括壓縮操作和解壓操作中的一個。
27.如權(quán)利要求26所述的處理裝置,其特征在于,第一數(shù)據(jù)操作包括回聲對消操作。
28.如權(quán)利要求27所述的處理裝置,其特征在于,執(zhí)行的預(yù)定模式包括限制模式和非限制模式中的一個,以及其中輔助處理模塊被配置和安排用于限制在限制模式下的回聲對消操作的訓(xùn)練過程。
29.如權(quán)利要求15所述的處理裝置,其特征在于,處理模塊和輔助處理模塊中的至少一個包括邏輯元件陣列。
30.如權(quán)利要求15所述的處理裝置,其特征在于,處理模塊和輔助處理模塊中的至少一個包括在邏輯元件的可編程陣列上可執(zhí)行的指令序列。
全文摘要
按照本發(fā)明的一實施例的過載檢測方法包括控制過程和數(shù)據(jù)過程??刂七^程響應(yīng)于一定時信號,設(shè)置定時指示符的一狀態(tài)。當(dāng)執(zhí)行時間受限操作時,數(shù)據(jù)過程檢驗定時指示符的狀態(tài)。在其它實施例中,過載檢測之后,輔助數(shù)據(jù)過程被配置以消耗較少處理周期的模式執(zhí)行。
文檔編號G06F9/50GK1653424SQ03810252
公開日2005年8月10日 申請日期2003年3月6日 優(yōu)先權(quán)日2002年3月6日
發(fā)明者W·-S·李 申請人:高通股份有限公司