C28xDSP的CPU與指令系統(tǒng).ppt
2020/4/25,1,第3章C28xDSP的CPU與指令系統(tǒng),本章內(nèi)容:3.1中央處理器3.2尋址方式3.3C28xDSP指令系統(tǒng),2020/4/25,2,3.1中央處理器,C28xDSP的中央處理器(CPU)結(jié)構(gòu)包括三個部分:CPU內(nèi)核、仿真邏輯單元和CPU信號。,C28xCPU組成概念框圖,1.CPU結(jié)構(gòu),2020/4/25,3,仿真邏輯單元的主要功能是監(jiān)視和控制CPU以及其他外設(shè)的工作情況,并實現(xiàn)對設(shè)備的測試和調(diào)試功能。,CPU的信號主要包括4種:存儲器接口信號時鐘和控制信號復(fù)位和中斷信號仿真信號,2020/4/25,4,F281xDSP的CPU單元結(jié)構(gòu)框圖,2020/4/25,5,C28x的CPU主要由總線、CPU寄存器、程序地址發(fā)生器和控制邏輯、地址寄存器算術(shù)單元(ARAU)、算術(shù)邏輯單元(ALU)、乘法器和移位器等邏輯部件組成,還包括指令隊列和指令譯碼單元、中斷處理邏輯等。,ALU為32位的運算邏輯單元,主要執(zhí)行算術(shù)運算和布爾運算。在運算之前,ALU從寄存器、數(shù)據(jù)存儲器或程序控制邏輯單元接收數(shù)據(jù),然后進(jìn)行運算,最后把結(jié)果存入寄存器或數(shù)據(jù)存儲器中。,32位的乘法器,可執(zhí)行3232位的補碼乘法,并產(chǎn)生64位的結(jié)果。乘法器采用32位乘數(shù)寄存器(XT,)、32位乘積寄存器(P)和32位累加器(ACC)。CPU的移位器實現(xiàn)對操作數(shù)的移位操作。,2020/4/25,6,TMS320F2812/TMS320F2810MostPowerful-MostIntegratedDualFunctionDigitalSignalController,2020/4/25,7,Fast假設(shè)AMODE=0(C28x尋址方式)-v28-m20;假設(shè)AMODE=1(C2xLP兼容尋址方式)匯編器還允許文件中嵌套指令改變尋址方式。.c28_amode;告知匯編器后綴代碼為AMODE=0(C28x尋址方式).lp_amode;告知匯編器后綴代碼為AMODE=1(C2xLP兼容尋址方式),2020/4/25,26,3.2.2直接尋址方式,直接尋址方式操作數(shù)的22位物理地址被分成兩部分,16位的數(shù)據(jù)頁指針(DP)寄存器作為固定的頁指針,指令中提供6位或7位的偏移量,這些偏移量與DP中的值一起確定操作數(shù)的地址。,2020/4/25,27,3.2.3堆棧尋址方式,堆棧尋址方式操作數(shù)在堆棧中,操作數(shù)物理地址由堆棧指針SP給出。C28x的軟件堆棧從存儲器的低地址變化到高地址,堆棧指針總是指向下一個位置。在指令中提供6位的偏移量,表明數(shù)據(jù)入棧或出棧時,棧指針增加和減小值。,2020/4/25,28,3.2.4間接尋址方式,間接尋址方式,操作數(shù)物理地址存放在32位寄存器XAR0XAR7中。在C28x的間接尋址中所用的寄存器直接出現(xiàn)在指令中。在C2xLP的間接尋址中,由3位的輔助寄存器指針(ARP)選擇指令使用哪個輔助寄存器作為間接尋址寄存器。,2020/4/25,29,3.2.5寄存器尋址方式,寄存器尋址方式操作數(shù)在寄存器中。寄存器尋址方式可分為32位和16位尋址方式。,2020/4/25,30,3.2.6數(shù)據(jù)/程序/IO空間立即尋址方式,數(shù)據(jù)/程序/IO空間立即尋址方式有4種語法:*(0:16bit)、*(PA)、0:pma和*(pma)。,2020/4/25,31,3.2.7程序空間間接尋址方式,程序空間間接尋址方式的訪問程序空間有3種語法:*AL、*XAR7和*XAR7+。,3.2.8字節(jié)尋址方式與32位操作數(shù)的定位,字節(jié)尋址方式,32位操作數(shù)的定位,2020/4/25,32,3.3C28xDSP指令系統(tǒng),C28xDSP指令系統(tǒng)一覽表見教材。,XARn寄存器(XAR0XAR7)操作DP寄存器操作SP寄存器操作AX寄存器操作(AH,AL)16位ACC累加器操作32位ACC累加器操作64位ACC:P寄存器操作P或XT寄存器操作(P,PH,PL,XT,T,TL)1616位乘法操作,2020/4/25,33,3232位乘法操作直接存儲器操作I/O空間操作程序空間操作跳轉(zhuǎn)/調(diào)用/返回操作中斷寄存器操作狀態(tài)位清零其他操作,2020/4/25,34,思考題與習(xí)題,簡述C28xDSPCPU的組成。C28x的CPU有哪些寄存器?簡述C28xDSP的總線結(jié)構(gòu)。輔助寄存器有哪些?其作用是什么?狀態(tài)寄存器ST0,ST1的作用是什么?C28xDSP有哪些尋址方式?直接尋址方式中,數(shù)據(jù)存儲單元的地址是如何形成的?訪問片內(nèi)外設(shè)寄存器可以采用哪些尋址方式?C28xDSP有哪些類型的指令?舉例說明符號loc16和loc32在指令中的含義。,