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

下載本文檔

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

文檔簡介

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

3.2尋址方式

3.3C28xDSP指令系統(tǒng)

3/4/20231C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第1頁!3.1中央處理器

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

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

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

Timers(3)32x32bit

MultiplierRMWAtomicALU

MostC/C++Efficient32-bitDSPCoreCodepatiblewiththeTMS320C24x?DSPfamily3/4/20235C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第5頁!多總線的結(jié)構(gòu)使C28x能夠?qū)崿F(xiàn)流水線的指令執(zhí)行機(jī)制。采用流水線機(jī)制可以大大加快指令執(zhí)行速度,實(shí)現(xiàn)指令的執(zhí)行在單機(jī)器周期內(nèi)完成。C28x采用了8級流水線。(1)取指令階段1:指令地址通過22位總線PAB送往程序存儲器。(2)取指令階段2:通過32位總線PRDB讀程序存儲器,放入指令隊(duì)列。(3)譯碼階段1:CPU硬件識別取指隊(duì)列中指令的邊界,并測定下一條待執(zhí)行指令的長度。(4)譯碼階段2:CPU硬件從取指隊(duì)列中取回指令,并將該指令放入指令寄存器,譯碼。(5)讀階段1:從存儲器中讀取數(shù)據(jù)時(shí),把地址送到相應(yīng)的地址總線上。(6)讀階段2:硬件通過數(shù)據(jù)總線取回讀階段1所尋址的存儲器內(nèi)的數(shù)據(jù)。(7)執(zhí)行階段:CPU執(zhí)行乘法、移位和ALU操作,包括算術(shù)和邏輯操作。(8)寫階段:需要時(shí),將指令執(zhí)行的結(jié)果寫回存儲器。3/4/20236C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第6頁!C28xDSP的CPU寄存器

3/4/20237C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第7頁!乘數(shù)寄存器XT的分半單獨(dú)存取結(jié)構(gòu)

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

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

3/4/20238C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第8頁!數(shù)據(jù)存儲器的數(shù)據(jù)頁

3/4/20239C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第9頁!(5)輔助寄存器(XAR0~XAR7、AR0~AR7)XAR0~XAR7寄存器

3/4/202310C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第10頁!(9)狀態(tài)寄存器(ST0,STl)

C28xCPU有兩個(gè)重要的狀態(tài)寄存器:ST0和ST1,其中包含著不同的標(biāo)志位和控制位。ST0包含指令操作所使用或影響的控制或標(biāo)志位,如溢出、進(jìn)位、符號擴(kuò)展等。ST1則主要包含一些特殊的控制位,如處理器的兼容模式選擇、尋址模式配置等。3/4/202311C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第11頁!狀態(tài)寄存器ST1·ARP:輔助寄存器指針?!F:XF狀態(tài)位。該位用于控制輸出引腳XF的狀態(tài)?!0M1MAP:存儲器M0和M1映射模式位?!BJMODE:目標(biāo)兼容模式位。用來在C27x目標(biāo)模式(=0)和C28x目標(biāo)模式(=1)之間進(jìn)行選擇?!MODE:尋址模式位。在C28x尋址模式(AMODE=0)和C2xLP尋址模式(AMODE=1)之間進(jìn)行選擇。3/4/202312C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第12頁!3.2尋址方式

3.2.1尋址方式概述C28xCPU四種基本尋址方式:直接尋址、堆棧尋址、間接尋址和寄存器尋址還有數(shù)據(jù)/程序/IO空間立即尋址方式或程序空間間接尋址方式。1.尋址方式分類3/4/202313C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第13頁!匯編器/編譯器對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兼容尋址方式)3/4/202314C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第14頁!3.2.3堆棧尋址方式堆棧尋址方式操作數(shù)在堆棧中,操作數(shù)物理地址由堆棧指針SP給出。C28x的軟件堆棧從存儲器的低地址變化到高地址,堆棧指針總是指向下一個(gè)位置。在指令中提供6位的偏移量,表明數(shù)據(jù)入棧或出棧時(shí),棧指針增加和減小值。3/4/202315C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第15頁!3.2.5寄存器尋址方式寄存器尋址方式操作數(shù)在寄存器中。寄存器尋址方式可分為32位和16位尋址方式。3/4/202316C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第16頁!3.2.7程序空間間接尋址方式程序空間間接尋址方式的訪問程序空間有3種語法:*AL、*XAR7和*XAR7++。3.2.8字節(jié)尋址方式與32位操作數(shù)的定位字節(jié)尋址方式

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

3/4/202317C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第17頁!32×32位乘法操作

直接存儲器操作

I/O空間操作

程序空間操作

跳轉(zhuǎn)/調(diào)用/返回操作

中斷寄存器操作

狀態(tài)位清零

其他操作

3/4/202318C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第18頁!F281xDSP的CPU單元結(jié)構(gòu)框圖3/4/202319C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第19頁!FastprogramexecutionoutofbothRAMand

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-MostIntegratedDualFunctionDigitalSignalController3/4/202320C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第20頁!2812DSP總線結(jié)構(gòu)多組總線并行機(jī)制。程序讀、數(shù)據(jù)讀、數(shù)據(jù)寫三種情況。內(nèi)部地址總線,三組

