【方輝專欄】Armv7 M 架構簡介(十一)--內(nèi)存訪問順序
2022-11-09
摘要: 本文主要對Armv7-M架構中的內(nèi)存訪問順序進行介紹。關鍵字:Armv7-M架構、內(nèi)存訪問順序在Armv7 架構中提供了三種內(nèi)存類型,普通、設備和強有序。是否可以共享內(nèi)存是內(nèi)存訪問順序時一個重要的屬性。如果是共享內(nèi)存,就需要在排序時顯示緩存的透明性。不同使用者對內(nèi)存訪問順序關心的關鍵問題并不一樣。對于軟件程序員來說,主要考慮應用程序級別的模型。主要是對普通類型內(nèi)存的訪問,在某些情況下需要設置屏障,控制其他監(jiān)視器的訪問順序。對于芯片設計人員來說,主要考慮系統(tǒng)級別的模型。主要是對設備型內(nèi)存和強有序內(nèi)存,在系統(tǒng)設計時,在構建和指示是否完成訪問時進行控制。內(nèi)存訪問或是讀,或是寫。顯式內(nèi)存訪問是指令函數(shù)請求的內(nèi)存訪問。除非另行說明,內(nèi)存訪問順序僅適用于顯示內(nèi)存訪問。讀取,具有加載語義的內(nèi)存操作。有如下指令: LDR, LDRB, LDRH, LDRSB, 和LDRSH.LDRT, LDRBT, LDRHT, LDRSBT, 和?LDRSHT.LDREX, LDREXB, 和?LDREXH.LDM{IA,DB}, LDRD, POP, VLDM, VLDR, 和VPOP.LDC 和?LDC2.狀態(tài)返回值STREX, STREXB, 和STREXH.TBB 和?TBH.寫入,具有存儲語義的內(nèi)存操作。有如下指令:STR, STRB, 和?STRH.STRT, STRBT, 和?STRHT.STREX, STREXB, 和?STREXH .STM{IA,DB}, STRD, PUSH, VSTR, VSTM, 和?VPUSH.STC 和?STC2.同步,用于確保內(nèi)存同步的指令。有如下指令:LDREX, STREX, LDREXB, STREXB, LDREXH, STREXH.可共享和非共享內(nèi)存支持“加載獨占”和“存儲獨占”指令。非共享內(nèi)存可用于同步在同一處理器上運行的進程,不同處理器上運行的進程必須使用可共享內(nèi)存來同步。來源:《Armv7-M Architecture Reference Manual 》+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++關于億道電子億道電子技術有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業(yè)客戶提供研發(fā)、設計、管理過程中使用的各種軟件開發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設計周期,提升產(chǎn)品可靠性。20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰(zhàn)略合作伙伴關系,并作為他們在中國區(qū)的主要分銷合作伙伴服務了數(shù)千家中國本土客戶,為客戶提供從芯片級開發(fā)工具、EDA 設計工具、軟件編譯以及測試工具、結構設計工具、仿真工具、電氣設計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗積累,真正的幫助客戶實現(xiàn)了讓研發(fā)更簡單、更可靠、更高效的目標。歡迎關注“億道電子”公眾號了解更多研發(fā)工具軟件知識
查看更多→