91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

淺談多核系統(tǒng)編程技術(shù)

jf_pJlTbmA9 ? 2023-10-27 17:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文概覽

因?yàn)镹I LabVIEW是數(shù)據(jù)流編程語言,開發(fā)者們可以編寫并行的應(yīng)用程序,這些應(yīng)用程序可以直接映射到并行的硬件(如多核心處理器FPGA等)上以獲得最優(yōu)異的性能。這篇白皮書討論了什么是數(shù)據(jù)流編程以及為什么說NI LabVIEW是多核系統(tǒng)編程的首選。

免費(fèi)午餐結(jié)束了

近幾年來,處理器的速度遭遇到了瓶頸。摩爾定律表明,每隔18~24個(gè)月芯片中晶體管的數(shù)量就會(huì)增加一倍。這在過去的40年里始終是適用的,但是芯片性能卻不再保持線性增加了。過去,芯片生產(chǎn)廠商通過增加處理器的時(shí)鐘速度來提高芯片的性能,如從100~200MHz,再到最近的數(shù)GHz的范圍。

但是在今天,由于功耗和散熱的限制,通過提高時(shí)鐘速度來增加性能的方法行不通了。芯片廠商開始轉(zhuǎn)向另一種全新的芯片構(gòu)架,就是在單芯片上集成多個(gè)處理器內(nèi)核。相對(duì)于單核處理器,程序員們可以使用多核處理器完成更多的任務(wù)。為了充分利用多核處理器,程序員們需要重新考慮開發(fā)應(yīng)用程序的方法。微軟公司的軟件設(shè)計(jì)師Herb Sutter曾說過,對(duì)于那些期望最終用戶簡單的將計(jì)算機(jī)升級(jí)到更快的處理器就可以立即看到軟件程序性能提升的開發(fā)者而言,“免費(fèi)午餐結(jié)束了”。簡而言之,在相當(dāng)長的一段時(shí)間里,軟件開發(fā)是這樣的,但是現(xiàn)在情況不同了。

正在轉(zhuǎn)向在單個(gè)處理器上集成多個(gè)核心的方法。

順序執(zhí)行的程序在處理器的速度提升后將得到性能的改善,將電腦升級(jí)到更快的CPU意味著一個(gè)序列中每個(gè)單獨(dú)的指令都將運(yùn)行得更快。為了在多核系統(tǒng)中繼續(xù)獲得性能提升,你需要設(shè)計(jì)一個(gè)在內(nèi)核間分配任務(wù)的應(yīng)用程序,從本質(zhì)上說來就是開發(fā)并行應(yīng)用程序來取代順序執(zhí)行的程序。

LabVIEW――一種圖形化數(shù)據(jù)流式編程語言

在LabVIEW中開發(fā)應(yīng)用程序的主要優(yōu)勢(shì)是這種語言有著直觀、圖形化的特點(diǎn)。在LabVIEW中,用戶解決工程問題就像是在紙上畫框圖一樣?,F(xiàn)代多核處理器技術(shù)使得LabVIEW成為一種更適合的編程工具,因?yàn)樗兄⑿谢磉_(dá)和執(zhí)行任務(wù)的能力。

LabVIEW的數(shù)據(jù)流特性使得如果連線中存在著分支,或者是框圖中存在并行序列,那么LabVIEW執(zhí)行機(jī)構(gòu)會(huì)嘗試著并行的執(zhí)行程序。在計(jì)算機(jī)科學(xué)術(shù)語中,這稱為“潛在的并行化”,因?yàn)槟悴恍枰鶕?jù)并行運(yùn)行的需要明確地編寫并行代碼,編程語言自己會(huì)進(jìn)行一定程度的并行化。

