第二章1-CPU內(nèi)部結(jié)構(gòu)_第1頁
第二章1-CPU內(nèi)部結(jié)構(gòu)_第2頁
第二章1-CPU內(nèi)部結(jié)構(gòu)_第3頁
第二章1-CPU內(nèi)部結(jié)構(gòu)_第4頁
第二章1-CPU內(nèi)部結(jié)構(gòu)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

在復(fù)位時(shí),C28x的CPU處于C27x目標(biāo)-兼容模式。在該模式下,目標(biāo)碼與C27xCPU完全兼容,且它的循環(huán)—計(jì)數(shù)也與C27xCPU兼容。允許用戶運(yùn)行C2xLP的源代碼,這些源代碼是用C28x代碼生成工具編譯生成的。▲C28x模式:▲

C27x目標(biāo)—兼容模式:▲

C2xLP源—兼容模式:通過狀寄存器ST1的位OBJMODE和位AMODE選定模式一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)▲

CPU

:產(chǎn)生數(shù)據(jù)和程序存儲(chǔ)地址:編碼和運(yùn)行指令;執(zhí)行算術(shù)、邏輯和移位操作;控制寄存器陣列內(nèi)的數(shù)據(jù)轉(zhuǎn)移、數(shù)據(jù)存儲(chǔ)和程序存儲(chǔ)等。內(nèi)核組成:組成及特性一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)CPU仿真邏輯存儲(chǔ)器接口信號(hào)時(shí)鐘和控制信號(hào)復(fù)位和中斷信號(hào)仿真信號(hào)C28xCPU核▲仿真邏輯:

監(jiān)視和控制DSP芯片內(nèi)不同部件的工作,并且測(cè)試設(shè)備的操作情況?!盘?hào)線:產(chǎn)生存儲(chǔ)器和外圍設(shè)備的接口信號(hào)以及CPU的時(shí)鐘和控制信號(hào),顯示CPU狀態(tài)、仿真邏輯信號(hào)以及正在使用的中斷情況。CPU主要特性:▲

保護(hù)流水線:八級(jí)流水線,可以避免從同一地址進(jìn)行讀寫而造成的秩序混亂。▲

獨(dú)立寄存器空間:在CPU中含有一些被映像至數(shù)據(jù)空間的寄存器,可以作

為系統(tǒng)控制寄存器、數(shù)學(xué)寄存器和數(shù)據(jù)指針。系統(tǒng)控制

寄存器可由特殊的指令進(jìn)行操作,而其他寄存器則通過

特殊指令或寄存器尋址模式來操作?!?/p>

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

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

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

乘法器:執(zhí)行32位x32位的二進(jìn)制補(bǔ)碼乘法運(yùn)算,獲得64位的乘積。乘法可以在有符號(hào)數(shù)和無符號(hào)數(shù)之間進(jìn)行。一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)CPU信號(hào):一、中央處理單元CPU概述第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)在CPU、存儲(chǔ)器和外圍設(shè)備之間進(jìn)行數(shù)據(jù)傳送;進(jìn)行程序存儲(chǔ)器的訪問和數(shù)據(jù)存儲(chǔ)器的存??;并能根據(jù)不同的字段長(zhǎng)度區(qū)分不同的存取操作(16位或32位)。為CPU和仿真邏輯提供時(shí)鐘,可以用來監(jiān)視和控制CPU。用來產(chǎn)生硬件復(fù)位和中斷,并用來監(jiān)視中斷的狀態(tài)。用來仿真和調(diào)試TMS320C2000系列內(nèi)部結(jié)構(gòu)芯片組成▲

特點(diǎn)

——32位定點(diǎn)改進(jìn)哈佛結(jié)構(gòu)循環(huán)的尋址方式。▲

組成

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

存儲(chǔ)器接口有3組地址總線

1.PAB(ProgramAddressBus)

22位。自程序空間,讀寫操作

地址。

2.DRAB(Data-ReadAddressBus)

