C28xDSP的CPU與指令系統(tǒng)課件_第1頁(yè)
C28xDSP的CPU與指令系統(tǒng)課件_第2頁(yè)
C28xDSP的CPU與指令系統(tǒng)課件_第3頁(yè)
C28xDSP的CPU與指令系統(tǒng)課件_第4頁(yè)
C28xDSP的CPU與指令系統(tǒng)課件_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章C28xDSP的CPU與指令系統(tǒng)本章內(nèi)容:3.1中央處理器

3.2尋址方式

3.3C28xDSP指令系統(tǒng)

4/2/202313.1中央處理器

C28xDSP的中央處理器(CPU)結(jié)構(gòu)包括三個(gè)部分:CPU內(nèi)核、仿真邏輯單元和CPU信號(hào)。C28xCPU組成概念框圖

1.CPU結(jié)構(gòu)4/2/20232仿真邏輯單元的主要功能是監(jiān)視和控制CPU以及其他外設(shè)的工作情況,并實(shí)現(xiàn)對(duì)設(shè)備的測(cè)試和調(diào)試功能。CPU的信號(hào)主要包括4種:①存儲(chǔ)器接口信號(hào)②時(shí)鐘和控制信號(hào)③復(fù)位和中斷信號(hào)④仿真信號(hào)4/2/20233C28x的CPU主要由總線、CPU寄存器、程序地址發(fā)生器和控制邏輯、地址寄存器算術(shù)單元(ARAU)、算術(shù)邏輯單元(ALU)、乘法器和移位器等邏輯部件組成,還包括指令隊(duì)列和指令譯碼單元、中斷處理邏輯等。ALU為32位的運(yùn)算邏輯單元,主要執(zhí)行算術(shù)運(yùn)算和布爾運(yùn)算。在運(yùn)算之前,ALU從寄存器、數(shù)據(jù)存儲(chǔ)器或程序控制邏輯單元接收數(shù)據(jù),然后進(jìn)行運(yùn)算,最后把結(jié)果存入寄存器或數(shù)據(jù)存儲(chǔ)器中。32位的乘法器,可執(zhí)行32×32位的補(bǔ)碼乘法,并產(chǎn)生64位的結(jié)果。乘法器采用32位乘數(shù)寄存器(XT,)、32位乘積寄存器(P)和32位累加器(ACC)。CPU的移位器實(shí)現(xiàn)對(duì)操作數(shù)的移位操作。4/2/20235FastprogramexecutionoutofbothRAMand

Flashmemory100-120MIPSwithFlashAccelerationTechnology150MIPSoutofRAMfortime-criticalcode

ControlPeripherals

MemorySub-SystemEventManagersUltra-Fast12-bitADC12.5MSPSthroughputDualsample&holdsenablesimultaneoussamplingAutoSequencer,upto16conversionsw/oCPUControlPortsMultiplestandardcommunicationportsprovidesimpleinterfacestoothercomponentsCommunicationsPorts150MIPSperformanceSinglecycle32x32-bitMAC(ordual16x16MAC)VeryFastInterruptResponseSinglecycleread-modified-writeF24x/LF240xSourceCodeCompatibleHigh-PerformanceCPU(C28xTMDSPCore)MemoryBus128KwFlash+2KwOTP4KwBootROM18KwRAMCodesecurityXINTF32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)150MIPsC28xTM32-bitDSP32x32-bit

MultiplierRMWAtomicALU

InterruptManagementEventMgrAEventMgrB12-BitADCWatchdogGPIOMcBSPCAN2.0BSCI-UARTASCI-UARTBSPIPeripheralBusTMS320F2812/TMS320F2810

MostPowerful-MostIntegratedDualFunctionDigitalSignalController4/2/20236Fast&flexibleinterruptmanagementsignificantlyreduceinterruptlatencySingle-cycle32-bitmultipliermakescomputationallyintensivecontrolalgorithmsmoreefficient

C28xTMDSPCoreThree32-bittimerssupportmultiplecontrolloops/timebases.Singlecycleread-modified-writeinanymemorylocationand32-bitregistersimprovecontrolalgorithmefficiencyReal-timeJTAGdebugshortensdevelopmentcycleC28xTM32-bitDSPInterruptManagement32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)32x32bit

MultiplierRMWAtomicALU

