[英]What new instructions does ARMv8-M Baseline provide over ARMv6-M?
2016 年,ARM 推出了 ARMv8-M 架構,作為流行的 ARMv6-M(Cortex M0/M0+/M1)和 ARMv7-M(Cortex M3/M4/M7)架構的升級。 ARMv8-M 架構再次分為基線配置文件,被視為 ARMv6-M 架構的延續,主線配置文件被視為 ARMv7-M 架構的延續。
不幸的是,對ARMv8-M 架構參考手冊的粗略檢查無法了解究竟添加了什么,而且與之前的架構版本相比,似乎也沒有有用的總結。 和往常一樣,對於新版本的 CPU 架構,似乎幾乎所有細節都沒有改變,只是到處添加了一些小細節。
ARMv8-M Baseline 比 ARMv6-M 提供了哪些額外的指令和指令變體?
標題為Cortex-M for Beginners的 ARM 文檔可能會提供您正在尋找的信息,尤其是在第 6 頁和第 7 頁。
ARMv6-M 提供 16 位指令ADC
, ADD
, ADR
, AND
, ASR
, B
, BIC
, BKPT
, BL
, BLX
, BX
, CMN
, CMP
, CPS
, EOR
, LDMIA
, LDR
, LDRB
, LDRH
, LDRSB
, LDRSH
, LSL
, LSR
, MOV
, MUL
, MVN
, NOP
, ORR
, PUSH
, REV
, REV16
, REVSH
, ROR
, RSB
, SBC
, SEV
, STMIA
, STR
, STRB
, STRH
, SUB
, SVC
, SXTB
, SXTH
, TST
, UDF
, UXTB
、 UXTH
、 WFE
、 WFI
和YIELD
。
此外,還有 32 位指令BL
、 DMB
、 DSB
、 ISB
、 MRS
和MSR
可用。
對此,ARMv8-M 基線增加了...
SDIV
和UDIV
B
(用於擴展范圍)CBZ
和CBNZ
MOVW
和MOVT
(作為LDR Rd, =...
)LDA
、 LDAB
、 LDAH
、 STL
、 STLB
和STLH
LDAEX
、 LDAEXB
、 LDAEXH
、 STLEX
、 STLEXB
和STLEXH
CLREX
、 LDREX
、 LDREXB
、 LDREXH
、 STREX
、 STREXB
和STREXH
如果另外實施了安全擴展,則可以使用指令BLXNS
、 BXNS
、 SG
、 TT
、 TTT
、 TTA
和TTAT
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.