NEON 和 VFP 程式設計 擴充套件暫存器組

2021-09-29 03:27:34 字數 651 閱讀 4422

neon 是適用於 arm cortex-a 系列處理器的一種128位 simd(single instruction, multiple data, 單指令、多資料)擴充套件結構。

vfp 代表用於向量運算的向量浮點架構。迄今為止,vfp 主要有三個版本:

vfpv1 已廢棄;

vfpv2 是對 armv5te、armv5tej 和 armv6 架構中 arm 指令集的可選擴充套件;

vfpv3 是對 armv7-a 和 armv7-r 配置檔案中 arm、 thumb®® 和 thumbee 指令集的可選擴充套件。可使用 32 個或 16 個雙字長暫存器實現 vfpv3。術語 vfpv3-d32 和 vfpv3-d16 用於區別這兩個實現選項。擴充套件 vfpv3 使用半精度擴充套件,可在半精度浮點和單精度浮點之間提供雙向轉換功能。

neon 和 vfpv3 使用相同的擴充套件暫存器組。該暫存器組不同於 arm 暫存器組。它是 vfpv2 暫存器組的超集。

暫存器之間的對映如下所示:

• s<2n> 對映到 d 的最低有效半部

• s<2n+1> 對映到 d 的最高有效半部

• d<2n> 對映到 q 的最低有效半部

• d<2n+1> 對映到 q 的最高有效半部

例如,通過引用 d12 可以訪問 q6 中向量元素的最低有效半部,通過引

NEON 和 VFP 程式設計 NEON通用算術指令

本節包括以下小節 vaba 和 vabd 向量差值絕對值累加和差值絕對值。vabs 和 vneg 向量絕對值和求反。vadd vaddl vaddw vsub vsubl 和 vsubw 向量加法和減法。vaddhn 和 vsubhn 選擇高半部分的向量加法和選擇高半部分的向量減法。vhadd 和 ...

CS 暫存器 和 IP 暫存器

下面將要介紹的是一組非常非常重要的暫存器,即 cs ip cs ip 兩個暫存器指示了 cpu 當前將要讀取的指令的位址,其中cs 為 段暫存器,而ip 為指令指標暫存器。什麼叫做指示了 cpu 當前將要讀取的指令呢?在 8086 cpu 中,為什麼 cpu 會自動的執行指令呢?這些指令肯定是存放在...

除錯暫存器和測試暫存器

1 除錯暫存器 80386為除錯提供了硬體支撐。在80386晶元內有8個32位的除錯暫存器dr0 dr7,如圖2.6所示。這些暫存器可以使系統程式設計人員定義4個斷點,用它們可以規定指令執行和資料讀寫的任何組合。dr0 dr3是線性斷點位址暫存器,其中儲存著4個斷點位址。dr5 dr6是兩個備用的除...