999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向阻變存儲器的長短期記憶網絡加速器的訓練和軟件仿真

2019-06-26 10:04:58韓建輝張悠慧鄭緯民
計算機研究與發展 2019年6期

劉 鶴 季 宇 韓建輝 張悠慧 鄭緯民

1(清華大學計算機科學與技術系 北京 100084)2(清華大學微電子學研究所 北京 100084)

長短期記憶(long short-term memory, LSTM)神經網絡擅長處理和預測時間序列中間隔和延遲很長的事件,因此多用于語音識別、機器翻譯、控制機器人、合成音樂等領域.LSTM的推斷計算大概占用了谷歌數據中心的30%的工作負載[1].然而,LSTM網絡在傳統的神經網絡加速器上的計算效率卻很低.舉例來說,對于TPU[1]而言,相較于卷積神經網絡(convolutional neural network, CNN)的86 Topss的速度,LSTM神經網絡的速度只能達到2.8Topss.其主要原因在于LSTM的訪存更為密集,因此其計算性能受到內存帶寬的嚴格限制.對于GPU[2]和FPGA[3-4]等加速器件,也有類似的結論.

為了解決內存瓶頸對計算性能的影響,用ReRAM器件可作為神經網絡加速器件的計算核心.非易失性阻變存儲器(resistive random-access memory, ReRAM)是新一代的存儲器件,其阻值可動態設置.利用此器件的物理特性,可以將ReRAM制作成交叉開關陣列(Crossbar)進行神經網絡所需的矩陣向量乘法計算.其計算原理是基爾霍夫定律,計算速度快、功耗低,并且避免了一般神經網絡加速器計算期間的權重數據移動,很大程度上削弱了內存帶寬對計算效率的限制.

由于ReRAM Crossbar本身是模擬電路,相對于一般的數字電路設計有更多的約束條件,為此本文提出了定制化的訓練算法,使得LSTM網絡在訓練時就充分考慮了相應的硬件約束,能夠更好地反映推斷計算的真實運行環境.同時本文還完成了一個針對ReRAM器件的System-C模擬器,采用行為級電路模擬技術避免了現有的基于SPICE的ReRAM電路仿真的復雜計算,可以大幅度提高模擬運行速度.相對于SPICE仿真,該模擬器引入的誤差不超過2.68%[注]與真實芯片的電路設計作對比得出該結論.;且核心計算部分實現了GPU加速,大幅提高了模擬速度,為探索設計空間提供了便利.

1 背景與相關工作

1.1 ReRAM

ReRAM是新一代非易失性存儲器件,其具有非易失性、高密度、低功耗、存算合一、易于3D堆疊等特點.在神經網絡計算中可以利用其阻值可調的特點作為突觸器件,并利用其存算合一的優點以Crossbar形式完成高速向量矩陣乘運算.

具體的計算方式為: ReRAM是一種多級(multi-level)內存設備,理論上可以將ReRAM的電導值設為其取值范圍中的任意值.我們可以將ReRAM在Crossbar交叉點的阻值設置為神經網絡權重矩陣的對應值,這樣就可以用一個ReRAM Crossbar來表示一個神經網絡的權重矩陣,并且根據其物理特性就地(in-situ)完成矩陣向量乘操作.對于理想的Crossbar器件,將輸入電壓Vi加到每一行字線(word-line),電壓與每一交叉點的電導值Gij相乘,根據基爾霍夫定律I=GV,每一列的輸出電流I可累加得到.該計算過程能達到很高的并行度和速度,過程如圖1所示:

Fig. 1 ReRAM Crossbar圖1 ReRAM 交叉開關陣列

但實際上基于ReRAM Crossbar的計算并不像上文提到的理想情況那樣,主要包含2種非理想因素,分別是設備Variation和周期Variation.設備Variation主要反映在多個ReRAM單元之間的參數變動,即當我們設置多個ReRAM單元的電導值至某一個給定值時,其實際設置的結果值并不準確地等于預期值,而是服從預期值附近的一個數值分布.周期級的Variation則表示單個ReRAM單元的不同次操作之間的電導值并不完全一致.

