求助 | 註冊 | 登入
位置: lab_system_design 近年研究簡介
近年研究計畫
by lab_system_design, 2010-10-06 05:03:28, 人氣(545)

近年的研究內容
    
相容於RISC-V多核心系統晶片平台的人工智慧硬體加速器的架構設計與實作(Design and Implementation of Artificial Intelligence Hardware Accelerators Incorporated in the RISC-V Multi-Core System-on-Chip Platform)
支援深度學習 (deep learning) 的卷積神經網路 (Convolutional Neural Network; CNN) 在許多人工智慧應用上展現極高的正確性,例如字元辨識、景物分析、人臉辨識、影像分類和視訊分類。然而,目前最先進的卷積神經網路在執行單一回合的推論時,需要執行十億個以上的運算和存取十億個以上的參數。不當的CNN硬體架構將導致大量的晶片外的記憶體存取,引起大量的功率消耗。因此,開發適用於嵌入式系統,並能有效地支援深度學習的硬體架構變成一個重要的課題。
本計畫的目標是開發新型式的人工智慧硬體加速器,能夠相容於RISC-V多核心系統晶片平台,以便發展在嵌入式系統上的人工智慧應用。因為RISC-V開放原始程式碼,並且提供一個強大的多核心系統晶片產生器,以及各種軟體(編譯器和作業系統)的支援,所以我們選擇RISC-V當作我們的AI硬體加速器的平台。
    在本計畫中,我們將研發新型式的類神經網路(Artificial Neural Network; ANN)協同處理器和卷積神經網路硬體加速器。我們將設計AI硬體加速器的客製化指令集,並利用行內組合語言(inline assembly)的功能,讓RISC-V編譯器可以產生正確的機器碼來控制我們的AI硬體加速器。在計畫中,我們將研發支援ANN運算的SIMD硬體加速器。我們也提出了二種新的硬體架構,能夠有效地加速ANN的激勵函式運算。在計畫中,我們也將研發能夠有效支援CNN運算的硬體架構,例如脈動陣列架構,讓CNN加速器中的處理單元能夠將大量參數有效率地傳遞給相鄰的處理單元,以減少CNN加速器需要存取晶片外的記憶體的次數,進而減少功率消耗提高運作性能。我們會將整合AI硬體加速器的RISC-V Multi-Core SoC PlatformXilinx ZCU102 Evaluation Kit上實現,並且開發各種AI應用程式,如文字辨識、物件分類、臉型辨識、車道上的行人辨識等,以驗證AI硬體加速器的效能。
Deep learning using convolutional neural networks (CNN) has exhibited remarkable accuracy on numerous AI applications, such as character recognition, scene analysis, face detection, and image/video classification. However, a CNN may execute billions of operations and access billions of parameters in a single inference pass. Thus, it is essential to develop an operation-efficient hardware architecture supporting deep learning for embedded applications in order to avoid excessive off-chip memory access and to reduce power consumption.

This project deals with the design of AI hardware accelerators incorporated in the RISC-V multi-core System-on-Chip platform. Since the RISC-V framework is open-source and it offers a powerful multi-core System-on-Chip generator as well as various software support, we can focus on the design of our own AI hardware accelerators.

In this project, we will explore the design of ANN (Artificial Neural Network) co-processors and CNN (convolutional neural networks) hardware accelerators. We will design the custom instruction set for our AI hardware accelerators and instruct the RISC-V compiler, by employing the inline assembly, to generate appropriate machine code for our AI hardware accelerators. We will explore the SIMD (Single Instruction Multiple Data) design for ANN hardware accelerators, and develop novel hardware architectures for the activation function of ANN. Also, we will develop various efficient hardware architectures, such as systolic array, in which each PE (processing element) can efficiently deliver CNN parameters to its neighboring PEs in order to reduce the off-chip communication between the main memory and the CNN hardware accelerators. We will implement the whole RISC-V multi-core System-on-Chip with AI hardware accelerators on the Xilinx ZCU102 evaluation kit, and use it to demonstrate various AI applications, such as character recognition, object classification, face recognition, and detection of pedestrians.

 
 
 

三、非同步處理器的電路與架構之研究 (NSC 97-2221-E-018 -026 -; NSC 98-2221-E-018 -014 -)

與同步電路相比較,非同步電路具有適合模組化設計」、「對信號的延遲較不敏感」、「可避免clock skew問題」、「有潛在的高性能特性」、「低電磁干擾」、「低功率消耗」等優點。因此,非同步處理器的研究與設計逐漸受到重視,如英國曼徹斯特大學的Steve Furbur教授領導的研究團隊就以低功率為目標,設計了一系列與ARM指令集相容的非同步處理器--Amulet;在2006年,ARMPhilips Handshake Solutions兩家公司合作推出了工業界第一顆無時脈非同步處理器ARM996HS,此處理器擁有低功率消耗、低電磁輻射、在無活動時具有零動態功率消耗等優點。

