一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)在WEC7主板上啟動(dòng)VFP硬件浮點(diǎn)處理器

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-05 11:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于ARM指令

英創(chuàng)公司開發(fā)的基于WEC7的工控主板目前包括3種型號(hào):

主板型號(hào) CPU架構(gòu) 其他重要技術(shù)指標(biāo)
ESM6802 Cortex-A9雙核 ESMARC主板架構(gòu)體系,主推產(chǎn)品型號(hào)
ESM3354 / ESM3352 Cortex-A8 ESMARC主板架構(gòu)體系,主推產(chǎn)品型號(hào)
EM335x / EM3352 Cortex-A8 成熟產(chǎn)品型號(hào)

在使用英創(chuàng)的WEC7主板時(shí),用戶需要使用Visual Studio 2008(簡(jiǎn)稱VS2008)來開發(fā)其應(yīng)用程序。盡管Cortex-A8和Cortex-A9處理器均支持性能更高的ARMv7指令集,但微軟在VS2008中所仍然使用ARMv4i指令集的通用arm編譯器(編譯器版本號(hào)為:15.00.20720)。而A8、A9處理器所帶的矢量浮點(diǎn)處理器(Vector Float-Point Processor)都需要在ARMv7指令下才能正常啟動(dòng)運(yùn)行。換句話說,在ARMv4i指令集下,對(duì)浮點(diǎn)的處理仍然是采用軟件仿真包來實(shí)現(xiàn),而沒有用到高端ARM處理器自帶的硬件浮點(diǎn)處理器。這對(duì)涉及大量浮點(diǎn)處理應(yīng)用的客戶來說是很遺憾的事。

本文將以ESM3354為測(cè)試平臺(tái),介紹在現(xiàn)有VS2008基礎(chǔ)上實(shí)現(xiàn)硬件浮點(diǎn)處理的方法。

編譯器及SDK的準(zhǔn)備

我們?yōu)樾枰↑c(diǎn)處理的客戶準(zhǔn)備了ARMv7編譯工具以及基于ARMv7工具的SDK,具體如下表所示:

ARMv7編譯工具包 ms-armv7-compiler.tar 編譯器版本 15.01.50304.03
ESM335x SDK ESM335XARMV7SDK.msi
ESM6802 SDK ESM6802ARMV7SDK.msi

客戶需要首先安裝新的AMRv7的SDK,ARMv7的SDK與原來的ARMv4i的SDK是獨(dú)立并行的,并不需要卸載原來的SDK。安裝完成后,再把ARMv7編譯器工具包解壓到本地硬盤上,例如D:\ms-armv7-compiler。

建立測(cè)試程序1

打開VS2008,建立測(cè)試程序3354_armv7_t1,平臺(tái)(platform)選擇ESM335XARMV7SDK,用戶可以看到其指令集顯示為armv7:

點(diǎn)擊,選擇Console Application,

最后點(diǎn)擊,進(jìn)入代碼窗口。以下是測(cè)試的完整代碼,客戶可拷貝粘貼到所生成的代碼窗口區(qū)域中。

// 3354_armv7_t1.cpp : Defines the entry point for the console application.

//

#include"stdafx.h"

int_tmain(intargc, _TCHAR* argv[])