MostC/C++Efficient32-bitDSPCoreCodecompatiblewiththeTMS320C24x?DSPfamily4/2/20237多總線的結(jié)構(gòu)使C28x能夠?qū)崿F(xiàn)流水線的指令執(zhí)行機(jī)制。采用流水線機(jī)制可以大大加快指令執(zhí)行速度,實(shí)現(xiàn)指令的執(zhí)行在單機(jī)器周期內(nèi)完成。C28x采用了8級(jí)流水線。(1)取指令階段1:指令地址通過(guò)22位總線PAB送往程序存儲(chǔ)器。(2)取指令階段2:通過(guò)32位總線PRDB讀程序存儲(chǔ)器,放入指令隊(duì)列。(3)譯碼階段1:CPU硬件識(shí)別取指隊(duì)列中指令的邊界,并測(cè)定下一條待執(zhí)行指令的長(zhǎng)度。(4)譯碼階段2:CPU硬件從取指隊(duì)列中取回指令,并將該指令放入指令寄存器,譯碼。(5)讀階段1:從存儲(chǔ)器中讀取數(shù)據(jù)時(shí),把地址送到相應(yīng)的地址總線上。(6)讀階段2:硬件通過(guò)數(shù)據(jù)總線取回讀階段1所尋址的存儲(chǔ)器內(nèi)的數(shù)據(jù)。(7)執(zhí)行階段:CPU執(zhí)行乘法、移位和ALU操作,包括算術(shù)和邏輯操作。(8)寫(xiě)階段:需要時(shí),將指令執(zhí)行的結(jié)果寫(xiě)回存儲(chǔ)器。4/2/202392.CPU的寄存器累加器(ACC、AH、AL)乘數(shù)寄存器(XT、T、TL)和乘積寄存器(P、PH、PL)

數(shù)據(jù)頁(yè)指針寄存器(DP)

堆棧指針(SP)

輔助寄存器(XAR0~XAR7、AR0~AR7)

程序計(jì)數(shù)器(PC)

返回PC指針寄存器(RPC)

中斷控制寄存器(IFR、IER、DBGIER)

狀態(tài)寄存器(ST0,STl)

4/2/202310C28xDSP的CPU寄存器

4/2/202311乘數(shù)寄存器XT的分半單獨(dú)存取結(jié)構(gòu)

P寄存器的分半單獨(dú)存取結(jié)構(gòu)

(2)乘數(shù)寄存器(XT、T、TL)和乘積寄存器(P、PH、PL)

4/2/202313(3)數(shù)據(jù)頁(yè)指針寄存器(DP)

在直接尋址方式中,操作數(shù)的地址由兩部分組成:一個(gè)頁(yè)地址(DataPage)和一個(gè)頁(yè)內(nèi)的偏移量。C28x的數(shù)據(jù)存儲(chǔ)器每64個(gè)字構(gòu)成一個(gè)數(shù)據(jù)頁(yè),這樣,4MW的數(shù)據(jù)存儲(chǔ)器共有65536個(gè)數(shù)據(jù)頁(yè),用0~65535進(jìn)行標(biāo)號(hào)。在直接尋址方式下,當(dāng)前的頁(yè)地址存放于16位的數(shù)據(jù)頁(yè)指針寄存器(DP)中,可以通過(guò)給DP賦新值可改變數(shù)據(jù)頁(yè)號(hào)。當(dāng)CPU工作在C2xLP源兼容模式時(shí),使用一個(gè)7位的偏移量,并忽略DP寄存器的最低位。4/2/202314數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)頁(yè)

4/2/202315(5)輔助寄存器(XAR0~XAR7、AR0~AR7)XAR0~XAR7寄存器

4/2/202317(6)程序計(jì)數(shù)器(PC)C28x的程序計(jì)數(shù)器(PC)是一個(gè)22位的寄存器,存放當(dāng)前CPU正在操作指令的地址。(7)返回PC指針寄存器(RPC)

(8)中斷控制寄存器(IFR、IER、DBGIER)有兩對(duì)長(zhǎng)調(diào)用指令:LC和LRET,LCR和LRETR。LCR和LRETR執(zhí)行效率更高,只有LCR和LRETR指令使用RPC。當(dāng)使用LCR指令時(shí),當(dāng)前RPC的值被壓入堆棧。返回地址將被裝載到RPC寄存器中,而22位的函數(shù)入口地址將被裝載到PC計(jì)數(shù)器,從而使流程轉(zhuǎn)入函數(shù)體中運(yùn)行。調(diào)用結(jié)束通過(guò)LRETR指令返回時(shí),存放在RPC內(nèi)的返回地址裝載到PC中,而壓入堆棧中的RPC的值從堆棧中裝載到RPC內(nèi)。4/2/202318(9)狀態(tài)寄存器(ST0,STl)