AddressBus:程序讀地址總線PAB(ProgramAddressBus)(0:21)22根,4MW。數(shù)據(jù)讀地址總線DRAB(DataReadAddressBus)(0:31)32位。數(shù)據(jù)寫地址總線DWAB(DataWriteAddressBus)(0:31)。內(nèi)部數(shù)據(jù)總線:三組DataBus:程序讀數(shù)據(jù)總線PRDB(ProgramReadData

Bus)(0:31)。數(shù)據(jù)讀數(shù)據(jù)總線DRDB(0:31)。數(shù)據(jù)/程序?qū)憯?shù)據(jù)總線DWDB(0:31)數(shù)據(jù)寫入DM和PM。外部16位數(shù)據(jù)總線Data(0:15)/19位地址總線Address(0:18)為單一形式。3/4/202321C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第21頁!2.CPU的寄存器累加器(ACC、AH、AL)乘數(shù)寄存器(XT、T、TL)和乘積寄存器(P、PH、PL)

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

堆棧指針(SP)

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

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

返回PC指針寄存器(RPC)

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

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

3/4/202322C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第22頁!累加器可以單獨(dú)存取的結(jié)構(gòu)

(1)累加器(ACC、AH、AL)3/4/202323C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第23頁!(3)數(shù)據(jù)頁指針寄存器(DP)

在直接尋址方式中,操作數(shù)的地址由兩部分組成:一個(gè)頁地址(DataPage)和一個(gè)頁內(nèi)的偏移量。C28x的數(shù)據(jù)存儲器每64個(gè)字構(gòu)成一個(gè)數(shù)據(jù)頁,這樣,4MW的數(shù)據(jù)存儲器共有65536個(gè)數(shù)據(jù)頁,用0~65535進(jìn)行標(biāo)號。在直接尋址方式下,當(dāng)前的頁地址存放于16位的數(shù)據(jù)頁指針寄存器(DP)中,可以通過給DP賦新值可改變數(shù)據(jù)頁號。當(dāng)CPU工作在C2xLP源兼容模式時(shí),使用一個(gè)7位的偏移量,并忽略DP寄存器的最低位。3/4/202324C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第24頁!(4)堆棧指針(SP)

堆棧指針(SP)允許在數(shù)據(jù)存儲器中使用軟件堆棧。堆棧指針為16位,可以對數(shù)據(jù)空間的低64K字(數(shù)據(jù)存儲器0000H~FFFFH)進(jìn)行尋址。3/4/202325C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第25頁!(6)程序計(jì)數(shù)器(PC)C28x的程序計(jì)數(shù)器(PC)是一個(gè)22位的寄存器,存放當(dāng)前CPU正在操作指令的地址。(7)返回PC指針寄存器(RPC)

(8)中斷控制寄存器(IFR、IER、DBGIER)有兩對長調(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é)束通過LRETR指令返回時(shí),存放在RPC內(nèi)的返回地址裝載到PC中,而壓入堆棧中的RPC的值從堆棧中裝載到RPC內(nèi)。3/4/202326C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第26頁!狀態(tài)寄存器ST0

·OVC/OVCU:溢出計(jì)數(shù)器?!M:乘積移位模式位?!:溢出標(biāo)志?!:負(fù)標(biāo)志位?!:零標(biāo)志?!:進(jìn)位位?!C:測試/控制標(biāo)志?!VM:溢出模式位?!XM:符號擴(kuò)展模式位。3/4/202327C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第27頁!·IDLESTAT:空閑狀態(tài)位?!ALLOW:仿真允許訪問使能位。為1,允許訪問?!OOP:循環(huán)指令狀態(tài)位?!PA:隊(duì)棧指針定位(StackPointerAlignment)位。·VMAP:向量映像(VectorMap)位?!BGM:調(diào)試使能屏蔽位。·INTM:中斷全局屏蔽位。為0,中斷使能。3/4/202328C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第28頁!2.尋址方式選擇位(AMODE)C28x的多數(shù)指令操作碼用8位字段來表示指令使用的尋址方式和所選尋址方式的相關(guān)信息。這8位操作碼信息受CPU的狀態(tài)寄存器ST1其中的尋址方式選擇位(AMODE)的影響。同一指令,AMODE的取值不同,指令操作碼中對應(yīng)尋址的8位操作碼不同。AMODE=0.復(fù)位默認(rèn)方式,C28x的C/C++編譯器使用的方式。這種方式與C2xLPCPU的尋址方式不完全兼容,數(shù)據(jù)頁指針偏移量為6位(C2xLP中為7位)。AMODE=1.這種方式與C2xLPCPU的尋址方式完全兼容,數(shù)據(jù)頁指針偏移量為7位。3/4/202329C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第29頁!3.2.2直接尋址方式直接尋址方式操作數(shù)的22位物理地址被分成兩部分,16位的數(shù)據(jù)頁指針(DP)寄存器作為固定的頁指針,指令中提供6位或7位的偏移量,這些偏移量與DP中的值一起確定操作數(shù)的地址。3/4/202330C28xDSP的CPU與指令系統(tǒng)共34頁,您現(xiàn)在瀏覽的是第30頁!

溫馨提示

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

評論

0/150

提交評論