在非同步處理器的研究方面,我們用「非同步電路描述語言Balsa」設計出三個非同步處理器AsynRISC-DHDT1PAsynRISC-DHDT2PAsynRISC-DRCAsynRISC採用跟MIPS R2000相容的指令集,並採用相似的五階段管線—IF (Instruction Fetch)ID (Instruction Decode/Register Fetch)EXE (Execution)MEM (Data Memory Access)WB (Write Back)。由於非同步電路沒有global clock、兩個電路模組之間是利用requestacknowledge交握控制信號來溝通,因此控制單元的設計不宜採用集中式,而須分散(distribute)到各個電路模組中。因此,傳統同步處理器解決Data HazardControl Hazard的方法須作適度修改才能應用於非同步處理器。為了解決Data HazardControl Hazard的問題,AsynRISC在硬體架構上採用coloring schemeDHDT (Data Hazard Detection Table)DRC (Destination Register Chain)。我們證明:非同步MIPS處理器若採用我們所提出的DRC scheme,可比採用伯明罕(Birmingham)大學的DHDT scheme,減少13%的硬體面積並提高22.1%的性能。

研究成果發表在2008 International Conference on Communications, Circuits and System (ICCCAS 2008)The 19th VLSI Design/CAD Symposium2010 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT 2010)

四、結合「非同步電路」與「絕熱邏輯」的低功率電路設計技術之研究 (NSC 99-2221-E-018 -026 -; NSC 100-2221-E-018 -033 -)

我們在最近幾年提出了三種結合「非同步電路」與「絕熱邏輯」這兩種低功率技術優點的非同步管線電路架構,分別是(1) HQALHandshaking Quasi-Adiabatic Logic) [37] (2) AFPL w/o PCR (Asynchronous Fine-grain Power-gated Logic without Partial Charge Reuse Mechanism) (3) AFPL-PCR (Asynchronous Fine-grain Power-gated Logic with Partial Charge Reuse Mechanism) [38]

1所示為AFPL-PCR的系統區塊圖,該圖包含六個管線階段(pipeline stage)。圖中的G1~G6為絕熱邏輯區塊(可用2的絕熱邏輯閘ECRL gate來實現),紅色虛線框住的部分為控制電路--交握控制器HC Handshake Controller),藍色虛線框住的部分為「電荷重複利用開關」 (Partial Charge Reuse Switch; PCR switch)AFPL採用dual-rail的資料編碼方式,並且採用非同步交握式方式來傳送資料。因此,AFPL具有非同步電路的優點:沒有時脈歪斜問題、沒有因clock tree所導致的功率消耗,並且在沒有資料輸入時,沒有動態功率消耗。AFPL的邏輯閘的電源是由「交握控制鏈」(Handshake Control Chain)所控制,當AFPL邏輯閘沒有輸入資料時,它得不到電源;只有當AFPL邏輯閘有輸入資料時,它才獲得電源,並且以跟絕熱邏輯相似的方式運作,而達到低功率消耗。如2(b)所示,AFPL的絕熱邏輯區塊的運作狀態基本上可分成四個phases:即評估(Evaluation) 、保持(Hold)、放電(Discharge)、等待(Wait;相當於Sleep mode)。當有多筆的資料進入AFPL管線時,一序列的Valid tokenEmpty token會交替地進入管線,並流經AFPL管線中的每一個絕熱邏輯區塊,使得每一個絕熱邏輯區塊的狀態會在「評估(Evaluate) à保持(Hold)à 放電(Discharge)à等待(Wait;相當於Sleep mode)à」四個狀態中循環。若一個Valid token(後面緊跟著一個Empty token)流經邏輯區塊GiGi+1而到達邏輯區塊Gi+2的輸入端時,此時Gi+2要開始作評估(Evaluate),而Gi+1處於保持(Hold)狀態;Gi的輸入端接收到Empty token,因此Gi可以開始放電(Discharge)。邏輯區塊Gi放電(Discharge)時會釋放電荷,邏輯區塊Gi+2作評估(Evaluate)需要充電電荷,此時,AFPL-PCR的控制電路會打開GiGi+2PCR Switch,使得邏輯區塊Gi的部分釋放電荷可以Reuse對邏輯區塊Gi+2作充電。AFPL-PCRPartial Charge Reuse的機制使得它可以比HQALAFPL w/o PCR降低更多的功率消耗。

