下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Cortex-M4PFU單元介紹近年,在Cortex-M3之后ARM公司又推出Cortex-M4內(nèi)核,和之前的M3內(nèi)核的區(qū)別之一就是M4帶一個(gè)單精度浮點(diǎn)運(yùn)算單元(PFU)。本文就FPU單元進(jìn)行一個(gè)簡(jiǎn)單介紹,幫助工程師更快的理解FPU單元。1.Cortext-M系列內(nèi)核的指令集從ARM公司發(fā)布的白皮書(shū)看,Cortex-M系列內(nèi)核的指令集如下圖所示:訥CORTEXCMNUSILfi4EVW4BCuLurCORTEJC-M3BTUrurmU7*IMTLJHMLMHTWCRItWnclixxtlSLEEsimuBi已3ESIAAMSttiTT5WI理&NULBDSMUE.THBN4JLVWWF1B驀雲(yún)
2、囂5lJL譚乂WTfUUl凳SMdLBTSHUEESATIflmiBf*WFEsassTTH1LffREXsnvrVRHTCortexM4F訥CORTEXCMNUSILfi4EVW4BCuLurCORTEJC-M3BTUrurmU7*IMTLJHMLMHTWCRItWnclixxtlSLEEsimuBi已3ESIAAMSttiTT5WI理&NULBDSMUE.THBN4JLVWWF1B驀雲(yún)囂5lJL譚乂WTfUUl凳SMdLBTSHUEESATIflmiBf*WFEsassTTH1LffREXsnvrVRHTCortexM4F從上圖可以看出,Corte-M系列的指令是向下兼容的,M0/M1的指
3、令最少,M0/M1和M3的指令都使用于M4的芯片。Cortex-M4的指令集分兩部分,一部分是在M3的指令集外增加了一些擴(kuò)展功能。另一部即上圖中粉紅色部分,就是用于FPU單元的單精度浮點(diǎn)運(yùn)算指令。這部分指令都是用V-開(kāi)頭的匯編指令,僅在FPU功能被使能時(shí)使用。需要注意的是FPU單元是指的芯片上的一個(gè)獨(dú)立于CPU處理的浮點(diǎn)運(yùn)算單元,整個(gè)單元在大多數(shù)廠家的芯片中都是可以被使能和關(guān)閉的。相對(duì)于芯片,編譯器也設(shè)置了相應(yīng)的FPU功能開(kāi)啟/關(guān)閉的選項(xiàng),在編譯時(shí)需要告訴編譯器是否開(kāi)啟FPU功能。編譯器一旦開(kāi)啟FPU功能,在處理單精度浮點(diǎn)運(yùn)算的語(yǔ)句時(shí)就會(huì)用帶V-開(kāi)頭的匯編指令進(jìn)行編譯。如果編譯器使能了FPU功
4、能,而芯片未開(kāi)啟FPU單元,程序運(yùn)行到浮點(diǎn)語(yǔ)句時(shí)就會(huì)出現(xiàn)異常。相反,如果編譯器未使能FPU功能,芯片即使開(kāi)啟了FPU單元,程序還是會(huì)按照未使能FPU的代碼進(jìn)行處理。2.編譯器中的FPU功能使能以KEIL為例,在創(chuàng)建一個(gè)CORTEX-M4的工程后,在工程的optionsfortarget“XXX”窗口的Target頁(yè)面中選擇是否開(kāi)啟fpu功能。如下圖所示:冋OptionsforTargetfpujestTargEt|riu+putListing|UserC/C+AsmLink-DebugUtilitiesalMHz):阿CodeGenerationOperating:|NoneSjem-View
5、erFile(.Sfr):IsFDLuminaIyLM4F12OH3QR.SFR二!UseCross-ModuleCptimizationUseMicroLIBFloaftngPointHardware:UseFPURead/OnlyMemoryAreasdefaultoff七h(yuǎn)ipStartupRead/WriteMemorprAressdefaultoff-chipStartLink-DebugUtilitiesalMHz):阿CodeGenerationOperating:|NoneSjem-ViewerFile(.Sfr):IsFDLuminaIyLM4F12OH3QR.SFR二!Us
6、eCross-ModuleCptimizationUseMicroLIBFloaftngPointHardware:UseFPURead/OnlyMemoryAreasdefaultoff七h(yuǎn)ipStartupRead/WriteMemorprAressdefaultoff-chipStartNoInit|QiD|k4DDGDIRCM1:IRGM1:IROM2:RCM2:ROMS:onchipRAfvll:RAM2:on-chipIRAM1:IRAM2:|C:=Lncel編譯器通過(guò)該選項(xiàng)來(lái)判斷是否使用V開(kāi)頭的浮點(diǎn)運(yùn)算指令。一旦選擇“useFPU”功能,如果代碼中帶有單精度浮點(diǎn)運(yùn)算的代碼,編譯器
7、就會(huì)使用帶V的FPU單元匯編指令,無(wú)論芯片是否開(kāi)啟了FPU單元功能。如果選擇不使用FPU功能,即使芯片開(kāi)啟了FPU單元,編譯器一樣不會(huì)采用帶V的匯編指令。3.例程分析下面用一個(gè)實(shí)例來(lái)分析開(kāi)啟、關(guān)閉FPU單元的程序處理。先上代碼:001.staticfloatfDat1=0.0;002.staticfloatfDat2=0.01;003./004./fputest.005./006.intmain(void)007.008.inti;009.FPUEnable();010.FPUStackingEnable();011.for(i=0;i100;i+)012.013.fDat1=fDat1+fDat2;014.015.其中0ll.014.行在開(kāi)啟編譯器FPU功能后,編譯出來(lái)的代碼為:MOVSr0,#0 x00VLDRs0,r1,#0 x04VLDRs1,r1,#0 x00ADDSr0,r0,#1CMPr0,#0 x64VADD.F32s1,s1,s0VSTRs1,r1,#0 x00BLF0 x00000316其中紅色標(biāo)注的都是以V-開(kāi)頭的匯編代碼,這些代碼在FPU單元中運(yùn)行。如果關(guān)閉編譯器的FPU功能,編譯出來(lái)的代碼如下:MOVSr4,#0 x00LDRr6,r5,#0 x04LDRr0,r5,#0 x00MOV
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水務(wù)行業(yè)的科技創(chuàng)新研究計(jì)劃
- 學(xué)期目標(biāo)與職責(zé)分工明確計(jì)劃
- 數(shù)字化時(shí)代品牌營(yíng)銷的未來(lái)趨勢(shì)計(jì)劃
- 房地產(chǎn)行業(yè)安全風(fēng)險(xiǎn)管控計(jì)劃
- 培養(yǎng)幼兒團(tuán)隊(duì)合作精神的方法計(jì)劃
- 房地產(chǎn)行業(yè)品牌宣傳策略計(jì)劃
- 制定年度目標(biāo)的實(shí)施方案計(jì)劃
- 【人教版】pep六年級(jí)英語(yǔ)下全冊(cè)教案(表格版)
- 年產(chǎn)300噸無(wú)紡布袋、30噸亞克力制品建設(shè)項(xiàng)目竣工環(huán)保驗(yàn)收監(jiān)測(cè)調(diào)查報(bào)告
- 崗前安全培訓(xùn)試題及答案(易錯(cuò)題)
- 2024年第九屆“學(xué)憲法、講憲法”知識(shí)競(jìng)賽題庫(kù)(附答案)
- 湖南省長(zhǎng)沙市師大附中2025屆高三上學(xué)期第二次月考語(yǔ)文試卷 含解析
- 云南省昆明市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)統(tǒng)編版競(jìng)賽題((上下)學(xué)期)試卷及答案
- 江蘇省百師聯(lián)盟2024-2025學(xué)年高三上學(xué)期9月聯(lián)考物理試題
- 2024 smart汽車品牌用戶社區(qū)運(yùn)營(yíng)全案
- 【核心素養(yǎng)目標(biāo)】12.2.1 用“SSS”判定三角形全等教案人教版數(shù)學(xué)八年級(jí)上冊(cè)
- MFP無(wú)機(jī)硅聲能凝膠施工方案
- 2024年計(jì)算機(jī)一級(jí)考試復(fù)習(xí)題庫(kù)380題(含答案)
- 汽車維修過(guò)程中的環(huán)境保護(hù)考核試卷
- 2023年遼寧營(yíng)口中考滿分作文《你是我成長(zhǎng)中的榜樣》
- 【大單元整體教學(xué)】第二單元 成長(zhǎng)的時(shí)空-2024-2025學(xué)年七年級(jí)道德與法治上冊(cè)活動(dòng)型同步教學(xué)設(shè)計(jì)(統(tǒng)編版)
評(píng)論
0/150
提交評(píng)論