国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的動態(tài)重構(gòu)系統(tǒng)重構(gòu)過程研究

2017-06-19 18:50:30
關(guān)鍵詞:處理器重構(gòu)動態(tài)

胡 國

(中航工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068)

?

基于FPGA的動態(tài)重構(gòu)系統(tǒng)重構(gòu)過程研究

胡 國

(中航工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068)

有效融合了專用集成系統(tǒng)(Application Specific Integrated Circuit, ASIC)與通用目的處理器(General Purpose Processor, GPP)優(yōu)勢的動態(tài)可重構(gòu)系統(tǒng),以其良好的靈活性、可重構(gòu)性以及優(yōu)異的計算性能,逐步應(yīng)用于從嵌入式系統(tǒng)到高性能計算的許多領(lǐng)域。針對動態(tài)可重構(gòu)系統(tǒng)的重構(gòu)過程控制進行了研究,詳細分析了動態(tài)重構(gòu)過程中的一些潛在問題。針對重構(gòu)過程中重構(gòu)模塊與固定模塊之間的耦合問題和數(shù)據(jù)交互問題,提出了一種新的動態(tài)重構(gòu)過程通信控制機制。該機制將重構(gòu)過程劃分為重構(gòu)前、重構(gòu)中和重構(gòu)后3個階段,并在各個階段對數(shù)據(jù)交互和通道隔離進行了有效控制。實驗驗證表明,該機制能夠有效保證動態(tài)重構(gòu)過程的正確性。

動態(tài)可重構(gòu)系統(tǒng);重構(gòu)過程;耦合;數(shù)據(jù)交互;通信控制機制

0 引言

近年來,基于FPGA的可重構(gòu)計算以其開發(fā)靈活、運算實時快速等特點,逐步成為電子計算的研究熱點[1]。作為一種全新的計算方式,可重構(gòu)計算符合半導體技術(shù)的發(fā)展趨勢。它結(jié)合通用化和專用化的優(yōu)點,利用可編程器件可多次重配置邏輯單元功能和互聯(lián)的特性,可以根據(jù)計算任務(wù)配置計算資源,兼具了硬件實現(xiàn)的高性能和軟件實現(xiàn)的靈活性。

基于可重構(gòu)計算技術(shù)實現(xiàn)的動態(tài)可重構(gòu)系統(tǒng),可簡單定義為至少包含一個可重構(gòu)硬件模塊的計算系統(tǒng)。該硬件模塊的功能能夠被最終用戶修改,修改過程主要通過對系統(tǒng)中的可編程邏輯器件進行部分動態(tài)重構(gòu)來實現(xiàn)。動態(tài)可重構(gòu)系統(tǒng)可以在只增加少量硬件資源的情況下,將軟件實現(xiàn)和硬件實現(xiàn)的優(yōu)點合二為一。它的出現(xiàn)使傳統(tǒng)意義上硬件和軟件的界限變得模糊,硬件系統(tǒng)得以軟件化。動態(tài)可重構(gòu)系統(tǒng)自被提出以后,就在一些數(shù)據(jù)密集應(yīng)用領(lǐng)域顯示出了強大的計算性能和數(shù)據(jù)處理能力,例如軍事目標匹配、定制大數(shù)運算、圖形圖像處理、聲納波束合成、基因組匹配等。

1 動態(tài)重構(gòu)過程簡述

