DSP學(xué)習(xí) 2 CPU內(nèi)部結(jié)構(gòu)_第1頁
DSP學(xué)習(xí) 2 CPU內(nèi)部結(jié)構(gòu)_第2頁
DSP學(xué)習(xí) 2 CPU內(nèi)部結(jié)構(gòu)_第3頁
DSP學(xué)習(xí) 2 CPU內(nèi)部結(jié)構(gòu)_第4頁
DSP學(xué)習(xí) 2 CPU內(nèi)部結(jié)構(gòu)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)1一、中央處理單元CPU概述二、CPU結(jié)構(gòu)及總線三、CPU寄存器第二章(1)CPU內(nèi)部結(jié)構(gòu)第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)2兼容性在TMS320C2000系列中,CPU內(nèi)核為:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x這些CPU的硬件結(jié)構(gòu)有一定差別,指令集也不相同,但是,在C28x芯片中可以通過選擇兼容特性模式,使C28xCPU與C27xCPU及C2xLPCPU具有最佳兼容性??赏ㄟ^狀寄存器STl的位OBJMODE和位AMODE的組合,選定模式。

一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)3C28x芯片具有3種操作模式:▲C28x模式:在該模式中,用戶可以使用C28x的所有有效特性、尋址方式和指令系統(tǒng),因此,一般應(yīng)使C28x芯片工作于該種模式。

C27x目標(biāo)——兼容模式:在復(fù)位時,C28x的CPU處于C27x目標(biāo)-兼容模式。在該模式下,目標(biāo)碼與C27xCPU完全兼容,且它的循環(huán)—計數(shù)也與C27xCPU兼容。▲

C2xLP源——兼容模式:該模式允許用戶運(yùn)行C2xLP的源代碼,這些源代碼是用C28x代碼生成工具編譯生成的。兼容性一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)4▲

CPU

——產(chǎn)生數(shù)據(jù)和程序存儲地址:編碼和運(yùn)行指令;執(zhí)行算術(shù)、邏輯和移位操作;控制寄存器陣列內(nèi)的數(shù)據(jù)轉(zhuǎn)移、數(shù)據(jù)存儲和程序存儲等?!?/p>

仿真邏輯——監(jiān)視和控制DSP芯片內(nèi)不同部件的工作,并且測試設(shè)備的操作情況。▲

接口——產(chǎn)生存儲器和外圍設(shè)備的接口信號以及CPU的時鐘和控制信號,顯示CPU狀態(tài)、仿真邏輯信號以及正在使用的中斷情況。內(nèi)核組成:組成及特性一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)5CPU主要特性:▲

保護(hù)流水線:CPU具有八級流水線,可以避免從同一地址進(jìn)行讀寫而造成的秩序混亂?!?/p>

獨立寄存器空間:在CPU中含有一些被映像至數(shù)據(jù)空間的寄存器。這些寄存器可以作為系統(tǒng)控制寄存器、數(shù)學(xué)寄存器和數(shù)據(jù)指針。系統(tǒng)控制寄存器可由特殊的指令進(jìn)行操作,而其他寄存器則通過特殊指令或寄存器尋址模式來操作。▲

算術(shù)邏輯單元(ALU):32位的ALU完成二進(jìn)制補(bǔ)碼算術(shù)和布爾邏輯操作?!?/p>

地址寄存器算術(shù)單元(ARAU):ARAU產(chǎn)生數(shù)據(jù)存儲地址以及與ALU并行操作的增量和減量指針。▲

循環(huán)移位器:執(zhí)行最多16位的數(shù)據(jù)左移位和右移位操作?!?/p>

乘法器:執(zhí)行32位x32位的二進(jìn)制補(bǔ)碼乘法運(yùn)算,獲得64位的乘積。乘法可以在有符號數(shù)和無符號數(shù)之間進(jìn)行。一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)6CPU信號:▲

存儲器接口信號:這些信號在CPU、存儲器和外圍設(shè)備之間進(jìn)行數(shù)據(jù)傳送;進(jìn)行程序存儲器的訪問和數(shù)據(jù)存儲器的存?。徊⒛芨鶕?jù)不同的字段長度區(qū)分不同的存取操作(16位或32位)?!?/p>

