Tensilica 是一個迅速成長的公司,公司主要產品是在專業性應用程式微處理器上,為現今高容量嵌入式系統提供最優良的解決方案,公司成立于1997年7月,該公司的投資者包括三家聲名卓著的創投公司:Oak Investment Partners, Worldview Technology Partners 和 Foundation Capital, 與高科技電子業內著名的五家公司:Cisco Systems,Inc,Matsushita Electric Industrial Company Ltd, Altera Corporation,NEC Corporation 和 Conexant Systems,Tensilica的創始人為Chris Rowen,同時也是第一任CEO,他原來曾任職于Intel,Stanford,MIPS,SGI和Synopsys,同時他也是可重構處理思想的提出者和實踐者,Tensilica公司創立的目的則是提供一種可以實作可重構的、核基于ASIC的、擁有對應軟體開發工具的專用微處理器解決方法,
其HIFI系列產品的主要應用包括:

1.暫存器window的 概念可以將物理暫存器和邏輯暫存器(ISA暫存器)分離開來,在設計上增加了一層抽象,可以避免在函式呼叫的時候頻繁的壓堆疊和出堆疊操作,下圖展示在64個物理暫存器上實作的暫存器視窗,雖然ISA僅僅定義了16個AR暫存器,但是實際微架構設計時不限物理暫存器的數量的,當然,成本是隨著微架構暫存器的數目增加而增加的,

更具體的一個映射的例子:

物理暫存器數量是有限的,如果嵌套多層呼叫call4/8/12,則一定會發生覆寫原來暫存器視窗的情況,覆寫發生時,Xtensa通過暫存器視窗例外來處理這種情況,暫存器視窗機制中,任何地方參考a0-a3都不會產生register window例外,用戶在c或者匯編代碼里面可以任意使用,因為在任意環境里,當前邏輯視窗的暫存器,要么無覆寫發生,要么已經在call/entry指令中進行了壓堆疊保存,a4-a15的高位暫存器參考會觸發低位暫存器的覆寫檢測,哪怕沒有顯示的使用低位暫存器,觸發的順序是先進行overflow4,然后overflow8至overflow12.
entry指令的執行偽碼:

2.ESP32和HIFI3/4/5的區別

HIFI3/4/5的ISA是一樣的,區別可能在于資源的數量,


總結:
- HIFI系列在Xtensa核心的基礎上,集成了DSP Extensions,比如集成VLIW計算單元加速各種DSP操作等等,ESP32核心則沒有這些擴展,
- ESP32和HIFI系列的base ISA部分應該是一樣的,這有點類似于RISCV ISA RV32I/64I extensions的設計,但是,Base ISA相同并不表示處理器的特性是完全一樣的,尤其是Xtensa這種支持可重構的處理器設計架構,它非常容易擴展新的指令,所以HIFI系列作為xtensa core的DSP實作,一定在增加了支持fast DSP操作DSP指令,ESP32不是DSP,它沒有這些,
- ESP32確實有一些32bit mac單指令,比如單周期的乘累加指令,雖然也可以用它做一些DSP操作,但是這和HIFI核的做法是完全不一樣的,HIFI核基于硬體vector和VLIW的方式實作,是面向DSP處理的,性能肯定不在一個水平上,
- 實際上github上有一個專案,就是實作了一個用ESP32進行類似DSP操作的演算法庫,esp-dsp專案,
結束!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/260384.html
標籤:其他
下一篇:Java全堆疊學習路線
