《DSP原理與應(yīng)用》_C54硬件結(jié)構(gòu)_第1頁
《DSP原理與應(yīng)用》_C54硬件結(jié)構(gòu)_第2頁
《DSP原理與應(yīng)用》_C54硬件結(jié)構(gòu)_第3頁
《DSP原理與應(yīng)用》_C54硬件結(jié)構(gòu)_第4頁
《DSP原理與應(yīng)用》_C54硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、D S P 原理原理 與與 應(yīng)應(yīng) 用用The principle and application of DSP主主 講講: :胡文靜胡文靜 博士博士Q Q:228405520Q Q群群: :18667844Email:Email: 第二章第二章 C54硬件結(jié)構(gòu)硬件結(jié)構(gòu)p本章知識概要:本章知識概要:uC54x系列系列DSP引腳功能引腳功能u內(nèi)外部總線結(jié)構(gòu)內(nèi)外部總線結(jié)構(gòu)uCPU結(jié)構(gòu)結(jié)構(gòu)u內(nèi)部存儲器結(jié)構(gòu)內(nèi)部存儲器結(jié)構(gòu)u片內(nèi)外設(shè)電路片內(nèi)外設(shè)電路u系統(tǒng)控制系統(tǒng)控制u要求全面了解要求全面了解C54系列芯片的硬件資源。系列芯片的硬件資源。2.1 TMS320C54x硬件結(jié)構(gòu)框圖硬件結(jié)構(gòu)框圖p1. 內(nèi)部結(jié)構(gòu)內(nèi)

2、部結(jié)構(gòu)u(1) CPU包括算術(shù)邏輯運(yùn)算單元包括算術(shù)邏輯運(yùn)算單元(ALU)、乘法器、累加器、移位、乘法器、累加器、移位寄存器、各種專門用途的寄存器、地址生成器及內(nèi)部總寄存器、各種專門用途的寄存器、地址生成器及內(nèi)部總線。線。u(2) 存儲器系統(tǒng)存儲器系統(tǒng)包括片內(nèi)程序包括片內(nèi)程序ROM、片內(nèi)單訪問的數(shù)據(jù)、片內(nèi)單訪問的數(shù)據(jù)RAM和雙訪問和雙訪問的數(shù)據(jù)的數(shù)據(jù)RAM、外接存儲器接口。、外接存儲器接口。u(3) 片內(nèi)外設(shè)與專用硬件電路片內(nèi)外設(shè)與專用硬件電路包括片內(nèi)定時器、各種類型的串口、主機(jī)接口、片內(nèi)鎖包括片內(nèi)定時器、各種類型的串口、主機(jī)接口、片內(nèi)鎖相環(huán)相環(huán)(PLL)、時鐘發(fā)生器及各種控制電路。、時鐘發(fā)生器

3、及各種控制電路。2.1 TMS320C54x硬件結(jié)構(gòu)框圖硬件結(jié)構(gòu)框圖p2. TMS320C54x主要特性主要特性u低功耗、高性能的低功耗、高性能的16位定點(diǎn)位定點(diǎn)DSP芯片芯片u(1)CPU部分部分多總線結(jié)構(gòu)多總線結(jié)構(gòu):1條條程序程序總線、總線、3條條數(shù)據(jù)數(shù)據(jù)總線和總線和4條條地址地址總線總線40位位ALU:包括包括1個個40位位桶形移位寄存器桶形移位寄存器和和2個獨(dú)立的個獨(dú)立的40位位累加器累加器17位并行乘法器位并行乘法器,與,與40位專用加法器相連,用于非流水位專用加法器相連,用于非流水線式單周期乘法線式單周期乘法/累加累加(MAC)運(yùn)算運(yùn)算CSSU:用于加法:用于加法/比較選擇比較選擇

4、指數(shù)編碼器指數(shù)編碼器:單單個周期內(nèi)計算個周期內(nèi)計算40位累加器中數(shù)值的位累加器中數(shù)值的指數(shù)指數(shù)雙地址生成器雙地址生成器:包括:包括8個輔助寄存器個輔助寄存器(AR)和和2個輔助寄存?zhèn)€輔助寄存器算術(shù)運(yùn)算單元器算術(shù)運(yùn)算單元(ARAU)2.1 TMS320C54x硬件結(jié)構(gòu)框圖硬件結(jié)構(gòu)框圖p2. TMS320C54x主要特性主要特性u低功耗、高性能的低功耗、高性能的16位定點(diǎn)位定點(diǎn)DSP芯片芯片u(2)存儲器系統(tǒng)存儲器系統(tǒng)192K字字可尋址存儲空間:可尋址存儲空間:程序程序存儲空間、存儲空間、數(shù)據(jù)數(shù)據(jù)存儲空間及存儲空間及I/O空間,并可進(jìn)行適當(dāng)擴(kuò)展??臻g,并可進(jìn)行適當(dāng)擴(kuò)展。片內(nèi)雙尋址片內(nèi)雙尋址 RAM

