《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種調節多核處理器硬件適應軟件設計方法
一種調節多核處理器硬件適應軟件設計方法
摘要: 典型的嵌入式系統設計人員在硬件平臺上進行編程,他們最關注的一點就是硬件平臺的穩定性。如果硬件沒有設置好,會帶來重新編寫代碼的麻煩。但是一個完全設置好的穩定的硬件平臺還是會對其上運行的程序有一系列的限制
Abstract:
Key words :
 

典型的嵌入式系統設計人員在硬件平臺上進行編程,他們最關注的一點就是硬件平臺的穩定性。如果硬件沒有設置好,會帶來重新編寫代碼的麻煩。但是一個完全設置好的穩定的硬件平臺還是會對其上運行的程序有一系列的限制。這些限制 - 無論是設計結果,還是一個完全的缺陷 - 都會造成在編碼時需要迂回處理甚至重新返工的情況,給設計實現帶來麻煩,并且耗費了大量的時間。

通過將FPGA平臺和一個精心設計的多核方法結合在一起,開發人員就能以下列這種方式實現高性能分組處理應用:軟件工程師能夠對計算平臺的結構有所控制,從而大大縮短編程時間,同時降低延期交付風險。

硬件設計流程的主要工作就是定義一塊電路板。像存儲器類型、總線協議和I/O這樣的基本組件已被預先定義。

如果只使用一個固定的處理器,那它也是預先定義好的。但是,單個處理器無法運行需要吉比特性能的算法(例如分組處理算法),此時就需要多個處理器協同工作。

構建一個處理構造塊的最佳方法取決于所運行的軟件。使用FPGA來進行處理,就能使你在對代碼需求有了進一步了解后,再對精確的實現方式做出明確的決策。全新的Tejia FP平臺在Xilinx® VirtexTM - 4 FPGA上提供了一種方法和多核基礎設施,使開發人員在完成代碼編寫后,對多核架構進行精確的配置。

當軟件工程師設計硬件時

硬 件和軟件設計是兩種本質上不同的工作。無論硬件設計語言多么像一個軟件,它進行的仍然是硬件設計。硬件語言對結構進行定義,并且設計流程最終要進行結構的 實體化。但是,軟件工程師正越來越多地使用C編程技術來設計系統功能;現有的工具支持使用軟件或硬件方法來設計系統功能。

軟件實現的方法 更偏向于過程導向。它考慮的是“如何去做”而不是“構建什么”的問題,因為從傳統觀點來看,已經不需要再構建什么了 - 硬件都已經被構建好了。在真正基于軟件的設計方法中,關鍵的功能不是被構建到一種結構中去,而是在一個已經構建好的系統中被結構執行的。靈活性是基于軟件 的實現方法的優勢:在系統出廠后仍能快捷地對其進行改變。雖然FPGA也能現場編程,但改變軟件設計要比構建硬件快捷地多。

由于硬件和軟 件設計存在著差異,因此硬件和軟件的設計者所考慮的問題是不同的。硬件工程師不可能只通過改變編程語言的語法,就能轉變成軟件工程師。反之,軟件工程師也 不可能因為硬件設計中需要軟件的參與,就能轉變成硬件工程師。因此,不能輕率地就讓軟件工程師加入到處理架構的設計中來。

此外,硬件工程師、軟件工程師或項目經理都不會同意將一個基于硬件方法的設計交給一位軟件工程師去完成。軟件工程師做出關于硬件的決定時所使用的方法,極有可能得到熟悉類似編程語言的另一位軟件工程師的認同。

如圖1所示,并行流水線是多核分組處理引擎中處理架構的關鍵結構。這一引擎由一個處理器陣列加上可能存在的硬件加速器構成?;卮鹆讼旅孢@些問題,就等于完成了一個設計流程:

需要多少個處理器?

應該如何安排這些處理器?

每個處理器需要處理多少代碼和存儲多少本地數據?

代碼的哪些部分需要硬件加速

讓我們來逐一回答這些問題,從而為軟件工程師“組裝”出一套設計方法。

處理器的數量和配置

所 需處理器的數量可以通過對周期預算和執行代碼所需的周期數進行簡單的數學計算得出。當你要在規定的時間內完成工作時,周期預算就成為一個關鍵的參數。例如 進行分組處理時,數據位置進行劃分。這樣,就能夠圍繞劃分的情況來進行硬件設計,而不用根據硬件來進行劃分。軟件工程師如何進行設計是一個關鍵問題。 Teja中集成了一組API和一個處理工具,可以用ANSI C來定義硬件平臺。此工具可執行程序,創建處理平臺的定義,這些定義能夠被Xilinx嵌入式工具進行處理。API組的內容十分豐富,并且能夠在很靠底的 硬件層次上進行控制,但大多數軟件工程師不希望使用它們。因此,Teja中還使用參數化的方式加入了一個“典型的”流水線定義的方法。要實現上述示例中的 流水線,只需要在配置頭文件中修改兩個簡單的#define陳述式。

