999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于國產車控芯片的數據緩存技術應用研究

2025-02-08 00:00:00劉子毓陳樹星劉振東卜海芋史宜靈
汽車文摘 2025年2期

【Cite this paper】LIU Z Y,CHEN S X,LIU Z D, et al. Application Research of Data CACHE Technology Based on Localization Vehicle Microcontroller[J]. Automotive Digest (Chinese), 2023(XX): XX-XX.

【摘要】目前在動力域控制器設計與開發方面,國外車控芯片占據壟斷地位。為解決關鍵技術被卡脖子的現狀,采用國產化芯片結合國產化AUTOSAR操作系統進行開發。研究重點在于數據緩存技術的應用與優化,針對國產化芯片開發中遇到的緩存數據一致性的問題,提出了多種數據同步機制與緩存策略優化方案,有效消除了數據不一致的風險。此外通過設計高效的數據緩存策略,顯著提升了控制器的指令執行效率并設計實驗進行驗證。

關鍵詞:AUTOSAR;高速緩存;多核操作系統

中圖分類號:U461.99文獻標志碼:ADOI:10.19822/j.cnki.1671-6329.20240155

Application Research of Data CACHE Technology Based on Localization Vehicle Microcontroller

Liu Ziyu, Chen Shuxing, Liu Zhendong, Bu Haiyum, Shi Yiling

(Commercial Vehicle Development Institute, FAW Jiefang Truck Co., Ltd., Changchun 130011)

【Abstract】Currently, foreign automotive control chips dominate the design and development of powertrain domain controllers. To address this technological bottleneck, there is a growing trend towards adopting domestically produced chips alongside domestically developed AUTOSAR operating systems. The research focuses on the application and optimization of data caching technology. In response to the challenge of cache data consistency encountered in the development of domestically produced chips, various mechanisms for data synchronization and optimization schemes for cache strategy have been proposed, effectively mitigating the risk of data inconsistency. Furthermore, by designing efficient data caching strategies, the instruction execution efficiency of the controller has been significantly improved, and experiments have been designed to verify these improvements.

Key words: AUTOSAR,CACHE, Multicore operating systems

0 引言

隨著汽車智能化和電動化的發展,汽車行業車規級芯片的使用需求呈爆炸式增長。當前車規級芯片的市場份額大部分被外國企業占領,如英飛凌、恩智浦、意法半導體以及瑞薩電子。隨著國際形勢的改變,近年來汽車行業多次出現由于缺乏芯片導致的減產現象,面對緊缺的車規級芯片市場,國內廠商搶抓機遇,全面布局車規級芯片,旨在解決關鍵核心芯片“卡脖子”問題,打破國外壟斷局面[1]。中國車規級芯片行業基礎相對薄弱,在許多應用場景中缺乏產品研發及量產經驗,同時中國主機廠對國產車規級芯片信息了解不足、信任度不高、使用量低[2],導致國產車規級芯片缺乏量產經驗,難以快速迭代出高質量芯片,尚未形成良性生態循環。

為滿足日益復雜的汽車電子電氣發展趨勢,汽車電子控制系統也趨于復雜化,具體體現在對芯片高算力的要求和對平臺軟件的高穩定性和高實時性要求2個方面,可以通過使用國產化的汽車開放系統架構(Automotive Open System Architechture,AUTOASR)滿足[3]。AUTOSAR是由全球范圍內各大型汽車主機廠、汽車零部件供應商以及汽車電子相關軟件開發公司聯合成立的一個標準協議[4],旨在通過實現軟件分層開發架構降低應用層開發人員與底層驅動軟件開發人員因硬件變化而受到的影響。

為了滿足芯片對高計算能力的要求,可以選擇搭載多核處理器芯片,實現執行速度提升。但多核芯片無法提升數據訪問速度,因此需要采用高速緩存(CACHE)。鑒于其國產化時間較短,技術領域尚不成熟,需進一步的研究與完善。本文圍繞柴油發動機控制器電控單元項目,采用蘇州國芯CCFC3008PT多核芯片、國產AUTOSAR實時操作系統,探討CACHE技術的應用問題。