從單核到雙核計(jì)算機(jī),理論上講,獲得的性能應(yīng)該是原來的兩倍。但是,與這個(gè)極限接近的程度取決于用戶應(yīng)用程序運(yùn)行的并行化程度。LabVIEW程序員們可以很方便的以并行方式來表示他們的解決方案。對(duì)于普通的LabVIEW應(yīng)用程序而言,如果不考慮多核心編程技術(shù),在不改寫代碼的情況下,與最初的程序相比,可以獲得25%到35%的性能提升,這都是緣于普通LabVIEW程序所具有的并行特性。

圖2是一個(gè)簡單的應(yīng)用程序的例子。其中,LabVIEW代碼中的分支簡化了兩個(gè)分析任務(wù)――一個(gè)濾波器操作和一個(gè)快速傅立葉變換(FFT),使它們可以在雙核機(jī)器上并行執(zhí)行。在圖表中沒有顯示的性能測(cè)試代碼,它首先在單核模式下(關(guān)掉其中的一個(gè)核)運(yùn)行“for loop”一次,然后在雙核的模式下運(yùn)行。因?yàn)檫@兩項(xiàng)任務(wù)都是計(jì)算量很高的,利用任務(wù)并行化獲得的性能改進(jìn)為原來的1.8倍。


基于文本的編程語言如C語言等,在代碼中利用特殊標(biāo)記來表示并行化代碼,創(chuàng)建并行任務(wù)(也就是創(chuàng)建獨(dú)立的線程)。管理這些多線程的應(yīng)用程序?qū)⑹且粋€(gè)挑戰(zhàn)。

在C語言中,用戶必須使用鎖操作、互斥量、原子操作和其他高級(jí)編程技術(shù)來管理同步。當(dāng)多線程變得難于跟蹤調(diào)試,通常的編程缺陷便出現(xiàn)了,如下所示:

1. 由于線程太多而導(dǎo)致效率低下。

2. 死鎖――線程一直在等待某些而不能進(jìn)行處理。

3. 競(jìng)爭狀況- 代碼運(yùn)行的時(shí)序沒有被正確管理,在需要數(shù)據(jù)時(shí),數(shù)據(jù)不是沒有準(zhǔn)備好就是已經(jīng)被覆蓋掉了。

4. 存儲(chǔ)器沖突――與代碼中存儲(chǔ)器管理相關(guān)的問題。

由于使用C語言進(jìn)行開發(fā)面臨的這些挑戰(zhàn),LabVIEW程序員們可以獲得比以往更高的效率。

LabVIEW是利用實(shí)時(shí)SMP支持,處于“Multicore Ready”軟件層的最上層Intel公司定義了用戶需要評(píng)估的四個(gè)軟件層次來確定多核系統(tǒng)的可用程度。如果所用的應(yīng)用程序庫和設(shè)備驅(qū)動(dòng)不是為多核而設(shè)計(jì)的,或者操作系統(tǒng)不能夠在多個(gè)核心上進(jìn)行負(fù)載均衡,那么并行程序在多核心系統(tǒng)上并不會(huì)運(yùn)行得更快。

