新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 技術(shù)白皮書:多核系統(tǒng)編程技術(shù)

        技術(shù)白皮書:多核系統(tǒng)編程技術(shù)

        作者: 時(shí)間:2009-04-13 來源:網(wǎng)絡(luò) 收藏



        圖2:典型的應(yīng)用程序,它展示了編程所具有的與生俱來的并行特性。

        基于文本的如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)爭(zhēng)狀況- 代碼運(yùn)行的時(shí)序沒有被正確管理,在需要數(shù)據(jù)時(shí),數(shù)據(jù)不是沒有準(zhǔn)備好就是已經(jīng)被覆蓋掉了。
        4. 存儲(chǔ)器沖突——與代碼中存儲(chǔ)器管理相關(guān)的問題。

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

        是利用實(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)行得更快。


        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 当阳市| 武汉市| 鹤岗市| 政和县| 错那县| 什邡市| 抚远县| 肃宁县| 波密县| 石河子市| 铅山县| 谢通门县| 靖边县| 大连市| 嵊泗县| 缙云县| 元江| 黔西县| 咸阳市| 威海市| 柳河县| 宣城市| 沈阳市| 延长县| 临邑县| 桦川县| 盐亭县| 仪征市| 同心县| 高唐县| 横山县| 喀喇沁旗| 祁阳县| 宁城县| 五华县| 马尔康县| 江城| 武夷山市| 蓝山县| 沙坪坝区| 潞城市|