Xtensa處理器架構基礎 架構簡介與常見暫存器

2021-10-19 07:02:14 字數 1983 閱讀 8443

應用的發展對處理器的需求越來越多樣化。與通用處理器架構相比,xtensa架構的特色在於它是可配置可擴充套件的微處理器架構。通俗地講,將其與常見的arm架構相比,xtensa架構的特色在於可以為不同種類的產品需求「定製化」soc系統,快速生成專用的處理器。

每種處理器都有其相應的指令集,xtensa也不例外。xtensa指令集體系結構(instruction set architecture,isa)是一種新的後risc指令集體系結構,面向嵌入式、通訊和消費類產品。該isa旨在提供:

1)高度的可擴充套件性

2)業界領先的**密度

3)優化的低功耗實現

4)高效能

5)低成本實施。

xtensa isa可以使用多種管道來實現。如圖所示,就是一種典型的架構實現方案:(**於xtensa官方)

1)pc 暫存器:program counter. 程式計數器(pc)儲存下一條要執行的指令的位址。它在執行時由指令更新。非分支指令只是將其長度遞增。執行分支指令時,用新值載入它。存在呼叫和返回指令,在pc和通用暫存器ar[0]之間移動值。迴圈選項等選項可通過其他有用的方式更改pc。

注:pc的更改和使用總是由硬體聯鎖的。它們不需要任何同步指令。

2)ps暫存器: program state register, 程式狀態暫存器。主要用於中斷和上下文切換,顯示當前程式執行狀態。

3)a0~a15暫存器:這些通用位址暫存器被命名為位址暫存器(address register,ar),以區別於可新增到指令集的許多不同型別的資料暫存器。儘管ar暫存器也可以用來儲存資料,但它們與指令集和執行管道都有關係,因此它們非常適合包含位址和用於計算位址的資訊。它們也非常適合於計算分支條件和目標,因此填補了xtensa指令集中通用暫存器的角色。對ar暫存器檔案的讀寫始終由硬體聯鎖。它們不需要任何同步指令。

這些暫存器常見的作用是:

暫存器描述

a0返回位址

a1棧指標

a2~a7

引數a7

被呼叫方的堆疊幀指標(可選)

a8靜態鏈結

a15堆疊幀指標

注:復位後ar暫存器檔案的內容未定義。

4)sar 暫存器: shifts and the shift amount register,移位和移位量暫存器,取值範圍是0~32.

5)exccause 暫存器: exception cause register,異常原因暫存器。

6)excvaddr 暫存器:exception virtual address register異常虛擬位址(excvaddr)暫存器包含導致最近的獲取、載入或儲存異常的虛擬位元組位址。

處理器復位後,此暫存器未定義。因為excvaddr可能會因任何tlb未命中而改變,即使未命中完全由處理器硬體處理,依賴於它而不改變值的**必須通過僅對指令和資料訪問使用靜態轉換來保證沒有tlb未命中。(這個暫存器在出現程式異常時,定位錯誤很有幫助,比如,若出錯時該暫存器為0,則通常代表程式正在操作空指標)

8)迴圈特殊暫存器 loop special registers:共三個暫存器,用於控制零開銷迴圈。當pc到達lend時,它以lbeg代替執行,並遞減lcount。當lcount為零時,便不在進入迴圈。

lbeg 暫存器:loop begin,迴圈起始位址。

lend 暫存器:loop end,迴圈結束位址。

lcount 暫存器: loop count remaining,迴圈計數暫存器,當迴圈計數器達到0,迴圈就不會再發生了。

9)epc暫存器:exception program counter, (epc)異常程式計數器(epc)暫存器,包含指令的虛擬位元組位址,在1級中斷的情況下,該指令導致執行最近的異常或下一條指令。此指令尚未執行。在修復異常原因或處理並清除中斷後,軟體可以使用rfe指令在此位址重新啟動執行。此暫存器在過程或重置後未定義,其值可能隨時更改。

(路漫漫其修遠兮,學習硬體知識的道路是艱難滴,希望能和大家一起交流共勉,謝謝點讚或收藏)

CPU處理器架構

系統有x64,x86與ia 64三種版本之分,分別用於不同的cpu。較老的cpu只能安裝x86版的系統,也就是我們常見的32位系統。因為微軟的緣故,32位系統在過去的很長一段時間內,佔據著桌面計算機的主流地位。64位系統能夠在較新的x86 64架構的cpu上執行。而ia 64則只能執行於intel的...

常見處理器架構

intel 常見伺服器cpu分類。現在的處理器技術發展真是日新月異,上一代產品還沒被大家分清,馬上就要被下一代產品替代了。在這裡根據個人的一些了解,幫大家做個劃分。一,xeon 至強 目前全部intel ia架構的雙路,四路伺服器,全部在採用xeon 至強 cpu,它是基於x86架構的一種伺服器專用...

處理器架構簡介

一 主要有如下架構 1 ia 32架構 英特爾32位元架構 英語 intel architecture,32 bit,縮寫為ia 32 常被稱為i386 x86 32或是x86,由英特爾公司推出的指令集架構,至今英特爾最受歡迎的處理器仍然採用此架構。它是x86架構的32位元延伸版本,首次應用在int...