5、(DARAM):在每個機(jī)器周期內(nèi),在每個機(jī)器周期內(nèi),CPU可以對同一個可以對同一個DARAM塊尋址塊尋址2次,即次,即CPU可以在一個機(jī)器周期內(nèi)對同一個可以在一個機(jī)器周期內(nèi)對同一個DARAM塊塊讀出讀出1次次和和寫入寫入1次次。DARAM可以映射到程序空間和數(shù)據(jù)空間。但一般情況下,可以映射到程序空間和數(shù)據(jù)空間。但一般情況下,DARAM總是映射到數(shù)據(jù)空間,用于存放數(shù)據(jù)。總是映射到數(shù)據(jù)空間,用于存放數(shù)據(jù)。片內(nèi)單尋址片內(nèi)單尋址RAM(SARAM):如如C548、C5402、C5416等。等。2.1 TMS320C54x硬件結(jié)構(gòu)框圖硬件結(jié)構(gòu)框圖p2. TMS320C54x主要特性主要特性u低功耗、高性

6、能的低功耗、高性能的16位定點(diǎn)位定點(diǎn)DSP芯片芯片u(3)片內(nèi)外設(shè)片內(nèi)外設(shè)軟件可編程等待狀態(tài)發(fā)生器軟件可編程等待狀態(tài)發(fā)生器(SWWSR)可編程分區(qū)轉(zhuǎn)換邏輯電路可編程分區(qū)轉(zhuǎn)換邏輯電路片內(nèi)鎖相環(huán)片內(nèi)鎖相環(huán)(PLL)和時鐘發(fā)生器和時鐘發(fā)生器可編程串行接口(可編程串行接口(4種)種)可編程定時器可編程定時器16位(位(1-2個)個)8位或位或16位主機(jī)接口位主機(jī)接口(HPI)u(4)指令系統(tǒng)指令系統(tǒng)單指令重復(fù)和塊指令重復(fù)操作單指令重復(fù)和塊指令重復(fù)操作用于程序和數(shù)據(jù)管理的用于程序和數(shù)據(jù)管理的塊存儲器塊存儲器傳送指令傳送指令32位位長操作數(shù)長操作數(shù)指令指令2.1 TMS320C54x硬件結(jié)構(gòu)框圖硬件結(jié)構(gòu)框

7、圖32位長操作數(shù)指令位長操作數(shù)指令多操作數(shù)指令:讀入多操作數(shù)指令:讀入2或或3個操作數(shù)的指令個操作數(shù)的指令并行存儲和并行加載的算術(shù)指令并行存儲和并行加載的算術(shù)指令條件存儲指令條件存儲指令中斷快速返回指令中斷快速返回指令u(5)片內(nèi)仿真接口:)片內(nèi)仿真接口:IEEE1149.1u(6)多種節(jié)電模式:軟件控制片外總線、)多種節(jié)電模式:軟件控制片外總線、CLKOUT、器件電壓等、器件電壓等u(7)不同內(nèi)核電壓以獲取不同的芯片運(yùn)行速度:)不同內(nèi)核電壓以獲取不同的芯片運(yùn)行速度:5.0v-40MIPS,3.3v-80MIPS,2.5v-100MIPS,1.8v-200MIPS。2.2 總線結(jié)構(gòu)總線結(jié)構(gòu)p一