下面的陳述式定義了一個兩級的流水線,在第一級使用了4個引擎,在第 二級使用了2個引擎:圖1 - 并行的流水線,每個引擎由一個MicroBlaze處理器、專用存儲器和可選的減負器構成。包不停地到來,而你在下一個數據包到來之前,只有那么多周期來 完成你的工作。如果你的代碼需要更長的時間來執行,那么就需要添加更多的處理器。例如,如果周期預算是100個周期,而代碼執行需要520個周期,那么你 就需要6個處理器(520除以100,然后進位到整數)。你可以對處理器數量進行調整,但必須滿足預算的要求。使用Teja工具時,可以通過分析來確定周 期數。

下一個問題是如何安排這些處理器。處理這一問題最簡單的辦法就是確定你是否需要劃分代碼,來創建一個流水線。流水線使用較少的硬件 資源,但會增加等待時間。如果你需要對代碼進行劃分,最好選擇在一個明顯的位置(自然和直觀的位置)進行。而沒有必要計算出周期中點精確的位置。



圖1 - 并行的流水線,每個引擎由一個MicroBlaze處理器、專用存儲器和可選的減負器構成。

假 設你要用6個處理器構成一個兩級流水線。那么你現在就需要計算出每一級所需的處理器的數量;先通過分析來確定每個劃分的周期數,如后再用它去除以周期預 算,就可以得到每一級所需的處理器的數量。。因此,如果第一個劃分需要380個周期,則它需要4個處理器;這樣第二級就需要140個周期,從而需要兩個處 理器。(兩個劃分所需的周期數之和實際上不一定正好等于未劃分的程序所需的周期數,但會非常接近,因此在這里可以近似看作相等。)因此,這個兩級的流水線 的第一級需要4個處理器,第二級需要2個處理器。如果有足夠的邏輯資源,使用Xilinx MicroBlazeTM軟核,就能夠實體化任何這樣的流水線。

相比較而言,在一個固定的流水線結構中,每一級的處理器數量都已經預先確 定。因此就只能強制使用一種專門的劃分方法,實現這一劃分就會需要相當長的時間。相反地,如果每一級使用的處理器數量不同,流水線就可以定制,并且可以是 不規則的。因此能夠從任何位置進行劃分。這樣,就能夠圍繞劃分的情況來進行硬件設計,而不用根據硬件來進行劃分。

軟件工程師如何進行設計是 一個關鍵問題。Teja中集成了一組API和一個處理工具,可以用ANSI C來定義硬件平臺。此工具可執行程序,創建處理平臺的定義,這些定義能夠被Xilinx嵌入式工具進行處理。API組的內容十分豐富,并且能夠在很靠底的 硬件層次上進行控制,但大多數軟件工程師不希望使用它們。因此,Teja中還使用參數化的方式加入了一個“典型的”流水線定義的方法。要實現上述示例中的 流水線,只需要在配置頭文件中修改兩個簡單的#define陳述式。

下面的陳述式定義了一個兩級的流水線,在第一級使用了4個引擎,在第二級使用了2個引擎:

#define PIPELINE_LENGTH 2

#define PIPELINE_CONFIG {4,2};

由上述陳述式和預設的配置程序,TejaCC程序就能構建出流水線。當然,無論由于什么原因使得流水線的配置需要發生改變時,只要使用與上面相似的方法進行編輯即可。

存儲器

第 三個問題跟所需的存儲器數量有關。在一個典型的系統中,所能存儲的代碼和數據的數量是固定的。如果你的設計沒有滿足這一要求,就需要做大量的工作來將多出 的內容壓縮到存儲空間中。但是在使用FPGA時,只要所需存儲器的數量在芯片所能提供的范圍之內,就能夠按照實際需要為每個處理器分配存儲空間。在更典型 的情況下,所有的存儲空間的大小都相同(由于每個塊的最小容量為2k,這就限制了進行微調的程度)。



圖2 - 配置并行流水線的流程

代碼編譯時提供所需存儲器的大小,并且可以使用下面的陳述式來編輯配置頭文件,在這個示例中為代碼和數據存儲分配的存儲空間均為8KB:

#define CPE_CODE_MEM_SIZE_KB 8

#define CPE_DATA_MEM_SIZE_KB 8

使用減負器來加快處理速度
第四個問題和創建硬件加速器有關??赡苡幸徊糠殖绦驎加锰嗟闹芷?。要減少周期就需要更多的處理器,而使用硬件加速器就能減少處理器的數量。只要硬件加速器比其所替代的處理器占用更少的門,就能夠減少整個硬件實現的面積。

Teja有一項功能就是用來從代碼中直接創建這樣的加速器或減負器。通過對程序進行注釋,此功能就可創建:

實現代碼的硬件邏輯

通過系統接口在處理器基礎設施中添加加速器

調用原型替換程序中最初的代碼

在將減負器集成于系統之前,先使用測試臺對其進行驗證。

一旦創建了減負器,周期數就會減少,因此你需要重新安排處理器。但由于重新定義流水線結構的操作十分方便,因此這是一項很簡單的任務。

一個簡單直接的方法

將前面所述的步驟組合在一起,就產生了圖2中所示的設計流程。你可以先定義減負器(對于明顯需要減負器的任務),或在配置好流水線之后再定義減負器(如果現有的代碼使用了太多的處理器)。

軟件工程師所能控制的是一些在他們看來自然和簡單的參數,這里使用自然的軟件語言(ANSI C)來表達這些參數。對硬件進行實體化的所有細節都由TejaCC程序來處理,它會為Xilinx嵌入式開發系統(EDK)創建一個項目。剩下的編譯/綜合/布局/布線和產生比特流以及鏡像代碼的工作全都由EDK來完成。

在 這種方式下,電路板可以由硬件工程師設計,但通過使用FPGA,硬件工程師能夠將最終的實現中硬件配置的關鍵部分,留給軟件設計者去完成。這一方法還支持 在設計即將完成時對電路板進行改動(例如,由于性能原因要對存儲器的類型和容量進行改動)。由于Teja工具能創建FPGA的硬件定義,其中包括存儲器控 制器和其他外設,因此設計人員可以輕松地調節電路板。最終的結果是,由于硬件實現可以適應軟件的變化,因此軟件設計者不再需要花費大量的時間來圍繞一個固 定的硬件設置編寫程序。

通過利用靈活的Virtex -4 FPGA和MicroBlaze核,Teja FP環境和基本結構使得所有這一切都變成了可能。有了這一強大的工具,你就能夠將開發周期縮短幾周甚至幾個月。