具體地,在設置ReRAM電導值的過程中,一個單元的電導值的變化受極性、磁性和輸入電壓等的影響.同時一些非理想情況,如電導值突變和波動會在反復循環設置電導的過程中出現,因此需要寫驗證電路來驗證所設置的電導值是否符合要求.通常的設置過程如下:將電壓脈沖加到ReRAM單元上來增大(或減小)單元的電導值,直到該電導值大于(或小于)期望的電導值.如果實際電導值與期望的電導值相差過大,則需要進行相反的操作來減小(或增大)電導值.同時由于器件不完美特性和設置過程開銷(用于驗證電路的參考電壓數量有限),實際可用的電導取值通常是離散值.這是當前很多基于ReRAM進行神經網絡計算加速的研究工作使用離散電導值的一個原因.另一個原因在于,使用離散的權重值有利于提升神經網絡的抗噪能力.

由于整個加速芯片系統的主要部分仍是數字電路,因此數模轉換(模數轉換),即DACADC,是很大的硬件開銷.在配置DACADC的時候,需要綜合考慮神經網絡的準確率和硬件開銷的均衡.

數模轉換器(digital analog converter, DAC)的作用是將Crossbar每一行的數字輸入向量轉換成模擬信號.其重要參數是轉換分辨率d,即每次可轉換的信號位數.在電路模塊中,DAC要占用不小的硬件面積,因此很多設計(如ISAAC[5]等)將S-bit寬度的數字輸入信號先轉換成一系列低精度的數字信號(通常精度是寬度為1,即d=1),再經過DAC;這也意味著Crossbar要進行(Sd)次的順序操作,這是一種用時間換空間的優化策略.DAC的個數設為2r×C.

模數轉換器(analog digital converter, ADC)的作用是將Crossbar的每一列電流輸出轉換成數字信號,其傳感分辨率為a.為了減小硬件開銷,通常使用時分復用的方式,即每個Crossbar列的輸出依次進入到ADC中,ADC將其逐個轉換成輸出信號.每個Crossbar的ADC的數量是A.

1.2 LSTM神經網絡

LSTM[6]網絡是一種帶門結構的循環神經網絡(recurrent neural network, RNN),適合于處理和預測時間序列中間隔和延遲較長的重要事件.

LSTM網絡引入了判斷舊有信息是否有用的單元(cell).Cell的構成如圖2所示:

Fig. 2 LSTM Cell[7]圖2 LSTM計算單元[7]

遺忘門(forget gate)控制當前輸入xt對來自之前Cell狀態刪除信息的影響程度:

ft=σ(Wfor·xt+Rfor·ht-1+bfor).

(1)

輸入門(input gate)控制當前輸入xt對當前Cell狀態中新信息的增量的影響程度:

it=σ(Win·xt+Rin·ht-1+bin).

(2)

輸出門(output gate)控制當前輸入xt對當前網絡輸出的直接影響:

ot=σ(Wout·xt+Rout·ht-1+bout).

(3)

候選階段門(candidate stage gate)代表當前輸入xt所創建的新的信息:

(4)

當前細胞狀態(current cell state)是需要被遺忘和需要被吸收的內容的組合,其計算模式?表示逐點乘:

(5)

網絡輸出(network output)是輸入xt與當前細胞狀態的組合,其計算模式為逐點乘:

ht=ot?tanh(Ct).

(6)

1.3 相關工作

在訓練層面,文獻[8]提出了一種通過補償設備變動的方式來增強魯棒性的訓練方案.文獻[9]使用二值網絡訓練來降低ReRAM表示能力的需求.在基于ReRAM的神經網絡加速器設計方面也有一些相關工作.ISAAC[5]是一個使用Crossbar的CNN加速器,提出了流水線化的微體系結構和新的數據編碼技術.PipeLayer[10]是一個面向CNN的基于ReRAM的內存計算(processing in memory, PIM)加速器,可以支持訓練和推斷計算.

