dsPIC30F CPU 模塊采用16 位(數據)改良的哈佛架構,并帶有增強型指令集包含對DSP 的有力支持。 CPU 擁有24 位指令字,指令字帶有長度可變的操作碼字段。 程序計數器(PC)為24位寬,可以尋址高達4M × 24 位的用戶程序存儲器空間。 單周期指令預取機制用來幫助維持吞吐量并提供可預測的執(zhí)行。 除了改變程序流的指令、雙字移動(MOV.D)指令和表指令以外,所有指令都在單個周期內執(zhí)行。 使用DO 和REPEAT 指令支持無開銷的程序循環(huán)結構,這兩個指令在任何時候都可被中斷。
  dsPIC30F 器件在編程模型中有16 個16 位工作寄存器。 每個工作寄存器都可以充當數據、地址或地址偏移寄存器。 第16 個工作寄存器(W15)作為軟件堆棧的指針工作,用于中斷和調用。dsPIC30F 指令集有兩類指令:MCU 類指令和DSP 類指令。 這兩類指令無縫地集成到架構中并從同一個執(zhí)行單元執(zhí)行。 指令集包括很多尋址模式,指令的設置可使C 編譯器的效率達到最優(yōu)。數據空間可以作為32K 字或64K 字節(jié)尋址,并被分成兩塊,稱為X 和Y 數據存儲器。 每個存儲器塊有各自獨立的地址發(fā)生單元(Address Generation Unit, AGU)。 MCU 類指令只通過X 存儲器AGU 進行操作,可將整個存儲器映射空間作為一個線性數據空間訪問。 某些DSP 指令通過X 和Y 的AGU 進行操作以支持雙操作數讀操作,這將數據地址空間分成兩個部分。
  X 和Y 數據空間的邊界視具體器件而定??梢赃x擇將數據空間存儲器映射空間的高32KB映射到由8位程序空間可視性頁(Program SpaceVisibility Page, PSVPAG)寄存器定義的任何16K 程序字邊界內的程序空間內。 程序空間到數據空間的映射功能讓任何指令都能象訪問數據空間一樣訪問程序空間。 另外,在帶有外部總線的器件上可將RAM 連接到程序存儲器總線用來擴展內部數據RAM。X 和Y 尋址空間都支持無開銷循環(huán)緩沖器(模尋址)。 模尋址省去了DSP 算法的軟件邊界檢查開銷。 此外,X AGU 的循環(huán)尋址可以與任何MCU 類指令一起使用。 X AGU 還支持位反轉尋址,大幅簡化了基2 FFT 算法對輸入或輸出數據的重新排序。
  CPU 支持固有(無操作數)、相對、立即數、存儲器直接、寄存器直接和寄存器間接尋址模式。每條指令根據其功能要求,與一個預定義的尋址模式組相關。 每條指令最多支持6 種尋址模式。對于大多數指令,在每個指令周期dsPIC30F 能執(zhí)行一次數據(或程序數據)存儲器讀操作、一次工作寄存器(數據)讀操作、一次數據存儲器寫操作和一次程序(指令)存儲器讀操作。因此可以支持3 個操作數的指令,使A+B=C 操作能在單周期內執(zhí)行。
  DSP 引擎具備一個高速17 位× 17 位乘法器、一個40 位ALU、兩個40 位飽和累加器和一個40位雙向桶形移位寄存器。 該桶形移位寄存器在單個周期內至多可將一個40 位的值右移15 位或左移16 位。 DSP 指令可以無縫地與所有其他指令一起操作,其設計可實現最佳的實時性能。 MAC指令和其他相關指令可以同時從存儲器中取出兩個數據操作數并將兩個W寄存器相乘。 這要求數據空間對于這些指令拆分為兩塊,但對所有其他指令保持線性。 這是通過為每個地址空間指定某些工作寄存器,以透明和靈活的方式實現的。
  dsPIC30F 具有向量異常(exception)機制,帶有多達8 個不可屏蔽陷阱源和54 個中斷源。 可以為每個中斷源分配7 個優(yōu)先級之一。
深圳市
 
深圳耐斯迪芯片解密事業(yè)部提供各種芯片解密、單片機破解服務,歡迎來電咨詢。