C28xCPU有兩個(gè)重要的狀態(tài)寄存器:ST0和ST1,其中包含著不同的標(biāo)志位和控制位。ST0包含指令操作所使用或影響的控制或標(biāo)志位,如溢出、進(jìn)位、符號(hào)擴(kuò)展等。ST1則主要包含一些特殊的控制位,如處理器的兼容模式選擇、尋址模式配置等。4/2/202319狀態(tài)寄存器ST1·ARP:輔助寄存器指針?!F:XF狀態(tài)位。該位用于控制輸出引腳XF的狀態(tài)。·M0M1MAP:存儲(chǔ)器M0和M1映射模式位?!BJMODE:目標(biāo)兼容模式位。用來(lái)在C27x目標(biāo)模式(=0)和C28x目標(biāo)模式(=1)之間進(jìn)行選擇?!MODE:尋址模式位。在C28x尋址模式(AMODE=0)和C2xLP尋址模式(AMODE=1)之間進(jìn)行選擇。4/2/202321·IDLESTAT:空閑狀態(tài)位?!ALLOW:仿真允許訪問(wèn)使能位。為1,允許訪問(wèn)?!OOP:循環(huán)指令狀態(tài)位?!PA:隊(duì)棧指針定位(StackPointerAlignment)位?!MAP:向量映像(VectorMap)位?!BGM:調(diào)試使能屏蔽位?!NTM:中斷全局屏蔽位。為0,中斷使能。4/2/2023223.2尋址方式

3.2.1尋址方式概述C28xCPU四種基本尋址方式:直接尋址、堆棧尋址、間接尋址和寄存器尋址還有數(shù)據(jù)/程序/IO空間立即尋址方式或程序空間間接尋址方式。1.尋址方式分類4/2/202323匯編器/編譯器對(duì)AMODE位的跟蹤C(jī)/C++編譯器是假定尋址方式設(shè)定在AMODE=0。匯編器可以按照命令行操作指定默認(rèn)狀態(tài)為AMODE=0或AMODE=1。-v28 ;假設(shè)AMODE=0(C28x尋址方式)-v28-m20 ;假設(shè)AMODE=1(C2xLP兼容尋址方式)匯編器還允許文件中嵌套指令改變尋址方式。.c28_amode ;告知匯編器后綴代碼為AMODE=0(C28x尋址方式).lp_amode ;告知匯編器后綴代碼為AMODE=1(C2xLP兼容尋址方式)4/2/2023253.2.2直接尋址方式直接尋址方式操作數(shù)的22位物理地址被分成兩部分,16位的數(shù)據(jù)頁(yè)指針(DP)寄存器作為固定的頁(yè)指針,指令中提供6位或7位的偏移量,這些偏移量與DP中的值一起確定操作數(shù)的地址。4/2/2023263.2.5寄存器尋址方式寄存器尋址方式操作數(shù)在寄存器中。寄存器尋址方式可分為32位和16位尋址方式。4/2/2023293.2.6數(shù)據(jù)/程序/IO空間立即尋址方式數(shù)據(jù)/程序/IO空間立即尋址方式有4種語(yǔ)法:*(0:16bit)、*(PA)、0:pma和*(pma)。4/2/2023303.2.7程序空間間接尋址方式程序空間間接尋址方式的訪問(wèn)程序空間有3種語(yǔ)法:*AL、*XAR7和*XAR7++。3.2.8字節(jié)尋址方式與32位操作數(shù)的定位字節(jié)尋址方式

32位操作數(shù)的定位

4/2/2023313.3C28xDSP指令系統(tǒng)

C28xDSP指令系統(tǒng)一覽表見(jiàn)教材。XARn寄存器(XAR0~XAR7)操作

DP寄存器操作

SP寄存器操作

AX寄存器操作(AH,AL)

16位ACC累加器操作

32位ACC累加器操作

64位ACC:P寄存器操作

P或XT寄存器操作(P,PH,PL,XT,T,TL)

16×16位乘法操作

4/2/202332

32×32位乘法操作

直接存儲(chǔ)器操作

I/O空間操作

程序空間操作

跳轉(zhuǎn)/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論