隨著動態(tài)重構(gòu)技術(shù)的成熟,動態(tài)可重構(gòu)系統(tǒng)可以在運行過程中在不影響其他功能模塊正常運行的情況下實現(xiàn)重構(gòu)區(qū)域功能切換。在動態(tài)重構(gòu)系統(tǒng)中,應(yīng)用任務(wù)被劃分為兩類:軟件任務(wù)和硬件任務(wù),其中硬件任務(wù)又可以分為靜態(tài)區(qū)域任務(wù)和重構(gòu)區(qū)域任務(wù)兩種。軟件任務(wù)執(zhí)行在FPGA的內(nèi)嵌處理器核或外部處理器上,靜態(tài)區(qū)域任務(wù)執(zhí)行在FPGA靜態(tài)區(qū)域上,重構(gòu)區(qū)域任務(wù)執(zhí)行在FPGA的可重構(gòu)區(qū)域上。動態(tài)可重構(gòu)系統(tǒng)可以為用戶提供統(tǒng)一的軟/硬接口、統(tǒng)一的軟/硬件函數(shù)庫,用戶可以像調(diào)用軟件任務(wù)一樣,通過處理器實時靈活地調(diào)用重構(gòu)區(qū)域任務(wù)。這種設(shè)計將傳統(tǒng)的硬件任務(wù)軟件化,使得用戶同時獲取了硬件的高性能和軟件的高靈活,為用戶提供了更多的設(shè)計探索空間[2]。

動態(tài)重構(gòu)過程是指FPGA的內(nèi)嵌處理器核或外部處理器發(fā)出重構(gòu)命令到重構(gòu)完成可重構(gòu)區(qū)域開始正常工作的這段時間。動態(tài)重構(gòu)過程主要實現(xiàn)可重構(gòu)區(qū)域功能的刷新,需要關(guān)注其正確性以及實時性。正確性主要包括重構(gòu)過程中重構(gòu)區(qū)域自身的正確配置和重構(gòu)區(qū)域與靜態(tài)區(qū)域之間的有效隔離;實時性主要是指在重構(gòu)時間開銷上實現(xiàn)優(yōu)化。動態(tài)重構(gòu)過程的安全有效控制是保證動態(tài)可重構(gòu)系統(tǒng)功能切換以及正確運行的基本條件。

2 動態(tài)重構(gòu)過程潛在問題分析

為了保證可重構(gòu)區(qū)域內(nèi)部電路的刷新不影響基本系統(tǒng)的正常運行,Xilinx部分重構(gòu)設(shè)計工具PlanAhead在布局階段按照用戶定義的區(qū)域約束文件,標記可重構(gòu)區(qū)域的范圍,進行重構(gòu)模塊的放置。但是,僅僅依靠設(shè)計工具的物理層布局約束是遠遠不夠的,動態(tài)重構(gòu)系統(tǒng)在重構(gòu)過程中依然存在著一些潛在問題。

2.1 重構(gòu)模塊和固定模塊之間的耦合問題

盡管Xilinx部分重構(gòu)設(shè)計工具PlanAhead在靜態(tài)區(qū)域和重構(gòu)區(qū)域之間自動插入了固定的特殊布線通道,但在動態(tài)重構(gòu)過程中,仍需關(guān)注兩個區(qū)域之間的故障傳播風險。靜態(tài)區(qū)域和重構(gòu)區(qū)域之間的耦合主要包括解耦合邏輯以及重構(gòu)控制邏輯兩部分。除了按照部分重構(gòu)用戶手冊[3]的建議,利用寄存器在兩個區(qū)域之間進行解耦合外,還需要采取相應(yīng)的設(shè)計手段,避免動態(tài)重構(gòu)過程中區(qū)域之間的故障傳播風險,保證重構(gòu)過程的正確性。設(shè)計手段主要包括以下兩點:

(1)重構(gòu)過程中隔離重構(gòu)區(qū)域

在動態(tài)重構(gòu)過程中,為避免與重構(gòu)模塊相連接的其他模塊受到該任務(wù)輸出有誤或者未知信號的影響,導致不可預知的故障,應(yīng)該在靜態(tài)區(qū)域和重構(gòu)區(qū)域之間的接口處添加相應(yīng)的傳輸使能控制通道以控制重構(gòu)區(qū)域的信號輸入和輸出。動態(tài)重構(gòu)過程中,傳輸使能控制通道無效,重構(gòu)區(qū)域和靜態(tài)區(qū)域之間無法進行交互,實現(xiàn)有效隔離,避免了重構(gòu)區(qū)域和靜態(tài)區(qū)域之間故障傳播的可能。

(2)重構(gòu)結(jié)束后復位重構(gòu)區(qū)域