32位。數(shù)據(jù)空間,讀操作地址。

3.DWAB(Data-WriteAddressBus)

32位。數(shù)據(jù)空間,寫操作地址。地址和數(shù)據(jù)總線二、CPU的結(jié)構(gòu)及總線第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)▲

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

1.PRDB(Program-ReadDataBus)

32位。讀取程序空間時(shí)用來傳送指令或數(shù)據(jù)。

2.DRDB(Data-ReadDataBus)

32位。讀取數(shù)據(jù)空間時(shí)用來傳送數(shù)據(jù)。

3.DWDB(Data/Program-WriteDataBus)

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

注意:

1.運(yùn)用不同總線的傳輸是可以同時(shí)發(fā)生的。

2.程序空間的讀和寫不能同時(shí)發(fā)生3.程序空間的寫和數(shù)據(jù)空間的寫不能同時(shí)發(fā)生二、CPU

的結(jié)構(gòu)及總線第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)三、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位程序計(jì)數(shù)器0x3F_FFC0PAB是22位的第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)三、CPU寄存器寄存器大小描述復(fù)位后結(jié)果RPC22位返回程序計(jì)數(shù)器0x00000000SP16位堆棧指針0x400ST016位狀態(tài)寄存器00x0000ST116位狀態(tài)寄存器10x080BXT(T,TL)32位被乘數(shù)寄存器0x00000000第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)累加器(ACC、AH、AL)三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)CPU的主要工作寄存器。ALU操作結(jié)果都要送入ACC(對(duì)存儲(chǔ)器和寄存器的直接操作例外)。支持單周期數(shù)據(jù)傳送、加法、減法和來自數(shù)據(jù)存儲(chǔ)器的寬度為32位的比較運(yùn)算,也可以接受32位乘法操作的運(yùn)算結(jié)果。

對(duì)ACC可以單獨(dú)進(jìn)行16位/8位的訪問。累加器還具有如下的相關(guān)狀態(tài)位。1.溢出模式位(OVM)2.符號(hào)擴(kuò)展模式位(SXM)3.測(cè)試/控制標(biāo)志位(TC)4.進(jìn)位位(C)5.零標(biāo)志位(Z)6.負(fù)標(biāo)志位(N)7.鎖閉溢出標(biāo)志位(V)8.溢出計(jì)數(shù)位(OVC)累加器(ACC、AH、AL)三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)被乘數(shù)寄存器(XT)

XT寄存器:

主要用于在32位乘法操作之前,存放一個(gè)32位有符號(hào)整數(shù)值。低16位部分是TL寄存器:裝載一個(gè)16位有符號(hào)數(shù),能自動(dòng)對(duì)該數(shù)進(jìn)行符號(hào)擴(kuò)展,然后將其送人32位XT寄存器。高16位部分是T寄存器:主要用來存儲(chǔ)16位乘法操作之前的16位整數(shù)值。也可以為一些移位操作設(shè)定移位值,在這種情況下,根據(jù)指令,只可以使用T寄存器的一部分。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)乘積結(jié)果寄存器(P、PH、PL)P主要用來存放乘法運(yùn)算的結(jié)果??梢灾苯友b入一個(gè)16位常數(shù)??梢詮?6位/32位的數(shù)據(jù)存儲(chǔ)器、16位/32位的可尋址CPU寄存器以及32位累加器中讀取數(shù)據(jù)??梢宰鳛橐粋€(gè)32位寄存器或兩個(gè)獨(dú)立的16位寄存器:PH(高16位)和PL(低16位)來使用。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)數(shù)據(jù)頁指針(DP)