模擬結果顯示:用AFPL-PCR實現的Kogge Stone加法器跟static CMOS的實現方式相比較,在資料輸入率為30MHz~900MHz的情況下節省了57.0~65.8%的功率消耗;另在輸入資料率為0 MHz的情況下(靜態功率比較),模擬結果顯示AFPL-PCR實現方式比static CMOS實現方式可以節省高達93.7%的靜態功率消耗。AFPL-PCR有較低功耗的原因之一是其邏輯區塊在沒有做有用的計算時,會立刻切換到睡眠模式,達到Fine-grain power gating的效果,降低漏電流的功耗。另外,我們也拿AFPL-PCR跟一個著名的非同步管線電路架構PS0 [41]做比較,AFPL-PCR實現的Kogge Stone加法器可比PS0的實現方式降低82.6-93.0%的功率消耗。在201210月,我們用Full-custom方式完成了AFPL adder (T18-101Ee-29e)PS0 adder (T18-101Ee-14e)的設計,並已向CIC申請晶片下線實作(TSMC 0.18μm製程T18-101E梯次),預計2013年初可以拿到實體晶片做測試驗證。3(a) AFPL adderlayout圖,3 (b) asynchronous PS0 adderlayout圖。

HQAL發表在The 52nd IEEE International Midwest Symposium on Circuits and Systems (MWSCAS 2009)AFPL w/o PCRAFPL-PCR發表於IEEE Transactions on VLSI Systems (accepted, to appear; IEEE Xplore digital object identifier 10.1109/TVLSI.1012.2204782)1我們所提的Fine-grain Power-gating管線電路AFPL-PCR;


2AFPL中所使用的絕熱式邏輯閘ECRL gate (a) ECRL AND/NAND gate; (b) ECRL gate的四個運作相位


3(a)TSMC 0.18μm製程的AFPL adderFull-custom layout (T18-101Ee-29e); (b) TSMC 0.18μm製程的asynchronous PS0 adderFull-custom layout(T18-101Ee-14e)

 

三、低功率內容可定址記憶體的研究 (NSC 99-2221-E-018 -026 -; NSC 100-2221-E-018 -033 -)

內容可定址記憶體(Content-Addressable MemoryCAM)是一種允許平行搜尋資料的記憶體結構。CAM的運用包含了網路路由器(router)的位址搜尋、快取記憶體、資料壓縮、影像處理等等。CAM在平行搜尋資料的過程中,會造成具有大電容效應的「匹配線」與「搜尋線」作充、放電的動作,導致CAM產生大量的功率消耗。

我們提出一種具有「雙重正回授匹配線感測放大器Double Positive-Feedback Match-Line Sense AmplifierDPF-MLSA)」的低功率三元內容可定址記憶體架構,使用脈衝電流的充電方式來降低「不匹配」情況中的匹配線功率消耗,並且利用我們所設計的雙重正回授網路來加速「匹配」情況中的搜尋速度,進而節省CAM的搜尋能量消耗。我們提出的DPF-MLSA架構,資料搜尋時間為0.49699 ns,並且每位元搜尋能量消耗為0.201474 fJ。模擬結果顯示,我們提出的DPF-MLSA CAM架構,比起採用「傳統PC-MLSA」、「SBMS」和「PF-MLSA」的CAM架構,搜尋能量分別節省了85.5%21.2%10.5%

另外,我們也提出了一種「兩相絕熱式內容可定址記憶體」(Two-phase Adiabatic CAM)架構,其優點為(1)利用絕熱式邏輯運作以達到低功率消耗;(2)選擇性地匹配線充放電。絕熱邏輯(Adiabatic Logic) 被認為是設計低功率電路的一種有效方法,絕熱邏輯在對輸出端充放電時,藉由讓「電源到輸出端的充電路徑」或「輸出端到電源的放電路徑」上的切換元件的電壓差維持0V(或接近0V),使得在充電或放電過程中,充放電路徑上的切換元件完全不消耗能量(或僅消耗極小的能量)。在我們的CAM架構中,每列的匹配線是被分割成兩個區段,第二區段匹配線將會根據第一區段的匹配結果作選擇性地充放電。假如第一區段比對結果為不匹配,第二區段匹配線進一步的充放電將會被剔除,因此進一步減少了功率消耗。 模擬結果顯示內容可定址記憶體在大小為256 × 144位元情況下,提出的「使用ECRL兩相絕熱式內容可定址記憶體」與「使用CPAL單相絕熱式內容可定址記憶體」相比,在100M Hz的頻率下,可達到31.39%的功率節省,在500MHz的頻率下可達到22.06%的功率節省。

DPF-MLSA的研究發表於2012 International Conference on Electrical Engineering and Computer Science (ICMEE /EECS2012)Adiabatic CAM的研究發表於2011 VLSI Design/CAD Symposium2011 International Conferencd on Electric and ElectronicsEEIC2011)

討論(0), 附件(0)