由于動態(tài)部分重構(gòu)不同于靜態(tài)重構(gòu),在配置過程中不包含特定的功能,例如全局置位-復位(Global Set-Reset,GSR)或者全局三態(tài)(Global Tri-State,GTS)來強制可重構(gòu)邏輯恢復到初始狀態(tài)。位于可重構(gòu)區(qū)域的硬件電路刷新之后,因為新邏輯的狀態(tài)和行為不可預知,可能會向靜態(tài)區(qū)域輸出一些無用信號造成系統(tǒng)故障。所以每一次在重構(gòu)結(jié)束后不論是I/O還是內(nèi)部邏輯,均需要進行一次有效復位以確保其恢復到初始狀態(tài)。

2.2 重構(gòu)模塊與固定模塊之間的數(shù)據(jù)交互問題

在動態(tài)可重構(gòu)系統(tǒng)中,重構(gòu)模塊通常要從固定模塊接收計算數(shù)據(jù),完成計算任務(wù)后又將計算結(jié)果傳輸回固定模塊。這樣就產(chǎn)生了重構(gòu)模塊與固定模塊之間的數(shù)據(jù)交互問題。

重構(gòu)區(qū)域與靜態(tài)區(qū)域之間接口中的數(shù)據(jù)通道是重構(gòu)模塊與固定模塊進行數(shù)據(jù)交互的唯一途徑。重構(gòu)模塊與固定模塊的數(shù)據(jù)交互過程如圖1所示。首先固定模塊將需要計算處理的數(shù)據(jù)發(fā)送到源數(shù)據(jù)通道。重構(gòu)模塊從源數(shù)據(jù)通道讀取數(shù)據(jù),然后進行計算,計算完成以后將結(jié)果數(shù)據(jù)發(fā)送到結(jié)果數(shù)據(jù)通道。最后固定模塊從結(jié)果數(shù)據(jù)通道接收計算處理結(jié)果。

圖1 數(shù)據(jù)交互過程圖

在重構(gòu)過程中,重構(gòu)模塊與固定模塊之間需要進行有效隔離,不能進行數(shù)據(jù)交互。但在重構(gòu)過程前后,重構(gòu)模塊與固定模塊之間的數(shù)據(jù)交互存在以下一些潛在問題:

(1)重構(gòu)前,固定模塊發(fā)起重構(gòu)命令過后,固定模塊繼續(xù)向源數(shù)據(jù)通道發(fā)送數(shù)據(jù);

(2)重構(gòu)前,源數(shù)據(jù)通道仍有一些數(shù)據(jù)還未進行計算,就開始重構(gòu);

(3)重構(gòu)前,重構(gòu)模塊當前的計算還未完成,就開始重構(gòu);

(4)重構(gòu)后,重構(gòu)模塊接收更新前源數(shù)據(jù)通道中殘留的數(shù)據(jù),進行無用的計算;

(5)重構(gòu)后,重構(gòu)模塊在缺省狀態(tài)下輸出一些無用的計算結(jié)果,傳輸?shù)焦潭K;

(6)重構(gòu)后,結(jié)果數(shù)據(jù)通道中更新前的結(jié)果數(shù)據(jù)還未完全讀回,就被更新后重構(gòu)模塊的計算結(jié)果覆蓋了。

以上這些問題,會造成固定模塊與重構(gòu)模塊數(shù)據(jù)交互發(fā)生錯誤,增大動態(tài)可重構(gòu)系統(tǒng)的計算錯誤率,進而嚴重影響到動態(tài)可重構(gòu)系統(tǒng)的正確運行。因此,在動態(tài)重構(gòu)過程中要對數(shù)據(jù)交互進行嚴格的控制,避免這些問題的發(fā)生。

3 動態(tài)重構(gòu)過程通信控制機制

針對重構(gòu)模塊與固定模塊之間的耦合問題以及數(shù)據(jù)交互問題,本文提出一種動態(tài)重構(gòu)過程通信控制機制,可以有效解決重構(gòu)過程中固定模塊與重構(gòu)模塊之間的耦合問題和數(shù)據(jù)交互問題。該通信控制機制將動態(tài)重構(gòu)通信過程劃分為重構(gòu)前、重構(gòu)中和重構(gòu)后3個階段,并在各個階段對數(shù)據(jù)交互和通道隔離進行了有效控制。