在模擬器層面,尚未有研究提出一個開放的模擬框架.NVSim[11]對器件面積、時序、動態能量等非易失性存儲技術進行建模,但不是針對神經網絡加速計算.PIMSim[12]是一個內存計算的模擬器,用于傳統的內存技術而不支持內存和計算的本地化.NeuroSim[13]是一個面向神經網絡的基于非易失性存儲陣列結構的集成模擬框架,但是其目標用戶是希望利用自身的模擬突觸設備快速評估系統級性能的設備工程師.該模擬架構結構簡單(僅支持針對MNIST手寫體識別數據集的2層MLP)并且缺乏相應的訓練和映射軟件.MNSIM[14]是一個針對基于ReRAM的神經形態系統的仿真平臺,包括一個層次化的神經形態計算加速器結構和可以靈活定制的接口,以及一個行為級的計算準確度模型.但是MNSIM只實現了仿真功能而不支持實際神經網絡應用的評估.因此,本文是第1個開源的針對LSTM的基于ReRAM的神經網絡加速的訓練和仿真平臺.

2 針對ReRAM特性與加速器結構的LSTM神經網絡訓練

2.1 神經網絡權重量化

神經網絡權重量化(quantization)是神經網絡的常用壓縮算法.一般認為,神經網絡參數過多、計算過于密集,因此需要通過壓縮算法以降低神經網絡的有效權重數量,這樣既可以減少參數,又能簡化計算;同時也能夠降低數值表示精度,即用低精度計算來代替高精度浮點數計算,達到降低開銷的目的.本文采用神經網絡權重量化的出發點,主要是從ReRAM器件特性的角度來考慮.

正如1.1節介紹的,ReRAM器件的優勢在于速度快、功耗低、并行性非常好,但是由于當前工藝不夠成熟以及器件本身的不完美特性,其數值表示精度低(每個單元所能表示的權重的離散值范圍與個數都有限)且受器件噪聲的影響較大,因此需要在訓練階段對神經網絡權重進行量化,使得神經網絡能夠符合實際器件的約束.其主要思想是將原有的權重進行放縮至器件精度范圍如28,然后四舍五入為整數,并用該整數來表示權重值.

2.2 層間IO精度限制

在層間數據的傳輸時,數據的精度也常常受到硬件開銷的限制.若該層間傳輸的精度限制為S-bit,權重精度為b-bit,輸入的行數有2c行,則在Crossbar中計算時,其結果數據的數值范圍為2S×2b×2c=2S+b+c,即輸出的結果精度為(S+b+c)-bit,該結果需要被截取到層間數據傳輸的限制S-bit.截取策略一般有2種,最直接的方法是對輸出結果等比例放縮到S-bit.這種方法的弊端是,當結果分布不均勻的時候會有較大的精度損失.另一種策略是截取結果中連續的S-bit作為最終結果,截取的起始位置則由數據分布來確定.

2.3 DAC與ADC及移位相加

在訓練階段還需要考慮ReRAM加速器所需的DAC和ADC以及移位相加(shift-add)對神經網絡的影響.因此在訓練的每次矩陣向量乘計算之前,需要將原有的輸入值按位進行拆分,即將原有的1個8-bit輸入向量拆分為8個1-bit輸入向量,并將其合并成新的輸入矩陣(訓練階段以此來加速訓練過程),以此操作模擬DAC的轉換過程.

在訓練階段的矩陣向量乘計算之后,首先需要統計該層所有輸出結果的最大值,并根據此最大值確定ADC的參考電流(該參考電流值也將用于模擬器的ADC模塊).在確定了該層ADC的參考電流之后,再將輸出結果按照DAC的順序,每8個行向量移位相加成1個行向量(即將擴展了8倍大小的輸出矩陣還原成DAC拆分之前的同一層輸出大小).

2.4 ReRAM噪聲分布

ReRAM器件的噪聲是指每個單元的噪聲,其大小與單元的電導值(即神經網絡權重)有關.每個單元的實際電導值為均值為單元目標電導值的正態分布,則每個單元的噪音為均值為0、標準差受電導值影響的正態分布:Gnoise=N(0,δ2).本文采用的ReRAM器件標準差δ符合(由實際測量值擬合得出[15]):