在直接尋址模式中,對(duì)數(shù)據(jù)存儲(chǔ)器的尋址要在64個(gè)字(即一個(gè)頁面為64個(gè)字)的數(shù)據(jù)頁中進(jìn)行。由低4兆字的數(shù)據(jù)存儲(chǔ)器組成65536個(gè)數(shù)據(jù)頁,用0~65535進(jìn)行標(biāo)號(hào)。在DP直接尋址模式下,16位的數(shù)據(jù)頁指針(DP)包含了目前的數(shù)據(jù)頁數(shù)。可以通過給DP賦新值去改變數(shù)據(jù)頁號(hào)。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)堆棧指針(SP)堆棧指針(SP)允許在數(shù)據(jù)存儲(chǔ)器中使用軟件堆棧。堆棧指針為16位,可以對(duì)數(shù)據(jù)空間的低64K進(jìn)行尋址。當(dāng)使用SP時(shí),將32位地址的高16位置為0。復(fù)位后SP指向地址00000400h。堆棧操作說明如下:1.堆棧從低地址向高地址增長(zhǎng)。2.SP總是指向堆棧中的下一個(gè)空域。3.復(fù)位時(shí),SP被初始化,它指向地址00000400h。4.將32位數(shù)值存入堆棧時(shí),先存入低16位,然后將高16位存入下一個(gè)高地址中。5.當(dāng)讀寫32位的數(shù)值時(shí),C28xCPU期望存儲(chǔ)器或外設(shè)接口邏輯把讀寫排成偶數(shù)地址。例如,如果SP包含一個(gè)奇數(shù)地址00000083h,那么,進(jìn)行一個(gè)32位的讀操作時(shí),將從地址00000082h和00000083h中讀取數(shù)值。6.如果增加SP的值,使它超過FFFFh,或者減少SP的值,使它低于0000h,則表明SP已經(jīng)溢出。如果增加SP的值使它超過了FFFFh,它就會(huì)從0000h開始計(jì)數(shù)。例如,如果SP=FFFEh而—個(gè)指令又向SP加3,則結(jié)果就是00001h。當(dāng)減少SP的值使它到達(dá)0000h,它就會(huì)重新從FFFFh計(jì)數(shù)。例如,如果SP=0002h而一個(gè)指令又從SP減4,則結(jié)果就是FFFFh。

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

XAR0~XAR7:32位,可以作為地址指針指向存儲(chǔ)器,或者作為通用目的寄存器。AR0~AR7:XAR0~XAR7的低16位,可用作循環(huán)控制和16位比較的通用目的寄存器。訪問AR0~AR7時(shí),寄存器的高16位(AR0H-AR7H)可能改變或不改變,這主要取決于所應(yīng)用的指令。AR0H~AR7H只能作為XAR0~XAR7的一部分來讀取,不能單獨(dú)進(jìn)行訪問。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)程序計(jì)數(shù)器(PC)當(dāng)流水線滿的時(shí)候,22位的程序指針總是指向當(dāng)前操作的指令,該指令剛剛到達(dá)流水線解碼的第二階段。一旦指令到達(dá)了流水線的這一階段,它就不會(huì)再被中斷從流水線中清除掉,而是在中斷執(zhí)行之前就被執(zhí)行了。返回程序寄存器(RPC)當(dāng)通過LCR指令執(zhí)行一個(gè)調(diào)用操作時(shí),返回地址存儲(chǔ)在RPC寄存器中,RPC以前的值存在堆棧中(在兩個(gè)16位的操作中)。當(dāng)通過LRETR指令執(zhí)行一個(gè)返回操作時(shí),返回地址從RPC寄存器中讀出,堆棧中的值被寫回RPC寄存器(在兩個(gè)16位的操作中)。其他的調(diào)用指令并不使用RPC寄存器。三、CPU寄存器第2章CPU內(nèi)部結(jié)構(gòu)與時(shí)鐘系統(tǒng)中斷控制寄存器(IFR、IER、DBGIER)

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

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

C28x有兩個(gè)狀態(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)與時(shí)鐘系統(tǒng)▲

均為16位寄存器,有標(biāo)志位和控制位,保存在數(shù)據(jù)存儲(chǔ)器中?!?/p>

讀寫指令:LSTSSTSETCCLRC。

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論