3.1 動態(tài)重構(gòu)過程通信模型

在動態(tài)可重構(gòu)系統(tǒng)中,重構(gòu)模塊與固定模塊之間的通信是通過其間的接口來完成的。動態(tài)重構(gòu)過程通信模型主要包括源數(shù)據(jù)通道、結(jié)果數(shù)據(jù)通道、傳輸使能控制通道、中斷控制和復位控制5個部分,如圖2所示。其中源數(shù)據(jù)通道用于固定模塊向重構(gòu)模塊發(fā)送需要進行計算處理的源數(shù)據(jù),結(jié)果數(shù)據(jù)通道用于固定模塊從重構(gòu)模塊讀回計算完成以后輸出的結(jié)果數(shù)據(jù),傳輸使能控制通道用于固定模塊和重構(gòu)模塊的數(shù)據(jù)通道隔離,中斷控制用于響應(yīng)重構(gòu)模塊的中斷請求,復位控制用于每一次重構(gòu)模塊重配置以后的有效復位控制。

圖2 動態(tài)重構(gòu)過程通信模型

3.2 動態(tài)重構(gòu)過程通信控制模式

動態(tài)重構(gòu)過程通信控制模式分為搶占式和非搶占式兩種。搶占式通信是指處理器發(fā)起重構(gòu)命令以后,在最短時間內(nèi)立即進行重構(gòu)區(qū)域的功能刷新。非搶占式通信是指處理器發(fā)起重構(gòu)命令以后,需要等待當前計算任務(wù)徹底完成以后,才進行重構(gòu)區(qū)域的功能刷新。下面對這兩種通信控制模式的通信控制過程進行具體介紹。

(1)搶占式

動態(tài)重構(gòu)過程的搶占式通信控制過程流程圖如圖3所示。

圖3 搶占式流程圖

處理器發(fā)起重構(gòu)命令以后,停止向源數(shù)據(jù)通道發(fā)送數(shù)據(jù)。傳輸使能控制通道關(guān)閉,固定模塊與重構(gòu)模塊進入到隔離狀態(tài)。然后,重構(gòu)模塊進行重配置。重配置完成以后,清空源數(shù)據(jù)通道和結(jié)果數(shù)據(jù)通道中的所有數(shù)據(jù),傳輸使能控制通道打開,重構(gòu)模塊進行有效復位。有效復位以后,固定模塊和重構(gòu)模塊恢復正常通信。

(2)非搶占式

動態(tài)重構(gòu)過程的非搶占式通信控制過程如圖4所示。

圖4 非搶占式流程

處理器發(fā)起重構(gòu)命令以后,停止向源數(shù)據(jù)通道發(fā)送數(shù)據(jù)。重構(gòu)模塊繼續(xù)進行計算任務(wù),直到源數(shù)據(jù)通道沒有計算數(shù)據(jù),并且所有計算結(jié)果已經(jīng)傳輸?shù)浇Y(jié)果數(shù)據(jù)通道。然后結(jié)果傳輸使能控制通道關(guān)閉,固定模塊與重構(gòu)模塊進入到隔離狀態(tài)。重構(gòu)模塊進行重配置。重構(gòu)模塊進行重配置的同時,固定模塊從結(jié)果數(shù)據(jù)通道讀取計算結(jié)果。讀取完成以后,確認重配置是否完成。完成以后,清空源數(shù)據(jù)通道和結(jié)果數(shù)據(jù)通道中的所有數(shù)據(jù),傳輸使能控制通道打開,重構(gòu)模塊進行有效復位。有效復位以后,固定模塊和重構(gòu)模塊恢復正常通信。

4 結(jié)束語

