摘要: 本文主要對(duì)Armv7-M架構(gòu)中的內(nèi)存訪問順序進(jìn)行介紹。
關(guān)鍵字:Armv7-M架構(gòu)、內(nèi)存訪問順序
在Armv7 架構(gòu)中提供了三種內(nèi)存類型,普通、設(shè)備和強(qiáng)有序。是否可以共享內(nèi)存是內(nèi)存訪問順序時(shí)一個(gè)重要的屬性。如果是共享內(nèi)存,就需要在排序時(shí)顯示緩存的透明性。
不同使用者對(duì)內(nèi)存訪問順序關(guān)心的關(guān)鍵問題并不一樣。
對(duì)于軟件程序員來說,主要考慮應(yīng)用程序級(jí)別的模型。主要是對(duì)普通類型內(nèi)存的訪問,在某些情況下需要設(shè)置屏障,控制其他監(jiān)視器的訪問順序。
對(duì)于芯片設(shè)計(jì)人員來說,主要考慮系統(tǒng)級(jí)別的模型。主要是對(duì)設(shè)備型內(nèi)存和強(qiáng)有序內(nèi)存,在系統(tǒng)設(shè)計(jì)時(shí),在構(gòu)建和指示是否完成訪問時(shí)進(jìn)行控制。
內(nèi)存訪問或是讀,或是寫。顯式內(nèi)存訪問是指令函數(shù)請(qǐng)求的內(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.
寫入,具有存儲(chǔ)語義的內(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)存支持“加載獨(dú)占”和“存儲(chǔ)獨(dú)占”指令。非共享內(nèi)存可用于同步在同一處理器上運(yùn)行的進(jìn)程,不同處理器上運(yùn)行的進(jìn)程必須使用可共享內(nèi)存來同步。
來源:《Armv7-M Architecture Reference Manual 》
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
關(guān)于億道電子
億道電子技術(shù)有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國(guó)內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國(guó)廣大的制造業(yè)客戶提供研發(fā)、設(shè)計(jì)、管理過程中使用的各種軟件開發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設(shè)計(jì)周期,提升產(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)略合作伙伴關(guān)系,并作為他們?cè)谥袊?guó)區(qū)的主要分銷合作伙伴服務(wù)了數(shù)千家中國(guó)本土客戶,為客戶提供從芯片級(jí)開發(fā)工具、EDA 設(shè)計(jì)工具、軟件編譯以及測(cè)試工具、結(jié)構(gòu)設(shè)計(jì)工具、仿真工具、電氣設(shè)計(jì)工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗(yàn)積累,真正的幫助客戶實(shí)現(xiàn)了讓研發(fā)更簡(jiǎn)單、更可靠、更高效的目標(biāo)。
歡迎關(guān)注“億道電子”公眾號(hào)
了解更多研發(fā)工具軟件知識(shí)