TWI651652B - 汽車用的控制裝置 - Google Patents

汽車用的控制裝置 Download PDF

Info

Publication number
TWI651652B
TWI651652B TW103141540A TW103141540A TWI651652B TW I651652 B TWI651652 B TW I651652B TW 103141540 A TW103141540 A TW 103141540A TW 103141540 A TW103141540 A TW 103141540A TW I651652 B TWI651652 B TW I651652B
Authority
TW
Taiwan
Prior art keywords
processor core
memory
data
coordination unit
control device
Prior art date
Application number
TW103141540A
Other languages
English (en)
Other versions
TW201533665A (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 TW201533665A publication Critical patent/TW201533665A/zh
Application granted granted Critical
Publication of TWI651652B publication Critical patent/TWI651652B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory

Abstract

一種汽車用的控制裝置(10),其中該控制裝置(10)包括至少兩處理器內核(110,120,130)及一全局記憶體(300),其中每個處理器內核(110,120,130)皆包括一局部記憶體(112),並且每個處理器內核皆被構造成僅能出入其自有的局部記憶體以及被構造成既不能出入其餘處理器內核之局部記憶體,亦不能出入該全局記憶體(300),其中一協調單元(200)被構造成自該控制裝置(10)之全局記憶體(300)讀入資料並將該等資料寫入該等各處理器內核(110,120,130)之局部記憶體(112),以及自該等各處理器內核(110,120,130)之局部記憶體(112)讀入資料並將該等資料寫入該全局記憶體(300)及/或其餘處理器內核之局部記憶體。

Description

汽車用的控制裝置
本發明係有關一種汽車用的控制裝置。
現代的汽車控制裝置多數具有多核處理器。多核處理器包括數個(至少兩個)處理器內核(Cores)。處理器內核或Core包括算術邏輯單元(ALU),其係真正用於執行任務、程式、算術指令等等的電子計算機構。處理器內核還包括局部記憶體。此種局部記憶體具體被構造成由一或數個暫存器組成之暫存器組。控制裝置進一步包括全局記憶體。該全局記憶體例如可包括快閃記憶體、NOR型快閃記憶體或RAM記憶體。該全局記憶體亦可包括外圍模組如感測器。
在汽車控制裝置中總是由各處理器內核執行進程。為了執行任務或進程,處理器內核尤其需要相應之程式碼,視情況亦需要輸入資料。此類程式碼例如可儲存於全局記憶體之快閃記憶體及/或NOR型快閃記憶體內。輸入資料例如可為外圍模組所偵測到的測量資料,例如馬達轉速、溫度、壓力等等。
為能執行任務或進程,處理器內核先將相應資料特別是程式碼及所需的輸入資料載入其局部記憶體,因為處理器內核出入其局部記憶體所需要的(可預測)出入時間遠短於全局記憶體。處理器內核大多可在一個週期內出入其局部記憶體,而出入全局記憶體通常需要三至十個週期。
控制裝置及在控制裝置上運行的進程須滿足特定之安全要求,例如參見ISO標準ISO26262。此外,控制裝置須具有實時能力。即須確保在規定最長執行時間內成功執行進程。但該執行時間主要取決於局部記憶體。根據此前所執行的具體程式碼,或者例如有否出現中斷等情形,局部記憶體內存在或多或少的合適資料。故較難確定最長執行時間,因而需要較大安全裕度。此項納入計劃的“安全緩衝”措施會降低每個處理器內核的可用計算能力。
倘若兩處理器內核同時存取同一資源,特別是出入全局記憶體,便會形成出入衝突。儘管此類出入衝突不常見且幾乎不會降低多核處理器之平均計算能力。然而為能確保實時能力,須為了最長執行用時(“最壞情況”)而將此種出入衝突考慮在內。但此點往往極難實現或者根本無法實現。作為替代方案可進一步提高安全裕度,而此舉又會對可用計算能力產生不良影響。
因此,最好能提供一種經改良的包括多核處理器之汽車用的控制裝置。具體而言,應當以簡單方式確保該控制裝置之實時能力並提高可用計算能力。
本發明提出一種具有如申請專利範圍第1項之特徵的汽車用的控制裝置。有益技術方案為附屬項及以下說明部分之主題。
該控制裝置包括至少一多核處理器或至少兩單核或多核處理器。故該控制裝置包括至少兩處理器內核。根據本發明,每個處理器內核皆僅能出入其自有的局部記憶體。與傳統處理器不同,各處理器內核既不能出入其餘處理器內核之局部記憶體,亦不能出入全局記憶體。
根據本發明,僅協調單元能出入任一處理器內核之局部記憶體及全局記憶體。該協調單元能夠自控制裝置的全局記憶體讀入資料並將 資料寫入各處理器內核之局部記憶體。另一方面,該協調單元亦能自各處理器內核之局部記憶體讀入資料並將資料寫入控制裝置的全局記憶體及/或其餘處理器內核之局部記憶體。
每個處理器內核皆僅能出入其自有的局部記憶體。與傳統控制裝置不同,各處理器內核無法再出入全局記憶體或其餘處理器內核之局部記憶體。根據本發明,由協調單元負責或協調各處理器內核之局部記憶體與全局記憶體之間以及各處理器內核的局部記憶體之間的資料交換。如此能防止出入衝突。本發明能避免不同的處理器內核同時出入全局記憶體或同時存取全局記憶體之同一資料。
此外能取得為各處理器內核減負之功效,因為處理器內核不必再承擔資料之轉移與交換工作。如此能省下傳統控制裝置中的處理器內核為資料交換所需耗費之時間與計算能力,並將其用來實現處理器內核自身的功能。資料交換特定言之僅透過協調單元完成,不依賴於各處理器內核。藉此可將通訊或資料交換與任務或進程的執行分離開。如此便無需再設計專用程式來命令相應之處理器內核進行資料交換或轉儲。如此能簡化在各處理器內核上運行或執行的軟體或程式碼。從而縮短在處理器內核上執行任務或進程所需要的執行時間。藉此能提高處理器內核之計算能力。
該控制裝置之全局記憶體例如可被構造成快閃記憶體或RAM記憶體。具體而言,該等處理器內核之局部記憶體亦可分別被構造成快閃記憶體、NOR型快閃記憶體或RAM記憶體。該全局記憶體亦可包括外圍模組。此類外圍模組具體是感測器、作動器、模擬-數位轉換器、PWM發生器及/或計時器。此類外圍模組主要提供處理器內核執行其功能或任務所需要的資料。故,術語“全局記憶體”亦應包含此類外圍模組。
該等處理器內核可採用不同構造。舉例而言,該等處理器內核可分別被構造成不同容量之通用內核(16、32、64位元,具有或不具有 浮點數單元,等等)或專用內核(DSP、影像處理、FFT、圖型識別,等等)。
本發明能使處理器內核總是以極快速度存取資料,因為該等資料係存在於局部記憶體內。此存取相當於出入快取記憶體。非嵌入式系統(例如PC)往往使用快取記憶體而非局部記憶體。局部記憶體則通常僅應用於嵌入式系統中的控制裝置及其多核處理器。快取記憶體具有能加快任一種軟體的資料存取速度而不必對該軟體進行專門調整之優點。快取記憶體之缺憾在於其內容不可預測,從而導致處理器內核的資料存取時間不可預測:若資料已存在於快取記憶體內,則資料存取速度可能極快(快取命中)。但若須先將資料載入快取記憶體,則資料存取可能需要較長時間(快取未中)。因此,傳統控制裝置往往棄用快取記憶體以換取可預測性。然而,透過協調單元能實現(類似於快取記憶體)的快速資料存取。具體而言,協調單元同時為全局及局部記憶體產生相應的位址信號及控制信號。由此,資料可直接自局部記憶體流向全局記憶體(反之亦可)。具體而言,此點透過協調單元(如快取控制器般)在記憶體間轉儲而實現。
藉此,本發明能以快得多的速度在全局記憶體與局部記憶體間(或者說在局部記憶體與全局記憶體間)進行資料交換,因為資料(類似於快取記憶體般)被直接轉移而不必加以暫存。其中,以快取記憶體或快取控制器之較大資料字長度(通常介於64與256位元間)而非以處理器內核之(相對)較小資料字長度(通常為32位元)進行該資料轉移。藉此可將資料轉移速度加快一個數量級。
本發明還能克服快取記憶體通常所存在之缺憾。將協調單元實現於一控制裝置的難度與成本皆遠低於快取記憶體。快取記憶體在快取未中(搜遍所有快取記憶體無果,即相應資料不存在任一快取記憶體內)時才加載資料且其回應時間較難預測,協調單元則能可預測地將資料高效載入全局記憶體或局部記憶體。協調單元使得回應時間更易預測,且可確 保控制裝置或多核處理器之實時能力。
由此,每個處理器內核皆能以與出入快取記憶體之速度相同或相近的速度出入其自有局部記憶體。此外還能避免傳統控制裝置出入全局RAM記憶體及全局快閃記憶體時可能出現的等待時間。出入衝突及相關等待時間亦能得到避免。藉此可避免(主要因同時存取共享資源即同時出入全局記憶體所引發之)不可預測的遲延。由此能精準確定任務或進程或軟體之最長執行用時。各處理器內核之全部計算能力皆可用來執行此等任務或進程或軟體。藉此還能保證明確的執行用時並確保實時能力。此外還能縮短該保證執行時間。避免安全裕度。
鑒於每個處理器內核皆僅能出入其自有的局部記憶體,各處理器內核(完全)封裝。如此能避免各處理器內核干擾系統其餘部分即其餘的處理器內核。藉此可滿足ISO26262所規定的進一步安全要求,所謂“無干擾”。由此確保軟體組件互不干擾,或者說(某一處理器內核上)某一任務的執行不干擾(另一處理器內核上)另一任務之執行。協調單元從構想上實現了此種“無干擾”。
該協調單元特定言之進行資料轉換。具體而言,協調單元可以小端格式讀入資料並以大端格式寫入資料(反之亦可)。進一步地,協調單元可將資料作為浮點值(雙浮點)讀入並將資料作為整數值(整數)寫入(反之亦可)。其中,資料轉換在協調單元中可作為資料轉移(即資料讀寫)之參數或專門的資料轉移操作而實現。
該協調單元具體可透過該控制裝置的通訊設施出入該控制裝置之全局記憶體。協調單元具體透過分離匯流排或集中式匯流排出入全局記憶體。此外,協調單元透過單匯流排出入處理器內核之局部記憶體。其中無需縱橫交換矩陣或開關矩陣。此匯流排具有高通量。由於協調單元總是以一個方向大塊傳輸資料,該匯流排允許具有高潛時。如此能極大地 方便實現。為了滿足安全要求以及在協調單元傳輸及儲存資料時識別錯誤並視情況而修正之,可用改錯方法特別是改錯碼(ECC)來保護該等匯流排以及全局記憶體及/或局部記憶體。
該協調單元較佳以特殊應用方式特別是按特定工作流程進行資料讀寫。其中協調單元知曉特定的工作流程,各處理器內核按此工作流程執行任務或完成進程。協調單元透過該工作流程而知曉,在哪個時間點上哪個處理器內核需要哪些資料,亦即,在哪個時間點上須將哪些資料寫入相關處理器內核之局部記憶體。另一方面,協調單元由此而知曉,在哪個時間點上由哪個處理器內核提供資料,亦即,在哪個時間點上能夠自相關處理器內核之局部記憶體讀入資料。此工作流程需將特定任務或特定進程之週期考慮在內。此等週期乃是處理器內核執行任務或進程之時段。因此,該等週期係描述各任務或進程之執行時間點。但不必強制性地在固定週期內執行任務或進程。作為替代方案,協調單元亦可知曉另一種時間上可預測的任務或進程執行方案。
由此,該協調單元較佳以時間驅動方式,更具體係根據各任務或各進程之週期或執行時間點來讀寫資料。亦即,協調單元讀寫資料時不依賴於各處理器內核。舉例而言,協調單元可在已知的週期性執行特定任務或進程之前定期將資料自全局記憶體寫入一處理器內核之局部記憶體。為了使時間驅動的資料讀寫與被執行任務或進程之週期相一致,協調單元及處理器內核特定言之具有共用時基。該共用時基例如可透過共用時鐘(Clock)或合適的同步機制而實現。但協調單元亦可具有自有時鐘。
在一有益技術方案中,該協調單元自該全局記憶體讀入待執行任務之程式碼及/或執行任務所需要的輸入資料。協調單元將該已讀入程式碼或該等已讀入輸入資料作為資料寫入一處理器內核之局部記憶體。其中,任務乃是一軟體。執行或完成任務需要輸入資料。輸入資料在此具體 是外圍模組特別是感測器所偵測到的測量資料,例如馬達轉速、溫度及/或壓力。
與傳統控制裝置不同,當一處理器內核有相應任務要執行時,其不必自行將程式碼及輸入資料自全局記憶體載入其局部記憶體。而是由協調單元從外部向該處理器內核傳輸相應的程式碼/輸入資料。
該協調單元可將一程式碼逐塊寫入局部記憶體,亦可將數個任務之程式碼同時寫入局部記憶體。具體而言,協調單元可將接下來需要由相應之處理器內核執行的任務的程式碼寫入相應之局部記憶體。舉例而言,若總是不確定該由哪個處理器內核執行哪項任務,則協調單元亦可將持久性輸入資料分散寫入局部記憶體。
作為替代方案,待執行任務之程式碼可已儲存在一處理器內核的局部記憶體內。舉例而言,可在控制裝置的初始化階段過程中將此程式碼寫入該局部記憶體。亦可如此:來自前次任務執行之程式碼尚儲存於該局部記憶體內。其中,該程式碼亦可尚儲存於該處理器內核之局部快速記憶體或(非揮發性)RAM記憶體內。在此等情況下,協調單元僅需命令該處理器內核執行任務,而不必重新自全局記憶體讀入該程式碼,再將其寫入局部記憶體。
若相應程式碼已儲存於該處理器內核之局部記憶體內,則協調單元亦可僅將輸入資料儲存到該局部記憶體內。其中,協調單元例如可自控制裝置的全局快閃記憶體或全局RAM記憶體或者直接自各外圍模組特別是各感測器讀入該等輸入資料。
在另一較佳技術方案中,該協調單元自一局部記憶體讀入該局部記憶體之處理器內核在執行任務後儲存到該局部記憶體內的輸出資料。協調單元將該等已讀入輸出資料作為資料寫入全局記憶體及/或作為資料寫入其餘處理器內核中一處理器內核之局部記憶體。處理器內核藉由執 行任務而確定相應的輸出資料。輸出資料可例如為噴射時間及/或噴射量。
某一處理器內核之輸出資料又可用作另一處理器內核的輸入資料或者由另一處理器內核作進一步處理。在此情況下,協調單元將該等輸出資料寫入相應處理器內核之局部記憶體。
與傳統控制裝置不同,各處理器內核在執行任務期間或之後不自行將輸出資料寫入全局記憶體或另一處理器內核之局部記憶體。與傳統控制裝置不同,該等處理器內核亦不能藉由控制信號形式之輸出資料來直接控制外圍模組如作動器。而是由協調單元從外部擷取相應的輸出資料。
一旦處理器內核成功執行任務,或者一旦輸出資料尚在任務執行期間即已被寫入局部記憶體,該協調單元即可讀入該等輸出資料。協調單元例如亦可在執行數個任務後逐塊讀入該等任務之輸出資料。亦可逐塊讀入一項已被反覆執行之任務的輸出資料。
例如可透過時間進度來估計或預測任務被處理器內核執行完畢。處理器內核亦可用信號(例如透過中斷或者藉由在其局部記憶體內設置日期)告知協調單元任務被執行完畢。
該等輸出資料具體可為用於控制外圍模組之控制信號,或者可包含關於如何控制外圍模組之資訊。在此情況下,協調單元根據該等控制信號來控制外圍模組。
該協調單元較佳將待執行任務分配給各處理器內核及/或命令各處理器內核執行特定任務。亦即,協調單元協調哪些任務由哪些處理器內核執行。其中,協調單元主要根據前述工作流程來協調各任務。協調單元具體將相應任務之相應起始位址告知各處理器內核。更具體地,協調單元用信號告知各處理器內核應當何時開始執行各任務。此點例如可藉由向相應的處理器內核發送中斷信號或者藉由在該處理器內核中設置計時器而實現。協調單元亦可命令相應之處理器內核在成功執行當前任務後立即 開始執行新任務。
特定言之,協調單元如此這般將待執行任務分配給各處理器內核,使得不同來源之任務或相應的軟體組件在不同處理器內核上被執行。其中為每個軟體組件指定相應之輸入資料與輸出資料,以便協調單元能將輸入資料正確儲存在相關處理器內核之局部記憶體內並能相應讀入輸出資料。其中,協調單元特定言之知曉各任務或軟體組件之執行用時。該等軟體組件可在使用任意工具鏈之情況下以合適的程式設計語言產生。該軟體組件具體作為成品程式碼或目標碼而存在。其中,此程式碼不必具有可再定位性(可與特定的儲存位址相匹配),因為每個處理器內核皆具有自有的局部記憶體,從而具有自有位址空間。
鑒於協調單元能快速轉換資料,該等資料可被作不同編碼處理。如此一來,使用浮點數的新式軟體組件可與使用整數的舊式軟體組件配合作用。其中,協調單元進行必要的資料轉換,即直觀地對各資料進行“翻譯”。藉此可將不同編碼之軟體組件轉移到新式結構上並對新式的程式設計語言及工具鏈加以利用。作為替代方案,亦可永久地並行使用不同結構。
該協調單元較佳命令數個處理器內核執行一特定任務。協調單元隨後將該等處理器內核之各輸出資料進行對比。作為替代或補充方案,該協調單元命令一個處理器內核反覆執行一特定任務。在此情況下,協調單元亦將該處理器內核反覆執行的各輸出資料進行對比。協調單元亦可透過多數決定來比較該等輸出資料。此種任務的冗餘執行特別適用於安全要求較高之情形。
該協調單元較佳對各處理器內核進行控制。在控制過程中,協調單元可對各處理器內核實施以下操作:中止運行、重置、關閉、測試、轉入電力節省模式及/或改變各處理器內核之時鐘頻率。協調單元藉此可對 每個處理器內核進行適當控制,且不會影響或干擾其餘的處理器內核。具體而言,協調單元可定期測試各處理器內核。協調單元可將可能存在缺陷的“可疑”處理器內核關閉。在此情況下,協調單元可將分配給該被關閉處理器內核的任務分配給其他處理器內核。具體而言,可將該等任務分配給閒置的備用處理器內核並由該處理器內核執行之。協調單元可進一步在被關閉處理器內核上進行自我測試(BIST)。
該協調單元較佳亦可在各處理器內核中觸發一個中斷或不同中斷。舉例而言,藉此可由協調單元顯示遲延或分段錯誤。中斷亦可用於工作流程:將資料寫入一處理器內核的局部記憶體之工作一完成,協調單元便可透過中斷來命令該處理器內核執行相應任務。可在週期內為資料轉移(即資料讀寫)分配最長用時。若在此時間內未完成資料轉移,協調單元便在相應的處理器內核中觸發中斷。此外,可在週期內為資料轉移操作分配最短用時。若完成資料轉移所用時間短於該最短用時,便等待餘下週期。該協調單元還能實現模-等待操作(Modulo-Warteoperation)。藉此可例如在資料轉移用時可變時同步化至一明確週期。另外,該協調單元亦可包含絕對時間-等待操作以等待明確數目之週期。
該等處理器內核之各局部記憶體較佳分別劃分成不同的記憶庫。由該協調單元控制或確定或設定,各處理器內核分別被允許出入哪些記憶庫。因此,協調單元可隨時出入一處理器內核自身不被允許出入的記憶庫,且不會影響該處理器內核之工作。如此一來,該處理器內核之執行時間保持可預測狀態。當處理器內核在其被允許出入的記憶庫上工作並執行任務期間,協調單元已經可在餘下的記憶庫上預備下一任務並將接下來需要由相應處理器內核執行之任務的程式碼及/或輸入資料儲存到該些餘下的記憶庫內。如此便不必用到繁複的雙端口RAM。具體而言,每個處理器內核皆具有至少四個記憶庫。但亦可根據各處理器內核之具體應用領域 來為其選擇不同的記憶庫數目與大小。
在本發明之一較佳技術方案中,該協調單元被構造成處理器內核的一部分。其中,數個處理器內核特定言之可各具有一協調單元。更具體地,每個處理器內核皆具有一自有的獨用協調單元。該等協調單元分別對其所對應之處理器內核的資料讀寫進行協調。各協調單元彼此相連且可相互協調,以免因數個協調單元同時存取同一資料而引發出入衝突。
作為替代或補充方案,該協調單元較佳被構造成單獨的部件或硬體元件。該協調單元具體可被構造成控制器或自有處理器內核。構造成控制器的方案特別適用於包含主控器與受控器之匯流排系統。其中亦可存在數個該等協調單元。此種協調單元能確保最高之資料讀寫速度、最高安全性與最高可用性。
此種被構造成硬體元件之協調單元具體具有用於讀寫資料之主端口,更具體地具有自有的局部記憶體。該協調單元進一步具有一或數個到各處理器內核之(主)介面,特定言之針對每個處理器內核各包含一或數個從端口。該協調單元特定言之亦可具有一用於自該協調單元啟動起開始偵測週期數目之計數器。
該協調單元進一步具有合適的邏輯電路或邏輯單元特別是算術邏輯單元(ALU)。協調單元可藉此邏輯電路進行適當的程式設計。特定言之,術語“協調單元”亦包含此程式設計或普遍而言在相應之硬體元件上被執行的軟體。
因此,術語“協調單元”既包括相應的硬體元件,亦包括相應的被執行軟體。
其中,該程式設計特定言之儲存在該協調單元之局部記憶體內。作為替代方案,該程式設計亦可儲存在該控制裝置之全局記憶體或一處理器內核之局部記憶體內。該程式設計特定言之由該協調單元依序完 成。該程式設計特定言之用於對該協調單元進行組態。
與處理器內核相似,該協調單元亦以週期工作。具體而言,協調單元每個週期皆可處理運算或休眠。其中該週期可為處理器週期,但亦可非同步於處理器週期,例如通訊媒體之週期。該協調單元的程式設計具體可為任意順序之資料轉移操作、等待操作與跳越操作列表。其中,資料轉移操作具體包含讀取資料之讀取位址及寫入資料之儲存位址。資料轉移操作還包含一定數目的待轉移資料字及視情況存在之資料碼轉換指令。等待操作具體包含一說明協調單元應休眠幾個週期的數值。其中,特殊值(例如零)意為“暫且休眠”。跳越操作具體包含一說明接下來需由協調單元完成之操作所在位置的儲存位址。
本發明的其他優點與技術方案包含在說明書及所附圖式中。
可以理解,在本發明範圍內,本發明之上述及下述特徵不僅可按所給出的方式進行組合,亦可按其他方式組合應用或單獨應用。
圖式藉實施例示意性示出本發明,以下結合圖式詳細說明本發明。
10‧‧‧控制裝置
100‧‧‧多核處理器
110‧‧‧處理器內核
111‧‧‧算術邏輯單元
112‧‧‧局部記憶體
112a‧‧‧記憶庫
112b‧‧‧記憶庫
112c‧‧‧記憶庫
112d‧‧‧記憶庫
120‧‧‧處理器內核
130‧‧‧處理器內核
200‧‧‧協調單元
210‧‧‧匯流排
220‧‧‧匯流排
300‧‧‧全局記憶體
310‧‧‧快閃記憶體
320‧‧‧RAM記憶體
330‧‧‧外圍設備
331‧‧‧外圍模組/感測器
332‧‧‧外圍模組
333‧‧‧外圍模組
334‧‧‧外圍模組
圖1為本發明之汽車用的控制裝置的較佳技術方案示意圖。
圖1示意性示出本發明之汽車用的控制裝置的較佳技術方案,該控制裝置用10表示。
控制裝置10包括多核處理器100。在此示例中,多核處理器100包括三個處理器內核110、120及130。下文將以處理器內核110為例闡述處理器內核之結構。其中,其餘的處理器內核120及130特定言之與處理器內核110構造相似。
處理器內核110具有算術邏輯單元(ALU)111及局部記憶體112。其中,局部記憶體112具體可被構造成局部快閃記憶體或局部RAM記憶體。局部記憶體112具體劃分成記憶庫112a至112d。
控制裝置10進一步包括全局記憶體300。該全局記憶體可包括快閃記憶體310、RAM記憶體320及外圍設備330。其中,外圍設備300包括外圍模組331至334,該等外圍模組例如可被構造成感測器、作動器、模擬-數位轉換器、PWM發生器或計時器。
每個處理器內核110、120及130皆僅能出入其自有的局部記憶體,既不能出入任一其他處理器內核之局部記憶體,亦不能出入全局記憶體300。舉例而言,處理器內核110僅能出入其自有的局部記憶體112,且僅能自該局部記憶體讀入資料或者僅能將資料寫入該局部記憶體。處理器內核110既不能出入其餘處理器內核120及130之局部記憶體,亦不能出入全局記憶體300。
控制裝置10進一步包括協調單元200。此協調單元200具體被構造成供相應軟體運行之硬體元件。協調單元200分別透過匯流排210及220與多核處理器100之處理器內核110、120及130以及全局記憶體300聯接。
協調單元200命令各處理器內核110、120、130執行不同任務。其中,協調單元200先自全局記憶體300之快閃記憶體310或RAM記憶體320讀入相應程式碼並將該等資料寫入執行任務之處理器內核的局部記憶體。在本示例中,協調單元200將程式碼寫入處理器內核110之局部記憶體112。
其中,協調單元200將程式碼寫入局部記憶體112之特定記憶庫,例如寫入記憶庫112a。協調單元200繼續讀入處理器內核110執行任務所需之輸入資料。此等輸入資料例如是外圍設備330中的感測器331 所偵測到的測量值。協調單元200讀入該等測量值並將其作為資料儲存在例如處理器內核110之局部記憶體112的記憶庫112b內。其中,協調單元200視情況在已讀資料與待寫資料間進行轉換。
接著,協調單元200特定言之透過中斷來命令處理器內核110執行任務。處理器內核110之ALU 111藉由儲存於記憶庫112b內之輸入資料來執行儲存在記憶庫112a內的程式碼。其中產生輸出資料,處理器內核110將該等輸出資料同樣儲存在例如記憶庫112b內。
協調單元200自記憶庫112b讀入該等輸出資料並將其例如作為資料儲存在全局記憶體300之快閃記憶體310或RAM記憶體320內。

Claims (9)

  1. 一種汽車用的控制裝置(10),其中,該控制裝置(10)包括至少兩處理器內核(110,120,130)及一全局記憶體(300),其中,每個處理器內核(110,120,130)皆包括一局部記憶體(112),並且每個處理器內核皆被構造成僅能出入其自有的局部記憶體以及被構造成既不能出入其餘處理器內核之局部記憶體,亦不能出入該全局記憶體(300),其中一協調單元(200)被構造成自該控制裝置(10)之全局記憶體(300)讀入資料並將該等資料寫入該等各處理器內核(110,120,130)之局部記憶體(112),以及依該協調單元內的一工作流程圖,且自該等各處理器內核(110,120,130)之局部記憶體(112)讀入資料並將該等資料寫入該全局記憶體(300)及/或其餘處理器內核之局部記憶體。
  2. 如申請專利範圍第1項之控制裝置(10),其中該協調單元(200)被構造成以特殊應用及/或時間驅動方式進行資料讀寫。
  3. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成自該全局記憶體(300)讀入待執行任務之程式碼及/或執行任務所需要的輸入資料,並將其作為資料寫入該等處理器內核(110,120,130)之局部記憶體(112)。
  4. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成自一局部記憶體(112)讀入該局部記憶體之處理器內核(110)在執行任務後儲存到該局部記憶體(112)內的輸出資料,並將其作為資料寫入該全局記憶體(300)及/或作為資料寫入其餘處理器內核(120,130)中一處理器內核之局部記憶體。
  5. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成將待執行任務分配給各處理器內核(110,120,130)及/或命令各處理器內核(110,120,130)執行特定任務。
  6. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成命令數個處理器內核(110,120,130)執行一特定任務並將該等處理器內核(110,120,130)之各輸出資料進行對比,及/或,該協調單元被構造成命令一個處理器內核多次執行一特定任務並將該處理器內核多次執行的各輸出資料進行對比。
  7. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成對各處理器內核(110,120,130)進行控制,並在控制過程中將各處理器內核(110,120,130)中止運行、重置、關閉、測試、轉入電力節省模式、在各處理器內核(110,120,130)中觸發中斷及/或改變各處理器內核(110,120,130)之時鐘頻率。
  8. 如申請專利範圍第1或2項之控制裝置(10),其中該等處理器內核(110,120,130)之各局部記憶體(112)分別劃分成不同的記憶庫(112a,112b,112c,112d),並且該協調單元(200)被構造成對相關處理器內核(110)被允許出入哪些記憶庫(112a,112b,112c,112d)進行控制。
  9. 如申請專利範圍第1或2項之控制裝置(10),其中該協調單元(200)被構造成處理器內核的一部分或者被構造成單獨的硬體元件。
TW103141540A 2013-12-03 2014-12-01 汽車用的控制裝置 TWI651652B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??102013224702.8 2013-12-03
DE102013224702.8A DE102013224702A1 (de) 2013-12-03 2013-12-03 Steuergerät für ein Kraftfahrzeug

Publications (2)

Publication Number Publication Date
TW201533665A TW201533665A (zh) 2015-09-01
TWI651652B true TWI651652B (zh) 2019-02-21

Family

ID=51691053

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103141540A TWI651652B (zh) 2013-12-03 2014-12-01 汽車用的控制裝置

Country Status (8)

Country Link
US (1) US10657039B2 (zh)
EP (1) EP3077912B1 (zh)
JP (1) JP6321807B2 (zh)
KR (1) KR102269504B1 (zh)
CN (1) CN105765541B (zh)
DE (1) DE102013224702A1 (zh)
TW (1) TWI651652B (zh)
WO (1) WO2015082109A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
DE102015218589A1 (de) 2015-09-28 2017-03-30 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
DE102015223331A1 (de) * 2015-11-25 2017-06-01 Robert Bosch Gmbh Mikrocontroller
DE102016211386A1 (de) 2016-06-14 2017-12-14 Robert Bosch Gmbh Verfahren zum Betreiben einer Recheneinheit
WO2018014282A1 (en) * 2016-07-21 2018-01-25 Baidu.Com Times Technology (Beijing) Co., Ltd. Efficient communications amongst computing nodes for operating autonomous vehicles
DE102016223341A1 (de) * 2016-11-24 2018-05-24 Robert Bosch Gmbh Integrierte Schaltung mit Hardwareprüfeinheit zum Überprüfen von ausgewählten Speicherzugriffen
FR3065550A1 (fr) * 2017-09-29 2018-10-26 Continental Automotive France Procede d'echange protege de donnees entre deux taches
DE102017220764A1 (de) 2017-11-21 2019-05-23 Audi Ag Ein-Chip-System für ein Fahrzeug
IT201900018362A1 (it) * 2019-10-10 2021-04-10 Texa Spa Metodo e sistema di controllo di almeno due motori elettrici di trazione di un veicolo
US11288070B2 (en) 2019-11-04 2022-03-29 International Business Machines Corporation Optimization of low-level memory operations in a NUMA environment
DE102020205146A1 (de) 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines technischen Systems
US11305810B2 (en) 2020-04-24 2022-04-19 Steering Solutions Ip Holding Corporation Method and system to synchronize non-deterministic events

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209573A2 (en) * 2000-11-22 2002-05-29 Kabushiki Kaisha Toshiba Multiprocessor system and control method thereof
TW200601229A (en) * 2004-06-30 2006-01-01 Fujitsu Display Tech Control device for display panel and display apparatus having same
CN101405704A (zh) * 2006-03-23 2009-04-08 国际商业机器公司 信息处理系统中的存储器压缩
WO2013164224A2 (de) * 2012-04-30 2013-11-07 Robert Bosch Gmbh Verfahren und vorrichtung zur überwachung von funktionen eines rechnersystems, vorzugsweise eines motorsteuersystems eines kraftfahrzeuges

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
JPH08249196A (ja) * 1995-03-13 1996-09-27 Mitsubishi Electric Corp タスクの冗長化実行方式
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JP4394298B2 (ja) * 2001-02-20 2010-01-06 日本電気株式会社 マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
JP3884990B2 (ja) 2002-04-26 2007-02-21 富士通株式会社 マルチプロセッサ装置
JP4025260B2 (ja) * 2003-08-14 2007-12-19 株式会社東芝 スケジューリング方法および情報処理システム
DE102005037230A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
US9712486B2 (en) * 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US8266393B2 (en) * 2008-06-04 2012-09-11 Microsoft Corporation Coordination among multiple memory controllers
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8312219B2 (en) * 2009-03-02 2012-11-13 International Business Machines Corporation Hybrid caching techniques and garbage collection using hybrid caching techniques
FR2946442B1 (fr) * 2009-06-05 2011-08-05 Airbus France Procede et dispositif de chargement et d'execution d'instructions a cycles deterministes dans un systeme avionique multi-coeurs ayant un bus dont le temps d'acces est non predictible
US20120246650A1 (en) * 2009-09-21 2012-09-27 Bernd Mueller Method for processing information and activities in a control and/or regulating system with the aid of a multi-core processor
DE102009029642A1 (de) * 2009-09-21 2011-03-24 Robert Bosch Gmbh Verfahren zur Bearbeitung von Informationen und Aktivitäten in einem steuer- und/oder regelungstechnischen System
KR20110066448A (ko) 2009-12-11 2011-06-17 삼성에스디아이 주식회사 리튬 이차전지
US8521456B2 (en) 2010-10-05 2013-08-27 Toyota Jidosha Kabushiki Kaisha State estimation method and state estimation apparatus of electric storage element
US9804995B2 (en) * 2011-01-14 2017-10-31 Qualcomm Incorporated Computational resource pipelining in general purpose graphics processing unit
DE102012207212A1 (de) * 2012-04-30 2013-10-31 Bizerba Gmbh & Co. Kg Verfahren zur Darstellung von Inhaltselementen auf einer Anzeigeeinrichtung, insbesondere einer Waage
US9202047B2 (en) * 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
DE102012023395A1 (de) * 2012-11-29 2014-06-05 Eads Deutschland Gmbh Schnittstellenvorrichtung und Verfahren zum Austauschen von Nutzdaten

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1209573A2 (en) * 2000-11-22 2002-05-29 Kabushiki Kaisha Toshiba Multiprocessor system and control method thereof
TW200601229A (en) * 2004-06-30 2006-01-01 Fujitsu Display Tech Control device for display panel and display apparatus having same
CN101405704A (zh) * 2006-03-23 2009-04-08 国际商业机器公司 信息处理系统中的存储器压缩
WO2013164224A2 (de) * 2012-04-30 2013-11-07 Robert Bosch Gmbh Verfahren und vorrichtung zur überwachung von funktionen eines rechnersystems, vorzugsweise eines motorsteuersystems eines kraftfahrzeuges

Also Published As

Publication number Publication date
EP3077912A1 (de) 2016-10-12
WO2015082109A1 (de) 2015-06-11
DE102013224702A1 (de) 2015-06-03
CN105765541A (zh) 2016-07-13
JP6321807B2 (ja) 2018-05-09
CN105765541B (zh) 2018-12-14
US10657039B2 (en) 2020-05-19
TW201533665A (zh) 2015-09-01
KR102269504B1 (ko) 2021-06-28
KR20160093621A (ko) 2016-08-08
JP2017502389A (ja) 2017-01-19
EP3077912B1 (de) 2018-08-08
US20160299839A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
TWI651652B (zh) 汽車用的控制裝置
EP2642392B1 (en) Semiconductor integrated circuit device and system using the same
US7590774B2 (en) Method and system for efficient context swapping
EP1324190B1 (en) Data processing system having a read-modify-write unit
US20120110303A1 (en) Method for Process Synchronization of Embedded Applications in Multi-Core Systems
JP2005182825A5 (zh)
JP2011513843A (ja) 実行装置内のデータ転送のシステムおよび方法
JP2007241918A (ja) プロセッサ装置
US7636812B2 (en) Cache memory control method and cache memory control device
WO2013147881A1 (en) Mechanism for issuing requests to an accelerator from multiple threads
US20090113439A1 (en) Method and Apparatus for Processing Data
JP5999216B2 (ja) データ処理装置
TW201447760A (zh) 雙開機區段切換機制
JP5699896B2 (ja) 情報処理装置、異常判定方法
JP5322567B2 (ja) データ処理システム及び半導体集積回路
JP2011150532A (ja) 情報処理装置
US20080222336A1 (en) Data processing system
JP5803721B2 (ja) データ処理装置
JP4975586B2 (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller
US20030145175A1 (en) Multiprocessor system having respective control programs of a plurality of processors stored contiguously in a memory
JP2011118744A (ja) 情報処理装置
US9342359B2 (en) Information processing system and information processing method
JP2007328627A (ja) 半導体集積回路
JPH0467241A (ja) キヤツシユ方式