1 問題分析

在項目開發過程中,控制器集成應用軟件后,應用軟件無法驅動芯片數字量通道。初始考慮驅動軟件存在問題,但是控制器在集成應用前測試驅動功能正常,可以按照給定參數控制芯片引腳輸出電平狀態。進行軟件代碼檢查,并通過調試器逐級檢查應用層函數的傳遞參數、堆棧信息與程序計數器(ProgramCounter,PC)指針,均未發現異常。需將函數的參數由全局變量改變為立即數才能實現正常輸出,因而考慮CACHE訪問全局變量存在異常。

1.1 操作系統層面

首先分析故障產生原因是否與代碼放置位置有關,故障代碼由核1執行,核1負責為變量賦值,并將參數傳遞至底層驅動函數。驅動函數獲取參數后,通過核2向芯片外設模塊寄存器傳遞參數。通過調試器觀測外設寄存器發現來自核1的參數未成功傳入芯片外設寄存器。若將賦值函數移至核2執行,該問題未出現。

1.2 芯片驅動層面

經過上述操作可以確定該問題與代碼執行位置具有強相關性。同一行函數在不同執行位置運行結果不同,表明還需進一步排查該問題。通過直接觀測內存,發現在運行(Run)狀態下,通過核1的函數給變量賦值,變量在內存區域的值未隨之更新。而在斷點(Break)狀態下,變量值改變時,內存中相應的值可隨變量更新。仔細觀察核1初始化配置代碼,發現核1與核2的區別在于核1具有數據區高速緩存(DCACHE),而核2僅配備代碼區高速緩存(ICACHE)。在核1運行期間,數據訪問范圍始終不超出DCACHE命中區域。所有變量賦值與讀取均在DCACHE內部進行,不會將變量更新傳遞到內存區域中。由于每個核均具有獨立的CACHE區域,并且只對其專屬CACHE具有訪問權限[5]。不同核間傳遞參數必須通過內存進行,導致應用層代碼下發的參數無法成功加載到芯片外設寄存器。

2 國產化芯片緩存

2.1 高速緩存存儲器

在應用高速緩存存儲器前,中央處理單元(Central Processing Unit,CPU)均按照程序員編寫的指令讀取內存信息。程序員通過高級語言編寫程序,再由編譯器根據不同芯片指令集將其翻譯為芯片能夠執行的匯編指令。這些指令與數據通常存放于非易失性存儲器中。當系統啟動時,這些指令與數據將被加載至內存中。CPU訪問內存可以分為2種類型:(1)程序執行過程中需要訪問內存以讀寫數據;(2)CPU必須訪問內存以獲取下一條需執行的指令。

在CPU與內存的協同作用下,程序得以順利執行。然而,由于CPU的運行速度遠大于內存訪問數據或程序的速度,導致實際運行過程中,CPU常處于等待狀態,以便數據可以緩慢地由內存傳輸至CPU。隨著內存速度與現代處理器速度之間的差距不斷擴大,系統對主儲存器的數據存取訪問成為系統性能的新瓶頸[6],無法滿足對高性能芯片日益增長的需求。為了克服這一缺陷,CPU就不應直接從內存中讀取數據或指令。

實際上,CPU訪問內存并非完全隨機,而是存在時間局限性和空間局限性。在程序占據的內存空間中,只有一部分區域在程序運行過程中經常被CPU所訪問,其可能是分散的,也可能是集中的,可以將其集中儲存至訪問速度較高的存儲介質上。該存儲介質可以充當CPU和內存之間的中轉站稱之為CACHE。

引入CACHE后,CPU無需直接對內存進行訪問,如圖1所示,將經常使用到的數據存放至CACHE中,CPU需要訪問內存時,將首先在CACHE中進行查找。如果所需數據或指令以存在于CACHE中里面已經存在相應數據或指令,則無需對內存進行訪問,可以有效提升CPU的執行速度。但CACHE不能直接替換內存,因為CACHE的價格更高,為了考慮成本,CACHE的容量不會做的很大。但由于CPU對內存的訪問有著時間局限性和空間局限性,即使CACHE比內存小很多具有較高命中率。

