亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用于IToF 傳感器的極低功耗RISC-V 專用處理器設(shè)計(jì)

        2022-09-15 06:59:12黃正偉劉宏偉
        計(jì)算機(jī)工程 2022年9期
        關(guān)鍵詞:指令

        黃正偉,劉宏偉,,徐 淵

        (1.深圳大學(xué) 電子與信息工程學(xué)院,廣東 深圳 518060;2.深圳技術(shù)大學(xué) 大數(shù)據(jù)與互聯(lián)網(wǎng)學(xué)院,廣東 深圳 518118)

        0 概述

        隨著5G 通信技術(shù)和人工智能的快速發(fā)展,萬物互聯(lián)的時(shí)代已經(jīng)來臨。3D 感知作為一種數(shù)字成像技術(shù),能夠獲得物體之間的深度(距離)信息和三維立體信息,因此,3D 感知在計(jì)算機(jī)視覺、自動(dòng)駕駛、人機(jī)交互、醫(yī)療康復(fù)和工業(yè)安全領(lǐng)域得到廣泛應(yīng)用[1]。ToF(Time of Flight)是目前業(yè)內(nèi)實(shí)現(xiàn)3D 感知技術(shù)最主要的方案之一,它通過精準(zhǔn)地測(cè)量光飛行到被測(cè)物體再反射回傳感器所消耗的時(shí)間,計(jì)算被測(cè)物體與傳感器之間的深度,從而得到物體的三維信 息[2]。ToF 的測(cè)距方法有2 種,一種是DToF(Direct Time of Flight)直接測(cè)距法,另一種是IToF(Indirect Time of Flight)間接測(cè)距法[3]。DToF 利用高精度計(jì)時(shí)器直接計(jì)算從光發(fā)射到接收的時(shí)間差,從而計(jì)算得到深度。與DToF 測(cè)距方法不同,IToF 測(cè)距法讓多組不同相位的采樣計(jì)算窗口對(duì)反射光進(jìn)行測(cè)量,并將測(cè)量的數(shù)據(jù)送入處理器,計(jì)算發(fā)射光與反射光之間的相位差,從而間接地得到光的飛行時(shí)間并計(jì)算出最終的深度[4]。DToF 測(cè)距法和IToF 測(cè)距法各有特點(diǎn),前者的功耗低,精度不會(huì)隨深度的增加而下降[5],但其分辨率低,難以集成;后者的分辨率高,易集成,但功耗高,精度隨深度的增加而降低[6]。

        物聯(lián)網(wǎng)和人工智能的發(fā)展使得人們對(duì)3D 傳感器的需求量日益增加,但是同時(shí)帶來了功耗等成本問題。從功耗角度出發(fā),設(shè)計(jì)一款用于IToF 傳感器的極低功耗專用處理器具有重要的現(xiàn)實(shí)意義。RISC-V 是加州大學(xué)伯克利分校提出的第五代開源精簡(jiǎn)指令集架構(gòu)[7],與X86 和ARM 指令集架構(gòu)相比,RISC-V 結(jié)構(gòu)簡(jiǎn)單,靈活且通用[8],它要求的基本指令集少,但具備的指令集多。RISC-V 不僅不對(duì)處理器的實(shí)現(xiàn)作過多要求,而且預(yù)留了大量的自定義指令編碼空間,鼓勵(lì)設(shè)計(jì)者對(duì)處理器的結(jié)構(gòu)和功能進(jìn)行創(chuàng)新[9]。目前,開源的RISC-V 處理器(如蜂鳥E203 和PULPissimo)均支持較多的指令集,但是它們針對(duì)某一領(lǐng)域在功耗和資源使用上的優(yōu)化已至極限。例如,開源的處理器在計(jì)算深度時(shí)需要處理器的多個(gè)模塊配合多條指令才能完成計(jì)算,多個(gè)模塊的執(zhí)行會(huì)帶來資源使用和運(yùn)行功耗的提高。因此,開源的RISC-V 處理器解決不了IToF 傳感器所帶來的功耗問題。

        本文從專用領(lǐng)域架構(gòu)出發(fā),設(shè)計(jì)一款名為IToFminiRV 的擁有IToF 硬件加速器的極低功耗RISC-V專用處理器。IToF-miniRV 的內(nèi)核資源極少,能夠?qū)崿F(xiàn)RV32IM 通用指令集以及自定義的IToF 型指令。RV32IM 通用指令集包括RV32I 和RV32M 指令集,RV32I 指令集中包括加法、減法、跳轉(zhuǎn)、比較、移位等基本指令,是RISC-V 中必須實(shí)現(xiàn)的基本指令集。RV32M 指令集包括乘法、高位乘法、除法、無符號(hào)除法、求余等指令,是一種根據(jù)需求而靈活設(shè)計(jì)的非必須指令集。IToF 型指令是自定義的擴(kuò)展指令,主要負(fù)責(zé)控制IToF 硬件加速器的執(zhí)行,而IToF 硬件加速器主要負(fù)責(zé)對(duì)深度和光幅度進(jìn)行計(jì)算。

        1 IToF 傳感器的測(cè)距原理

        IToF 測(cè)距法又稱間接式飛行時(shí)間測(cè)距法,IToF傳感器首先使信號(hào)發(fā)射器連續(xù)發(fā)射經(jīng)過調(diào)制的光,然后通過像素陣列收集并解調(diào)反射回來的光。發(fā)射光和反射光之間的相位差通過轉(zhuǎn)換和運(yùn)算,就能得到光飛行的時(shí)間以及被測(cè)物體與傳感器之間的深度[10-11]。如圖1 所示,信號(hào)發(fā)射器一般采用光源為850 nm 波長(zhǎng)的發(fā)光二極管或固態(tài)激光管,對(duì)人眼來說是不可見光(可見光的波長(zhǎng)范圍是400 nm~750 nm)。IToF 傳感器用于收集與發(fā)射光擁有同樣頻譜的光,同時(shí)將光子能量轉(zhuǎn)換為電子電流。需要注意的是,IToF 傳感器接收的光中包括反射光和環(huán)境光,深度信息存在于反射光中,因此,高的環(huán)境光分量會(huì)降低測(cè)量精度。

        圖1 IToF 法的測(cè)距原理Fig.1 Ranging principle of IToF method

        IToF 傳感器一般由像素陣列、相關(guān)雙采樣(CDS)讀出電路、數(shù)模轉(zhuǎn)換電路(ADC)、激光器驅(qū)動(dòng)電路和數(shù)字控制電路組成[12],如圖2 所示。激光器驅(qū)動(dòng)電路是發(fā)射光光源,用來發(fā)射調(diào)制光。像素陣列負(fù)責(zé)采集光并對(duì)光進(jìn)行解調(diào),同時(shí)通過光電導(dǎo)效應(yīng)將光信號(hào)轉(zhuǎn)換成電信號(hào)。相關(guān)雙采樣讀出電路用來處理像素陣列輸出的電信號(hào)。因?yàn)橄袼仃嚵休敵龅碾娦盘?hào)中存在噪聲信號(hào)(如復(fù)位噪聲信號(hào)),會(huì)影響傳感器測(cè)量的信噪比,所以像素陣列的讀出電路需要采用相關(guān)雙采樣的方法消除噪聲以增強(qiáng)信噪比。像素陣列輸出的信號(hào)中包含噪聲信號(hào)和光敏信號(hào),而復(fù)位脈沖電平噪聲信號(hào)是噪聲信號(hào)的主要成分。CDS方法是指在像素陣列的光電信號(hào)積分開始時(shí)刻和結(jié)束時(shí)刻分別進(jìn)行輸出信號(hào)采樣,前者采樣到的是復(fù)位電平,后者采樣到的是信號(hào)電平,其中,2 個(gè)采樣時(shí)刻的時(shí)間間隔要遠(yuǎn)小于常數(shù)C·RRon的值(C指采樣保持電容,RRon指復(fù)位管的導(dǎo)通電阻),這樣采樣到的2 個(gè)電平的噪聲電壓幾乎一致,又因?yàn)椴蓸訒r(shí)間是相關(guān)的,所示只需要通過將2 個(gè)采樣電平進(jìn)行相減處理,就能夠基本消除復(fù)位噪聲的干擾,從而提升輸出信號(hào)的信噪比。ADC 對(duì)模擬電信號(hào)進(jìn)行量化和編碼。數(shù)字控制電路用于協(xié)調(diào)其他電路,并將量化編碼的值交付給處理器進(jìn)行相關(guān)公式運(yùn)算,從而得出傳感器與被測(cè)物體之間的深度。

        圖2 IToF 傳感器的系統(tǒng)架構(gòu)Fig.2 System architecture of IToF sensor

        處理器通常采用4-Quad 法計(jì)算得到傳感器與被測(cè)物體之間的深度[13]。如圖3 所示,4-Quad 法要求像素陣列采用4 個(gè)不同相位的采樣計(jì)算窗口對(duì)接收光進(jìn)行測(cè)量。

        圖3 4 組采樣窗口的采樣反射光示意圖Fig.3 Schematic diagram of sampling reflected light of four groups of sampling windows

        4 個(gè)采樣窗口C1、C2、C3、C4的相位分別比發(fā)射光的相位延遲0°、180°、90°、270°。Q1、Q2、Q3和Q4分別是4個(gè)采樣窗口采集到的光轉(zhuǎn)換成電信號(hào)的能量。4 組電信號(hào)能量經(jīng)過ADC 的量化編碼后,處理器將編碼的值通過4-Quad 法中如式(1)~式(4)所示的運(yùn)算,從而得到傳感器與被測(cè)物體之間的深度等重要信息。

        其中:Q為反射光中的正弦分量;I為反射光中的余弦分量;c為光速;f為發(fā)射光的調(diào)制頻率(單位為MHz);d是被測(cè)物體與傳感器之間的深度;A被稱為反射光的亮度或幅度,是評(píng)估深度測(cè)量精度的重要指標(biāo)。

        2 基于RISC-V 的專用處理器設(shè)計(jì)

        2.1 IToF 硬件加速器設(shè)計(jì)

        4-Quad 法中深度和反射光幅度運(yùn)算的速度主要受限于硬件中的除法運(yùn)算、反正切運(yùn)算和開平方運(yùn)算。因此,IToF 硬件加速器首先對(duì)除法運(yùn)算、反正切運(yùn)算和開平方運(yùn)算進(jìn)行加速,然后再對(duì)計(jì)算公式進(jìn)行優(yōu)化,最終達(dá)到加速的效果。

        IToF 硬件加速器設(shè)計(jì)一個(gè)可自定義位寬的帶符號(hào)除法運(yùn)算電路模塊,并通過路徑分割的方式對(duì)其進(jìn)行加速。該除法運(yùn)算模塊包括初始化模塊、路徑分割模塊和遞歸模塊。以N為位寬,初始化模塊將被除數(shù)初始化成位寬為2N的表示其絕對(duì)值的變量,把除數(shù)初始化成位寬為N+1 的表示其絕對(duì)值相反數(shù)的變量,同時(shí)聲明一個(gè)判斷商正負(fù)的標(biāo)志信號(hào)。路徑分割模塊采用寄存器堆對(duì)遞歸模塊之間的數(shù)據(jù)進(jìn)行緩存,從而提升電路運(yùn)行速度。遞歸模塊是除法運(yùn)算模塊的核心,對(duì)運(yùn)算過程中的中間變量進(jìn)行算術(shù)和邏輯運(yùn)算,通過N次遞歸后就能得到最終的商和余數(shù),其中,商值用來提供IToF 硬件加速器中反正切模塊和深度距離計(jì)算公式中不可或缺的參數(shù)值,余數(shù)是附帶的輸出信息。

        圖4所示為除法運(yùn)算模塊在硬件中實(shí)現(xiàn)的算法流程。

        圖4 除法運(yùn)算模塊算法流程Fig.4 Algorithm procedure of division operation module

        IToF 硬件加速器基于文獻(xiàn)[14]提出的算法和反正切公式,推導(dǎo)出新的四象限反正切變換公式,并提出一種基于查找表和二叉樹的方法,從而求取反正切值。如圖5 所示,該方法把直角坐標(biāo)系分為a、b、c、d、e 這5 個(gè)區(qū)域,并在a 區(qū)域內(nèi)采點(diǎn),將點(diǎn)的x值固定為4 095,這樣有利于后續(xù)公式的優(yōu)化并節(jié)省硬件的計(jì)算和存儲(chǔ)資源(x可根據(jù)不同系統(tǒng)的精度需求和優(yōu)化策略設(shè)置成任意值),y值作為查找表的地址,從0 開始,以1 為步進(jìn)增加到4 095,y每增加一次,就計(jì)算一次點(diǎn)的反正切值并存入查找表。因此,查找表中存儲(chǔ)的反正切值的弧度范圍為0~π/4。當(dāng)點(diǎn)處于a 區(qū)域時(shí),直接通過查找表就能獲取反正切值,當(dāng)點(diǎn)處于其他區(qū)域時(shí),四象限反正切變換公式先計(jì)算偏移量,再將點(diǎn)轉(zhuǎn)移到a 區(qū)域,最后通過查找表與偏移量的累加得到反正切值。四象限反正切變換公式如式(5)~式(8)所示:

        圖5 直角坐標(biāo)系中的采點(diǎn)示意圖Fig.5 Schematic diagram of sampling points in rectangular coordinate system

        此時(shí),查找表中存儲(chǔ)的弧度值屬于浮點(diǎn)數(shù),浮點(diǎn)數(shù)需要浮點(diǎn)模塊進(jìn)行處理,這會(huì)大幅提高處理器的功耗以及對(duì)FPGA 資源的使用。因此,本文將0~2π 的弧度值離散化為0~30 000 的整數(shù),經(jīng)過式(9)的轉(zhuǎn)換,查找表中的值會(huì)從0~π/4 的浮點(diǎn)數(shù)映射為0~3 750 內(nèi)的整數(shù)。

        將四象限反正切變換公式和查找表在硬件電路中進(jìn)行實(shí)現(xiàn),就能得到一個(gè)輸出分辨率為的反正切電路模塊。圖6 所示為反正切運(yùn)算模塊在硬件中實(shí)現(xiàn)的算法流程。

        圖6 反正切運(yùn)算模塊算法流程Fig.6 Algorithm procedure of arctangent operation module

        IToF 硬件加速器根據(jù)二進(jìn)制平方運(yùn)算的計(jì)算過程,逆推導(dǎo)出一種逐次逼近的、可自定義位寬的開平方模塊,其包括數(shù)據(jù)預(yù)處理模塊、函數(shù)M(W,I)模塊、路徑分割模塊和遞歸模塊:

        1)數(shù)據(jù)預(yù)處理模塊根據(jù)輸入數(shù)據(jù)的位寬對(duì)模塊內(nèi)的參數(shù)進(jìn)行修改,并根據(jù)參數(shù)的值初始化用于保存遞歸運(yùn)算結(jié)果的存儲(chǔ)器。

        2)路徑分割模塊用于緩存遞歸模塊的輸出數(shù)據(jù)。

        3)遞歸模塊負(fù)責(zé)對(duì)中間變量進(jìn)行邏輯運(yùn)算從而逼近最后結(jié)果。

        4)式(10)是函數(shù)M(W,I)的表達(dá)式,函數(shù)M(W,I)模塊的本質(zhì)是以邏輯運(yùn)算和算術(shù)運(yùn)算的動(dòng)態(tài)方式,給每一階段的遞歸模塊提供參數(shù)及其參數(shù)運(yùn)算得出的對(duì)比值,相比于查找表這種動(dòng)態(tài)方式,M(W,I)模塊能節(jié)省大量的硬件存儲(chǔ)資源。

        圖7 是開平方模塊的算法流程,其中,對(duì)虛線框內(nèi)的運(yùn)算步驟進(jìn)行N-1 次遞歸操作。

        圖7 開平方運(yùn)算模塊算法流程Fig.7 Algorithm procedure of square root operation module

        基于以上的算法實(shí)現(xiàn),深度計(jì)算公式可簡(jiǎn)化為式(11):

        其中:d是小數(shù)點(diǎn)在第11 位的定點(diǎn)數(shù);n是發(fā)射光的調(diào)制頻率(單位為Hz)。

        例化除法運(yùn)算模塊、反正切運(yùn)算模塊和開平方運(yùn)算模塊,構(gòu)建一個(gè)完整的IToF 硬件加速器,其系統(tǒng)架構(gòu)如圖8 所示。

        圖8 IToF 硬件加速器系統(tǒng)架構(gòu)Fig.8 System architecture of IToF hardware accelerator

        2.2 基于RISC-V 的極低功耗處理器設(shè)計(jì)

        RISC-V 是一個(gè)具有典型三操作數(shù)、加載-存儲(chǔ)形式的精簡(jiǎn)指令集架構(gòu),其包括3 個(gè)基本整數(shù)指令集(RV32I、RV64I、RV128I)和6 個(gè)擴(kuò)展指令集(M、F、A、D、Q、C)[15],并且提供了自定義指令的編碼空間。RISC-V 只對(duì)I 指令集提出了實(shí)現(xiàn)要求,對(duì)于其他指令集,設(shè)計(jì)者可根據(jù)需求自行實(shí)現(xiàn)和定義。目前,芯來科技公司推出了一款基于RISC-V 的超低功耗處理器——蜂鳥E203[16],該處理器以2 級(jí)流水線為主體,支持RV32IEAMC 指令集,其功耗面積和性能不遜色于ARM 最小面積的處理器Cortex-M0+。瑞士蘇黎世聯(lián)邦理工大學(xué)和意大利博洛尼亞大學(xué)聯(lián)合設(shè)計(jì)研發(fā)了一款名為PULPissimo 的超低功耗RISC-V處理器,PULPissimo 具有良好的靈活性,其內(nèi)核既可以被配置為以4 級(jí)流水線為主體且支持RV32IMC 指令集的RI5CY,也可以被配置為以2 級(jí)流水線為主體且支持RV32IC 指令集的zero-riscy。目前,PULPissmo 主要被用于多核PULP 芯片的系統(tǒng)控制器[17]。

        本文從極低功耗出發(fā),設(shè)計(jì)一款支持RV32IM指令集的處理器,該處理器擁有32 位的地址空間和整數(shù)指令,以3 級(jí)流水線為主體[18],采用靜態(tài)分支預(yù)測(cè)技術(shù)。處理器還擁有自定義的主從一對(duì)一的oto總線,為擴(kuò)充處理器的資源和功能創(chuàng)造了條件。

        本文處理器的系統(tǒng)框架如圖9 所示,處理器的內(nèi)核主要包括指令獲取模塊、靜態(tài)分支預(yù)測(cè)模塊、預(yù)譯碼模塊、數(shù)據(jù)傳輸模塊、指令譯碼模塊、指令執(zhí)行模塊、控制模塊、中斷模塊、通用寄存器堆和csr 寄存器堆等。處理器的外設(shè)包含具有哈佛結(jié)構(gòu)的指令和數(shù)據(jù)存儲(chǔ)器模塊、指令仲裁器模塊、計(jì)時(shí)器模塊、通用I/O 模塊和串口通信模塊。處理器的內(nèi)核主要完成對(duì)指令的獲取、譯碼和運(yùn)算。處理器的外設(shè)主要為處理器內(nèi)核提供指令和數(shù)據(jù)的存儲(chǔ)空間,以及為處理器添加常用的資源和功能。在通常情況下,處理器處理一條指令需要3 個(gè)時(shí)鐘周期:在第一個(gè)時(shí)鐘周期內(nèi),指令獲取模塊通過指令仲裁器從指令存儲(chǔ)器模塊中讀取指令,并把指令分別派送給預(yù)譯碼模塊和分支預(yù)測(cè)模塊進(jìn)行解析;在第二個(gè)時(shí)鐘周期內(nèi),指令譯碼模塊對(duì)指令進(jìn)行譯碼,并根據(jù)譯碼的信息從通用寄存器堆或csr 寄存器堆中讀取源操作數(shù),并將源操作數(shù)交付給數(shù)據(jù)傳輸模塊;在最后一個(gè)時(shí)鐘周期內(nèi),指令執(zhí)行模塊根據(jù)譯碼的信息對(duì)操作數(shù)進(jìn)行邏輯或算術(shù)運(yùn)算,并把運(yùn)算的結(jié)果寫入寄存器堆或通過總線寫入數(shù)據(jù)存儲(chǔ)器。

        圖9 極低功耗RISC-V 處理器系統(tǒng)架構(gòu)Fig.9 System architecture of ultra-low-power RISC-V processor

        在某些特殊情況下,處理器在處理多條指令時(shí)會(huì)出現(xiàn)數(shù)據(jù)沖突、結(jié)構(gòu)沖突等異常:數(shù)據(jù)沖突一般指上一條指令沒有及時(shí)更新下一條指令所需的源操作數(shù),導(dǎo)致處理器運(yùn)算錯(cuò)誤的情況;結(jié)構(gòu)沖突一般指同一個(gè)時(shí)鐘周期內(nèi)一個(gè)模塊需要同時(shí)應(yīng)答多條指令的請(qǐng)求,從而出現(xiàn)運(yùn)算錯(cuò)誤的情況。處理器中的控制模塊會(huì)根據(jù)異常的原因?qū)?shù)據(jù)傳輸模塊和指令獲取模塊進(jìn)行數(shù)據(jù)沖刷和指令丟棄等處理。數(shù)據(jù)沖刷即丟棄某個(gè)數(shù)據(jù)傳輸模塊中緩存的數(shù)據(jù),不讓其傳入下一個(gè)階段進(jìn)行計(jì)算或存儲(chǔ),從而避免錯(cuò)誤的運(yùn)算結(jié)果被保存在寄存器堆或數(shù)據(jù)存儲(chǔ)器中。指令丟棄即控制模塊結(jié)合當(dāng)前處理器的運(yùn)行狀態(tài)判斷出當(dāng)前指令會(huì)引起處理器異常所進(jìn)行的操作,其目的是不讓當(dāng)前指令進(jìn)入譯碼階段,從而避免后續(xù)的異常。待處理器結(jié)束當(dāng)前狀態(tài),被丟棄的指令會(huì)被重新獲取并執(zhí)行。

        2.3 專用處理器系統(tǒng)構(gòu)建

        領(lǐng)域擴(kuò)展自定義指令是構(gòu)建專用處理器系統(tǒng)的關(guān)鍵步驟。例如,文獻(xiàn)[19]基于RISC-V 擴(kuò)展了針對(duì)GNSS 信道編碼的專用指令,文獻(xiàn)[20]基于RISC-V擴(kuò)展了用于低開銷SM4 算法實(shí)現(xiàn)的專用指令,文獻(xiàn)[21]基于RISC-V 擴(kuò)展了用于衛(wèi)星信號(hào)通信的專用指令。

        本文IToF-miniRV 以極低功耗RISC-V 處理器為基礎(chǔ),將IToF 硬件加速器掛載到RISC-V 處理器上,并為其在處理器中的識(shí)別與操控定義一種IToF 型指令,該類指令的格式如圖10 所示。

        圖10 IToF 型指令格式Fig.10 IToF type instruction format

        在IToF 型指令格式中:opcode 位段為操作碼,用于處理器對(duì)該指令進(jìn)行識(shí)別[22];funct3 位段為指令的功能碼,用于處理器對(duì)IToF 硬件加速器進(jìn)行多種操 控[23],目前處理器對(duì)IToF 硬件加速器有start、pause 和remake 這3 種操作,其funct3 位段分別對(duì)應(yīng)于00001、00010、00000;number 位段為指令的一個(gè)參數(shù),用于指示處理器計(jì)算的數(shù)據(jù)量;frequency 位段為IToF 硬件加速器需要的發(fā)射光調(diào)制頻率參數(shù)。

        圖11 所示為IToF-miniRV 的系統(tǒng)框架,其中,IToF_DSA 是IToF 硬件加速器,Pixel_memory 用 于存放4 組采樣窗口的數(shù)據(jù)。處理器在指令執(zhí)行階段啟動(dòng)IToF_DSA,IToF_DSA 開始從Pixel_memory 中讀取數(shù)據(jù),經(jīng)過53 個(gè)時(shí)鐘周期后,每隔一個(gè)時(shí)鐘周期就計(jì)算出一組深度值和光幅度值,并將其組合成32 位的數(shù)據(jù),存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中,直到計(jì)算完指令中指定的數(shù)據(jù)量。在此期間,處理器可以在任意時(shí)刻暫停IToF_DSA 的計(jì)算,從而釋放總線讓處理器執(zhí)行其他指令,也可以根據(jù)即時(shí)的調(diào)試需求重新開始IToF_DSA 的取值、計(jì)算和存儲(chǔ),從而更新并覆蓋數(shù)據(jù)存儲(chǔ)器中已有的深度和光幅度數(shù)據(jù)。

        圖11 IToF-miniRV 的系統(tǒng)架構(gòu)Fig.11 System architecture of IToF-miniRV

        3 實(shí)驗(yàn)結(jié)果與分析

        本文實(shí)驗(yàn)數(shù)據(jù)來源于IToF 傳感器在發(fā)射光調(diào)制頻率為54 MHz 時(shí)采集到的像素?cái)?shù)據(jù),每一組像素?cái)?shù)據(jù)為48 bit,包含4 個(gè)采樣計(jì)算窗口測(cè)量的數(shù)據(jù)。表1 列出了IToF-miniRV 在50 MHz 時(shí)鐘頻率下計(jì)算64 組、256 組、1 024 組、4 096 組像素?cái)?shù)據(jù)時(shí)的性能指標(biāo),數(shù)據(jù)對(duì)比如圖12、圖13 所示。

        表1 IToF-miniRV計(jì)算不同數(shù)據(jù)量像素?cái)?shù)據(jù)時(shí)的性能指標(biāo)Table 1 Performance index of IToF-miniRV when calculating pixel data with different data volumes

        圖12 計(jì)算不同數(shù)據(jù)量像素?cái)?shù)據(jù)所需的時(shí)鐘周期數(shù)Fig.12 The number of clock cycles required to calculate pixel data with different data volumes

        圖13 計(jì)算不同數(shù)據(jù)量像素?cái)?shù)據(jù)所花費(fèi)的總時(shí)間和平均時(shí)間Fig.13 The total and average time taken to calculate pixel data with different data volumes

        從表1 可以看出,計(jì)算數(shù)據(jù)量越大,平均每組數(shù)據(jù)消耗的時(shí)間越少,當(dāng)計(jì)算的數(shù)據(jù)量不少于256 組時(shí),平均每組數(shù)據(jù)消耗的時(shí)間小于25 ns。從圖12 可以看出,隨著像素?cái)?shù)據(jù)量的增大,其所需的時(shí)鐘周期數(shù)提高并逐漸趨于線性關(guān)系,這是因?yàn)殡S著數(shù)據(jù)量的增大,IToF 硬件加速器初始化所需的時(shí)鐘周期數(shù)占總周期數(shù)的比例越來越小。IToF 硬件加速器經(jīng)過初始化過程后,每過一個(gè)時(shí)鐘周期就能計(jì)算完一組數(shù)據(jù),使其所需時(shí)鐘周期數(shù)與數(shù)據(jù)量呈線性增長(zhǎng)關(guān)系。由于計(jì)算總時(shí)間為時(shí)鐘周期數(shù)與時(shí)鐘周期的乘積,因此圖13 中的計(jì)算總時(shí)間也會(huì)隨著數(shù)據(jù)量的增大而逐漸以線性趨勢(shì)增加。同理,因?yàn)榻?jīng)過初始化過程后,每一個(gè)時(shí)鐘周期就能計(jì)算完一組數(shù)據(jù),隨著數(shù)據(jù)量的增長(zhǎng),平均每組數(shù)據(jù)花費(fèi)的時(shí)間無限趨近于時(shí)鐘周期20 ns。

        圖14、圖15 分別是實(shí)物測(cè)量場(chǎng)景圖和實(shí)物測(cè)量結(jié)果。表2列出了實(shí)物測(cè)量的深度和光幅度的相關(guān)數(shù)據(jù)。

        圖14 實(shí)物測(cè)量場(chǎng)景圖Fig.14 Physical measurement scene graph

        圖15 實(shí)物測(cè)量結(jié)果Fig.15 Physical measurement result

        表2 深度和光幅度的實(shí)物測(cè)量數(shù)據(jù)Table 2 Physical measurement data of depth and light amplitude

        將超低功耗處理器蜂鳥E203 和PULPissimo 下載到Xilinx Zynq-7000 芯片上,得到它們?cè)贔PGA 上各項(xiàng)資源的使用和功耗情況。表3列出了IToF-miniRV、E203 和PULPissimo 處理器在Zynq-7000 芯片上的資源使用情況對(duì)比結(jié)果。

        表3 IToF-miniRV、E203、PULPissimo的資源使用情況對(duì)比Table 3 Comparison of resource usage of IToF-miniRV,E203 and PULPissimo

        從表3 可以看出,IToF-miniRV 總資源利用率為7.5%,相對(duì)蜂鳥E203 的總資源利用率12.7%減少了5.2 個(gè)百分點(diǎn),相對(duì)PULPissimo 的總資源利用率18.4%減少了10.9 個(gè)百分點(diǎn)。

        表4列出了IToF-miniRV、蜂鳥E203和PULPissimo在Zynq-7000 芯片上的功耗對(duì)比。其中,蜂鳥E203的工作時(shí)鐘頻率為16 MHz,PULPissimo 的工作時(shí)鐘頻率為65 MHz。

        表4 IToF-miniRV、E203、PULPissimo 的運(yùn)行功耗對(duì)比Table 4 Comparion of operating power consumption of IToF-miniRV,E203 and PULPissimo W

        從表4可以看出,IToF-miniRV的總功耗為0.166 W,比蜂鳥E203 的0.266 W 降低了37.6%,比PULPissimo的1.614 W 降低了89.7%。

        4 結(jié)束語

        本文提出用于加速IToF 深度和光幅度計(jì)算的硬件加速器,同時(shí)設(shè)計(jì)一種支持RV32IM 指令集并具備自定義IToF 型指令功能的極低功耗RISC-V 處理器,將兩者相結(jié)合構(gòu)成一款用于IToF 傳感器的極低功耗RISC-V 專用處理器IToF-miniRV。實(shí)驗(yàn)結(jié)果表明,IToF-miniRV 能夠減少資源使用并具有較低的運(yùn)行功耗,其FPGA 資源使用率相比蜂鳥E203 和PULPissimo 分別減少5.2 和10.9 個(gè)百分點(diǎn),運(yùn)行功耗分別降低37.6%和89.7%。下一步將對(duì)IToF-miniRV的內(nèi)核進(jìn)行時(shí)序優(yōu)化,使整個(gè)處理器能夠在更高的時(shí)鐘頻率上工作,同時(shí)對(duì)IToF-miniRV 進(jìn)行版圖的生成、優(yōu)化以及流片。

        猜你喜歡
        指令
        聽我指令:大催眠術(shù)
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        巧用G10指令實(shí)現(xiàn)橢圓輪廓零件倒圓角
        中斷與跳轉(zhuǎn)操作對(duì)指令串的影響
        科技傳播(2015年20期)2015-03-25 08:20:30
        基于匯編指令分布的惡意代碼檢測(cè)算法研究
        一種基于滑窗的余度指令判別算法
        歐盟修訂電氣及電子設(shè)備等產(chǎn)品安全規(guī)定
        家電科技(2014年5期)2014-04-16 03:11:28
        MAC指令推動(dòng)制冷劑行業(yè)發(fā)展
        汽車零部件(2014年2期)2014-03-11 17:46:27
        日韩精品久久无码中文字幕| 国产一级黄色性生活片| 国产三级国产精品国产专播| 性欧美长视频免费观看不卡| 国产亚洲人成a在线v网站| 麻豆国产av尤物网站尤物| 亚洲国产综合久久精品| 中文字幕亚洲精品一区二区三区| 国产台湾无码av片在线观看| 欧美在线日韩| 亚洲一区二区三区一区| 国产美女高潮流白浆免费视频| 国产国拍精品av在线观看按摩| 亚洲VA中文字幕无码毛片春药| 亚洲国产av午夜福利精品一区| 亚洲中文字幕日产无码| 久久综合九色综合网站| 亚洲三区二区一区视频| 国产在线观看一区二区三区av | 日本在线一区二区三区四区 | 少妇高潮喷水正在播放| 国产传媒剧情久久久av| 亚洲av无一区二区三区| 日本免费a级毛一片| 精品国产免费Av无码久久久 | 婷婷一区二区三区在线| 日韩中文字幕在线丰满| 97se狠狠狠狠狼鲁亚洲综合色| 亚洲av区无码字幕中文色| 巨胸喷奶水www视频网站| 99久久久久国产| 人妻中出中文字幕在线| 色综合天天综合欧美综合| 国产精品久久久久电影网| 久久国产香蕉一区精品天美| 久久久精品毛片免费观看| 激情内射日本一区二区三区| 亚洲AV秘 无码一区二p区三区| 日本一曲二曲三曲在线| 肥老熟妇伦子伦456视频| 国产精品美女久久久浪潮av|