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