• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Tri-Designer:一種面向片內(nèi)云架構(gòu)的IC設(shè)計平臺

      2018-01-16 01:26:38劉彥隆
      火力與指揮控制 2017年12期
      關(guān)鍵詞:用例架構(gòu)語義

      陳 越,劉彥隆,張 剛

      (太原理工大學信息工程學院,太原 030024)

      0 引言

      提高信息系統(tǒng)性能,摩爾定律通過提高工藝水平縮小器件尺寸,而云計算則是通過資源虛擬化擴大體系規(guī)模[1],片內(nèi)云將二者結(jié)合在一起[2]。片內(nèi)云是基于虛擬化資源的片內(nèi)并行網(wǎng)絡(luò)計算,片內(nèi)網(wǎng)絡(luò)、虛擬化資源和并行處理是片內(nèi)云架構(gòu)的3個基本要素[3]。傳統(tǒng)的總線都是點對點總線,難以組成片內(nèi)網(wǎng)絡(luò)。以太網(wǎng)的特征是一個獨立的傳輸通道的主動性功能只能是發(fā)送數(shù)據(jù),基于此特征,本項目抽象出只寫總線WoB(Write-only Bus),并將其拓展成片內(nèi)網(wǎng)絡(luò)[4]。然后將芯片內(nèi)部電路連接的IP核封裝成消息連接的構(gòu)件,掛載到片內(nèi)WoB網(wǎng)絡(luò),成為片內(nèi)虛擬化資源[5];進一步引入流程引擎[6],管理調(diào)度片上虛擬資源的并行處理,形成片內(nèi)云架構(gòu)并用于集成電路IC(Integrated Circuit)設(shè)計。該項目得到2011年國家科技型中小企業(yè)創(chuàng)新基金資助并獲得2014年山西省技術(shù)發(fā)明二等獎,其中關(guān)鍵技術(shù)“ASIC的片內(nèi)云模型”發(fā)明專利已經(jīng)獲得授權(quán)[7]。

      1987年,中國工程院許居衍院士提出了半導體產(chǎn)品總是圍繞“通用”與“專用”特征循環(huán)、每10年波動一次的“半導體產(chǎn)品特征循環(huán)”規(guī)律[8]。此后又提出主流半導體產(chǎn)品將進入用戶可重構(gòu)系統(tǒng)級芯片階段,其特征是僅通過對“毛坯芯片”的配置編程就可得到用戶自定義的芯片,從而引導半導體產(chǎn)業(yè)結(jié)構(gòu)演變,促進不做芯片設(shè)計而專事芯片應(yīng)用創(chuàng)新的無設(shè)計商業(yè)模式的興起[9]。本文認為,許院士提出的可重構(gòu)系統(tǒng)級芯片,是一種“領(lǐng)域通用(Domain General)”的集成電路產(chǎn)品,記作DGIC。DGIC采用本項目的片內(nèi)云解決方案,一方面具有ASIC(Application Specific Integrated Circuit,專用集成電路)的語法元素的可定制性,同時又可以像通用CPU那樣重構(gòu)語義流程,是許氏循環(huán)“通用-專用”轉(zhuǎn)換過程的一個中間環(huán)節(jié)。

      傳統(tǒng)IC開發(fā)平臺設(shè)計DGIC芯片多有不便,本文研制開發(fā)了一種面向片內(nèi)云架構(gòu)的IC設(shè)計平臺Tri-Designer,專門用于領(lǐng)域通用的DGIC芯片設(shè)計,以遺傳算法為具體應(yīng)用領(lǐng)域,設(shè)計開發(fā)了一款片內(nèi)云架構(gòu)的DGIC芯片,加速比超過了104,驗證了開發(fā)平臺Tri-Designer的有效性。

      1 Tri-Designer框架

      Tri-Designer開發(fā)平臺將一個DGIC設(shè)計過程劃分成“概念建模”,“邏輯建模”和“物理建摸”3個階段?,F(xiàn)有各種IC設(shè)計平臺如ISE或Vivado都可以勝任物理建摸平臺的任務(wù),所不同的是,Tri-Designer邏輯建模平臺的主要目標是對IC內(nèi)部資源虛擬化,將電路互連的IP核封裝成消息互連的構(gòu)件。構(gòu)件是一個功能電路模塊,定義一組接口且只能以消息的方式通過接口進行訪問。構(gòu)件是片內(nèi)虛擬化資源,擁有多個引腳的IP核封裝成構(gòu)件后釋放出大量布線資源,可以用來擴展片內(nèi)WoB總線的寬度,提升片內(nèi)網(wǎng)絡(luò)的傳輸帶寬。

      Tri-Designer概念建模相當于軟件開發(fā)的UML階段,是用接近自然語言的方式描述一個應(yīng)用,特別賦予Tri-Designer概念建模平臺一些特殊屬性以便適應(yīng)DGIC的片內(nèi)云架構(gòu),其中包括CTGS和BDE兩個部分。CTGS是概念樹生成系統(tǒng)(Concept Tree Generation System),幫助設(shè)計人員定義一個應(yīng)用的外延和內(nèi)涵,并表示成集合隸屬關(guān)系的概念樹。概念樹的葉子結(jié)點是具體的業(yè)務(wù)用例場景,它是以業(yè)務(wù)步驟為節(jié)點的業(yè)務(wù)流程,計入相應(yīng)的業(yè)務(wù)文檔。業(yè)務(wù)文檔編輯器(Business Document Editor)BDE支持設(shè)計人員定義業(yè)務(wù)步驟,編輯業(yè)務(wù)流程,生成業(yè)務(wù)文檔。

      業(yè)務(wù)文檔描述的業(yè)務(wù)用例場景,或其中的一個業(yè)務(wù)步驟,可以映射為DGIC芯片的一個基本構(gòu)件BC(Basic Component)。Tri-Designer邏輯建模主要功能是將一個基本構(gòu)件BC分解成以基本構(gòu)件BC和原子構(gòu)件AC(Atom Component)為步驟的語義流程,其中AC是無需繼續(xù)分解的構(gòu)件。本文定義了一種應(yīng)用層語言LL7(Language Level 7),邏輯建模將DGIC芯片的語義流程自動轉(zhuǎn)換成LL7描述,經(jīng)編譯生成相應(yīng)的FPGA代碼。

      對于簡單的或穩(wěn)定不變的語義,DGIC流程引擎可以是狀態(tài)機。另外定義了一種定序器流程引擎,用來驅(qū)動執(zhí)行DGIC中復雜的或可由用戶重構(gòu)的語義。

      2 概念建模

      概念建模主要功能如圖1所示。

      圖1 概念建模

      圖2 樹型菜單

      CTGS從概念上將一個應(yīng)用系統(tǒng)(外延)多層次地細化分解成若干子系統(tǒng)(內(nèi)涵)的集合,自動生成一個層數(shù)可控的樹型菜單,用來描述應(yīng)用系統(tǒng)外延與內(nèi)涵的隸屬關(guān)系,如圖2所示,葉子節(jié)點是系統(tǒng)劃分的最小粒度,即業(yè)務(wù)用例場景。

      該樹型菜單基于JQuery中的zTree插件開發(fā)實現(xiàn),其節(jié)點數(shù)據(jù)存儲于MySQL數(shù)據(jù)庫中,通過設(shè)置nodeId和parentId約束了節(jié)點間的隸屬關(guān)系。右鍵菜單通過Javascript實現(xiàn)了節(jié)點數(shù)據(jù)的動態(tài)添加、刪除和編輯,并利用AJAX技術(shù)與服務(wù)器異步交互,達到節(jié)點數(shù)據(jù)局部刷新的效果。

      zTree加載數(shù)據(jù)庫數(shù)據(jù)的部分js代碼如下:

      概念樹的葉子結(jié)點是最小粒度概念,即業(yè)務(wù)用例場景。業(yè)務(wù)用例場景作為概念的外延,其內(nèi)涵是業(yè)務(wù)步驟的集合。與其他概念節(jié)點的重要區(qū)別是,業(yè)務(wù)步驟之間定義了“順序”和“選擇”兩種有向關(guān)系,形成業(yè)務(wù)用例場景的語義流程。BDE針對務(wù)用例場景建立業(yè)務(wù)步驟流程圖,以有向的業(yè)務(wù)步驟關(guān)系確定業(yè)務(wù)步驟的語義流程,描述業(yè)務(wù)用例場景。

      BDE通過矢量圖形庫(Raphael.js)創(chuàng)建業(yè)務(wù)步驟,以矩形框代表步驟間的“順序”關(guān)系,以菱形框代表步驟間的“選擇”關(guān)系,通過右鍵菜單為業(yè)務(wù)步驟添加業(yè)務(wù)描述、分配執(zhí)行角色,從而建立業(yè)務(wù)步驟的有向流程圖,如圖3所示。

      圖3 業(yè)務(wù)步驟流程圖

      BDE還建立應(yīng)用系統(tǒng)的業(yè)務(wù)庫,每個業(yè)務(wù)步驟可通過右鍵操作保存到基本業(yè)務(wù)庫或原子業(yè)務(wù)庫中,業(yè)務(wù)步驟語義流程和業(yè)務(wù)庫有利于系統(tǒng)業(yè)務(wù)的更新和重構(gòu)。

      根據(jù)業(yè)務(wù)流程圖,BDE利用Java的文件操作技術(shù)生成業(yè)務(wù)文檔(word文檔),以備查找修改。由步驟流程圖通過createDoc函數(shù)可以生成業(yè)務(wù)文檔。該函數(shù)依次讀取每個業(yè)務(wù)步驟,將業(yè)務(wù)描述逐一寫入一個word文件中,寫入主要代碼如下:

      3 邏輯建模

      DGIC與一種應(yīng)用層語言LL7等價,就像通用CPU與一種機器語言等價。其中DGIC的流程引擎LL7.PI(Part Independent of any application) 相當于CPU機器語言的控制器指令集,可用于任何應(yīng)用領(lǐng)域;DGIC 的領(lǐng)域指令集 LL7.PS(Part of a Specific)相當于CPU機器語言的運算器指令集。通用CPU的控制器通過總線物理地連接運算器,但是DGIC的LL7.PI通過片內(nèi)網(wǎng)絡(luò)虛擬地連接LL7.PS。邏輯建模的主要任務(wù)是將業(yè)務(wù)文檔的用例場景映射到DGIC芯片中,為每一個業(yè)務(wù)步驟建立一個以DGIC基本構(gòu)件為步驟的語義流程,自動地生成語義流程的LL7描述并編譯鏈接生成可執(zhí)行代碼,如圖4所示。

      圖4 邏輯建模

      3.1 業(yè)務(wù)步驟映射為語義流程

      概念建模輸出的最小粒度節(jié)點是業(yè)務(wù)步驟,需要映射成為DGIC芯片的一個基本構(gòu)件BC。在DGIC芯片內(nèi)部,一個基本構(gòu)件BC對應(yīng)著一個語義流程,其步驟代表一個DGIC機器操作,該操作被封裝為一個基本構(gòu)件或一個原子構(gòu)件,如圖5所示。

      圖5 一個BC的步驟序列

      邏輯建模定義步驟的類型和屬性,標記步驟間的前后件關(guān)系,即“順序”或“選擇”,然后自動輸出語義流程的LL7描述。原子業(yè)務(wù)的邏輯模型和組成它的操作步驟以“一對多”的關(guān)系存儲于數(shù)據(jù)庫中,通過Hibernate框架方便操作流程的創(chuàng)建以及重構(gòu)。

      邏輯建模通過創(chuàng)建或檢索為每個操作步驟綁定一個構(gòu)件,該構(gòu)件映射為LL7的語法元素,LL7語義流程的控制包括確立“順序”或“選擇”關(guān)系、選擇前后件并創(chuàng)建符號地址等。圖6是把操作步驟序列自動轉(zhuǎn)換成LL7語義流程的過程。

      圖6 生成LL7算法

      3.2 DGIC引擎LL7.PI

      DGIC引擎主要部件是定序器,實現(xiàn)應(yīng)用層語言的控制LL7.PI,它由構(gòu)件隊列、構(gòu)件指針、構(gòu)件譯碼器和結(jié)果寄存器組成,如圖7所示。

      圖7 DGIC定序器

      構(gòu)件指針指向構(gòu)件指令隊列中的每個單元,并可在構(gòu)件指令隊列上移動,引擎根據(jù)其指向決定即將要執(zhí)行的構(gòu)件指令。構(gòu)件譯碼器解析構(gòu)件指針所指向的構(gòu)件指令,將解析結(jié)果封裝為消息并通過消息總線傳遞給構(gòu)件實體,實現(xiàn)構(gòu)件功能。結(jié)果寄存器用來存儲構(gòu)件實體的執(zhí)行結(jié)果,其值可影響構(gòu)件指針的下一步動作以及引擎的狀態(tài)。除了流程控制操作之外,LL7.PI還包括一些其他的公共指令模塊,比如存儲器搬移指令,比較器,隨機數(shù)發(fā)生器,必要的數(shù)據(jù)緩沖區(qū),等等。表1列出幾個典型的流程控制指令的例子。

      表1 流程控制指令例子

      4 遺傳算法的例子

      領(lǐng)域指令集LL7.PS是專為遺傳算法GA(Genetic Algorithm)應(yīng)用開發(fā)的構(gòu)件庫,包括適應(yīng)度計算,父代-子代緩存管理,遺傳計算(選擇、交叉、變異),計算終止等。

      在65nm工藝Xilinx XV5VLX110T-1FF1136 FPGA開發(fā)平臺上,已經(jīng)實現(xiàn)了一個遺傳算法的DGIC芯片[12]。在片內(nèi)云架構(gòu)的WoB網(wǎng)絡(luò)上部署4個遺傳算法模塊作為從節(jié)點,一個定序器作為主節(jié)點。其種群尺寸為512個體,個體數(shù)據(jù)長度是16 bits,其中高字節(jié)是x1,低字節(jié)是x2,適應(yīng)度函數(shù)為f(x1,x2)=x12+x22,適應(yīng)度值17 bits。隨機選取個體二進制第5位作單點交叉,交叉概率為0.85。隨機選取個體二進制第7位作變異,變異概率為0.05。初始化時,4個從節(jié)點同時接收到來自WoB的第一代種群的512個個體數(shù)據(jù),分別進化計算并各自輸出128個子代個體數(shù)據(jù),總計512個個體數(shù)據(jù)提交到WoB總線。主節(jié)點再依次將這512個子代個體通過WoB總線發(fā)送到每一個從節(jié)點,繼續(xù)下一代進化計算。實驗時WoB總線位寬161位,其中1個下行WoB和4個上行WoB各32位,另外1位是FLAG。經(jīng)ISE綜合仿真,其資源分配如圖8所示,占用FPGA V5 110T總資源的14%,其最高時鐘頻率為212.125 MHz,每時鐘周期t=4.714 ns。DGIC模塊進化計算一代耗時,約431 t,進化計算100代總計耗時0.203 ms。

      圖8 DGIC資源消耗

      在1臺PC計算機(CPU主頻2.79 GHz,運行內(nèi)存1.99 GB)上用Matlab軟件計算完全相同的進化算法計算100代,tic-toc計時為不低于3 s,DGIC模塊加速比為 3 000/0.203=1.477 8×104,優(yōu)于CPU+GPU方案[11],尤其適合作為車載設(shè)備。

      5 結(jié)論

      源于生物進化的GA算法容易處理成一個并行算法,由于其龐大的計算集中在以種群為基礎(chǔ)的算法,而種群中的個體相互沒有依賴,特別適合ASIC的并行處理架構(gòu)。但是GA算法的許多重要特征是無法參數(shù)化的,比如適應(yīng)度函數(shù)、子種群數(shù)量、每個子種群大小、分析評價每一代計算結(jié)果的算法結(jié)構(gòu),及其終止計算策略,等等,都涉及到ASIC的結(jié)構(gòu)改變,必須重新修改它的語義流程,傳統(tǒng)的FPGA解決方案難以勝任。一種新的DGIC解決方案將馮諾依曼的順序處理能力與ASIC的并行處理能力有機結(jié)合,使系統(tǒng)的可重構(gòu)性拓展到語義流程和語法元素兩個維度。本文提出的三層架構(gòu)的建模開發(fā)平臺Tri-Designer是DGIC設(shè)計領(lǐng)域的一種全新工具,其目標試圖實現(xiàn)第七波集成電路產(chǎn)品特征:即“僅通過對配置編程就可得到用戶自定義的芯片,從而引導半導體產(chǎn)業(yè)結(jié)構(gòu)演變,促進不做芯片設(shè)計而專事芯片應(yīng)用創(chuàng)新的Designless商業(yè)模式的興起”,有著光明和廣闊的應(yīng)用前景。

      [1]樊穎.基于SOA的云計算框架研究[J].中國新通信,2015(6):30-30.

      [2]IOANNOU N,KAUSCHKE M.Phase-based applicationdriven hierarchical power management on the single-chip cloud computer[C]//Parallel Architectures and Compilation Techniques-Conference Proceedings,PACT,2011:131-142.

      [3]張博.可重構(gòu)ASIC片內(nèi)云架構(gòu)及其應(yīng)用研究[D].太原:太原理工大學,2013.

      [4]張剛,裴科,張中杰.一種多元資源節(jié)點的非對稱架構(gòu)[P].ZL200910265900.8,2011.

      [5]WANG Y L,ZHANG G,CHANG Q,et al.Component-based functional integrated circuit system design and its straight implementation[C]//Networked Computing(INC 2011),2011:42-47.

      [6]王悅.片內(nèi)云架構(gòu)的流程引擎設(shè)計實現(xiàn)[D].太原:太原理工大學,2014.

      [7]張剛,張博,張陌.ASIC片內(nèi)云架構(gòu)和基于該架構(gòu)的設(shè)計[P].ZL201310074630.9,2013.

      [8]MAKIMOTO T.Makimoto’s Wave-a market model established in 1991[DB/OL].available on line.http://direct.xilinx-china.com/prs_rls/xil_corp/0392pw03_japan.htm.,2003-07-25/2004-09-10.

      [9]許居衍,尹勇生.半導體特征循環(huán)與可重構(gòu)芯片[DB/OL].2008,07,06,available on line.http://www.eeword.com.cn/news/eda/200807/article_21642.html.

      [10]王帆.片內(nèi)云架構(gòu)及應(yīng)用實例研究[D].太原:太原理工大學,2015.

      [11]高卓.基于島的遺傳算法在CUDA上的優(yōu)化實現(xiàn)[D].吉林:吉林大學,2011.

      猜你喜歡
      用例架構(gòu)語義
      基于FPGA的RNN硬件加速架構(gòu)
      UML用例模型中依賴關(guān)系的比較與分析
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      語言與語義
      聯(lián)鎖軟件詳細設(shè)計的測試需求分析和用例編寫
      從出土文獻用例看王氏父子校讀古書的得失
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
      電信科學(2017年6期)2017-07-01 15:45:17
      “上”與“下”語義的不對稱性及其認知闡釋
      一種基于FPGA+ARM架構(gòu)的μPMU實現(xiàn)
      認知范疇模糊與語義模糊
      渑池县| 镇远县| 榆社县| 虹口区| 瓮安县| 甘谷县| 广宗县| 眉山市| 京山县| 濮阳市| 神池县| 武穴市| 丹巴县| 铜川市| 宝应县| 六安市| 邻水| 抚松县| 西峡县| 聂荣县| 马鞍山市| 仙桃市| 昌黎县| 五原县| 德阳市| 九江县| 札达县| 漾濞| 三都| 大石桥市| 涿州市| 长沙市| 东至县| 维西| 宜春市| 常熟市| 黎城县| 安岳县| 株洲市| 库车县| 宣城市|