{

doublef1 = 2.200002;

doublef2 = 2.200001;

doubleans = 1.0;

longiterations = 5 * 1000 * 1000;

DWORDdwStartTick, dwEndTick;

_tprintf(TEXT("Microsoft compiler version: %d\r\n"),_MSC_FULL_VER);

_tprintf(TEXT("ARM instruction set: %d\r\n"),_M_ARM);

if(argc > 1)

{

f1 = _wtof(argv[1]);

}

if(argc > 2)

{

f2 = _wtof(argv[2]);

}

if(argc > 3)

{

iterations = _wtoi(argv[3]) * 1000 * 1000;

}

dwStartTick = GetTickCount();

wprintf(L"f1=%f f2=%f loop=%d starting...%d\r\n", f1, f2, iterations, dwStartTick);

for(inti=0; i

{

ans *= f1;

ans /= f2;

}

dwEndTick = GetTickCount();

wprintf(L"ans = %f %d loop/msec end...%d\r\n", ans, (int)(iterations/(dwEndTick - dwStartTick)), dwEndTick);

return0;

}

設(shè)置編譯器路徑

準(zhǔn)備好測(cè)試程序后,首先需要把ARMv7編譯器加入到VS2008中,具體設(shè)置方法是在菜單欄中選擇 Tools -> Options -> Projects and Solutions -> VC++ Directories,然后選擇頁(yè)面的Platform欄目中選擇ESM335XARMV7SDK(ARMv7),最后在路徑欄目中添加新路徑如下:

編譯器路徑設(shè)置,對(duì)一個(gè)平臺(tái)只需要設(shè)置一次。也就是對(duì)本機(jī)說,當(dāng)創(chuàng)建其他基于ESM335XARMV7SDK的應(yīng)用程序時(shí),都不需要再重復(fù)設(shè)置編譯器路徑了。

設(shè)置應(yīng)用程序編譯鏈接選項(xiàng)

從工具欄點(diǎn)擊Project -> Properties -> C/C++ -> Command Lines,添加ARMv7指令選項(xiàng)以及浮點(diǎn)處理選項(xiàng):“/QRarch7 /QRfpe- /arch:VFPv3-D32”如下:

各個(gè)選項(xiàng)的功能微軟的大致解釋如下:

●/QRarch7// -> ARMv7 Architecture

●/QRfpe-// -> Enable Hardware Floating-Point Targeting (Compact 7)

●/arch:VFPv3-D32// -> 使用VFP內(nèi)部的32個(gè)64位寄存器

由于ARMv7編譯器并不知道VS2008的基本環(huán)境庫(kù)路徑,也需要通過菜單添加:Project -> Properties -> Linker -> General,在Additional Library Directories欄加入:

“C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i”

設(shè)置的界面為:

設(shè)置完成后,就可Build測(cè)試程序,并下載至目標(biāo)板上運(yùn)行。該測(cè)試程序在ESM335x和EM335x兩個(gè)系列的主板上均可正常運(yùn)行:

這里“19455 loop/msec”表示每ms的循環(huán)次數(shù),是反應(yīng)計(jì)算能力的主要參數(shù)。

測(cè)試結(jié)果比較

按構(gòu)造上述測(cè)試程序的方法,可方便地構(gòu)造一個(gè)使用VS2008缺省編譯器(ARMv4i)的t1程序,以進(jìn)行比較。進(jìn)一步地,我們?cè)趖1主循環(huán)中增加一行超越函數(shù)計(jì)算,構(gòu)成測(cè)試程序t2:

for(inti=0; i

{

ans *= f1;

ans /= f2;

ans = cos(ans); //t2新加代碼

}

為了更全面比較測(cè)試結(jié)果,我們還在Linux版本上運(yùn)行相同測(cè)試程序,進(jìn)行編譯器的橫向?qū)Ρ取?/p>

整個(gè)測(cè)試的綜合結(jié)果如下表所示:

t1 t2
CL-15.00.20720 (armv4i) 6858 loop/ms 644 loop/ms
CL-15.01.50304.03 (armv7) 19455 loop/ms 687 loop/ms
Improvement 2.83 (+183%) 1.07(+7%)
Gcc-4.4.1+soft (armv7-a) 1921 loop/ms 470 loop/ms
Gcc-4.4.1+vfp (armv7-a) 13857 loop/ms 587 loop/ms
improvement 7.2 (+620%) 1.25 (+25%)

上表的改進(jìn)欄目中是ARMv7運(yùn)行速度相對(duì)ARMv4i速度的倍數(shù),括號(hào)內(nèi)為提高的百分比。測(cè)試程序t1評(píng)估的是常規(guī)的浮點(diǎn)計(jì)算,使能VFP后,是有明顯改進(jìn)的;而且Linux版本的相對(duì)改進(jìn)更大。但加入超越函數(shù)后,VFP的硬件優(yōu)勢(shì)就幾乎全部喪失了。我們理解ARM的VFP與傳統(tǒng)x86的協(xié)處理器(Co-processor)在對(duì)超越函數(shù)的處理上還是差別很大的,基本上還是采用多項(xiàng)式級(jí)數(shù)來合成的,本來設(shè)置VFP的主要目的也是面向數(shù)字濾波、圖形處理這類以乘加為主要特色的浮點(diǎn)處理,對(duì)數(shù)學(xué)超越函數(shù)的處理確實(shí)不在行。

小結(jié)