時鐘和控制信號:這些信號為CPU和仿真邏輯提供時鐘,它們可以用來監(jiān)視和控制CPU?!?/p>

復(fù)位和中斷信號:這些信號用來產(chǎn)生硬件復(fù)位和中斷,并用來監(jiān)視中斷的狀態(tài)?!?/p>

仿真信號:這些信號用來仿真和調(diào)試。一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)7TMS320C2000系列內(nèi)部結(jié)構(gòu)芯片組成▲

特點

——32位定點改進(jìn)哈佛結(jié)構(gòu)循環(huán)的尋址方式?!?/p>

組成

——內(nèi)核存儲器片內(nèi)外設(shè)內(nèi)部結(jié)構(gòu)片內(nèi)外設(shè)片內(nèi)存儲器中斷處理程序和數(shù)據(jù)存儲邏輯乘法器桶形移位器地址寄存器算術(shù)單元算術(shù)邏輯單元內(nèi)核(紅框)可視化的實時仿真預(yù)取隊列指令譯碼程序和數(shù)據(jù)地址發(fā)生器二、CPU的結(jié)構(gòu)及總線第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)8CPU內(nèi)部結(jié)構(gòu)第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)9▲

存儲器接口有3組地址總線:

1.PAB(ProgramAddressBus)程序地址總線:PAB用來傳送來自程序空間的讀寫地址。PAB是一個22位的總線。

2.DRAB(Data-ReadAddressBus)數(shù)據(jù)讀地址總線:

32位的DRAB用來傳送來自數(shù)據(jù)空間的讀地址。

3.DWAB(Data-WriteAddressBus)數(shù)據(jù)寫地址總線:

32位的DWAB用來傳送來自數(shù)據(jù)空間的寫地址?!?/p>

存儲器接口還有3組數(shù)據(jù)總線:

1.PRDB(Program-ReadDataBus)程序讀數(shù)據(jù)總線:PRDB在讀取程序空間時用來傳送指令或數(shù)據(jù)。PRDB是一個32位的總線。2.DRDB(Data-ReadDataBus)數(shù)據(jù)讀數(shù)據(jù)總線:

DRDB在讀取數(shù)據(jù)空間時用來傳送數(shù)據(jù)。DRDB是一個32位的總線。

3.DWDB(Data/Program-WriteDataBus)數(shù)據(jù)/程序?qū)憯?shù)據(jù)總線:

32位的DWDB在對數(shù)據(jù)空間和程序空間寫數(shù)據(jù)時用來傳送數(shù)據(jù)。地址和數(shù)據(jù)總線二、CPU的結(jié)構(gòu)及總線第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)10▲

注意:程序空間的讀和寫不能同時發(fā)生,因為它們都要使用程序地址總線PAB。程序空間的寫和數(shù)據(jù)空間的寫也不能同時發(fā)生,因為兩者都要使用數(shù)據(jù)/程序?qū)憯?shù)據(jù)總線DWDB。而運(yùn)用不同總線的傳輸是可以同時發(fā)生的。如:CPU可以在程序空間完成讀操作(使用PAB和PRDB),在數(shù)據(jù)空間完成讀操作(使用DRAB和DRDB),

同時在數(shù)據(jù)空間進(jìn)行寫操作(使用DWAB和DWDB)。二、CPU