2.2 CACHE地址映射方式

由于內存的存儲空間遠大于CACHE,所以CACHE的同一位置必須可以存儲來自不同內存的數據或指令,以實現小容量CACHE對大容量內存區域的有效覆蓋。為了避免CPU在通過緩存訪問內存時不得不處理內存地址和緩存地址之間的復雜關系,需要建立一個CACHE和內存的映射機制,允許CPU通過預訪問內存地址自動確定其存放于CACHE的位置,減少CACHE資源浪費,提高訪問速度。

為了建立緩存與主存之間的映射關系,需對CACHE內部存儲單元進行分類,如圖2所示,將CACHE內部資源分別用于存儲數據、存儲地址信息以及存儲地址偏移量和其他有效信息。CPU的讀寫以字為單位,而CACHE與內存之間的讀寫以line為單位。將CACHE與內存之間的最小讀寫單元定義為1個linesize(不包含地址與其他有效信息),若linesize大小為32字節,即CACHE每次緩存數據或指令信息均以0x20地址與內存對齊[7]。而CACHE每條line被稱為SET,CACHE的總容量除以linesize,就等于SETNumber,不同的line通過SETNumber進行標識,其他信息存儲在line頭部位置。

目前,國產化CACHE與內存之間的映射采用直接映射的方法。一個內存塊地址始終對應一個固定的CACHE地址,對于同一內存地址的多次訪問,其數據均被加載至相同CACHEline內。為了完成此映射,需將內存區域按照CACHE的容量劃分為多個區塊。

如圖3所示,按照CACHE容量將內存區域劃分為M個塊群。當內存地址為N的倍數的內存區域加載至緩存中,均被分配至SET0中。若需訪問第“6N+2”號內存塊,假設該塊已在CACHE中,則其必定位于SET 2中。這表明CACHE的SETNumber值與內存地址低位存在對應關系。

在CACHE中,存儲的數據或指令無需其在主內存中的完整地址標識,因此Tag僅保留了高位地址信息。低位地址信息可以通過CACHE的SETNumber獲得。為了重構完整的內存地址,需將CPU預訪問的內存地址對Line大小取余后的結果作為偏移量。如圖4所示,將SET NUMBER與該偏移量結合,即可復現數據或指令在主內存中的地址信息。

2.3 存在問題與改進措施

若數據需從第0塊內存遷移至數據至第N塊內存,由于映射方式為直接映射,二者內存將被映射至CACHE的同一line中。此情況可能導致CACHE需持續從內存中加載數據,造成CACHE未命中的情況頻繁發生。CPU需等待CACHE清除當前數據并重新加載內存數據,導致CPU的執行效率低于未開啟CACHE的情況。為了應對這種情況,將CACHE劃分為2部分,稱為2個WAY[8]。如圖5所示,雙WAY的大小和映射機制完全相同。通過這種設計,可以同時命中在直接映射下映射到同一line的內存塊,有效提高了CPU的執行速度。

若此時CACHE需要緩存來自第3個內存地址的數據或指令至該line,此時2個WAY對應的存儲空間均已占用。為了確定需被替換數據,為CACHE內包含的數據賦予優先級,高優先級數據應盡量包含權值高、訪問概率大、數據復雜度小核以及更新時間間隔長的特點[9]。可以采用以下3種辦法識別高優先級數據。

(1)先入先出法

如圖6所示,利用CACHE中預留的R位,設置1個計數器,在每次CACHE從內存讀取數據或指令時,將計數器加一,若CACHE填滿,則選擇計數器數值較大的line進行替換。

(2)最不經常使用法

如圖7所示,CPU每一次讀取CACHE中命中的信息時,將對應的CACHEline計數器加一,當CACHE被填滿時,選擇計數器較小的line進行替換。

(3)近期最少使用法

如圖8所示,在CPU每訪問CACHE時,將命中的line計數器清零,其余的所有line的計數器加一,最后選擇計數器最大的line進行替換[10]。