對(duì)需要大量使用乘加類型浮點(diǎn)處理的應(yīng)用,采用本文的方法啟動(dòng)ARMv7指令及VFP浮點(diǎn)處理器,是能夠大大改善應(yīng)用程序的性能的。對(duì)超越函數(shù)的處理,需要轉(zhuǎn)換成表格方式處理,而規(guī)避直接的計(jì)算,以保持程序總的處理性能。

微軟在VS2008配置的ARMv4i編譯器,其性能明顯優(yōu)于Linux平臺(tái)中使用的開源GCC編譯器,估計(jì)這也是微軟保留這款編譯器的原因之一。關(guān)于ARMv7指令相對(duì)ARMV4i指令的性能比較,第三方公司已做詳細(xì)測(cè)試,感興趣的客戶可向英創(chuàng)索取相關(guān)文檔。

有需求客戶可向英創(chuàng)索取ARMv7編譯器以及相應(yīng)的SDK,英創(chuàng)公司的技術(shù)支持郵箱為:support@emtronix.com。

點(diǎn)此閱讀第三方測(cè)試報(bào)告:Building WEC7 application with ARMv7 compiler - TI Benchmark。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213815
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6102

    瀏覽量

    36307
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和實(shí)現(xiàn)數(shù)字主權(quán)的重任。簡(jiǎn)單來
    的頭像 發(fā)表于 06-13 10:06 ?2010次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    ADSP-21371/ADSP-21375面向汽車音頻的32位高性能浮點(diǎn)SHARC處理器技術(shù)手冊(cè)

    ADSP-21367和ADSP-21369引腳和代碼方面完全兼容。這些SHARC處理器基于一個(gè)單指令多數(shù)據(jù)(SIMD)內(nèi)核,支持32位定點(diǎn)和32/40位浮點(diǎn)運(yùn)算格式,使它們特別適合于高性能音頻應(yīng)用。
    的頭像 發(fā)表于 05-13 09:30 ?443次閱讀
    ADSP-21371/ADSP-21375面向汽車音頻的32位高性能<b class='flag-5'>浮點(diǎn)</b>SHARC<b class='flag-5'>處理器</b><b class='flag-5'>技術(shù)</b>手冊(cè)

    ADSP1802 SHARC處理器技術(shù)手冊(cè)

    /40 位浮點(diǎn)處理器 針對(duì)具有大型 片 RAM,多個(gè)內(nèi)部總線以消除 I/O 瓶頸, 并具有創(chuàng)新的數(shù)字應(yīng)用程序接口 (DAI)。
    的頭像 發(fā)表于 05-12 14:51 ?437次閱讀
    ADSP1802 SHARC<b class='flag-5'>處理器</b><b class='flag-5'>技術(shù)</b>手冊(cè)

    創(chuàng)浪潮下,國(guó)產(chǎn)主板有什么新的發(fā)展機(jī)遇?

    信息技術(shù)應(yīng)用創(chuàng)新浪潮的推動(dòng)下,國(guó)產(chǎn)主板迎來了諸多新的發(fā)展機(jī)遇。信創(chuàng)產(chǎn)業(yè)旨在實(shí)現(xiàn)信息技術(shù)領(lǐng)域的自主可控,這一戰(zhàn)略目標(biāo)為國(guó)產(chǎn)
    的頭像 發(fā)表于 05-09 09:24 ?219次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國(guó)產(chǎn)<b class='flag-5'>主板</b>有什么新的發(fā)展機(jī)遇?

    龍芯主板是安全可信基石,可守護(hù)信息資產(chǎn)

    在網(wǎng)絡(luò)安全中,信息安全至關(guān)重要。龍芯主板內(nèi)置安全啟動(dòng)技術(shù),從硬件層級(jí)構(gòu)建起堅(jiān)實(shí)的防護(hù)體系。同時(shí),龍芯主板
    的頭像 發(fā)表于 04-22 09:12 ?201次閱讀

    迅為3A6000開發(fā)板/龍芯3A6000與龍芯3A5000等龍架構(gòu)處理器軟件兼容

    ,也證明了國(guó)內(nèi)有能力自研 CPU 架構(gòu)做出一流的產(chǎn)品。 龍芯 3A6000 處理器采用龍芯自主指令系統(tǒng)龍架構(gòu)(LoongArch),是龍芯第四代微架構(gòu)的首款產(chǎn)品,主頻達(dá)到 2.5GHz,集成 4
    發(fā)表于 02-12 15:06

    RV1109處理器概述

    ),為用戶提供了高效的多任務(wù)處理能力和靈活的編程環(huán)境。ARM Cortex-A7核心以其出色的能效比和廣泛的應(yīng)用基礎(chǔ),確保了處理器處理復(fù)雜
    的頭像 發(fā)表于 02-08 17:04 ?1414次閱讀

    EE-218:為ADSP-TS201 TigerSHARC處理器編寫高效浮點(diǎn)FFT

    電子發(fā)燒友網(wǎng)站提供《EE-218:為ADSP-TS201 TigerSHARC處理器編寫高效浮點(diǎn)FFT.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 16:46 ?0次下載
    EE-218:為ADSP-TS201 TigerSHARC<b class='flag-5'>處理器</b>編寫高效<b class='flag-5'>浮點(diǎn)</b>FFT

    迅為3A6000_7A2000開發(fā)板龍芯全國(guó)產(chǎn)處理器與龍芯 3A5000完全兼容

    ,也證明了國(guó)內(nèi)有能力自研 CPU 架構(gòu)做出一流的產(chǎn)品。 龍芯 3A6000 處理器采用龍芯自主指令系統(tǒng)龍架構(gòu)(LoongArch),是龍芯第四代微架構(gòu)的首款產(chǎn)品,主頻達(dá)到 2.5GHz,集成 4
    發(fā)表于 11-19 11:15

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    近日,由中國(guó)電子信息行業(yè)聯(lián)合會(huì)主辦的第二十六屆中國(guó)國(guó)際軟件博覽會(huì)(簡(jiǎn)稱“軟博會(huì)”)天津國(guó)家會(huì)展中心成功舉行。在此次盛會(huì)上,中國(guó)電子信息行業(yè)聯(lián)合會(huì)發(fā)布了“2024年軟件和信息技術(shù)服務(wù)企
    的頭像 發(fā)表于 10-30 11:44 ?975次閱讀

    迅為3A6000_7A2000核心主板龍芯全國(guó)產(chǎn)處理器LoongArch架構(gòu)

    ,也證明了國(guó)內(nèi)有能力自研 CPU 架構(gòu)做出一流的產(chǎn)品。 龍芯 3A6000 處理器采用龍芯自主指令系統(tǒng)龍架構(gòu)(LoongArch),是龍芯第四代微架構(gòu)的首款產(chǎn)品,主頻達(dá)到 2.5GHz,集成 4
    發(fā)表于 10-12 11:25

    TMS320C6745浮點(diǎn)數(shù)字信號(hào)處理器技術(shù)簡(jiǎn)介

    電子發(fā)燒友網(wǎng)站提供《TMS320C6745浮點(diǎn)數(shù)字信號(hào)處理器技術(shù)簡(jiǎn)介.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 09:34 ?0次下載
    TMS320C6745<b class='flag-5'>浮點(diǎn)</b>數(shù)字信號(hào)<b class='flag-5'>處理器</b><b class='flag-5'>技術(shù)</b>簡(jiǎn)介

    盛顯科技:拼接處理器配置混合矩陣的步驟是什么?

    相信大家都知道,拼接處理器配置混合矩陣,主要涉及到將混合矩陣的輸出與拼接處理器的輸入相連接,并通過拼接處理器的軟件或界面進(jìn)行配置,以實(shí)現(xiàn)
    的頭像 發(fā)表于 09-26 18:09 ?627次閱讀

    創(chuàng)國(guó)產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡(jiǎn)稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國(guó)內(nèi)軟硬件關(guān)鍵
    的頭像 發(fā)表于 09-21 16:15 ?880次閱讀

    龍芯ITX主板GM7-3601搭載龍芯3A5000處理器的工控主板

    上半年河南鶴壁近50所中小學(xué)引進(jìn)了近萬臺(tái)國(guó)產(chǎn)龍芯3A5000電腦進(jìn)入課堂教學(xué)。今天給大家推薦的這款龍芯工控主板,同樣搭載著龍芯3A5000四核處理器7A1000
    的頭像 發(fā)表于 08-02 08:14 ?1042次閱讀
    龍芯ITX<b class='flag-5'>主板</b>GM<b class='flag-5'>7</b>-3601搭載龍芯3A5000<b class='flag-5'>處理器</b>的工控<b class='flag-5'>主板</b>