的結(jié)構(gòu)及總線第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)11三、CPU寄存器寄存器大小描述復(fù)位后結(jié)果ACC(AH,AL)32位累加器0x00000000XAR0~732位輔助寄存器0~70x00000000AR0~716位輔助寄存器XAR0~7的低16位0x0000DP16位數(shù)據(jù)頁指針0x0000IFR16位中斷標(biāo)志寄存器0x0000IER16位允許中斷寄存器0x0000DBGIER16位允許中斷調(diào)試寄存器0x0000P(PH,PL)32位乘積結(jié)果寄存器0x00000000PC22位程序計數(shù)器0x3F_FFC0PAB是22位的第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)12三、CPU寄存器寄存器大小描述復(fù)位后結(jié)果RPC22位返回程序計數(shù)器0x00000000SP16位堆棧指針0x400ST016位狀態(tài)寄存器00x0000ST116位狀態(tài)寄存器10x080BXT(T,TL)32位被乘數(shù)寄存器0x00000000第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)13累加器(ACC、AH、AL)累加器(ACC)是CPU的主要工作寄存器。除了那些對存儲器和寄存器的直接操作外,所有的ALU操作結(jié)果最終都要送入ACC。ACC支持單周期數(shù)據(jù)傳送、加法、減法和來自數(shù)據(jù)存儲器的寬度為32位的比較運(yùn)算,它也可以接受32位乘法操作的運(yùn)算結(jié)果。對ACC可以單獨進(jìn)行16位/8位的訪問。累加器還具有如下的相關(guān)狀態(tài)位。1.溢出模式位(OVM)2.符號擴(kuò)展模式位(SXM)3.測試/控制標(biāo)志位(TC)4.進(jìn)位位(C)5.零標(biāo)志位(Z)6.負(fù)標(biāo)志位(N)7.鎖閉溢出標(biāo)志位(V)8.溢出計數(shù)位(OVC)三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)14被乘數(shù)寄存器(XT)

被乘數(shù)寄存器(XT寄存器)主要用于在32位乘法操作之前,存放一個32位有符號整數(shù)值。XT寄存器的低16位部分是TL寄存器。該寄存器能裝載一個16位有符號數(shù),能自動對該數(shù)進(jìn)行符號擴(kuò)展,然后將其送人32位XT寄存器。XT寄存器的高16位部分是T寄存器。該寄存器主要用來存儲16位乘法操作之前的16位整數(shù)值。T寄存器也可以為一些移位操作設(shè)定移位值,在這種情況下,根據(jù)指令,只可以使用T寄存器的一部分。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)15乘積結(jié)果寄存器(P、PH、PL)乘積寄存器P主要用來存放乘法運(yùn)算的結(jié)果。它也可以直接裝入一個16位常數(shù),或者從一個16位/32位的數(shù)據(jù)存儲器、16位/32位的可尋址CPU寄存器以及32位累加器中讀取數(shù)據(jù)。P寄存器可以作為一個32位寄存器或兩個獨立的16位寄存器:PH(高16位)和PL(低16位)來使用。數(shù)據(jù)頁指針(DP)在直接尋址模式中,對數(shù)據(jù)存儲器的尋址要在64個字(即一個頁面為64個字)的數(shù)據(jù)頁中進(jìn)行。由低4兆字的數(shù)據(jù)存儲器組成65536個數(shù)據(jù)頁,用0—65535進(jìn)行標(biāo)號。在DP直接尋址模式下,16位的數(shù)據(jù)頁指針(DP)包含了目前的數(shù)據(jù)頁數(shù)??梢酝ㄟ^給DP賦新值去改變數(shù)據(jù)頁號。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)16堆棧指針(SP)堆棧指針(SP)允許在數(shù)據(jù)存儲器中使用軟件堆棧。堆棧指針為16位,可以對數(shù)據(jù)空間的低64K進(jìn)行尋址。當(dāng)使用SP時,將32位地址的高16位置為0。復(fù)位后SP指向地址00000400h。堆棧操作說明如下:1.堆棧從低地址向高地址增長。2.SP總是指向堆棧中的下一個空域。3.復(fù)位時,SP被初始化,它指向地址00000400h。4.將32位數(shù)值存入堆棧時,先存入低16位,然后將高16位存入下一個高地址中。5.當(dāng)讀寫32位的數(shù)值時,C28xCPU期望存儲器或外設(shè)接口邏輯把讀寫排成偶數(shù)地址。例如,如果SP包含一個奇數(shù)地址00000083h,那么,進(jìn)行一個32位的讀操作時,將從地址00000082h和00000083h中讀取數(shù)值。6.如果增加SP的值,使它超過FFFFh,或者減少SP的值,使它低于0000h,則表明SP已經(jīng)溢出。如果增加SP的值使它超過了FFFFh,它就會從0000h開始計數(shù)。例如,如果SP=FFFFh而—個指令又向SP加3,則結(jié)果就是00001h。當(dāng)減少SP的值使它到達(dá)0000h,它就會重新從FFFFh計數(shù)。例如,如果SP=0002h而一個指令又從SP減4,則結(jié)果就是FFFFh。