通過上述3種替換算法可以最大限度地使CACHE保留最有效的數據或指令,增加CACHE的命中率,進一步避免了由于內存速度緩慢導致CPU等待數據或指令時間過長的問題,提高了國產化芯片性能。

在單核系統中,上述CACHE架構與邏輯可以在全工況條件下提升CPU運行速度。然而,根據上文對于多核系統問題的分析與論證,發現CACHE在多核系統下存在緩存數據一致性的問題。為了保證不同核內CACHE中對應同一內存的CACHEline數據保持一致,關鍵要確保同一核的寫入操作對其他核均可見。基于此,提出以下2個原則:(1)單寫多讀(Single-WriterMultiple-Read,SWMR。該原則需確保在同一時間內,對于任何內存地址(假設地址為A),僅有一個核對地址為A的內存有讀寫權限,或者存在多個核具有只讀權限。因此,可以避免以下情形發生:當地址A被多個核讀取至CACHE內時,若其中某核更改了CACHE中地址A的數據,并將該修改寫入內存,而其他核未收到更新通知,導致緩存一致性問題。如圖9所示,將時間細分為多個小切片,每個切片均遵循SWMR原則。例如在T1、T4時刻,允許多個核對同一個地址的內存進行讀取。然而,在T2、T4時刻,涉及到寫入時,僅有一個核被授予讀寫權限,其他核在該時間切片內不可以讀取該內存。(2)數值傳播原則。該原則要求在時間片段中,上一個時間片段結束的數據值必須與下一個時間片段開始時的數據值相同。這要求內存更新的數據值需被正確地傳播至所有核。例如在T1時刻,核2、核5讀取的數據必須相同才能滿足一致性要求。在T3時刻,核1應讀取T2時刻核3最后寫入的數據值。同樣地,在T4時刻,核1、核2、核3應當讀取T3時刻核3最后寫入的數據值才能滿足一致性要求。

在設計一致性協議時,應考慮上述2項原則。一致性協議需明確每個參與一致性的內存和緩存組件可能所處的CACHE狀態,以及需發送或響應的一致性事務操作。為此,可采用以下3種協議:

(1)監聽協議

該協議要求CACHE從內存中讀取數據時,均需通過共享總線發出請求。共享總線負責仲裁,決定訪問請求的優先級,并將優先級通知所有CACHE。總線仲裁邏輯可以確保在任一時刻共享總線僅處理一個內存訪問請求[11]。如圖10所示,監聽協議通過仲裁邏輯,對同時出現的請求進行優先級排序,并通過總線廣播優先級順序。各CACHE通過監聽總線獲知排序順序,從而確定自身請求排序情況。該機制可以滿足2個一致性原則的要求。

(2)無效協議

如圖11所示,當某核需寫入某CACHEline時,CACHE將該CACHEline命中的地址通知其他CACHE。若其他CACHE中存在相同地址的CACHEline,則將根據無效協議將其他所有包含相同信息的CACHEline標記為無效。在確保其他核無法通過CACHE讀取過時數據后,該核才能對CACHE進行寫入操作,并將對應數據寫入內存。其他核需讀取該數據時,必須重新將其從內存存入CACHE,以確保數據的一致性。

(3)更新協議

如圖12所示,若某核需寫入某CACHEline,CACHE首先將新寫入的值寫入內存,并產生一個更新請求,該請求通過總線廣播發送至所有CACHE。CACHE檢查自身是否包含待更新的地址信息。若包含待更新地址信息,CACHE將重新從內存中加載數據,確保所有CACHE存儲的值均為最新值[12]。

3 數據緩存性能測試軟硬件介紹

3.1 硬件部分

本文所搭建的數據緩存開發系統基于CCFC3008PT開發板(圖13)開發,并將其作為緩存測試的硬件部分。CCFC3008PT芯片內核采用PowerPC指令集架構[13],具體參數如表1所示。

3.2 軟件部分

本文所使用的軟件工具如表2所示。

本文搭建的軟件系統架構遵循AUTOSAR標準,所有代碼均滿足車規級要求。使用東軟睿馳提供的Configurator進行多核操作系統的配置,使用EBTresos配置端口(Port)與內部輸入輸出(Input,Output,IO)量相連,通過外部示波器方便觀測代碼執行時間。使用Hightec編譯器將底層驅動代碼與上層操作系統軟件集成,同時進行代碼編譯,生成單片機可執行的文件。

3.3 數據傳輸時間監控方法

由于在測試中將使用多個芯片外設模塊,在開展測試前必須完成各模塊的初始化操作,并通過AUTOSAR標準的函數接口實現操作系統[14],符合AUTOSAR標準的系統初始化位置如表3所示。

初始化工作完成后,為了檢驗數據緩存對數據傳輸性能的影響,進行2個數組間的數據傳輸工作,通過IO口反轉的方式監控數據傳輸時間。圖14為數組定義與初始化代碼示例,圖15為數據傳輸與時間監控代碼示例。

通過示波器觀測管腳電平反轉的方式,監控代碼執行時間[15]。同時通過調試器使用其他核觀察數組內數據判斷開啟數據緩存時是否確保了數據一致性。圖16為32位數組相互傳輸數據用時隨數組位數變化的測量結果。圖17為64位數組相互傳輸數據用時隨數組位數變化的測量結果。

由圖16、圖17中曲線可見,當不使用CACHE時,隨著數據量的增加,CPU的執行時間呈現出顯著的增長趨勢。而使用CACHE時,隨著數據量的增加,CPU的執行時間增長比率小于1,表明傳輸大量數據時,CACHE能提供更大的性能提升。

為了進一步分析CACHE的作用,使用調試器分別觀察同一變量在內存中的值和CACHE中的值。若變量定義在核1并賦值時,不涉及CACHE一致性問題,此時變量在內存和CACHE中的值保持一致。若將變量賦值于核2執行,而變量定義保留在核1,通過調試器觀測核1的內存與CACHE中變量儲存的數據分別如圖18和如圖19所示。

可見在內存與CHACHE中的變量值均為14,經由一致性協議保證,當前數據緩存未出現數據一致性錯誤。

4 結束語

本文的研究成果解決了國產汽車控制芯片多核系統中維護數據一致性的問題。研究基于AUTOSAR標準和PowerPC架構,通過引入CACHE一致性協議,保障多核環境下的數據一致性,避免因數據不一致導致的系統故障或者傳輸錯誤的控制參數。

本文的研究結果與以往研究CACHE重要性的結論一致,支持通過使用緩存機制可以顯著提升系統性能的觀點。一些早期的研究認為緩存一致性協議可能會引入較大的開銷。但本文通過涉及適當的機制與測試,證明這種開銷可以通過機制避免,從而提升性能。然而,本文只集中于特定的硬件架構(PowerPC)進行研究,未對其他架構(如ARM或RISC-V)的實用性進行探討。且研究主要量化了性能提升,未對功耗或熱管理的影響進行探討,這些也是汽車應用的關鍵因素。

參考文獻

[1]武亞恒,張弘,胡凱,等.國產車規級芯片發展現狀,問題及建議[J].時代汽車, 2022(6):26-27.

[2] 朱云堯, 吳勝男, 馮莉, 等. 我國汽車產業生態、發展趨勢與挑戰[J]. 汽車文摘, 2023(10): 32-37.

[3]FüRST S.AUTOSAR – A Worldwide Standard is on the Road. [J]. 14th International VDI Congress Electronic Systems for Vehicles,2009,62(5):1-16.

[4]STARON M. Automotive Software Architectures[M]. Cham: Springer, 2021.

[5] HASSAN M, KAUSHIK A M , PATEL H.Predictable CACHE Coherence for Multi-Core Real-Time Systems[J].IEEE, 2017: 235-246.

[6]楊朝輝.主存數據庫索引機制的研究與改進[D].南京:南京航空航天大學, 2024.

[7]張曉光,陶英軒,黃金山.智能網聯趨勢下車輛網關路由緩存研究與應用[J].汽車文摘, 2021(5):14-18.

[8]張俊敏,金繼歡,侯睿.命名數據網絡中的二分緩存方案[J].中南民族大學學報(自然科學版), 2024, 43(2):260-265.

[9] 李詩詩,方壽海.移動數據庫緩存同步更新機制[J].煤炭技術, 2010, 29(10):166-168.

[10] 肖文龍,馬迪,毛偉,等.基于事實所有權的RPKI緩存更新沖突檢測機制[J].計算機系統應用, 2022, 31(2):366-375.

[11]陳家豪,黃樂天,謝暄,等.基于片上網絡互連的多核緩存一致性研究綜述[J].電子與封裝, 2020, 20(11):1-8.

[12] SHUKUR H M, ZEEBAREE S R M, ZEBARI R,et al.CACHE Coherence Protocols in Distrubted Systems[J].Journal of Applied Science and Technology Trends, 2020, 1(3):92-97.

[13]程俊強,劉鐸,陳益.基于PowerPC處理器的機載多總線單板計算機設計[J].測控技術, 2020, 39(11):85-90.

[14] 關健斌,吳志紅,朱元,等.基于AUTOSAR標準的CAN FD通信實現[J].信息通信, 2020(3):5-7.

[15] ZHANG X , LIU B , GOU Z,et al.DCACHE: A Distributed CACHE Mechanism for HDFS based on RDMA[J].IEEE, 2020(1):283-291.

主站蜘蛛池模板: 亚洲中文无码av永久伊人| 伦精品一区二区三区视频| 四虎永久免费网站| 自慰高潮喷白浆在线观看| 成年A级毛片| 日本爱爱精品一区二区| 久久精品亚洲专区| 欧美激情第一区| 无码专区国产精品第一页| A级毛片无码久久精品免费| 又大又硬又爽免费视频| 亚洲经典在线中文字幕| 亚洲综合香蕉| www中文字幕在线观看| 无码啪啪精品天堂浪潮av | 成人综合在线观看| 亚洲天堂在线免费| 欧美日韩va| 色综合天天综合| 色综合中文综合网| 久久成人国产精品免费软件| 国产乱子精品一区二区在线观看| 最新国产网站| 三上悠亚一区二区| 日韩色图在线观看| 欧美一级大片在线观看| 2021精品国产自在现线看| 国产91熟女高潮一区二区| 久久特级毛片| 亚洲an第二区国产精品| 亚洲av无码久久无遮挡| av在线无码浏览| 精品国产91爱| 亚洲AⅤ综合在线欧美一区| 国产尤物在线播放| 亚洲欧美日韩精品专区| 久夜色精品国产噜噜| 亚洲色成人www在线观看| 亚洲欧美精品在线| 欧美激情成人网| www.精品国产| 日本久久免费| 无码精品一区二区久久久| 国产国拍精品视频免费看| 欧洲高清无码在线| 97综合久久| 久久香蕉国产线看观看亚洲片| a级毛片免费看| 日韩欧美国产另类| 国产精品九九视频| 亚洲欧美极品| 在线高清亚洲精品二区| 在线人成精品免费视频| 国产一级毛片yw| 国产精品免费露脸视频| 亚洲欧美日韩成人在线| 欧美精品一区在线看| 婷婷在线网站| 91精品专区国产盗摄| 99成人在线观看| 成人国产精品网站在线看| 精品无码一区二区三区在线视频| 色天天综合| 26uuu国产精品视频| 国产成人亚洲欧美激情| 久久一本日韩精品中文字幕屁孩| 精品少妇人妻一区二区| 欧美日韩精品在线播放| 亚洲日本中文综合在线| 亚洲无码不卡网| 久久久久国色AV免费观看性色| 国模私拍一区二区 | 三区在线视频| 亚洲男人的天堂在线观看| 成人在线观看不卡| 久久亚洲高清国产| 老司机精品一区在线视频 | 国产精品.com| 嫩草在线视频| 久青草免费在线视频| 国产激情第一页| 国产精品视频系列专区|