8、組一組程序總線程序總線PBu傳送從程序存儲器傳送從程序存儲器讀取讀取的指令代碼和立即數(shù);的指令代碼和立即數(shù);p三組三組數(shù)據(jù)總線數(shù)據(jù)總線(CB、DB、EB)uCB,DB: 傳送從數(shù)據(jù)存儲器讀出的操作數(shù);傳送從數(shù)據(jù)存儲器讀出的操作數(shù);uEB: 傳送傳送寫入寫入到數(shù)據(jù)存儲器中的數(shù)據(jù);到數(shù)據(jù)存儲器中的數(shù)據(jù); p四組四組地址總線地址總線(PAB、CAB、DAB、EAB)u傳送執(zhí)行指令所需的地址;傳送執(zhí)行指令所需的地址;2.2 總線結(jié)構(gòu)總線結(jié)構(gòu)2.3 中央處理單元(中央處理單元(CPU)p狀態(tài)和控制部件、運(yùn)算部件和各種寄存器狀態(tài)和控制部件、運(yùn)算部件和各種寄存器u1.CPU狀態(tài)和控制(狀態(tài)和控制(3個個16

9、位位存儲器映像寄存器存儲器映像寄存器) (1) 狀態(tài)寄存器狀態(tài)寄存器0(ST0);(2) 狀態(tài)寄存器狀態(tài)寄存器1(ST1);(3) 處理器工作模式狀態(tài)寄存器處理器工作模式狀態(tài)寄存器(PMST)。 各種工作條件和工作方式的狀態(tài)各種工作條件和工作方式的狀態(tài);存儲器的設(shè)置狀態(tài)及其他控制信存儲器的設(shè)置狀態(tài)及其他控制信息。息。ST0, 詳見:詳見:Table 2.4.1ST1, 詳見:詳見:Table 2.4.2PMST, 詳見:詳見:Table 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件 C54X使用使用40bit的的ALU和和2個個40bit累加器(累加器(A、B)

10、完)完成二進(jìn)制補(bǔ)碼的算術(shù)運(yùn)算:成二進(jìn)制補(bǔ)碼的算術(shù)運(yùn)算: ALU可完成布爾運(yùn)算;可完成布爾運(yùn)算; 同時完成兩個同時完成兩個16bit運(yùn)算(具有兩個運(yùn)算(具有兩個16位的位的ALU)算術(shù)邏輯運(yùn)算單元結(jié)構(gòu)2.3 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件 C54X使用使用40bit的的ALU和和2個個40bit累加器(累加器(A、B)完)完成二進(jìn)制補(bǔ)碼的算術(shù)運(yùn)算:成二進(jìn)制補(bǔ)碼的算術(shù)運(yùn)算: ALU可完成布爾運(yùn)算;可完成布爾運(yùn)算; 同時完成兩個同時完成兩個16bit運(yùn)算(具有兩個運(yùn)算(具有兩個16位的位的ALU)u(2)Accumulator存放參加運(yùn)算的數(shù)據(jù)或存放運(yùn)算的結(jié)果(存放參加運(yùn)

11、算的數(shù)據(jù)或存放運(yùn)算的結(jié)果(ALU或或MAC)三個部分(保護(hù)位作用:數(shù)據(jù)位余量,防止溢出,三個部分(保護(hù)位作用:數(shù)據(jù)位余量,防止溢出,迭代運(yùn)算)。迭代運(yùn)算)。2.3 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件u(3)Barrel Shifter能把輸入的數(shù)據(jù)進(jìn)行能把輸入的數(shù)據(jù)進(jìn)行031bit左移和左移和016bit右移。右移。移位數(shù)定義:移位數(shù)定義:用一個立即數(shù)用一個立即數(shù)(-1615)表示。表示。用狀態(tài)寄存器用狀態(tài)寄存器ST1的累加器移位方式的累加器移位方式(ASM)位表示,共位表示,共5位,移位,移位數(shù)為位數(shù)為-1615。用用T寄存器中最低寄存器中最低6位的數(shù)值位的數(shù)值(移位

12、數(shù)為移位數(shù)為-1631)表示表示位提取、位提取、數(shù)據(jù)定標(biāo)數(shù)據(jù)定標(biāo)、擴(kuò)展算術(shù)和溢出保護(hù)等,如:、擴(kuò)展算術(shù)和溢出保護(hù)等,如:桶形移位器和指數(shù)譯碼器,可把桶形移位器和指數(shù)譯碼器,可把A/B中的值在一個周期中的值在一個周期內(nèi)進(jìn)行內(nèi)進(jìn)行歸一化歸一化桶形移位寄存器結(jié)構(gòu)2.3 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件u(4)乘乘/ /加單元加單元1717bit乘法器、乘法器、40bit加法器、符號控制、小數(shù)加法器、符號控制、小數(shù)控制、零檢測器、舍入器、溢出控制、零檢測器、舍入器、溢出/飽和邏輯、暫存器;飽和邏輯、暫存器;一個單指令周期內(nèi)完成一個單指令周期內(nèi)完成1717bit的二進(jìn)制補(bǔ)碼運(yùn)的

13、二進(jìn)制補(bǔ)碼運(yùn)算;算;卷積、相關(guān)、濾波(卷積、相關(guān)、濾波(LMS)、歐氏距離等運(yùn)算;)、歐氏距離等運(yùn)算;乘/累加單元2.3 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件u(5)Compare、Select and Store Unit (CSSU)從累加器(從累加器(32bit)選擇出較大的字(選擇出較大的字(16bit)并存儲在數(shù)據(jù)并存儲在數(shù)據(jù)M;:在數(shù)據(jù)通信、模式:在數(shù)據(jù)通信、模式識別等領(lǐng)域,經(jīng)常要用到識別等領(lǐng)域,經(jīng)常要用到Viterbi(維特比維特比)算法。算法。C54x DSP的的CPU的比較、的比較、選擇和存儲單元選擇和存儲單元(CSSU) 專專為為Viterbi算法設(shè)計

14、的進(jìn)行算法設(shè)計的進(jìn)行加法加法/比較比較/選擇選擇(ACS)運(yùn)算運(yùn)算的硬件單元的硬件單元2.3 中央處理單元(中央處理單元(CPU)p2.運(yùn)算部件運(yùn)算部件u(6)Exponent Encoder完成完成EXP單周期指令的專用硬件;單周期指令的專用硬件;將累加器中的指數(shù)值能以二進(jìn)制補(bǔ)碼的形式存儲將累加器中的指數(shù)值能以二進(jìn)制補(bǔ)碼的形式存儲在在T中;中;(-831)累加器內(nèi)容歸一化;累加器內(nèi)容歸一化;For instance:;Normalize accumulator AEXP A ; (the number of leading bits 8)- T.ST T, EXPONENT ; Store

15、the exponent (T) into data memoryNORM A ; Normalize accumulator A, (A)(T)2.3 中央處理單元(中央處理單元(CPU)p3. Special Functional Registersu功能功能:主要用于程序的運(yùn)算處理和尋址方式的選擇:主要用于程序的運(yùn)算處理和尋址方式的選擇及設(shè)定及設(shè)定u輔助寄存器輔助寄存器AR0-AR7:產(chǎn)生:產(chǎn)生16bit數(shù)據(jù)空間,通用數(shù)據(jù)空間,通用R;u暫存器暫存器TREG:乘(加)法指令存放一乘數(shù)、:乘(加)法指令存放一乘數(shù)、EXP指令結(jié)果;指令結(jié)果;u過渡寄存器過渡寄存器TRN(狀態(tài)轉(zhuǎn)移寄存器):用

16、來得到(狀態(tài)轉(zhuǎn)移寄存器):用來得到新的度量值存放中間結(jié)果新的度量值存放中間結(jié)果Viterbi(用于在(用于在Viterbi算法中記錄轉(zhuǎn)移路徑);算法中記錄轉(zhuǎn)移路徑);u堆棧指針堆棧指針SP:棧頂在數(shù)據(jù):棧頂在數(shù)據(jù)M位置,向下生長位置,向下生長2.3 中央處理單元(中央處理單元(CPU)p3. Special Functional Registersu緩沖區(qū)大小寄存器緩沖區(qū)大小寄存器BK:在循環(huán)尋址中確定緩沖區(qū):在循環(huán)尋址中確定緩沖區(qū)中數(shù)據(jù)的大?。恢袛?shù)據(jù)的大??;u塊循環(huán)寄存器塊循環(huán)寄存器BRC:確定一代碼循環(huán)的次數(shù);:確定一代碼循環(huán)的次數(shù);u塊循環(huán)起始地址塊循環(huán)起始地址RSA:循環(huán)的開始地址;:

17、循環(huán)的開始地址;u塊循環(huán)結(jié)束地址塊循環(huán)結(jié)束地址REA:循環(huán)的結(jié)束地址;:循環(huán)的結(jié)束地址;u中斷標(biāo)志寄存器中斷標(biāo)志寄存器IFR:指明各中斷源的狀態(tài);:指明各中斷源的狀態(tài);u中斷屏蔽寄存器中斷屏蔽寄存器IMR:獨(dú)立的屏蔽特定的中斷;:獨(dú)立的屏蔽特定的中斷;u其它:累加器其它:累加器A、B,方式控制,方式控制R:PMST,狀態(tài),狀態(tài)R:ST0/ST1等。等。2.4 on-chip peripherals:不同芯片配有不同的串口:不同芯片配有不同的串口u標(biāo)準(zhǔn)串口:標(biāo)準(zhǔn)串口:Standard Serial Portu緩沖串口:緩沖串口:Buffer Synchronization Portu時分多路同步

18、串口:時分多路同步串口:Time Division Multiplexing Portu多通道緩沖串口:多通道緩沖串口:Multi-channel Buffer Synchronization Portu相關(guān)寄存器相關(guān)寄存器: DXR、XSR、DRR、RSR、RINT、XINT、SPCu自動緩沖:自動緩沖:ABU and ABU-EAG利用專用總線,利用專用總線,直接與內(nèi)部存儲器交換數(shù)據(jù)直接與內(nèi)部存儲器交換數(shù)據(jù)幀寬:幀寬:8-,10-,12- or 16-bituTDM允許數(shù)據(jù)時分多路,多個外部器件接口;允許數(shù)據(jù)時分多路,多個外部器件接口;同步方式或同步方式或TDM方式(方式(8通道通道)uM

19、cBSP最多最多128通道通道; 8, 12, 16, 20, 24, 32bits既可由既可由CPU控制運(yùn)行,也可脫機(jī)工作控制運(yùn)行,也可脫機(jī)工作2.4 on-chip peripherals:u4位預(yù)分頻的位預(yù)分頻的16位減法計數(shù)器位減法計數(shù)器u至至0產(chǎn)生定時中斷產(chǎn)生定時中斷u相關(guān)寄存器(相關(guān)寄存器(存儲器映像寄存器存儲器映像寄存器) TIM PRD TCR:TDDR,PSC,TRB,TSSu定時周期:定時周期:CLKOUT*(TDDR+1)*(PRD+1)2.4 on-chip peripheralspSoftware-Programmable Wait-State Generatorsu

20、用于擴(kuò)展外部總線周期,以使片外存儲器和用于擴(kuò)展外部總線周期,以使片外存儲器和I/O設(shè)設(shè)備等低速設(shè)備與告訴備等低速設(shè)備與告訴DSP接口;接口;u無需任何額外的外部硬件;無需任何額外的外部硬件;u根據(jù)特定設(shè)備,根據(jù)特定設(shè)備,SWWSR可以編程為可以編程為714個等待周個等待周期;期;u對于片外存儲器訪問,為每對于片外存儲器訪問,為每32K字的程序和數(shù)據(jù)空字的程序和數(shù)據(jù)空間、間、64K字的字的I/O空間指定若干等待周期;空間指定若干等待周期;pParallel I/O Ports and general-purpose I/O pinsu共計共計64K的的I/O空間空間 PORTR, PORTW 指

21、令指令u通用通用I/O引腳引腳 BIO 和和 XF2.4 on-chip peripheralsuC54x系列家族的時鐘發(fā)生器有兩種基本方式系列家族的時鐘發(fā)生器有兩種基本方式: 除除2方式和方式和PLL;u方式方式1:CPU 時鐘通過時鐘通過 X2/CLKIN 引腳輸入的時鐘引腳輸入的時鐘除以除以2得到;得到; u方式方式2:采用鎖相環(huán),:采用鎖相環(huán),CPU時鐘是輸入時鐘的倍率;時鐘是輸入時鐘的倍率;特點(diǎn):特點(diǎn):CPU內(nèi)部的高頻時鐘通過低頻外部時鐘獲??;內(nèi)部的高頻時鐘通過低頻外部時鐘獲??;維護(hù)片外低頻時鐘有利于降低系統(tǒng)功耗;減少電磁干擾;降低維護(hù)片外低頻時鐘有利于降低系統(tǒng)功耗;減少電磁干擾;降

22、低成本、成本、(CLKMD).硬件硬件PLL:兩種方式實(shí)現(xiàn)頻率倍乘;(除:兩種方式實(shí)現(xiàn)頻率倍乘;(除2倍乘)倍乘)軟件軟件PLL:頻率倍乘可編程。:頻率倍乘可編程。2.4 on-chip peripheralspHardware PLLuThere are two types of hardware PLL providing different sets of multiplication factors. uThe option-one hardware PLL provides divide-by-two operation and multiplication factors of 1

23、, 1.5, 2, or 3. uThe option-two hardware PLL provides divide-by-two operation and multiplication factors of 1, 4, 4.5, or 5.pSoftware PLLuThe software PLL is programmable and the clock multiplication factor can be changed under software control.multiplication factors ranging from 0.25 to 16 a built-

24、in programmable lock-delay counter2.4 on-chip peripheralspHost Port Interface (HPI)uStandard 8-Bit HPIAn 8-bit parallel port used to interface a host processor to the DSP device.Information is exchanged between the DSP device and the host processor through on-chip memory.Registers: HPIC, HPIA,HPIDDa

25、ta transfers of 16-bit words occur as two consecutive bytes with a dedicated pin (HBIL) indicating whether the high or low byte is being transmitted.The host can interrupt the DSP device by writing to HPIC. The DSP device can interrupt the host with a dedicated HINT pin that the host can acknowledge

26、 and clear.2.4 on-chip peripheralsuShared-access mode (SAM) :Both the DSP device and the host can access HPI memory. the host has access priority and the DSP device waits one cycle.uHost-only mode (HOM): Allows the host to access HPI memory while the DSP device is in IDLE2 (all internal clocks stopp

27、ed) or in reset mode.p uTwo data strobes, (HDS1 and HDS2), a read /write strobe (HR/W), and an address strobe (HAS) to enable a glueless interface to a variety of industry-standard host devices.uMultiplexed address/data bus, separate address and data buses, one data strobe and a read/write strobe, o

28、r two separate strobes for read and write.uEnhanced 8-Bit HPI (HPI8), 16-Bit HPI (HPI16) 2.5 MemoryuThe minimum memory address range for the 54x devices is 192K words - composed of 64K words in program space, 64K words in data space, and 64K words in I/O space.uProgram memory : contains the instruct

29、ions to be executed as well as tables used in execution.uData memory : stores data used by the instructions.uI/O memory: Interfaces to external memory-mapped peripherals and can also serve as extra data storage space.uThe 54x DSPs provide both on-chip RAM and ROM to improve system performance and in

30、tegration.2.5 MemorypOn-Chip ROMuon-chip maskable ROM can be mapped into program memory (MP/MC) or data memory (DROM bit of PMST) depending on the device.pBootloaderuThis bootloader can be used to transfer user code from an external source to anywhere in the program memory at power up automatically.

31、uHardware reset sample MP/MC=0 FF80H (on chip Rom) branch instruction the start of the bootloader program Download user code. (Parallel, Serial, HPI, Warm Boot)uOptions: FFT, m-law/A-law expansion tables, and a sine look-up table.2.5 MemorypOn-Chip Dual-Access RAM (DARAM)uDual-access RAM blocks can

32、be accessed twice per machine cycle. This memory is intended primarily to store data values; however, it can be used to store program as well. At reset, the DARAM is mapped into data memory space. DARAM can be mapped into program/data memory space by setting the OVLY bit in the PMST register.pOn-Chi

33、p Single-Access RAM (SARAM)uEach of the SARAM blocks is a single-access memory. This memory is intended primarily to store data values; however, it can be used to store program as well. SARAM can be mapped into program/data memory space by setting the OVLY bit in the PMST register.2.5 MemorypProgram

34、 MemoryuThe standard external program memory space on the 54x devices addresses up to 64K 16-bit words.uSoftware can configure their memory cells to reside inside or outside of the program address map.uDevice automatically accesses those memory cells whose addresses are within bounds.uWhen the progr

35、am-address generation (PAGEN) logic generates an address outside its bounds, the device automatically generates an external access.uFirst on-chip memory then External memory. Why?uRIVT: reset, interrupt, and trap vectorsuEPM: page-extended memory scheme, up to 8M, 128*64K.2.5 MemorypData memoryu64K

36、of 16-bit wordsuDevice automatically accesses those memory cells whose addresses are within boundsuWhen an address is generated outside the RAM bounds, the device automatically generates an external access.uAdvantages of operating from on-chip memory are as follows:Higher performance because no wait

37、 states are requiredHigher performance because of better flow within the pipeline of the CALULower cost than external memoryLower power than external memory2.5 Memory2.6 C54x系統(tǒng)控制系統(tǒng)控制程序地址生成器2.6 C54x系統(tǒng)控制p程序計數(shù)器程序計數(shù)器uPC為一個為一個16位計數(shù)器,保存某個內(nèi)部或外部程序存儲器的位計數(shù)器,保存某個內(nèi)部或外部程序存儲器的地址(指令、地址(指令、16位立即數(shù)或系數(shù)表等)位立即數(shù)或系數(shù)表等)2.6

38、 C54x系統(tǒng)控制系統(tǒng)控制p2. 流水線操作流水線操作uDSP區(qū)別于其他類型區(qū)別于其他類型MCU的的最主要的特征最主要的特征之一。之一。u以以機(jī)器周期機(jī)器周期為單位,前后指令相差一個周期而連續(xù)并行執(zhí)為單位,前后指令相差一個周期而連續(xù)并行執(zhí)行。行。u原理原理:將指令執(zhí)行分成若干個(:將指令執(zhí)行分成若干個(6個)子操作,每個子操作個)子操作,每個子操作在不同的操作階段完成,每個階段長度為一個機(jī)器周期。在不同的操作階段完成,每個階段長度為一個機(jī)器周期。流水線操作pQuestion:u(1)上述各階段所利用的總線是什么)上述各階段所利用的總線是什么?u(2)將會發(fā)生幾種可能的數(shù)據(jù)讀操作?)將會發(fā)生幾種

39、可能的數(shù)據(jù)讀操作?u(3)如果有寫操作發(fā)生,將會需要多少機(jī)器周期?數(shù)據(jù)和)如果有寫操作發(fā)生,將會需要多少機(jī)器周期?數(shù)據(jù)和地址是何時加載和寫入的?地址是何時加載和寫入的?幾種可能情況幾種可能情況幾種可能情況分支轉(zhuǎn)移的流水線操作p無延遲分支轉(zhuǎn)移:無延遲分支轉(zhuǎn)移:無延遲分支轉(zhuǎn)移指令流水線分支轉(zhuǎn)移的流水線操作p延遲分支轉(zhuǎn)移延遲分支轉(zhuǎn)移:延遲分支轉(zhuǎn)移指令流水線For example:存儲器的流水線操作p雙尋址存儲器雙尋址存儲器uC54內(nèi)部的內(nèi)部的DARAM采用分塊存取,允許采用分塊存取,允許CPU在在一個機(jī)器周期內(nèi)對其訪問兩次;一個機(jī)器周期內(nèi)對其訪問兩次;u在單個機(jī)器周期內(nèi),同時訪問不同的在單個機(jī)器周期

40、內(nèi),同時訪問不同的DARAM塊塊,不會不會發(fā)生時序沖突發(fā)生時序沖突;uCPU同時處理兩條指令訪問不同的同時處理兩條指令訪問不同的DARAM塊;塊;u處于流水線上不同階段的兩條指令,可以同時訪問處于流水線上不同階段的兩條指令,可以同時訪問同一個塊;同一個塊;u根本原因根本原因:兩次兩次訪問分別發(fā)生在機(jī)器周期的訪問分別發(fā)生在機(jī)器周期的前半前半個個周期和周期和后半后半個周期個周期u發(fā)生沖突發(fā)生沖突同時從同一塊同時從同一塊取指取指和和取取操作操作數(shù)數(shù);同時從同一塊;同時從同一塊寫寫和和讀讀第第二操作數(shù)。二操作數(shù)。存儲器的流水線操作存儲器的流水線操作存儲器的流水線操作p i4發(fā)生流水線沖突p解決之道:解

41、決之道:CPU通過通過延遲或插入延遲或插入一個周期自動解決!一個周期自動解決!流水線沖突(未保護(hù)性)p以下硬件會發(fā)生流水線沖突以下硬件會發(fā)生流水線沖突u輔助寄存器(輔助寄存器(ARX)u重復(fù)塊長度寄存器(重復(fù)塊長度寄存器(BK)u堆棧指針(堆棧指針(SP)u暫存器(暫存器(T)u處理器工作方式狀態(tài)寄存器(處理器工作方式狀態(tài)寄存器(PMST)u狀態(tài)寄存器(狀態(tài)寄存器(ST0和和ST1)u塊重復(fù)計數(shù)器(塊重復(fù)計數(shù)器(BRC)u存儲器映像累加器(存儲器映像累加器(AG,AH,AL,BG,BH,BL)u人為解決人為解決:加入空操作或調(diào)整程序語句:加入空操作或調(diào)整程序語句流水線沖突情況For examp

42、le:Morep插入多少插入多少NOPNOP?p等待周期表等待周期表! !For example系統(tǒng)復(fù)位pC54x設(shè)有復(fù)位輸入引腳設(shè)有復(fù)位輸入引腳RS,通過,通過RS可對芯片進(jìn)行復(fù)可對芯片進(jìn)行復(fù)位,使程序從位,使程序從FF80H單元開始執(zhí)行。單元開始執(zhí)行。u復(fù)位期間復(fù)位期間,處理器將進(jìn)行如下操作,處理器將進(jìn)行如下操作 將將PMST中的中的IPTR位置為位置為1FFH,MP/MC位位與與MP/MC引腳引腳狀態(tài)狀態(tài)相同;相同; 狀態(tài)寄存器狀態(tài)寄存器ST0=1800H; 將將ST1中的中的INTM位置位置1,關(guān)閉所有可屏蔽中斷,關(guān)閉所有可屏蔽中斷 使程序計數(shù)器使程序計數(shù)器PC=FF80H; 使擴(kuò)展程

43、序計數(shù)器使擴(kuò)展程序計數(shù)器XPC=0000H; 使中斷標(biāo)志寄存器使中斷標(biāo)志寄存器IFR=0000H; 使數(shù)據(jù)總線處于高阻狀態(tài);使數(shù)據(jù)總線處于高阻狀態(tài); 控制線均處于無效狀態(tài);控制線均處于無效狀態(tài); 將地址總線置為將地址總線置為FF80H; 使使IACK引腳產(chǎn)生中斷響應(yīng)信號;引腳產(chǎn)生中斷響應(yīng)信號;系統(tǒng)復(fù)位pC54x設(shè)有復(fù)位輸入引腳設(shè)有復(fù)位輸入引腳RS,通過,通過RS可對芯片進(jìn)行復(fù)可對芯片進(jìn)行復(fù)位,使程序從位,使程序從FF80H單元開始執(zhí)行。單元開始執(zhí)行。u復(fù)位期間復(fù)位期間,處理器將進(jìn)行如下操作,處理器將進(jìn)行如下操作 產(chǎn)生同步復(fù)位信號,對外圍電路初始化;產(chǎn)生同步復(fù)位信號,對外圍電路初始化; 下列狀態(tài)

44、位置初值:下列狀態(tài)位置初值:ARP=0 ASM=0 AVIS=0 BRAF=0 C=1 C16=0 CLKOFF=0 CMPT=0 CPL=0 DP=0 DROM=0 FRCT=0 HM=0 INTM=1 OVA=0 OVB=0 OVLY=0 OVM=0 SXM=1 TC=1 XF=1u注意注意: 復(fù)位期間,不對其余的狀態(tài)位和堆棧指針復(fù)位期間,不對其余的狀態(tài)位和堆棧指針SP初始化;初始化; 若若MP/MC=0,則,則CPU從內(nèi)部程序存儲器開始執(zhí)行,從內(nèi)部程序存儲器開始執(zhí)行,否則將從外部程序存儲器開始執(zhí)行程序。否則將從外部程序存儲器開始執(zhí)行程序。中斷系統(tǒng)p中斷系統(tǒng)是為計算機(jī)系統(tǒng)提供實(shí)時操作、多任

45、中斷系統(tǒng)是為計算機(jī)系統(tǒng)提供實(shí)時操作、多任務(wù)和多進(jìn)程操作的關(guān)鍵部件務(wù)和多進(jìn)程操作的關(guān)鍵部件u中斷信號中斷信號 : 由外設(shè)向由外設(shè)向CPU傳送數(shù)據(jù)的硬件設(shè)備產(chǎn)生傳送數(shù)據(jù)的硬件設(shè)備產(chǎn)生 由外設(shè)向由外設(shè)向CPU提取數(shù)據(jù)的硬件設(shè)備產(chǎn)生提取數(shù)據(jù)的硬件設(shè)備產(chǎn)生 由定時器產(chǎn)生由定時器產(chǎn)生 u中斷分類中斷分類:軟軟中斷中斷由程序指令產(chǎn)生的中斷由程序指令產(chǎn)生的中斷: INTR,TRAP,RESET等等;(相關(guān)寄存器:(相關(guān)寄存器:IFR、IMR)硬硬中斷中斷由外部設(shè)備信號產(chǎn)生的中斷(外部中斷信號、由外部設(shè)備信號產(chǎn)生的中斷(外部中斷信號、片內(nèi)外設(shè)電路信號)。片內(nèi)外設(shè)電路信號)??善帘沃袛嗪头强善帘沃袛嗫善帘沃袛嗪头?/p>

46、可屏蔽中斷外部總線外部總線p數(shù)據(jù)總線數(shù)據(jù)總線:D15D0 16位位u用于外部程序存儲器、數(shù)據(jù)存儲器和用于外部程序存儲器、數(shù)據(jù)存儲器和I/O口的數(shù)據(jù)總線??诘臄?shù)據(jù)總線。p控制總線控制總線:uPS-外部程序存儲器片選信號,用來選通程序存儲器,作為外部程序存儲器片選信號,用來選通程序存儲器,作為外部程序存儲器的第外部程序存儲器的第1選通信號,與存儲器選通信號,與存儲器CS1連接;連接;uDS-外部數(shù)據(jù)存儲器片選信號,用來選通數(shù)據(jù)存儲器,作外部數(shù)據(jù)存儲器片選信號,用來選通數(shù)據(jù)存儲器,作為外部數(shù)據(jù)存儲器的第為外部數(shù)據(jù)存儲器的第1選通信號,與存儲器選通信號,與存儲器CS1連接;連接;uIS-I/O選擇信號

47、,用來選通外部選擇信號,用來選通外部I/O設(shè)備,作為設(shè)備,作為I/O的第的第1選選通信號,與通信號,與I/O的的CS1連接;連接;uMSTRB-外部存儲器選通信號,用來選通程序存儲器和數(shù)外部存儲器選通信號,用來選通程序存儲器和數(shù)據(jù)存儲器,分別作為兩存儲器的第據(jù)存儲器,分別作為兩存儲器的第2選通信號,與存儲器選通信號,與存儲器CS2連接;連接; 外部總線p控制總線(續(xù))控制總線(續(xù))uIOSTRB-I/O設(shè)備選通信號,用來選通外部設(shè)備選通信號,用來選通外部I/O設(shè)設(shè)備,作為備,作為I/O的第的第2選通信號,與選通信號,與I/O的的CS2連接;連接; uR/W -讀讀/寫信號,用來實(shí)現(xiàn)數(shù)據(jù)存儲器和

48、寫信號,用來實(shí)現(xiàn)數(shù)據(jù)存儲器和I/O設(shè)設(shè)備的讀寫操作,控制數(shù)據(jù)流的方向;備的讀寫操作,控制數(shù)據(jù)流的方向; uREADY -數(shù)據(jù)準(zhǔn)備好信號,用來實(shí)現(xiàn)數(shù)據(jù)準(zhǔn)備好信號,用來實(shí)現(xiàn)CPU與不同與不同速度的存儲器或速度的存儲器或I/O進(jìn)行數(shù)據(jù)交換;進(jìn)行數(shù)據(jù)交換;uHOLD -保持請求信號,用來控制保持請求信號,用來控制C54x的保持的保持工作模式,即:正常模式和并發(fā)工作模式,即:正常模式和并發(fā)DMA模式;模式;54系列外部總線情況信號信號5416548105409、1654025420說說 明明A0Ai150220220190170地址總線地址總線D0D15150150150150150數(shù)據(jù)總線數(shù)據(jù)總線PS

49、程序空間片選程序空間片選DS數(shù)據(jù)空間片選數(shù)據(jù)空間片選ISI/O空間片選空間片選MSTRB外部存儲器選通外部存儲器選通IOSTRBI/O空間選通空間選通R/W讀讀/寫信號寫信號READY數(shù)據(jù)準(zhǔn)備完成數(shù)據(jù)準(zhǔn)備完成HOLD保持請求保持請求HOLDA保持響應(yīng)保持響應(yīng)MSC微狀態(tài)完成微狀態(tài)完成IAQ中斷請求中斷請求IACK中斷響應(yīng)中斷響應(yīng)p考察指令:考察指令:(程序存儲器和數(shù)據(jù)存儲器都在片外程序存儲器和數(shù)據(jù)存儲器都在片外)STT, *AR3;Smem寫寫LD*AR2+, A;Xmem和和Ymem讀讀| MAC *AR5+, Bp 一條寫單操作數(shù)指令緊跟一條雙操作數(shù)讀指令,一條寫單操作數(shù)指令緊跟一條雙操作數(shù)讀指令,CPU對外部總線在一個機(jī)器周期內(nèi)只能訪問一次。故會發(fā)對外部總線在一個機(jī)器周期內(nèi)只能訪問一次。故會發(fā)生流水線沖突!生流水線沖突!p對于這種情況,對于這種情況,CPU依據(jù)依據(jù)優(yōu)先級別優(yōu)先級別自動解決!自動解決!外部總線的優(yōu)先級別外部總線的等待狀態(tài)控制pCPU內(nèi)部等待狀態(tài)控制部件:內(nèi)部等待狀態(tài)控制部件:u 軟件可編程等待狀態(tài)發(fā)生器軟件可編程等待狀態(tài)發(fā)生器u 可編程分區(qū)轉(zhuǎn)換邏輯可編程分區(qū)轉(zhuǎn)換邏輯p控制寄存器:控制寄存器:u 軟件等待狀態(tài)寄存器(軟件等待狀態(tài)寄存器(SWWSR)u 分區(qū)轉(zhuǎn)換控制寄存器(分區(qū)轉(zhuǎn)換控制寄

溫馨提示

  • 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

提交評論