運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法以及數(shù)據(jù)處理設(shè)備的制作方法
【專利摘要】本發(fā)明涉及用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法以及數(shù)據(jù)處理設(shè)備,其上可以并行地運(yùn)行兩個或更多個程序,其中該方法(20)具有以下步驟:為要實(shí)施的程序產(chǎn)生源代碼并且在緩沖存儲器中存儲要實(shí)施的程序的所需要的數(shù)據(jù)(21);同時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或多個程序中的每個程序在緩沖存儲器上的地址(22);兩個或多個程序通過至少一個地址寄存器訪問緩沖存儲器(23)。
【專利說明】運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法以及數(shù)據(jù)處理設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法,利用所述方法來調(diào)節(jié)在數(shù)據(jù)處理設(shè)備上運(yùn)行的程序?qū)彌_存儲器的訪問,在所述緩沖存儲器中存儲有其他所實(shí)施的程序的數(shù)據(jù)。
【背景技術(shù)】
[0002]在數(shù)據(jù)處理設(shè)備中為了提高效率在中央單元與系統(tǒng)存儲器之間使用快速緩沖存儲器。這些緩沖存儲器通過以下方式實(shí)現(xiàn)其高有效性,即由處理器經(jīng)常短時間地連續(xù)多次訪問存儲器地址。
[0003]在常用的數(shù)據(jù)處理設(shè)備情況下越來越多地使用多核處理器,所述多核處理器在一個處理器中將多個核連接在一起。在多核處理器中,將很多任務(wù)劃分成過程、即所謂的作業(yè)(Task)。這些作業(yè)并行地由多個處理器核通過在處理器核上運(yùn)行的程序執(zhí)行。
[0004]此外,數(shù)據(jù)處理設(shè)備的常用的操作系統(tǒng)能夠?qū)崿F(xiàn)所謂的多任務(wù)處理,也即同時調(diào)用多個程序并且控制其流程。在該控制功能中集成了例如相應(yīng)運(yùn)行狀態(tài)和/或結(jié)果在與數(shù)據(jù)處理設(shè)備相連接的顯示單元或其他輸出單元上的顯示、分別運(yùn)行的程序所需要的數(shù)據(jù)的調(diào)用、中間結(jié)果和/或最終結(jié)果的存儲、所需要的資源的指派以及預(yù)先給定目標(biāo)的可能故障報告的通知。此外,由程序在另一過程中產(chǎn)生的數(shù)據(jù)向另一計算機(jī)系統(tǒng)、向網(wǎng)絡(luò)或向服務(wù)器的傳輸在該相應(yīng)過程的任務(wù)提出的范圍中可能變得必要或者是原始功能的組成部分。
[0005]在此,在這種數(shù)據(jù)處理設(shè)備中多個程序分別在自己的數(shù)據(jù)區(qū)域中并且用自己的數(shù)據(jù)加以執(zhí)行,而不彼此達(dá)成相互關(guān)系。每個程序具有自己的、由大量步驟的接連排列組成的流程,所述流程負(fù)責(zé)按規(guī)定的進(jìn)程或者關(guān)于該按規(guī)定的進(jìn)程的故障和分別分配給該程序的任務(wù)的履行的相應(yīng)報告。
[0006]但是例如在醫(yī)學(xué)技術(shù)的環(huán)境中或者在機(jī)動車的控制設(shè)備情況下,為了執(zhí)行數(shù)據(jù)處理設(shè)備的整個程序也可以使用多個程序或也可以使用子程序。也稱為作業(yè)的過程在此從操作系統(tǒng)的角度看是自身閉合的流程單元,其通過程序或程序部分來代表。在此可能出現(xiàn)程序或子程序必須訪問以下數(shù)據(jù)的情形,所述數(shù)據(jù)由一個程序在另一過程中產(chǎn)生并且存放在另一程序的緩沖存儲器中。
[0007]由出版物DE 42 36 820 C2已知一種多任務(wù)處理數(shù)據(jù)處理設(shè)備,其中對緩沖存儲器的訪問在內(nèi)部通過指針管理。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的任務(wù)是說明一種用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法,所述方法也能夠以特別簡單的方式實(shí)現(xiàn)從變化的過程或程序?qū)彌_存儲器的特別符合需求的訪問。
[0009]該任務(wù)通過獨(dú)立權(quán)利要求的主題來解決。其他有利的改進(jìn)方案是從屬權(quán)利要求的主題。
[0010]根據(jù)本發(fā)明的一種實(shí)施方式,該任務(wù)通過用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法來解決,在所述數(shù)據(jù)處理設(shè)備上可以并行地運(yùn)行兩個或更多個程序。該方法在此具有以下步驟:從而對于要實(shí)施的程序產(chǎn)生源代碼并且在緩沖存儲器中存儲要實(shí)施的程序的所需要的數(shù)據(jù)。同時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每個程序到緩沖存儲器上的地址。接著,兩個或更多個程序通過至少一個地址寄存器訪問緩沖存儲器。
[0011]從而基本構(gòu)思是,最遲在實(shí)施程序之前生成地址寄存器,從所述地址寄存器中可以讀出緩沖存儲器的基礎(chǔ)地址,在所述緩沖存儲器中存儲有要實(shí)施的程序的所需要的數(shù)據(jù)。
[0012]這種方法具有的優(yōu)點(diǎn)是,也能夠以特別簡單的方式實(shí)現(xiàn)從變化的過程或程序?qū)彌_存儲器的特別符合需求的訪問。因此,通過從兩個或更多個程序出發(fā)經(jīng)由至少一個地址寄存器對緩沖存儲器尋址保證在一個步驟中兩個或更多程序?qū)υ诰彌_存儲器中存儲的數(shù)據(jù)的快速訪問,尤其是也保證一個程序?qū)α硪怀绦虻腜數(shù)據(jù)的快速訪問。此外,該訪問在此情況下在資源消耗和數(shù)據(jù)處理設(shè)備的計算時間方面被優(yōu)化。因此,具有也稱為總線的共同的地址和數(shù)據(jù)收集線路系統(tǒng)的處理器順序地實(shí)施指令。在通過指針的內(nèi)部緩沖器管理情況下,在此情況下首先將指令地址給予到總線上以及暫存在地址寄存器中。接著根據(jù)系統(tǒng)存儲器的訪問時間有時間延遲地將被尋址的指令讀入到處理器中。在接著在處理器中實(shí)施這些指令時,通過相同的總線輸入或輸出數(shù)據(jù)地址和數(shù)據(jù)本身。由此,總線的不能忽略的負(fù)荷與指令地址相關(guān)聯(lián),所述負(fù)荷導(dǎo)致程序流程執(zhí)行的經(jīng)常顯著的時間延長。在信息學(xué)或數(shù)字技術(shù)中、尤其是在微控制器領(lǐng)域中以地址寄存器形式的快速地址管理是常見的并且表示被設(shè)想用于輸入地址的數(shù)據(jù)庫以及具有簡單搜索功能的數(shù)據(jù)庫。這可以被快速和簡單地實(shí)現(xiàn),使得這在此可以簡單地和無大的耗費(fèi)地實(shí)現(xiàn)。
[0013]根據(jù)一種實(shí)施方式,數(shù)據(jù)處理設(shè)備在此可以是搶先式和/或協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備。在多任務(wù)處理運(yùn)行或多過程運(yùn)行中工作的操作系統(tǒng)同時地實(shí)施多個任務(wù)、也即過程。在此按標(biāo)準(zhǔn)應(yīng)用的方法是協(xié)作式和搶先式多任務(wù)處理,其中操作系統(tǒng)核控制各個過程的執(zhí)行并且在特定的執(zhí)行時間之后停止每個過程以有利于其他過程。通過至少一個地址寄存器,在此情況下可以保證,用于實(shí)現(xiàn)一個過程的程序可以快速地和實(shí)時地訪問另一程序的數(shù)據(jù),即使該程序被停止以有利于其他過程,其中與通過指針的內(nèi)部存儲器管理相比可以節(jié)省資源和計算時間,其中所述通過指針的內(nèi)部存儲器管理通常恰好當(dāng)需要數(shù)據(jù)時發(fā)生。
[0014]根據(jù)另一實(shí)施方式,數(shù)據(jù)處理設(shè)備也可以包括多核處理器。在多核處理器系統(tǒng)中,許多任務(wù)被劃分成作業(yè)。這些作業(yè)并行地由多個處理器核執(zhí)行。在此情況下,發(fā)生一個作業(yè)與另一作業(yè)有關(guān)的情形,也即用于實(shí)現(xiàn)一個作業(yè)的程序必須訪問另一個在多核處理器的處理器核上執(zhí)行的程序的數(shù)據(jù)的情形。通過使用至少一個地址寄存器在此情況下又可以保證對這些數(shù)據(jù)的快速和實(shí)時的訪問,其中與通過指針的內(nèi)部存儲器管理相比又可以節(jié)省資源和計算時間。
[0015]數(shù)據(jù)處理設(shè)備也可以具有實(shí)時操作系統(tǒng)。在實(shí)時系統(tǒng)中,一般多個作業(yè)根據(jù)不同的優(yōu)先級運(yùn)行并且必須實(shí)時地被實(shí)施。因此尤其是在實(shí)時操作系統(tǒng)和實(shí)時操作系統(tǒng)核中需要程序、也即作業(yè)的通信實(shí)時和快速地進(jìn)行,尤其是各個程序可以快速和可靠地訪問其他程序的數(shù)據(jù),而在此情況下例如不出現(xiàn)延遲。
[0016]此外,至少一個地址寄存器在此可以存放在上下文存儲器中,兩個或更多個程序?qū)λ錾舷挛拇鎯ζ鬟M(jìn)行訪問。過程的特性是,過程總是訪問自己的存儲區(qū)域。過程由多個線程組成,所述線程是過程的程序部分。線程的上下文是執(zhí)行所述線程或該線程的程序指令的處理器的處理器狀態(tài)。因此,線程的上下文被定義為在通過該處理器處理該線程期間的暫時處理器狀態(tài)。該上下文由處理器的硬件、也即程序計數(shù)寄存器或程序計數(shù)器、寄存器文件或上下文存儲器和屬于此的狀態(tài)寄存器保持。因此各個程序與所選擇的運(yùn)行方式或所選擇的操作系統(tǒng)無關(guān)地總是僅訪問上下文存儲器和至少一個地址寄存器。于是通過至少一個地址寄存器可以直接訪問存儲單元、也就是說緩沖存儲器。這相應(yīng)地要求較少的時鐘步驟并且從而進(jìn)一步加速該方法的流程,也就是說加速兩個或更多個程序?qū)彌_存儲器的訪問。
[0017]緩沖存儲器在此可以由兩個緩沖行構(gòu)建。此外,兩個或更多個程序可以以讀和/或?qū)懙姆绞皆L問緩沖存儲器,使得相同的P數(shù)據(jù)從兩個或更多個程序中分別被寫到相同的緩沖行中。由此可以進(jìn)一步確保存儲器一致性。通過確保一致性來防止對于相同的存儲器地址供應(yīng)回不同的不一致的數(shù)據(jù)。緩沖存儲器在此使用稱為緩沖行的數(shù)據(jù)塊,所述數(shù)據(jù)塊幾乎總是為處理器的字寬的多倍并且甚至經(jīng)??傆嫗閷⑻幚砥髋c系統(tǒng)存儲器進(jìn)行連接的總線的寬度的幾倍。
[0018]緩沖存儲器的內(nèi)容也可以在結(jié)束要實(shí)施的程序之后被寫到數(shù)據(jù)處理設(shè)備的系統(tǒng)存儲器中。由此可以保證,在重新開始對應(yīng)的程序時各個程序部分、也即所屬的程序數(shù)據(jù)以最后所使用的版本存在,其中可以使用在處理器和系統(tǒng)存儲器之間的總線,而在此不發(fā)生總線的不能忽略的負(fù)荷。
[0019]利用本發(fā)明的另一實(shí)施方式,也說明一種數(shù)據(jù)處理設(shè)備,其中兩個或更多個程序可以并行地在所述數(shù)據(jù)處理設(shè)備上運(yùn)行并且所述數(shù)據(jù)處理設(shè)備具有至少一個帶有系統(tǒng)存儲器的處理器,在所述系統(tǒng)存儲器中存放有用于控制或調(diào)節(jié)至少一個處理器的兩個或更多個程序。此外,數(shù)據(jù)處理設(shè)備具有至少一個緩沖存儲器;用于在開始要實(shí)施的程序時為要實(shí)施的程序產(chǎn)生源代碼的初始化模塊;用于將數(shù)據(jù)讀到至少一個緩沖存儲器和/或用于將數(shù)據(jù)寫到至少一個緩沖存儲器中的輸入/輸出單元,所述輸入/輸出單元被構(gòu)造用于在產(chǎn)生源代碼時在至少一個緩沖存儲器中存儲要實(shí)施的程序的所需要的數(shù)據(jù);以及具有地址發(fā)生器。在此,地址發(fā)生器被構(gòu)造用于在將所需要的數(shù)據(jù)存儲在至少一個緩沖存儲器中時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每一個到緩沖存儲器上的地址。輸入/輸出單元也被構(gòu)造用于由兩個或更多個程序中的每一個經(jīng)由至少一個地址寄存器訪問至少一個緩沖存儲器。
[0020]這種數(shù)據(jù)處理設(shè)備具有的優(yōu)點(diǎn)是,該數(shù)據(jù)處理設(shè)備被構(gòu)造用于也能過以特別簡單的方式實(shí)現(xiàn)從變化的過程或程序?qū)彌_存儲器的特別符合需求的訪問。因此通過將數(shù)據(jù)處理設(shè)備構(gòu)造為與要實(shí)施的程序的初始化同時地生成至少一個地址寄存器,保證在一個步驟中兩個或更多個程序?qū)υ诰彌_存儲器中所存放的數(shù)據(jù)的快速訪問,其中可以從所述地址寄存器中讀出存儲有要實(shí)施的程序的所需要的數(shù)據(jù)的緩沖存儲器的基礎(chǔ)地址。尤其是也保證一個程序?qū)α硪怀绦虿糠值臄?shù)據(jù)的快速訪問。此外,數(shù)據(jù)處理設(shè)備在此在資源消耗和計算時間方面被優(yōu)化。因此,具有也稱為總線的共同的地址和數(shù)據(jù)收集線路系統(tǒng)的處理器順序地實(shí)施指令。在通過指針的內(nèi)部緩沖器管理情況下,在此情況下首先將指令地址給予到總線上并且暫存在地址寄存器中。接著根據(jù)系統(tǒng)存儲器的訪問時間有時間延遲地將被尋址的指令讀入到處理器中。在接著在處理器中實(shí)施這些指令時,通過相同的總線輸入或輸出數(shù)據(jù)地址和數(shù)據(jù)本身。由此,總線的不能忽略的負(fù)荷與指令地址相關(guān)聯(lián),所述負(fù)荷導(dǎo)致程序流程執(zhí)行的經(jīng)常顯著的時間延長。在信息學(xué)或數(shù)字技術(shù)中、尤其是在微控制器領(lǐng)域中以地址寄存器形式的數(shù)據(jù)處理設(shè)備中的快速地址處理是常見的并且表示被設(shè)想用于輸入地址的數(shù)據(jù)庫以及具有簡單搜索功能的數(shù)據(jù)庫。這在此可以快速和簡單地實(shí)現(xiàn),使得這在此可以簡單地和無大的耗費(fèi)地實(shí)現(xiàn)。
[0021]根據(jù)一種實(shí)施方式,數(shù)據(jù)處理設(shè)備在此是搶先式和/或協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備。在多任務(wù)處理運(yùn)行或多過程運(yùn)行中工作的操作系統(tǒng)同時地實(shí)施多個任務(wù)、也即多個過程。在此按標(biāo)準(zhǔn)應(yīng)用的方法是協(xié)作式和搶先式多任務(wù)處理,其中操作系統(tǒng)核控制各個過程的執(zhí)行并且在特定的執(zhí)行時間之后停止每個過程以有利于其他過程。通過至少一個地址寄存器,在此情況下數(shù)據(jù)處理設(shè)備被構(gòu)造用于保證用于實(shí)現(xiàn)一個過程的程序可以快速地和實(shí)時地訪問另一過程的數(shù)據(jù),即使該另一過程被停止以有利于其他過程。在此,與通過指針的內(nèi)部存儲器管理相比可以節(jié)省資源和計算時間,其中所述通過指針的內(nèi)部存儲器管理通常恰好當(dāng)需要數(shù)據(jù)時發(fā)生。這種搶先式多任務(wù)處理數(shù)據(jù)處理設(shè)備的示例是用于實(shí)現(xiàn)產(chǎn)生圖像的醫(yī)學(xué)方法的數(shù)據(jù)處理設(shè)備,其中積累數(shù)據(jù)量,所述數(shù)據(jù)量必須以適當(dāng)?shù)男问奖惶峁┙o排在后面的、在不同程序中的處理,例如為了分析目的。
[0022]根據(jù)另一實(shí)施方式,至少一個處理器可以是多核處理器。在多核處理器系統(tǒng)中,將很多任務(wù)劃分成作業(yè)。這些作業(yè)并行地由多個處理器核執(zhí)行。在此情況下,發(fā)生一個作業(yè)與另一作業(yè)有關(guān)的情形,也即用于實(shí)現(xiàn)一個作業(yè)的程序必須訪問另一個在多核處理器的處理器核上執(zhí)行的程序的數(shù)據(jù)的情形。數(shù)據(jù)處理設(shè)備在此情況下通過使用至少一個地址寄存器被構(gòu)造用于又保證對這些數(shù)據(jù)的快速和實(shí)時的訪問,其中與通過指針的內(nèi)部存儲器管理相比又可以節(jié)省資源和計算時間。
[0023]數(shù)據(jù)處理設(shè)備也可以具有實(shí)時操作系統(tǒng)。在實(shí)時系統(tǒng)中,一般多個作業(yè)根據(jù)不同的優(yōu)先級運(yùn)行并且必須實(shí)時地被實(shí)施。因此尤其是在實(shí)時操作系統(tǒng)和實(shí)時操作系統(tǒng)核中需要在數(shù)據(jù)處理設(shè)備上運(yùn)行的程序、也即作業(yè)的通信實(shí)時和快速地進(jìn)行,尤其是各個程序可以快速和可靠地訪問其他程序的數(shù)據(jù),而在此情況下不出現(xiàn)延遲。
[0024]此外,數(shù)據(jù)處理設(shè)備可以具有上下文存儲器,其中至少一個地址寄存器被存儲在上下文存儲器中,并且兩個或更多個程序?qū)λ錾舷挛拇鎯ζ鬟M(jìn)行訪問。過程的特性是,過程總是訪問自己的存儲區(qū)域。過程由多個線程組成,所述線程是過程的程序部分。線程的上下文是執(zhí)行所述線程或該線程的程序指令的處理器的處理器狀態(tài)。因此,線程的上下文被定義為在通過該處理器處理該線程期間的暫時處理器狀態(tài)。該上下文由處理器的硬件、也即程序計數(shù)寄存器或程序計數(shù)器、寄存器文件或上下文存儲器和屬于此的狀態(tài)寄存器保持。數(shù)據(jù)處理設(shè)備因此被構(gòu)造為,使得各個在數(shù)據(jù)處理設(shè)備上運(yùn)行的程序與所選擇的運(yùn)行方式或所選擇的操作系統(tǒng)無關(guān)地訪問外部存儲器和至少一個地址寄存器。于是通過至少一個地址寄存器可以直接訪問存儲單元、也就是說至少一個緩沖存儲器。這相應(yīng)地要求較少的時鐘步驟并且從而進(jìn)一步加速兩個或更多個程序?qū)χ辽僖粋€緩沖存儲器的訪問。
[0025]至少一個緩沖存儲器在此可以由兩個緩沖行構(gòu)建。此外輸入/輸出單元可以被構(gòu)造用于,將相同的P數(shù)據(jù)從兩個或更多個程序中的每一個中寫到相同的緩沖行中。由此,數(shù)據(jù)處理設(shè)備可以被構(gòu)造為使得確保存儲器一致性。通過確保一致性來防止對于相同的存儲器地址供應(yīng)回不同的不一致的數(shù)據(jù)。緩沖存儲器在此使用稱為緩沖行的數(shù)據(jù)塊,所述數(shù)據(jù)塊幾乎總是為處理器的字寬的多倍并且甚至經(jīng)??傆嫗閷⑻幚砥髋c系統(tǒng)存儲器進(jìn)行連接的總線系統(tǒng)的寬度的幾倍。
[0026]此外,輸入/輸出單元可以被構(gòu)造用于將至少一個緩沖存儲器的內(nèi)容在結(jié)束要實(shí)施的程序之后存儲在系統(tǒng)存儲器中。由此可以保證,在重新開始對應(yīng)的程序時各個程序部分、也即所屬的程序數(shù)據(jù)在數(shù)據(jù)處理設(shè)備中以最后所使用的版本存在,其中可以使用在處理器和系統(tǒng)存儲器之間的總線,而在此不發(fā)生總線的不能忽略的負(fù)荷。
[0027]此外利用本發(fā)明的另一實(shí)施方式,也說明用于機(jī)動車的控制設(shè)備,所述控制設(shè)備具有上述的數(shù)據(jù)處理設(shè)備。因此,機(jī)動車的控制設(shè)備越來越多地通過提供該控制設(shè)備的功能的多核處理器的處理器核構(gòu)成。在此情況下,例如可能出現(xiàn)一個處理器核的控制程序與另一處理器核的輸出參量有關(guān)并且因此必須保證對所述數(shù)據(jù)的快速和實(shí)時訪問的情形。
[0028]總之可以確定,利用本發(fā)明說明一種用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法以及一種數(shù)據(jù)處理設(shè)備,利用它們能夠以特別簡單的方式實(shí)現(xiàn)也從變化的過程或程序?qū)彌_存儲器的特別符合需求的訪問。
[0029]因?yàn)榕c要實(shí)施的程序的初始化同時地生成至少一個地址寄存器,從所述地址寄存器可以讀出存儲有要實(shí)施的程序的所需要的數(shù)據(jù)的緩沖存儲器的基礎(chǔ)地址,所以可以保證對所述數(shù)據(jù)的快速和實(shí)時的訪問,其中與通過指針的內(nèi)部緩沖器管理相比可以節(jié)省資源和計算時間。
[0030]在此,此外可以確保一致性,其方式是,數(shù)據(jù)處理設(shè)備被構(gòu)造為使得兩個或更多個程序?qū)⑾嗤臄?shù)據(jù)分別寫到緩沖存儲器的相同緩沖行中。
【專利附圖】
【附圖說明】
[0031 ] 現(xiàn)在根據(jù)附圖更詳細(xì)地闡述本發(fā)明。
[0032]圖1示出根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)處理設(shè)備的示意連接框圖;
圖2示出根據(jù)本發(fā)明的實(shí)施方式的用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法的流程圖。
【具體實(shí)施方式】
[0033]圖1示出根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)處理設(shè)備I的示意連接框圖。
[0034]在根據(jù)圖1的數(shù)據(jù)處理設(shè)備I中規(guī)定,多個過程、即所謂的作業(yè)由操作系統(tǒng)調(diào)用和執(zhí)行。根據(jù)圖1的數(shù)據(jù)處理設(shè)備I為此具有帶有系統(tǒng)存儲器3的處理器2,在所述系統(tǒng)存儲器3中存放用于控制或調(diào)節(jié)處理器2的兩個或更多個程序。此外,可以看出緩沖存儲器4,所述緩沖存儲器被構(gòu)造為快速存儲器。在這種緩沖存儲器4中暫時地存儲數(shù)據(jù),尤其是要實(shí)施的程序的所需要的程序部分或數(shù)據(jù)。
[0035]作業(yè)5、6通常由作業(yè)控制塊、程序部分和數(shù)據(jù)部分組成。術(shù)語“作業(yè)5、6的數(shù)據(jù)部分”可以被理解為:作業(yè)5、6訪問這些數(shù)據(jù)。數(shù)據(jù)部分可以包括僅被分配給分別確定的作業(yè)5、6的“私有”數(shù)據(jù)以及“通用”數(shù)據(jù)或存儲器映射輸入/輸出數(shù)據(jù)區(qū)域。為了執(zhí)行整個程序通常應(yīng)當(dāng)并行地使用多個作業(yè)5、6來解決不同的子任務(wù),其中所述多個作業(yè)分別將其所計算的或以不同方式求取的數(shù)據(jù)存放在其自己的數(shù)據(jù)區(qū)域中。
[0036]在此情況下,可以出現(xiàn)一個作業(yè)5、也即用于實(shí)現(xiàn)作業(yè)5的程序與用于實(shí)現(xiàn)另一作業(yè)6的另一程序的數(shù)據(jù)有關(guān),并且因此必須訪問其緩沖存儲器4。通常為此設(shè)置通過指針的內(nèi)部緩沖器管理,其可能導(dǎo)致數(shù)據(jù)處理設(shè)備的數(shù)據(jù)總線的不能忽略的負(fù)荷并且因此具有程序流程的執(zhí)行的顯著時間延遲,以及導(dǎo)致提高的資源消耗。
[0037]此外根據(jù)圖1,在此情況下設(shè)置用于在開始要實(shí)施的程序時為要實(shí)施的程序產(chǎn)生源代碼的初始化模塊7 ;用于將數(shù)據(jù)讀到緩沖存儲器4和/或用于將數(shù)據(jù)寫到緩沖存儲器4中的輸入/輸出單元8,所述輸入/輸出單元被構(gòu)造用于在產(chǎn)生源代碼時將要實(shí)施的程序的所需要的數(shù)據(jù)存儲到緩沖存儲器4中;以及地址發(fā)生器9,其中所述地址發(fā)生器9被構(gòu)造用于在將所需要的數(shù)據(jù)存儲到緩沖存儲器4時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每一個到緩沖存儲器4上的地址,并且其中輸入/輸出單元8被構(gòu)造用于由兩個或更多個程序中的每一個通過至少一個地址寄存器訪問緩沖存儲器4。
[0038]根據(jù)圖1的數(shù)據(jù)處理設(shè)備I在此是搶先式多任務(wù)處理數(shù)據(jù)處理設(shè)備10。在多任務(wù)處理運(yùn)行或多過程運(yùn)行中工作的操作系統(tǒng)同時地實(shí)施多個任務(wù)、也即多個作業(yè)5、6。但是此夕卜,數(shù)據(jù)處理設(shè)備也可以是協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備。按標(biāo)準(zhǔn)應(yīng)用的方法在此是協(xié)作式或搶先式多任務(wù)處理,其中操作系統(tǒng)核控制各個作業(yè)5、6的執(zhí)行并且在特定的執(zhí)行時間之后停止每個作業(yè)5、6以有利于其他作業(yè)5、6。
[0039]如此外可以看出的,處理器2在此被構(gòu)造為多核處理器11。在多核處理器系統(tǒng)中,將很多任務(wù)劃分成作業(yè)5、6,這些作業(yè)并行地由多個處理器核12執(zhí)行。多核處理器11在此通??梢园▋蓚€至數(shù)百個處理器核,其中在圖1中示出了三個處理器核12,它們分別執(zhí)行作業(yè)5、6。
[0040]此外,根據(jù)圖1的操作系統(tǒng)是實(shí)時操作系統(tǒng)。在實(shí)時系統(tǒng)中,一般多個作業(yè)5、6根據(jù)不同的優(yōu)先級運(yùn)行并且必須實(shí)時地被實(shí)施。因此尤其是在實(shí)時操作系統(tǒng)和實(shí)時操作系統(tǒng)核中需要在數(shù)據(jù)處理設(shè)備上運(yùn)行的作業(yè)5、6的通信實(shí)時和快速地進(jìn)行,尤其是各個作業(yè)5、6可以快速和可靠地訪問其他作業(yè)5、6的數(shù)據(jù)。
[0041]如此外可以看出的,根據(jù)圖1的數(shù)據(jù)處理設(shè)備I包括上下文存儲器13,其中至少一個地址寄存器被存儲在所述上下文存儲器中,并且兩個或更多個程序可以對所述上下文存儲器進(jìn)行訪問。過程的特性是,過程總是訪問自己的存儲區(qū)域。過程由多個線程組成,所述線程是過程的程序部分。線程的上下文是執(zhí)行所述線程或該線程的程序指令的處理器的處理器狀態(tài)。因此,線程的上下文被定義為在通過該處理器處理該線程期間的暫時處理器狀態(tài)。該上下文由處理器的硬件、也即程序計數(shù)寄存器或程序計數(shù)器、寄存器文件或上下文存儲器和屬于此的狀態(tài)寄存器保持。
[0042]所示的緩沖存儲器4在此由兩個緩沖行14構(gòu)建。此外所示的輸入/輸出單元8被構(gòu)造用于,將相同的數(shù)據(jù)從兩個或更多個程序中的每一個寫到相同的緩沖行15中,這通過配備有附圖標(biāo)記16和17的箭頭象征性表示。此外由此可以確保存儲器一致性,因?yàn)榉乐箤τ谙嗤拇鎯ζ鞯刂饭?yīng)回不同的不一致的數(shù)據(jù)。
[0043]此外,圖1的輸入/輸出單元8被構(gòu)造用于將緩沖存儲器4的內(nèi)容在結(jié)束要實(shí)施的程序之后存儲在系統(tǒng)存儲器3中。由此保證,在重新開始對應(yīng)的程序時各個程序部分、也即所屬的程序數(shù)據(jù)以最后所使用的版本存在。
[0044]圖1的數(shù)據(jù)處理設(shè)備I在此情況下尤其是被構(gòu)造用于實(shí)現(xiàn)機(jī)動車的控制設(shè)備的功倉泛。
[0045]圖2示出根據(jù)本發(fā)明的實(shí)施方式的用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法20的流程圖。在此,兩個或更多個程序可以并行地在所述數(shù)據(jù)處理設(shè)備上運(yùn)行。
[0046]如圖2所示,該方法20在此具有以下步驟:從而在步驟21中首先為要實(shí)施的程序產(chǎn)生源代碼并且在緩沖存儲器中存儲要實(shí)施的程序的所需要的數(shù)據(jù)。同時在步驟22中生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每個程序在緩沖存儲器上的地址。在接著的步驟23中,兩個或更多個程序通過至少一個地址寄存器訪問緩沖存儲器。
[0047]根據(jù)圖2的實(shí)施方式,數(shù)據(jù)處理設(shè)備在此再次是搶先式和/或協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備。
[0048]該數(shù)據(jù)處理設(shè)備還包括多核處理器。
[0049]此外,根據(jù)圖2的該數(shù)據(jù)處理設(shè)備具有實(shí)時操作系統(tǒng)。
[0050]至少一個地址寄存器在根據(jù)圖2的方法20中在此被存放在上下文存儲器中,兩個或更多個程序訪問所述上下文存儲器。
[0051]如圖2所示,該方法20具有另外的步驟24,即緩沖存儲器由緩沖行構(gòu)建并且兩個或更多個程序可以以讀和/或?qū)懙姆绞皆L問緩沖存儲器,使得相同的數(shù)據(jù)從兩個或更多個程序中分別被寫到相同的緩沖行中。由此再次可以確保存儲器一致性。通過確保一致性防止對于相同的存儲器地址供應(yīng)回不同的不一致的數(shù)據(jù)。
[0052]圖2也示出步驟25,即將緩沖存儲器的內(nèi)容在結(jié)束要實(shí)施的程序之后寫到數(shù)據(jù)處理設(shè)備的系統(tǒng)存儲器中。由此可以保證,在重新開始對應(yīng)的程序時各個程序部分、也即所屬的程序數(shù)據(jù)在數(shù)據(jù)處理設(shè)備中以最后使用的版本存在。
[0053]附圖標(biāo)記列表 I數(shù)據(jù)處理設(shè)備
2處理器 3系統(tǒng)存儲器 4緩沖存儲器 5作業(yè) 6作業(yè)
7初始化模塊 8輸入/輸出單兀 9地址發(fā)生器
10搶先式多任務(wù)處理數(shù)據(jù)處理設(shè)備
11多核處理器
12處理器核
13上下文存儲器
14緩沖行
15緩沖行16寫過程17寫過程20方法21方法步驟22方法步驟23方法步驟24方法步驟25方法步驟。
【權(quán)利要求】
1.用于運(yùn)行數(shù)據(jù)處理設(shè)備的緩沖存儲器的方法,其上能夠并行地運(yùn)行兩個或更多個程序,其中該方法(20)具有以下步驟: -為要實(shí)施的程序產(chǎn)生源代碼并且在緩沖存儲器中存儲要實(shí)施的程序的所需要的數(shù)據(jù)(21); -同時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每個程序在緩沖存儲器上的地址(22); -兩個或更多個程序通過至少一個地址寄存器訪問緩沖存儲器(23)。
2.根據(jù)權(quán)利要求1所述的方法,其中數(shù)據(jù)處理設(shè)備是搶先式和/或協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備。
3.根據(jù)權(quán)利要求1或2所述的方法,其中數(shù)據(jù)處理設(shè)備包括多核處理器。
4.根據(jù)權(quán)利要求1至3之一所述的方法,其中數(shù)據(jù)處理設(shè)備具有實(shí)時操作系統(tǒng)。
5.根據(jù)權(quán)利要求1至4之一所述的方法,其中至少一個地址寄存器被存放在上下文存儲器中,兩個或更多個程序?qū)λ錾舷挛拇鎯ζ鬟M(jìn)行訪問。
6.根據(jù)權(quán)利要求1至5之一所述的方法,其中緩沖存儲器由緩沖行構(gòu)建并且兩個或更多個程序能夠以讀和/或?qū)懙姆绞皆L問緩沖存儲器,使得相同的數(shù)據(jù)從兩個或更多個程序分別被寫到相同的緩沖行中(24)。
7.根據(jù)權(quán)利要求1至6之一所述的方法,其中緩沖存儲器的內(nèi)容在結(jié)束要實(shí)施的程序之后被寫到數(shù)據(jù)處理設(shè)備的系統(tǒng)存儲器中(25)。
8.數(shù)據(jù)處理設(shè)備,其中兩個或更多個程序能夠并行地在所述數(shù)據(jù)處理設(shè)備上運(yùn)行并且所述數(shù)據(jù)處理設(shè)備具有至少一個帶有系統(tǒng)存儲器(3)的處理器(2),在所述系統(tǒng)存儲器中存放有用于控制/調(diào)節(jié)至少一個處理器(2)的兩個或更多個程序;至少一個緩沖存儲器(4);用于在開始要實(shí)施的程序時為要實(shí)施的程序產(chǎn)生源代碼的初始化模塊(7);用于將數(shù)據(jù)讀到至少一個緩沖存儲器(4)和/或用于將數(shù)據(jù)寫到至少一個緩沖存儲器(4)中的輸入/輸出單元(8),所述輸入/輸出單元被構(gòu)造用于在產(chǎn)生源代碼時將要實(shí)施的程序的所需要的數(shù)據(jù)存儲到至少一個緩沖存儲器(4)中;以及地址發(fā)生器(9),其中所述地址發(fā)生器(9)被構(gòu)造用于在將所需要的數(shù)據(jù)存儲在至少一個緩沖存儲器(4)中時生成至少一個地址寄存器,所述地址寄存器的存儲內(nèi)容是兩個或更多個程序中的每一個在緩沖存儲器(4)上的地址,并且其中輸入/輸出單元(8)被構(gòu)造用于由兩個或更多個程序中的每一個經(jīng)由至少一個地址寄存器訪問至少一個緩沖存儲器(4)。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理設(shè)備,其中所述數(shù)據(jù)處理設(shè)備(I)是搶先式和/或協(xié)作式多任務(wù)處理數(shù)據(jù)處理設(shè)備(10)。
10.根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)處理設(shè)備,其中,至少一個處理器(2)是多核處理器(11)。
11.根據(jù)權(quán)利要求8至10之一所述的數(shù)據(jù)處理設(shè)備,其中所述數(shù)據(jù)處理設(shè)備(I)具有實(shí)時操作系統(tǒng)。
12.根據(jù)權(quán)利要求8至11之一所述的數(shù)據(jù)處理設(shè)備,其中數(shù)據(jù)處理設(shè)備(I)此外具有上下文存儲器(13),其中至少一個地址寄存器被存儲在所述上下文存儲器中,并且兩個或更多個程序?qū)λ錾舷挛拇鎯ζ鬟M(jìn)行訪問。
13.根據(jù)權(quán)利要求8至12之一所述的數(shù)據(jù)處理設(shè)備,其中至少一個緩沖存儲器(4)由緩沖行(14)構(gòu)建,并且輸入/輸出單元(8)被構(gòu)造用于,將相同的數(shù)據(jù)從兩個或更多個程序中的每一個寫到相同的緩沖行(15)中。
14.根據(jù)權(quán)利要求8至13之一所述的數(shù)據(jù)處理設(shè)備,其中輸入/輸出單元(8)被構(gòu)造用于將至少一個緩沖存儲器(4)的內(nèi)容在結(jié)束要實(shí)施的程序之后存儲到系統(tǒng)存儲器(3)中。
15.用于機(jī)動車的控制設(shè)備,所述控制設(shè)備具有權(quán)利要求8至14之一所述的數(shù)據(jù)處理設(shè)備(I)。
【文檔編號】G06F12/08GK104424131SQ201410416486
【公開日】2015年3月18日 申請日期:2014年8月22日 優(yōu)先權(quán)日:2013年8月22日
【發(fā)明者】A.格貝爾, R.馬德, O.特里龐 申請人:大陸汽車有限公司