用于混合臨界應(yīng)用的方法和輕量機(jī)構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體上涉及用于在公共處理器上調(diào)度混合臨界軟件應(yīng)用的系統(tǒng)和方法,更具體地涉及用于在公共處理器上調(diào)度諧波混合臨界軟件應(yīng)用的系統(tǒng)和方法,其中,應(yīng)用優(yōu)先級(jí)是基于執(zhí)行頻率,并且其中,具有較低執(zhí)行頻率的較高臨界的應(yīng)用被分成多個(gè)分段以提高它們的執(zhí)行頻率和優(yōu)先級(jí),或者,具有較高執(zhí)行頻率的較低臨界的應(yīng)用被延長(zhǎng)以降低它們的執(zhí)行頻率和優(yōu)先級(jí)。
【背景技術(shù)】
[0002]當(dāng)代的車輛采用各種嵌入式電子控制器,它們提高車輛的性能、舒適性、安全性等等。這樣的控制器包括發(fā)動(dòng)機(jī)控制器、懸架控制器、轉(zhuǎn)向控制器、動(dòng)力傳動(dòng)系控制器、氣候控制控制器、信息娛樂系統(tǒng)控制器、底盤系統(tǒng)控制器等等。這些控制器通常需要特殊用途軟件和算法以執(zhí)行它們的控制功能。
[0003]車輛電子控制器的當(dāng)前趨勢(shì)是為不同功能提供多個(gè)軟件應(yīng)用在公共控制器上運(yùn)行。例如,自適應(yīng)巡航控制(ACC)系統(tǒng)、車道對(duì)中系統(tǒng)、車道保持系統(tǒng)、穩(wěn)定度控制系統(tǒng)等等都是技術(shù)中已知的,它們?cè)谝恍┬蝿?shì)下都自動(dòng)地控制車輛轉(zhuǎn)向和/或制動(dòng)。這些系統(tǒng)時(shí)常采用相同傳感器輸入及其它變量,有時(shí)稱為全局變量,當(dāng)它們存儲(chǔ)在存儲(chǔ)器中時(shí)能被一個(gè)以上的軟件應(yīng)用所使用。例如,ACC系統(tǒng)在其運(yùn)行在處理器上期間可以把傳感器數(shù)據(jù)寫入控制器存儲(chǔ)器中,車道對(duì)中系統(tǒng)在其運(yùn)行在處理器上期間可以把數(shù)據(jù)寫入其軟件中。因此,在像這些的許多情況下,在相同處理器上運(yùn)行多個(gè)軟件應(yīng)用是講得通的。
[0004]提供在公共控制器上運(yùn)行的多個(gè)相關(guān)軟件應(yīng)用對(duì)于減少系統(tǒng)硬件和成本具有明顯的優(yōu)勢(shì)。然而,在相同處理器上運(yùn)行不同的軟件應(yīng)用增大了控制器的復(fù)雜度,歸因于運(yùn)行不同軟件應(yīng)用和防止這些軟件應(yīng)用相互干擾所需的調(diào)度。當(dāng)車輛OEM在已經(jīng)具有由供應(yīng)商提供的軟件的控制器上提供更多的軟件時(shí),這樣的在單處理器上運(yùn)行的混合用途應(yīng)用進(jìn)一步增大了復(fù)雜度。
[0005]在大多數(shù)情況下,運(yùn)行在單處理器上的不同軟件應(yīng)用給將具有混合臨界性,S卩,這些應(yīng)用將相對(duì)于彼此具有較高或較低級(jí)別的重要性以提供安全性、便利性等等。對(duì)于這些類型的系統(tǒng),調(diào)度每個(gè)軟件應(yīng)用的執(zhí)行的調(diào)度算法可以把這些應(yīng)用的運(yùn)行交錯(cuò)在一起,其中,一個(gè)軟件應(yīng)用的一部分運(yùn)行,但是可能沒有完成而停止,使得另一應(yīng)用能夠在處理器上運(yùn)行。
[0006]運(yùn)行混合臨界軟件應(yīng)用的處理器的調(diào)度機(jī)將通常指定具有最高執(zhí)行頻率或時(shí)段的軟件應(yīng)用,這意味著它執(zhí)行得最頻繁,最高優(yōu)先級(jí)。特別地,混合應(yīng)用共享資源系統(tǒng)中的調(diào)度機(jī)使它們的優(yōu)先級(jí)基于運(yùn)行頻率,因?yàn)?,這樣的技術(shù)是最常用的調(diào)度技術(shù)以確保所有應(yīng)用將在它們下一次執(zhí)行運(yùn)行的開始時(shí)間之前完全執(zhí)行。因?yàn)檎{(diào)度優(yōu)先級(jí)是根據(jù)執(zhí)行頻率分配的,較高臨界但具有較低優(yōu)先級(jí)的應(yīng)用將被較低臨界但具有較高優(yōu)先級(jí)的應(yīng)用取代,此時(shí),它們的執(zhí)行在時(shí)間上有干擾,有時(shí)稱作臨界性反演問題。更特別地,盡管最高頻率軟件應(yīng)用可能不是最臨界應(yīng)用,但是,當(dāng)前軟件調(diào)度機(jī)會(huì)允許具有最快執(zhí)行頻率的軟件應(yīng)用優(yōu)先于較臨界軟件應(yīng)用,如果這兩個(gè)應(yīng)用被調(diào)度為在相同時(shí)間運(yùn)行。例如,運(yùn)行在處理器上的特定軟件應(yīng)用可以被要求非??焖俚剡\(yùn)行,從而滿足它的特定功能,此時(shí),這個(gè)功能可以不必是過分重要或臨界的。更臨界軟件應(yīng)用例如穩(wěn)定度控制算法可能只須在較慢速度下運(yùn)行。
[0007]不同的技術(shù)在領(lǐng)域中已知以有效地允許混合臨界性軟件應(yīng)用運(yùn)行在單處理器上,因此,較臨界較低優(yōu)先級(jí)軟件應(yīng)用不被較不臨界較高優(yōu)先級(jí)軟件應(yīng)用取代。一種已知的技術(shù)稱作雙優(yōu)先級(jí)調(diào)度(DPS),其中,運(yùn)行在處理器上的每個(gè)應(yīng)用被分配兩個(gè)優(yōu)先級(jí),一個(gè)優(yōu)先級(jí)由這個(gè)軟件應(yīng)用的臨界程度來決定,另一個(gè)優(yōu)先級(jí)由這個(gè)軟件應(yīng)用需要執(zhí)行得的頻繁程度來決定。根據(jù)此,在運(yùn)行時(shí)間上有兩個(gè)執(zhí)行模式,即,根據(jù)速率的正常執(zhí)行模式和根據(jù)臨界性的過載執(zhí)行模式。然而,DPS具有許多缺陷,包括非常高的運(yùn)行時(shí)間開銷(overhead)。在另一已知的技術(shù)中,稱為零-松弛速率單調(diào)(ZSRM),每個(gè)應(yīng)用具有用于正常運(yùn)行和過載運(yùn)行的執(zhí)行次數(shù)。調(diào)度是用臨界應(yīng)用的最近開始時(shí)間計(jì)算,以完成其過載計(jì)算。然而,ZSRM需要不同的執(zhí)行時(shí)間,這可能導(dǎo)致許多調(diào)度變化,需要高成本用于測(cè)試和驗(yàn)證。
【發(fā)明內(nèi)容】
[0008]下面的內(nèi)容描述了一種系統(tǒng)和方法,用于調(diào)度多個(gè)混合臨界性軟件應(yīng)用在相同處理器上的執(zhí)行。該方法把較高臨界但較低運(yùn)行速率的軟件應(yīng)用分成多個(gè)節(jié)段,這樣,分開的節(jié)段促使較低速率應(yīng)用具有較高速率,從而它們?cè)谳^低臨界軟件應(yīng)用之前運(yùn)行。替代地,該方法增加較低臨界但較高頻率軟件應(yīng)用的長(zhǎng)度,這樣,該軟件應(yīng)用具有比較臨界應(yīng)用更低的頻率,從而該較臨界應(yīng)用具有較高優(yōu)先級(jí)。
[0009]本發(fā)明提供下列技術(shù)方案。
[0010]技術(shù)方案1.一種用于調(diào)度多個(gè)混合臨界性軟件應(yīng)用在共用處理器上的執(zhí)行的方法,所述軟件應(yīng)用是諧波的并且具有規(guī)定的執(zhí)行頻率,所述方法包括:
從該多個(gè)軟件應(yīng)用中確定第一軟件應(yīng)用的臨界性;
從該多個(gè)軟件應(yīng)用中確定第二軟件應(yīng)用的臨界性;
確定第一軟件應(yīng)用的臨界性高于第二軟件應(yīng)用的臨界性;
確定第一軟件應(yīng)用的執(zhí)行頻率低于第二軟件應(yīng)用的執(zhí)行頻率;
把第一軟件應(yīng)用分成預(yù)定數(shù)量的節(jié)段以增大第一軟件應(yīng)用的執(zhí)行頻率,從而使第一軟件應(yīng)用的執(zhí)行頻率同于或大于第二軟件應(yīng)用的執(zhí)行頻率;以及
執(zhí)行該多個(gè)軟件應(yīng)用,包括根據(jù)由執(zhí)行頻率確定的優(yōu)先級(jí)在不同時(shí)間執(zhí)行這些節(jié)段。
[0011]技術(shù)方案2.如技術(shù)方案I所述的方法,其中,所有節(jié)段具有相同長(zhǎng)度。
[0012]技術(shù)方案3.如技術(shù)方案I所述的方法,其中,至少兩個(gè)節(jié)段具有不同的長(zhǎng)度。
[0013]技術(shù)方案4.如技術(shù)方案I所述的方法,其中,所有節(jié)段在與第一軟件應(yīng)用分段之前的時(shí)段相同的時(shí)段內(nèi)執(zhí)行。
[0014]技術(shù)方案5.如技術(shù)方案I所述的方法,其中,執(zhí)行多個(gè)軟件應(yīng)用包括分配具有相同執(zhí)行頻率的軟件應(yīng)用給公共任務(wù)調(diào)度機(jī)并且在該調(diào)度機(jī)中按優(yōu)先級(jí)排列這些軟件應(yīng)用的執(zhí)行,其中,按優(yōu)先級(jí)排列這些軟件應(yīng)用的執(zhí)行包括按優(yōu)先級(jí)排列這些節(jié)段。
[0015]技術(shù)方案6.如技術(shù)方案5所述的方法,其中,執(zhí)行多個(gè)軟件應(yīng)用包括提供具有位序列的位向量,其控制著軟件應(yīng)用或節(jié)段何時(shí)將執(zhí)行,其中,I位促使下一優(yōu)先級(jí)應(yīng)用或節(jié)段執(zhí)行,O位阻止下一優(yōu)先級(jí)應(yīng)用或節(jié)段執(zhí)行。
[0016]技術(shù)方案7.如技術(shù)方案I所述的方法,其中,多個(gè)軟件應(yīng)用控制車輛功能。
[0017]技術(shù)方案8.—種用于調(diào)度多個(gè)混合臨界性軟件應(yīng)用在共用處理器上的運(yùn)行的方法,所述軟件應(yīng)用都是諧波的并且具有規(guī)定的執(zhí)行頻率,所述方法包括:
從該多個(gè)軟件應(yīng)用中確定第一軟件應(yīng)用的臨界性;
從該多個(gè)軟件應(yīng)用中確定第二軟件應(yīng)用的臨界性;
確定第一軟件應(yīng)用的臨界性高于第二軟件應(yīng)用的臨界性;
確定第一軟件應(yīng)用的執(zhí)行頻率低于第二軟件應(yīng)用的執(zhí)行頻率;
增大第二軟件應(yīng)用的長(zhǎng)度以減小第二軟件應(yīng)用的執(zhí)行頻率,從而第二軟件應(yīng)用的執(zhí)行頻率同于或小于第一軟件應(yīng)用的執(zhí)行頻率;以及
根據(jù)由執(zhí)行頻率確定的優(yōu)先級(jí)執(zhí)行該多個(gè)軟件應(yīng)用。
[0018]技術(shù)方案9.如技術(shù)方案8所述的方法,其中,執(zhí)行多個(gè)軟件應(yīng)用包括分配具有相同執(zhí)行頻率的軟件應(yīng)用給公共任務(wù)調(diào)度機(jī)并且在該調(diào)度機(jī)中按優(yōu)先級(jí)排列這些軟件應(yīng)用的執(zhí)行。
[0019]技術(shù)方案10.如技術(shù)