Teja還提供了一些高級應用程序,這些應用程序能用來啟動一個項目,并減少所需的工作量。將一個靈活省時的設計方法和一個事先定義好的應用程序結合起來使用,網絡設備的制造者就能更快地完成他們的設計。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产一区视频在线看| 亚洲一区亚洲二区| 亚洲区一区二区三区| 欧美日韩国产精品一区| 久久久久久亚洲综合影院红桃| 1769国产精品| 中日韩视频在线观看| 亚洲第一中文字幕| 亚洲娇小video精品| 欧美视频日韩视频在线观看| 欧美视频福利| 亚洲一区二区三区精品动漫| 99re66热这里只有精品4| 篠田优中文在线播放第一区| 夜夜嗨av一区二区三区网页| 亚洲午夜高清视频| 国产精品久久久久久av福利软件| 黄色精品一区| 艳女tv在线观看国产一区| 久久精品免费电影| 一区二区视频欧美| 久久综合九色| 国产日韩综合一区二区性色av| 99视频精品免费观看| 欧美午夜激情小视频| 91久久在线播放| 亚洲精品日日夜夜| 国产小视频国产精品| 亚洲新中文字幕| 国产精品综合av一区二区国产馆| 亚洲一级高清| 国产精品av久久久久久麻豆网| 欧美日韩一级黄| 亚洲欧美激情四射在线日| 国产噜噜噜噜噜久久久久久久久| 性欧美xxxx大乳国产app| 一区二区三区精品视频| 国产欧美日韩精品a在线观看| 亚洲乱码国产乱码精品精| 欧美破处大片在线视频| 国产精品白丝黑袜喷水久久久| 亚洲欧美日本视频在线观看| 伊人狠狠色丁香综合尤物| 性欧美xxxx视频在线观看| 欧美日韩大片| 欧美成人首页| 欧美日韩一区二区视频在线观看| 欧美日韩中文字幕| 日韩亚洲欧美一区| 国产精品久久久久久久久免费桃花| 亚洲一区欧美一区| 欧美午夜一区二区| 久久亚洲精品中文字幕冲田杏梨| 国产麻豆日韩| 国产精品视屏| 欧美极品一区二区三区| 亚洲高清视频在线观看| 在线视频国内自拍亚洲视频| 国产精品久久久久久久午夜片| 欧美韩日视频| 一区二区三区国产精华| 99精品免费视频| 国产视频亚洲精品| 性欧美暴力猛交69hd| 91久久国产精品91久久性色| 欧美三级在线| 亚洲欧洲一区二区三区在线观看| 国产农村妇女精品一二区| 久久亚洲影院| 一区二区三区在线视频播放| 国产精品久久福利| 亚洲欧洲精品天堂一级| 亚洲人午夜精品免费| 国产精品高清一区二区三区| 国产午夜精品一区理论片飘花| 日韩一级黄色片| 亚洲激情社区| 国产美女精品人人做人人爽| 久久精品国产精品亚洲精品| 亚洲免费观看高清在线观看| 美女露胸一区二区三区| 亚洲日本中文| 亚洲高清三级视频| 9l视频自拍蝌蚪9l视频成人| 久久av老司机精品网站导航| 国产精品v片在线观看不卡| 国产精品高潮呻吟视频| 欧美性大战xxxxx久久久| 亚洲一区免费看| 欧美久久九九| 日韩视频在线观看免费| 亚洲欧美日韩在线观看a三区| 久久国内精品自在自线400部| 亚洲日本中文字幕免费在线不卡| 中文一区在线| 欧美高清在线一区二区| 在线观看成人小视频| 国产精品亚洲一区二区三区在线| 亚洲美女少妇无套啪啪呻吟| 久久香蕉国产线看观看网| 欧美激情精品久久久久久| 亚洲视频电影图片偷拍一区| 欧美日韩免费观看中文| 国产精品黄色在线观看| 午夜精品在线观看| 亚洲高清视频的网址| 亚洲图色在线| 欧美婷婷六月丁香综合色| 国产精品欧美一区二区三区奶水| 亚洲在线视频观看| 亚洲一区二区在线观看视频| 国产欧美日韩免费看aⅴ视频| 国产欧美精品在线观看| 欧美在线亚洲在线| 在线成人激情| 在线日本欧美| 欧美日韩在线亚洲一区蜜芽| 欧美影院视频| 亚洲欧美综合精品久久成人| 亚洲电影在线观看| 欧美性大战久久久久久久| 久久五月婷婷丁香社区| 香蕉精品999视频一区二区| 亚洲高清视频一区| 欧美区高清在线| 亚洲经典视频在线观看| 一区二区三区波多野结衣在线观看| 国产夜色精品一区二区av| 中文亚洲欧美| 欧美视频中文字幕| 亚洲综合好骚| 国产精品成人在线| 国产精品久久久久久久app| 免费不卡在线观看| 国产日韩精品一区观看| 亚洲少妇最新在线视频| 欧美国产精品专区| 国产色产综合色产在线视频| 欧美三级不卡| 久久国产精品色婷婷| 在线观看日韩www视频免费| 亚洲精品欧美一区二区三区| 亚洲综合日韩| 国产精品乱码人人做人人爱| 激情文学一区| 亚洲一区二区视频在线观看| 亚洲精品专区| 一区二区三区免费网站| 国产一区二区三区奇米久涩| 国产一区二区精品久久99| 欧美一区久久| 国产精品视频自拍| 香蕉乱码成人久久天堂爱免费| 伊人久久婷婷| 亚洲国产成人久久综合一区| 尤物yw午夜国产精品视频明星| 国产亚洲人成a一在线v站| 亚洲精品少妇网址| 欧美绝品在线观看成人午夜影视| 国产精品亚洲综合一区在线观看| 国产一区二区黄色| 亚洲在线黄色| 欧美一区二区三区日韩| 欧美一区二区高清在线观看| 国产一区视频在线观看免费| 亚洲国产精品传媒在线观看| 99这里只有久久精品视频| 国产午夜精品一区二区三区视频| 国产精品一区在线播放| 香蕉免费一区二区三区在线观看| 国产一区二区三区久久| 国产亚洲综合精品| 国产综合激情| 欧美华人在线视频| 亚洲欧美日韩国产成人精品影院| 国产午夜精品理论片a级大结局| 国产亚洲精久久久久久| 最新69国产成人精品视频免费| 国产区精品视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美成人精品影院| 美女脱光内衣内裤视频久久网站| 午夜精品999| 在线播放日韩欧美| 国内精品伊人久久久久av一坑| 亚洲精品视频在线看| 伊人成人在线视频| 精品电影在线观看| 久久精品国产免费| 亚洲午夜在线| 久久在线免费观看视频| 麻豆国产精品777777在线| 在线播放国产一区中文字幕剧情欧美| 在线观看欧美激情| 欧美中文字幕视频在线观看| 欧美大片在线观看一区二区| 久久综合中文字幕| 久久久久国产一区二区三区| 国色天香一区二区| 欧美日韩激情小视频| 久久久久久自在自线| 亚洲一区二区综合| 国产精品亚洲美女av网站| 欧美日韩一区三区| 好男人免费精品视频| 亚洲专区一区| 亚洲欧美电影在线观看| 亚洲在线观看免费视频| 亚洲电影免费观看高清完整版在线观看| 欧美另类女人| 欧美日韩国产成人在线观看| 日韩视频精品在线| 99国产精品久久久久久久久久| 亚洲一区视频| 一区二区欧美在线| 久色成人在线| 欧美久久久久久蜜桃| 国产一区二区三区精品久久久| 国产色综合天天综合网| 国产精品ⅴa在线观看h| 性欧美8khd高清极品| 99综合视频| 国产精品女主播在线观看| 亚洲一区影音先锋| 久久露脸国产精品| 在线观看中文字幕不卡| 亚洲新中文字幕| 久久国产日韩| 久久福利视频导航| 一区二区三区在线视频观看| 亚洲美女黄网| 欧美猛交免费看| 欧美中文字幕在线播放| 玖玖视频精品| 欧美美女日韩| 亚洲欧洲精品一区二区三区不卡| 另类国产ts人妖高潮视频| 一区二区冒白浆视频| 欧美日韩一区二区三区| 久久夜精品va视频免费观看| 亚洲午夜精品福利| 亚洲一区免费视频| 久久激情五月激情| 在线观看欧美日韩| 欧美激情一区二区| 欧美成人69| 欧美精品自拍偷拍动漫精品| 久久精品国产99国产精品澳门| 国产在线拍偷自揄拍精品| 亚洲黄色性网站| 欧美体内谢she精2性欧美| 欧美日韩精品一区视频| 亚洲国产导航| 国产日韩欧美亚洲一区| 亚洲深夜影院| 亚洲一区二区3| 麻豆免费精品视频| 欧美视频精品一区| 亚洲国产精品传媒在线观看| 欧美视频精品在线观看| 国色天香一区二区| 国产精品卡一卡二卡三| 亚洲国产99精品国自产| 久久黄色小说| 欧美成人第一页| 国产精品久久久99| 亚洲激情网站| 欧美国产日韩在线观看| 亚洲福利视频在线| 欧美福利一区二区| 亚洲精品女av网站| 国产精品成人播放| 另类激情亚洲| 欧美在线日韩在线| 久久综合九色综合欧美就去吻| 国产人妖伪娘一区91| 久久成人精品视频| 性欧美办公室18xxxxhd| 欧美寡妇偷汉性猛交| 一区二区亚洲精品| 国产精品国产馆在线真实露脸| 中日韩在线视频| 欧美性猛交xxxx免费看久久久| 精品成人一区二区| 国产拍揄自揄精品视频麻豆| 国外成人网址| 狠狠干综合网| 欧美日韩视频在线一区二区| 欧美一区二区成人6969| 亚洲精品在线视频| 日韩亚洲欧美综合| 欧美日韩国产影院| 亚洲摸下面视频| 亚洲视频在线一区观看| 99国产精品99久久久久久| 亚洲福利在线观看| 国产精品视频xxxx| 欧美一区日本一区韩国一区| 亚洲视频电影图片偷拍一区| 日韩视频免费看| 亚洲毛片网站| av不卡在线| 欧美国产综合一区二区| 亚洲欧美国内爽妇网| 亚洲人精品午夜在线观看| 久久精品亚洲一区二区| 欧美日韩成人综合在线一区二区| 久久久国产视频91| 一区二区三区色| 一区二区欧美在线观看| 国产午夜精品一区理论片飘花| 国产精品高清在线观看| 日韩视频一区二区三区在线播放免费观看| 蜜臀av国产精品久久久久| 国产精品一区二区在线观看不卡| 亚洲一区综合| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲第一中文字幕| 国产一区二区三区久久悠悠色av| 亚洲尤物在线视频观看| 欧美一区二区视频在线| 亚洲一区bb| 在线观看欧美成人| 伊人色综合久久天天五月婷| 欧美天天在线| 午夜精品久久久久影视| 91久久精品日日躁夜夜躁国产| 国产日韩亚洲欧美综合|