δ=-0.000 603 4x2+0.061 84x+0.724 0,

(7)

其中,x是ReRAM單元的電導值.在Crossbar計算的過程中,由于每次讀取權重都會有偏差(ReRAM特性),因此在以上正態分布的約束下,每次計算都需要重新生成Gnoise值,并將其加在ReRAM單元的原有電導值上,作為新的讀出值.

2.5 針對ReRAM特性的神經網絡訓練算法

在神經網絡訓練時,為了快速收斂,首先按照經典神經網絡訓練方法進行訓練,得到高精度模型,在此基礎上,使用本文提出的定制化的訓練算法,訓練得到符合ReRAM約束的神經網絡模型.綜合上文提到的ReRAM特性,本文提出的神經網絡訓練算法如下:

1) 前向過程(forward pass)

步驟1. 神經網絡權重8-bit量化.針對各神經網絡層,分別選取各層的最大值max(W);保存現有權重為Wold;計算Wnew:

Wnew=round(Woldmax(W)×
(27-1))(27-1)×max(W).

(8)

步驟3. DAC轉換.將步驟2中獲得的inputnew進行按位拆分,生成新的1-bit向量.工作流程如圖3所示.

Fig. 3 DAC Workflow圖3 DAC工作流程圖

步驟4. 計算并添加噪音.首先生成標準正態分布噪音normal,進一步根據式(7)得到標準差為δ的Vnoise;將Vnoise加到現有Wnew上,得到帶噪音的權重值Wnoise.將DAC生成的1-bit向量與Wnoise相乘,得到輸出output.

步驟5. ADC與shift-add.首先確定各層參考電壓AD_V,其值為每層output的最大值,即AD_V=max(output) .將每個output值轉換成8-bit向量:outputt=round(outputAD_V×(27-1)).按照DAC拆分的順序,每8個outputti進行移位相加:為最終輸出結果向量.

2) 反向過程(backward pass)

步驟1. 將現有網絡權重值Wnoise恢復為Wold.

步驟2. 使用反向傳播算法(backpropagation)更新權重值.

以上為本文提出的針對ReRAM特性的神經網絡訓練算法.利用此算法可以訓練得到符合ReRAM約束的神經網絡模型.

3 模擬器架構

3.1 整體架構

模擬器的主要計算模塊為LSTM模塊和Linear模塊,分別負責LSTM網絡和全連接網絡的計算.除了計算模塊,還有數據輸入和輸出模塊,以及相應的數據緩沖區模塊(LSTM模塊的緩沖區與全連接模塊的緩沖區結構相似,僅有規模參數不同,因此視為同類模塊).如圖4所示,Linear模塊中包括DAC、若干ReRAM計算陣列、ADC和shift-add以及激活函數,其輸出值將發送給下一層數據緩沖區(或者作為模擬器的輸出結果).LSTM模塊的特殊性在于,其激活函數為非線性函數Sigmoid和tanh(而非Linear和CNN中常用的ReLU),并且需要引入新的控制和計算功能——向量拼接和逐點乘.

Fig. 4 Overall architecture圖4 整體架構

3.2 處理單元

1) DAC模塊

DAC模塊的主要作用是將輸入數據(8-bit)逐位轉換成1-bit數據,即將一個8-bit向量轉換成8個1-bit向量,依次輸送給Crossbar模塊進行計算.如圖4所示,對于4個8-bit(層間IO限制)輸入數據,對其bit位進行拆分,每個8-bit輸入數據按照從高位到低位拆分成8個1-bit數據;再按照高低位次序,分8次輸入到ReRAM Crossbar中進行計算,因此Crossbar中的計算需要8個時間步完成.

2) Crossbar模塊

如圖1所示,將一列輸入電壓與ReRAM單元的電導值(權重值)相乘加得到輸出電流.在此過程中,同時需考慮2.4節提到的ReRAM單元的噪音,即對每一個ReRAM單元,其計算電流值為Iij=Vi×(Gij+noiseij).Crossbar中的權重值經預先訓練和轉換得到,在模擬器運行啟動時讀入.Crossbar模塊的大小預先設置為1 152×128,其參數也是可調的.