7.當(dāng)數(shù)值存入堆棧時,SP并不要求排成奇數(shù)或偶數(shù)地址。排列由存儲器或外設(shè)接口邏輯完成。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)17輔助寄存器(XAR0~XAR7、AR0~AR7)

CPU提供8個32位的輔助寄存器:XAR0、XARI、XAR2、XAR3、XAR4、XAR5、XAR6、XAR7。它們可以作為地址指針指向存儲器,或者作為通用目的寄存器使用。許多指令可以訪問XAR0-XAR7的低16位,其中,輔助寄存器的低16位為AR0-AR7,它們用作循環(huán)控制和16位比較的通用目的寄存器。當(dāng)訪問AR0-AR7時,寄存器的高16位(AROH-AR7H)可能改變或不改變,這主要取決于所應(yīng)用的指令。AR0H-AR7H只能作為XAR0-XAR7的一部分來讀取,不能單獨進(jìn)行訪問。

三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)18程序計數(shù)器(PC)當(dāng)流水線滿的時候,22位的程序指針總是指向當(dāng)前操作的指令,該指令剛剛到達(dá)流水線解碼的第二階段。一旦指令到達(dá)了流水線的這一階段,它就不會再被中斷從流水線中清除掉,而是在中斷執(zhí)行之前就被執(zhí)行了。返回程序寄存器(RPC)當(dāng)通過LCR指令執(zhí)行一個調(diào)用操作時,返回地址存儲在RPC寄存器中,RPC以前的值存在堆棧中(在兩個16位的操作中)。當(dāng)通過LRETR指令執(zhí)行一個返回操作時,返回地址從RPC寄存器中讀出,堆棧中的值被寫回RPC寄存器(在兩個16位的操作中)。其他的調(diào)用指令并不使用RPC寄存器。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)19中斷控制寄存器(1FR、IER、DBGIER)

C28x有3個寄存器用于控制中斷:中斷標(biāo)志寄存器(1FR)、中斷使能寄存器(1ER)和調(diào)試中斷使能寄存器(DBGIER)。IFR包含的標(biāo)志位用于可屏蔽中斷(可以用軟件進(jìn)行屏蔽)。當(dāng)通過硬件或軟件設(shè)定了其中某位時,則相應(yīng)的中斷就被使能。可以用IER中的相應(yīng)位屏蔽和使能中斷。當(dāng)DSP工作在實時仿真模式并且CPU被掛起時,DBGIER表明可以使用時間臨近中斷(如果被使能)。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)20

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

C28x有兩個狀態(tài)寄存器ST0和STl,其中包含著不同的標(biāo)志位和控制位。這些寄存器可以和數(shù)據(jù)寄存器交換數(shù)據(jù),也可以保存機(jī)器的狀態(tài)和為子程序恢復(fù)狀態(tài)。狀態(tài)位根據(jù)流水線中位值的改變而改變,ST0的位在流水線的執(zhí)行階段中改變,STl的位在流水線的解碼2階段中改變。下圖表示了狀態(tài)寄存器ST0的各位。所有這些位都可以在流水線執(zhí)行的過程中進(jìn)行更改。三、CPU寄存器

狀態(tài)寄存器(ST1)下圖表示了狀態(tài)寄存器各位,所有這些位都可以在流水線的第二譯碼階段進(jìn)行改變。第2章CPU內(nèi)部結(jié)構(gòu)與時鐘系統(tǒng)21▲

均為16位寄存器,有標(biāo)志位和控制位,保存在數(shù)據(jù)存儲器中。▲

讀寫指令:LSTSSTSETCCLRC。

狀態(tài)寄存器ST0和ST1ST0ST1OVC/OVCUPMNTCOVMD15~D10D9~D7D6D5D4D3D2D1D0ARPMOM1MAP保留OBJMODEAMODESPAD7D6D5D4D3D2D1D0XFIDLESTATEALLOWLOOPVMAPPAGE0BGMVZCSXMD15~D13D12D11

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論