審核編輯 黃宇

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22415

    瀏覽量

    636499
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54017

    瀏覽量

    466293
  • LabVIEW
    +關(guān)注

    關(guān)注

    2017

    文章

    3688

    瀏覽量

    347216
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145635
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何讓S32K396支持FreeRTOS的多核運(yùn)行?

    如何讓S32K396支持FreeRTOS的多核運(yùn)行
    發(fā)表于 02-26 10:03

    揭秘!三步讓Debian系統(tǒng)編譯速度起飛,告別重復(fù)下載資源的煩惱

    在 Debian 系統(tǒng)編譯的過程中,重復(fù)構(gòu)建系統(tǒng)和動(dòng)態(tài)下載相關(guān)資源往往會(huì)消耗大量時(shí)間,拖慢開發(fā)和部署進(jìn)度。今天,我們就通過分析一組代碼修改,來探索如何優(yōu)化 Debian 系統(tǒng)編譯,實(shí)現(xiàn)高效編譯,減少不必要的時(shí)間浪費(fèi)。
    的頭像 發(fā)表于 02-01 16:43 ?1446次閱讀

    C語言嵌入式系統(tǒng)編程注意事項(xiàng)-內(nèi)存操作

    C語言嵌入式系統(tǒng)編程注意事項(xiàng)之內(nèi)存操作 在嵌入式系統(tǒng)編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++以外的其它編程語言基本沒有直接訪問絕對(duì)地址的能力
    發(fā)表于 01-04 07:31

    京微齊力亮相2025國際現(xiàn)場(chǎng)可編程技術(shù)大會(huì)

    12月2日-5日,2025年國際現(xiàn)場(chǎng)可編程技術(shù)大會(huì)(FPT)在上海成功舉辦,京微齊力應(yīng)邀參加此次行業(yè)盛會(huì),與全球領(lǐng)先的行業(yè)專家學(xué)者,共同探討可編程技術(shù)的創(chuàng)新與發(fā)展。
    的頭像 發(fā)表于 12-10 15:00 ?525次閱讀
    京微齊力亮相2025國際現(xiàn)場(chǎng)可<b class='flag-5'>編程技術(shù)</b>大會(huì)

    一張表看懂:邁威選擇性波峰焊視覺編程系統(tǒng)的“快、準(zhǔn)、穩(wěn)”

    、定位偏差等導(dǎo)致的精度問題。 邁威選擇性波峰焊視覺編程系統(tǒng)以創(chuàng)新的實(shí)時(shí)在機(jī)視覺編程技術(shù),徹底改變了這一現(xiàn)狀。該系統(tǒng)通過高精度工業(yè)相機(jī)直接對(duì)已裝夾的PCB板進(jìn)行快速掃描與成像,使
    的頭像 發(fā)表于 12-05 08:54 ?425次閱讀
    一張表看懂:邁威選擇性波峰焊視覺<b class='flag-5'>編程</b><b class='flag-5'>系統(tǒng)</b>的“快、準(zhǔn)、穩(wěn)”

    思爾芯邀您共聚 FPT 2025,賦能可編程技術(shù)新未來

    編程技術(shù)盛會(huì),聚焦可重構(gòu)計(jì)算設(shè)備與系統(tǒng)、現(xiàn)場(chǎng)可編程器件等關(guān)鍵領(lǐng)域。FPT不僅是技術(shù)交流的平臺(tái),更是推動(dòng)產(chǎn)學(xué)研深度融合、激發(fā)創(chuàng)新靈感的重要契機(jī)。思爾芯作為國內(nèi)首家數(shù)
    的頭像 發(fā)表于 11-25 09:57 ?676次閱讀
    思爾芯邀您共聚 FPT 2025,賦能可<b class='flag-5'>編程技術(shù)</b>新未來

    一文了解Mojo編程語言

    編程能力 允許直接進(jìn)行系統(tǒng)調(diào)用和文件操作,提供類似 Rust 的內(nèi)存安全機(jī)制(所有權(quán)和借用檢查),避免運(yùn)行時(shí)錯(cuò)誤。 支持零成本抽象,開發(fā)者無需犧牲性能即可編寫高層代碼。 并行與異構(gòu)計(jì)算 內(nèi)置對(duì)多核
    發(fā)表于 11-07 05:59

    告別 “人工盯防”!RFID 技術(shù)重構(gòu)載體管控新范式——淺談RFID技術(shù)在載體管控中的應(yīng)用

    告別 “人工盯防”!RFID 技術(shù)重構(gòu)載體管控新范式——淺談RFID技術(shù)在載體管控中的應(yīng)用 直擊傳統(tǒng)管控痛點(diǎn)問題,RFID 技術(shù)精準(zhǔn)破局 在政府機(jī)關(guān)、金融機(jī)構(gòu)、科研單位及各類企事業(yè)單位
    的頭像 發(fā)表于 10-20 10:27 ?365次閱讀
    告別 “人工盯防”!RFID <b class='flag-5'>技術(shù)</b>重構(gòu)載體管控新范式——<b class='flag-5'>淺談</b>RFID<b class='flag-5'>技術(shù)</b>在載體管控中的應(yīng)用

    移植RTThread多核如何開始(ZYNQ US 64位 A53)?

    想請(qǐng)教一下各位前輩如何移植RTThread到多核平臺(tái)上,需要注意的問題和學(xué)習(xí)路線。
    發(fā)表于 09-22 07:25

    請(qǐng)問系統(tǒng)編程 (ISP) 工具支持哪些接口進(jìn)行系統(tǒng)升級(jí)?

    ISP工具支持多種接口進(jìn)行系統(tǒng)升級(jí),包括UART、USB、I2C、SPI、CAN、RS485、I/O和以太網(wǎng),并提供開源代碼供用戶修改以符合自己的系統(tǒng)環(huán)境。
    發(fā)表于 08-18 07:40

    【老法師】多核異構(gòu)處理器中M核程序的啟動(dòng)、編寫和仿真

    有很多研究單片機(jī)的小伙伴在面對(duì)多核異構(gòu)處理器時(shí),可能會(huì)對(duì)多核的啟動(dòng)流程感到困惑——因?yàn)椴皇煜CC編程和GDB調(diào)試,所以也無法確定多核異構(gòu)處理器的程序是否能像單片機(jī)那樣方便地編寫和仿真
    的頭像 發(fā)表于 08-13 09:05 ?3996次閱讀
    【老法師】<b class='flag-5'>多核</b>異構(gòu)處理器中M核程序的啟動(dòng)、編寫和仿真

    低價(jià)甩賣技術(shù)類書

    =DAmh45YKbbx CZ193 「我在閑魚發(fā)布了【人工智能,嵌入式,編程技術(shù)書籍,標(biāo)價(jià)2到3折賣圖中所有書,1】」 點(diǎn)擊鏈接直接打開
    發(fā)表于 07-31 14:20

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    。 低延時(shí)、高實(shí)時(shí)性RK3506采用了AMP多核異構(gòu),具備強(qiáng)大的實(shí)時(shí)性能使得一顆芯片便能靈活搭配多種操作系統(tǒng),確保系統(tǒng)能夠快速響應(yīng)各類輸入信號(hào),特別適用于高精度控制系統(tǒng),滿足多種應(yīng)用需
    發(fā)表于 05-16 17:20

    熱成像儀為何都在瘋狂卷多核處理器?“多核大戰(zhàn)”背后的真相你知道嗎?

    熱成像儀進(jìn)入“多核”時(shí)代,這不是噱頭,而是需求在變。 從黑夜中識(shí)別生命體,到復(fù)雜地形中實(shí)現(xiàn)熱源追蹤,過去主要用于軍事和工業(yè)的熱成像儀,如今正越來越多地進(jìn)入民用市場(chǎng)。而隨著使用場(chǎng)景的復(fù)雜化,“看得見
    的頭像 發(fā)表于 04-27 15:41 ?785次閱讀

    全志科技多核異構(gòu)SoC助力行業(yè)智能化創(chuàng)新

    近日, “第十二屆開源操作系統(tǒng)年度技術(shù)會(huì)議”在北京舉行,全志科技受邀參會(huì)。會(huì)上,全志進(jìn)行了題為《多核異構(gòu)SoC在行業(yè)應(yīng)用中軟件方案的思考與實(shí)踐》的分享。分享從市場(chǎng)和技術(shù)洞察、方案設(shè)計(jì)創(chuàng)
    的頭像 發(fā)表于 04-18 09:11 ?1310次閱讀
    全志科技<b class='flag-5'>多核</b>異構(gòu)SoC助力行業(yè)智能化創(chuàng)新