3) ADC與shift-add模塊

4) LSTM模塊

在LSTM模塊中,集成了從上層獲取數據、DAC轉換、Crossbar的計算、ADC轉換這4部分.除此之外,由于LSTM網絡計算的特殊性,還需要引入逐點乘操作和非線性(激活)函數.另外還需要在模擬器中開辟專門的存儲空間來存放本模塊循環輸入給下一個時間步的結果Ct.

經過激活函數的計算后得出的結果ht作為下一時刻本層的輸入,Ct作為當前細胞狀態值用于計算下一時刻的細胞狀態,因此需要在本層中存入相應的數據緩沖區,待下一時刻本層計算Ct+1時使用.

Fig. 5 Computation Mode in LSTM module圖5 LSTM模塊的計算模式

3.3 GPU加速計算

模擬器的主要計算部分為矩陣向量乘,同時還要在每次進行Crossbar計算時生成滿足高斯分布的噪音(需要生成隨機數),所以使用CPU進行計算時其時間開銷很大.而GPU作為SIMD硬件,其計算并行性很高,適合做矩陣相乘的操作,目前也多用于神經網絡計算,具有良好的加速效果.因此我們考慮使用GPU來加速模擬器,即將Crossbar的主要計算部分由GPU來完成,包括ReRAM單元噪音的生成.在GPU計算時,通過編寫cuda代碼,調用用于生成隨機數的curand庫生成符合條件的高斯分布噪聲,并將其加到對應的ReRAM單元的電導值上.加速算法的步驟如下:

步驟1. 初始化權重W.將所有層Crossbar的權重加載到GPU內存中,并根據權重值計算該層權重對應的噪音標準差δ.

步驟2. 在System-C模擬器中,將每層輸入拼接成1個大輸入向量input,將input發送給GPU.

步驟3. 調用curand庫,生成標準差為δ的噪音Vnoise,并將該Vnoise與W相加,得到Wnoise.GPU調用cublas庫進行input和Wnoise的矩陣乘計算,得到輸出向量output.

步驟4. 將輸出向量output進行轉置(GPU中顯存的存儲方式為列優先,而CPU內存中的存儲方式為行有限).將結果拷貝回CPU內存.

在具體實現上,使用CMake進行編譯,其中System-C相關代碼需要調用System-C 2.3.2庫,而Crossbar計算部分則單獨拆分出來,使用NVCC進行編譯.在程序鏈接時,將2部分代碼生成一個可執行文件.

本項目所用的GPU為NVIDIA Tesla P100,其顯存大小為12 GB.加速效果如表1所示:

Table 1 GPU Acceleration Result表1 使用GPU計算的加速效果

由表1所示,“數據規格”為所設置的Crossbar大小,其中第1維表示Crossbar個數,后兩維表示單個Crossbar的長和寬.在表1中,第1,2行分別列出了中等矩陣規模(1 024×1 024)和較大矩陣規模(3 000×3 000)的加速數據.由于當前ReRAM工藝所限,其Crossbar陣列規模亦有限,因此在最后一行給出了Crossbar尺寸為1 152×128的計算加速數據.表1中的第2列和第3列首先使用無噪音的隨機生成數據作為權重驗證計算準確性,可以看出,在無噪音情況下,當陣列規模較小的時候(第1行和第3行)使用GPU進行計算可以達到16~17×左右的加速比,在陣列規模較大的時候(第2行)更是能夠發揮GPU的并行優勢,達到185×的加速比.之后再用有噪音的隨機生成數據評估性能,在使用GPU進行加速計算的情況下,當陣列規模較小時(第1行和第3行)加速比可達到400×左右,而當陣列規模較大時(第2行)其加速比更可達2 794×.由以上數據可以看出加速效果十分顯著.

4 案例研究與結果評估

作為案例研究,我們實現了如第3節架構的一個模擬器,并據此評估我們的訓練算法.

