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

歡迎關注“億道電子”公眾號
了解更多研發工具軟件知識

首頁 > 新聞資訊