動態(tài)可重構(gòu)系統(tǒng)可以在只增加少量硬件資源的情況下,將軟件實現(xiàn)和硬件實現(xiàn)的優(yōu)點合二為一。它的出現(xiàn)使傳統(tǒng)意義上硬件和軟件的界限變得模糊,硬件系統(tǒng)得以軟件化。本文對動態(tài)重構(gòu)過程中潛在的固定模塊與重構(gòu)模塊的耦合問題、數(shù)據(jù)交互問題進行了詳細分析,提出了一種動態(tài)重構(gòu)過程通信控制機制,在介紹了通信模型的基礎(chǔ)上詳細分析了搶占式和非搶占式兩種通信模式下的通信控制流程。在實驗驗證中,根據(jù)本文提出的動態(tài)重構(gòu)過程通信控制機制設(shè)計了一種重構(gòu)模塊通信接口,并將該接口應(yīng)用到動態(tài)重構(gòu)系統(tǒng)中。實驗結(jié)果表明,重構(gòu)過程通信控制機制以及重構(gòu)模塊通信接口解決了重構(gòu)模塊與固定模塊之間的耦合問題和數(shù)據(jù)交互問題,有效保證了重構(gòu)過程的正確性。

[1] COMPTO N K, HAUCK S. Reconfigurable computing: a survey of systems and software[J]. ACM Computing Surveys, 1999, 34(2): 171-210.

[2] 魏少軍,劉雷波,尹首一.可重構(gòu)計算處理器技術(shù)[J]. 中國科學:信息科學,2012,42(12): 1559-1576.

[3] Xilinx Inc. Partial reconfiguration user guide [EB/OL]. (2011-10-19)[2017-01-01].http://www.xilinx.com.

Research on reconfiguration procedure of dynamically-reconfigurable system based on FPGA

Hu Guo

(Xi’an Aeronautics Computing Technique Research Institute of AVIC, Xi’an 710068, China)

Since dynamically-reconfigurable system effectively integrates the advantages of application specific integrated circuit system and general purpose processor system, it has been progressively used in many fields, such as embedded application and high-performance computation. Reconfiguration procedure control of dynamically-reconfigurable system is discussed in this paper. After some potential problems during the reconfiguration procedure being introduced, a communication control mechanism of reconfiguration procedure is proposed to solve the coupling problem and data interaction problem between reconfiguration module and static module, in which reconfiguration procedure is divided into three stages, then data interaction and channel isolation can be controlled effectively at each stage.The experimental results prove that the communication control mechanism can effectively ensure the correctness of reconfiguration procedure.

dynamically-reconfigurable system; reconfiguration procedure; coupling; data interaction; communication control mechanism

TP302.1

A

10.19358/j.issn.1674- 7720.2017.11.023

胡國.基于FPGA的動態(tài)重構(gòu)系統(tǒng)重構(gòu)過程研究[J].微型機與應(yīng)用,2017,36(11):78-80,84.

2017-01-13)

胡國(1989-),男,碩士研究生,助理工程師,主要研究方向:計算機應(yīng)用。

猜你喜歡
處理器重構(gòu)動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
長城敘事的重構(gòu)
攝影世界(2022年1期)2022-01-21 10:50:14
動態(tài)
北方大陸 重構(gòu)未來
北京的重構(gòu)與再造
商周刊(2017年6期)2017-08-22 03:42:36
論中止行為及其對中止犯的重構(gòu)
Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
ADI推出新一代SigmaDSP處理器
汽車零部件(2014年1期)2014-09-21 11:41:11
盐边县| 互助| 凉城县| 深州市| 蒙自县| 永顺县| 兰溪市| 神池县| 江陵县| 台湾省| 江阴市| 荆州市| 施秉县| 岗巴县| 甘谷县| 西安市| 玛多县| 莎车县| 宽甸| 冕宁县| 礼泉县| 老河口市| 日喀则市| 来凤县| 诏安县| 鹿邑县| 德安县| 连山| 安庆市| 乌鲁木齐县| 兴隆县| 白朗县| 星子县| 马尔康县| 阿拉善左旗| 小金县| 隆化县| 徐水县| 房产| 宜川县| 安仁县|