4.1 模擬器的實現

我們實現了一個ReRAM Crossbar仿真框架,并給出了基于Pytorch的定制化訓練算法,包含第3節中提到的諸多模擬電路特性;模擬器仿真部分基于System-C實現,ReRAM設備模型來自文獻[15],默認的IO和權重精度均為8-bit(可以配置).

在具體的仿真實現上有諸多參數可以設置,包括電路參數和神經網絡參數,如表2和表3所示:

Table 2 Circuit Parameters for Simulator表2 模擬器所需電路參數

Table 3 Neural Network Parameters for Simulator表3 模擬器所需神經網絡參數

基于表2和表3所列參數,針對所需的仿真模型,通過提前設置LSTM模塊數、Linear模塊數、數據緩沖區模塊數,并通過System-C中的信號將相關模塊串聯,即可生成特定的模擬器,且該流程可通過代碼腳本自動生成.

對ReRAM神經網絡加速器而言,面積和功耗是重要指標之一,因此本項目模擬器對此進行了32 nm尺寸下的參考設計,具體參數如表4所示.

其中,緩沖區(buffer)相關的模型參數來自CACTI[16],Crossbar面積參數來源于文獻[17],其他參數采用了ISAAC[5]的參數.

Table 4 Hardware Parameters for Simulator表4 模擬器所需硬件參數

4.2 仿真結果的評估

4.2.1 仿真算法評估

我們實現的LSTM網絡為應用在一個在TIMIT數據集上進行語音識別的網絡.該數據集的訓練集、驗證集和測試集大小分別為3 696,400和192.其中每條測試集語音幀數為619,因此總計有118 848幀測試數據.其神經網絡輸入維度為39(經過MFCC預處理后的語音數據,即每一幀的向量長度),輸出維度為61(語素分類數),包含一個LSTM層(隱層大小128)和一個全連接層.表5為仿真算法評估結果.

Table 5 Evaluation Result for Training Algorithm表5 訓練算法評估結果

我們使用通用的神經網絡訓練算法作為基準,經過30個周期的訓練,其分類準確度可以達到84.22%,此網絡模型稱為基準模型.在此基礎上,我們在訓練中引入了神經網絡8-bit的權重量化和IO限制,結果顯示其準確度為84.17%,即有輕微的下降.接下來將基準模型直接部署模擬器上(后者在模擬過程中引入了所有的限制因素,包括權重量化、IO限制、ReRAM的非理想因素等),結果顯示由于權重量化、器件噪音以及DAAD等的影響,識別準確度下降為82.53%.最后我們將基準模型在ReRAM約束下進行微調(fine-tune),引入了所有限制因素,在網絡收斂后,可以得到其識別準確度84.05%,這個數據與將該網絡部署到模擬器上獲得的精度一樣.

表5表明:傳統的訓練算法在應用到ReRAM的推斷過程中,權重的量化和IO精度限制對神經網絡的表達結果影響很小,但是由于器件噪音以及DAAD等的約束,會導致性能下降.而我們的定制化訓練算法將以上因素考慮到訓練過程中,再將訓練好的模型應用到ReRAM Crossbar的計算之上,可以有效減小器件因素帶來的性能下降.

4.2.2 模擬器的仿真準確度評估

在模擬器本身的準確性方面,我們做了基于SPICE模擬的評估.這是因為模擬器本身需要能夠滿足實際器件的物理特性和約束.現有的基于SPICE的ReRAM模擬工作,其電路方程非常復雜(對于一個2r×2c的Crossbar,需要求解2r×2c+2r×(2c-1)個電壓參數和3×2r×2c個電流參數,且方程是非線性的),因此求解難度很高,模擬仿真速度慢.

本項目模擬器在計算速度和仿真準確性上做了權衡:1)Crossbar的輸入電壓為1-bit的值(只有高低電壓之分),以此來消除非線性的影響;2)考慮到Crossbar陣列中連線上的電容和電感對于計算影響很小[18],因此將其忽略;3)每當讀取電導值時,都要引入ReRAM variation[19].

在此基礎上,我們將結果與實際芯片的電路級仿真進行了比較.在陣列大小為1 152×128規模下,ReRAM單元高阻和低阻分別為800 KΩ和50 KΩ,導線電阻(bit-line,source-line,work-line)分別為87 mΩ,100 mΩ,1.16 Ω(130 nm工藝下的CMOS電路).在此條件下,我們得到的行為級模型計算的結果電流值與電路仿真的結果電流值其誤差不超過2.68%.

5 結束語

本文提出了基于ReRAM的長短期記憶網絡加速器訓練和仿真框架,包括針對ReRAM器件特性的定制訓練算法、時鐘驅動的行為級模擬器及其GPU加速.驗證結果顯示訓練算法能夠有效降低模擬器件帶來的噪音和數值精度損失等不利因素的影響,而該模擬器與SPICE仿真的計算結果誤差在2.68%以內,并且避免了SPICE對電路仿真耗時過長的缺點.與現有的工作相比,本文提出的模擬器項目完成了端到端的訓練和仿真,并將一個實際應用于TIMIT數據集語音分類的LSTM網絡部署并運行.未來我們會繼續完善該模擬器,增強各模塊的可配置性,為相關的加速器硬件設計提供探索方案.

致謝感謝北京市未來芯片技術高精尖創新中心的支持!

主站蜘蛛池模板: 波多野结衣第一页| 四虎永久免费在线| 免费av一区二区三区在线| 噜噜噜综合亚洲| 狼友视频一区二区三区| 女人av社区男人的天堂| 午夜性刺激在线观看免费| 伊人大杳蕉中文无码| 高清不卡一区二区三区香蕉| 人妻丰满熟妇av五码区| 亚洲高清资源| 嫩草影院在线观看精品视频| 九色在线观看视频| 欧美特黄一免在线观看| 国产白浆一区二区三区视频在线| 一级毛片不卡片免费观看| 亚洲中文在线视频| 亚洲性影院| 国产欧美视频在线观看| 欧美亚洲欧美| 国产真实乱了在线播放| 欲色天天综合网| 97国产精品视频人人做人人爱| 欧美精品亚洲精品日韩专区| 无码视频国产精品一区二区| 永久免费AⅤ无码网站在线观看| 亚洲乱亚洲乱妇24p| 国产成人一区免费观看| 免费高清毛片| 国产又爽又黄无遮挡免费观看| 91精品网站| 国产原创演绎剧情有字幕的| 国产精品福利尤物youwu| 亚洲最大看欧美片网站地址| 欧美激情二区三区| 亚洲无码A视频在线| 中文字幕亚洲乱码熟女1区2区| 日本欧美成人免费| 无码专区在线观看| 青青国产视频| 亚洲最猛黑人xxxx黑人猛交| 青青国产视频| 色综合久久无码网| 欧美啪啪网| 日韩东京热无码人妻| 国产激爽爽爽大片在线观看| 国产福利2021最新在线观看| 亚洲天堂视频网| 国产制服丝袜91在线| 国产日韩av在线播放| 极品国产在线| 色呦呦手机在线精品| 国模沟沟一区二区三区| 国产精品永久在线| 99久久精品无码专区免费| 一级黄色网站在线免费看| 中文字幕中文字字幕码一二区| 久久中文字幕不卡一二区| 欧美亚洲国产精品久久蜜芽| 国产免费观看av大片的网站| 成人综合在线观看| 亚洲区一区| 99精品福利视频| 亚洲无线观看| 国产丝袜无码一区二区视频| 国产三区二区| 国产美女久久久久不卡| 40岁成熟女人牲交片免费| 亚洲精品免费网站| 啪啪啪亚洲无码| 国产在线拍偷自揄拍精品| 国产成人高清精品免费| 麻豆国产在线观看一区二区| 欧美激情综合| 国产尤物在线播放| 亚洲网综合| 国产迷奸在线看| 成人无码区免费视频网站蜜臀| 国产综合欧美| 国产精品太粉嫩高中在线观看 | 欧美国产综合色视频| 99久久国产综合精品2023|