TWI750541B - 光電計算單元、光電計算陣列及光電計算方法 - Google Patents

光電計算單元、光電計算陣列及光電計算方法 Download PDF

Info

Publication number
TWI750541B
TWI750541B TW108142659A TW108142659A TWI750541B TW I750541 B TWI750541 B TW I750541B TW 108142659 A TW108142659 A TW 108142659A TW 108142659 A TW108142659 A TW 108142659A TW I750541 B TWI750541 B TW I750541B
Authority
TW
Taiwan
Prior art keywords
area
input
matrix
output
carriers
Prior art date
Application number
TW108142659A
Other languages
English (en)
Other versions
TW202020599A (zh
Inventor
閆鋒
潘紅兵
馬浩文
石東海
李張南
王宇宣
王晨曦
陳軒
岳濤
朱棣
羅元勇
王子豪
婁勝
Original Assignee
南京大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南京大學 filed Critical 南京大學
Publication of TW202020599A publication Critical patent/TW202020599A/zh
Application granted granted Critical
Publication of TWI750541B publication Critical patent/TWI750541B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/001Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements
    • G06E3/005Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements using electro-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/14Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
    • H01L27/144Devices controlled by radiation
    • H01L27/146Imager structures
    • H01L27/14601Structural or functional details thereof
    • H01L27/14609Pixel-elements with integrated switching, control, storage or amplification elements
    • H01L27/14612Pixel-elements with integrated switching, control, storage or amplification elements involving a transistor
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L29/00Semiconductor devices specially adapted for rectifying, amplifying, oscillating or switching and having potential barriers; Capacitors or resistors having potential barriers, e.g. a PN-junction depletion layer or carrier concentration layer; Details of semiconductor bodies or of electrodes thereof ; Multistep manufacturing processes therefor
    • H01L29/02Semiconductor bodies ; Multistep manufacturing processes therefor
    • H01L29/06Semiconductor bodies ; Multistep manufacturing processes therefor characterised by their shape; characterised by the shapes, relative sizes, or dispositions of the semiconductor regions ; characterised by the concentration or distribution of impurities within semiconductor regions
    • H01L29/0684Semiconductor bodies ; Multistep manufacturing processes therefor characterised by their shape; characterised by the shapes, relative sizes, or dispositions of the semiconductor regions ; characterised by the concentration or distribution of impurities within semiconductor regions characterised by the shape, relative sizes or dispositions of the semiconductor regions or junctions between the regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/105Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration including field-effect components
    • H01L27/1057Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration including field-effect components comprising charge coupled devices [CCD] or charge injection devices [CID]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Nonlinear Science (AREA)
  • Optics & Photonics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Ceramic Engineering (AREA)
  • Neurology (AREA)
  • Electromagnetism (AREA)
  • Light Receiving Elements (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Photo Coupler, Interrupter, Optical-To-Optical Conversion Devices (AREA)
  • Optical Communication System (AREA)
  • Complex Calculations (AREA)

Abstract

一種光電計算單元、光電計算陣列及光電計算方法,光電計算單元包括一個半導體多功能區結構,半導體多功能區結構包括至少一個載子控制區,至少一個耦合區,以及至少一個光生載子收集區和讀出區。

Description

光電計算單元、光電計算陣列及光電計算方法
本發明涉及一種光電計算單元、光電計算陣列及光電計算方法,更具體地,本發明涉及了計算領域和半導體元件領域的儲存計算一體化技術,可獨立地或與目前的電子計算技術相結合來進行運算。
現有的電子電腦在原理上,根據半導體材料可以對特定的電訊號進行傳遞、加減和倒相等特性,經過統和與集成,可以完成極其複雜的運算。這一計算,事實上已構成現代文明的一個重要基礎。
習知的電腦大多採取馮諾依曼架構(von Neumann architecture),然而,馮諾依曼架構儲存單元和運算單元的分立,在處理以神經網路演算法為代表的一類演算法時,因為網路的權值需要被反復調用,儲存單元和運算單元的分立就導致了在資料傳輸上產生了極大的能量消耗,並且影響運算速度。同時,以神經網路演算法、CT演算法為代表的一系列演算法中,需要大量運算矩陣向量乘法,而習知乘法器的規模動輒上萬電晶體,這也極大的影響了習知計算在處理此類演算法時的能效比和集成度。
為了克服這種限制,人們提出了儲存計算一體化(processing in memory)元件。典型的儲存計算一體化元件主要為RRAM(憶阻器)和FLASH(快 閃記憶體)兩類,RRAM可以在斷電後較長時間內保存受其電輸入端輸入量影響的電阻值,然而RRAM並不支援標準CMOS工藝生產,其元件的良率和均勻性都得不到保證,這在必須大量使用存算一體化元件組成網路才能加速的神經網路演算法中,是不可接受的。而如果要使用FLASH作為存-算一體化元件,就意味著單個浮閘電晶體必須儲存超過一位元的資料,即多值儲存,這對於只能使用抹除和編程兩種方式改變閾值的習知FLASH是難以做到的。
並且,已知的光運算方法,多為利用光的傳播規律來進行光與光學元件相互作用的純粹光運算。
根據本發明的一個方面,提供一種光電計算裝置,其採用半導體材料的光電性能,用外界的輸入光訊號來調製半導體材料中所傳輸的電訊號,以實現加法器、乘法器以及一些高級運算。並且,本裝置可以實現高精度的存-算一體功能,單個元件即可以儲存光輸入端的光訊號並在斷光後長時間保存。
根據本發明的另一方面,提供一種新的光電計算方法,採用半導體材料的光電性能,用輸入光訊號來調製半導體材料中所傳輸的電訊號,以實現加法器、乘法器等基本運算的新的機制。
本發明採用半導體材料的光電性能,設計了一種光電計算元件,並公開了由所述光電計算元件組成的多種加法器、乘法器和演算法加速器,及其相應的光電運算方法。由此可見,本發明利用半導體材料的光電特性,以及習知光學領域已經普遍使用的技術在計算領域的擴展應用,提出了一種全新的光電計算元件和一種光電計算方法,其可以實現高精度的存算一體化功能,使得單個元件既可以儲存光輸入端的光訊號並在斷光後長時間保存,並且可以實現單個元件即完成乘法運算,非常適合加速以神經網路演算法為代表的一類需要 「儲存參數」的演算法。
本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而瞭解。本發明的目的和其他優點可透過在說明書、申請專利範圍以及圖式中所特別指出的結構來實現和獲得。
100:光電計算單元
102:半導體基底
104:收集區
106:讀出區
108:淺槽隔離
110:汲極端
112:源極端
114:底層介質層
116:電荷耦合層
118:頂層介質層
120:控制閘極
200:光電計算單元
202:半導體基底
204:收集區
206:讀出區
208:淺槽隔離
210:汲極端
212:源極端
214:底層介質層
216:電荷耦合層
218:頂層介質層
220:控制閘極
300:光電計算單元
302:半導體基底
310:汲極端
312:源極端
314:底層介質層
316:電荷耦合層
318:頂層介質層
320:控制閘極
400:光電計算單元
502:發光陣列
504:計算陣列
602:發光單元
604:中間隔離層
606:LED光源
702:發光陣列
704:計算陣列
706:鏡頭
1120:控制閘極
C1:電容
C2:電容
C3:電容
Cd:電容
D:光電二極體
T1:復位電晶體
T12:復位電晶體
T13:復位電晶體
T1n:復位電晶體
T2:讀出電晶體
T3:選擇電晶體
Vs:表面電位能
圖式用於提供對本發明的進一步理解,並且構成說明書的一部分,與本發明的實施例一起用於解釋本發明,並不構成對發明的限制,在圖式中:
圖1繪示出根據本發明實施例的光電計算單元的多功能區的基本結構的示意圖。
圖2繪示出根據本發明第一實施例的光電計算單元的正視圖。
圖3繪示出根據本發明第一實施例的光電計算單元的立體示意圖。
圖4繪示出根據本發明第一實施例的光電計算單元的多功能區的配置圖。
圖5繪示出根據本發明第一實施例的光電計算單元的電學模型。
圖6繪示出根據本發明第二實施例的光電計算單元的正視圖。
圖7繪示出根據本發明第二實施例的光電計算單元的3D示意圖。
圖8繪示出根據本發明第二實施例的光電計算單元的多功能區的配置圖。
圖9繪示出根據本發明第三實施例的光電計算單元的正視圖。
圖10繪示出根據本發明第三實施例的光電計算單元3D的示意圖。
圖11繪示出根據本發明第三實施例的光電計算單元的多功能區的配置圖。
圖12繪示出根據本發明第三實施例的光電計算單元的電學模型。
圖13繪示出根據本發明第四實施例的光電計算單元的結構示意圖。
圖14繪示出根據本發明第四實施例的所述光電計算單元的多功能區結構示意圖。
圖15繪示出根據本發明實施例的直接投影方案的示意圖。
圖16繪示出根據本發明實施例的發光單元和光電計算單元的集成的示意圖。
圖17繪示出根據本發明實施例的鏡頭光輸入方案的示意圖。
圖18繪示出根據本發明實施例的光纖錐光輸入方案的示意圖。
圖19繪示出根據本發明實施例的漏斗狀光纖錐方案的示意圖。
圖20繪示出根據本發明實施例的採用光電計算單元的多控制閘極結構的示例之一結構圖。
圖21繪示出根據本發明實施例的採用光電計算單元的多控制閘極結構的示例之一結構圖。
圖22繪示出根據本發明實施例的採用光電計算單元的多控制閘極結構的示例之一結構圖。
圖23繪示出根據本發明實施例的加法器之一的示例的圖。
圖24繪示出根據本發明實施例的乘法器之一的示例的圖。
圖25繪示出根據本發明實施例的乘法器之一的示例的圖。
圖26繪示出根據本發明實施例的乘法器之一的示例的圖。
圖27繪示出根據本發明實施例的向量加法器的示例的圖。
圖28繪示出根據本發明實施例的高位元寬度乘法器的示例的圖。
圖29繪示出根據本發明實施例的串列矩陣向量乘法器的示意圖。
圖30繪示出根據本發明實施例的並列矩陣向量乘法器計算的示意圖。
圖31繪示出根據本發明實施例的並列矩陣向量乘法器的示意圖。
圖32繪示出根據本發明實施例的卷積運算的示意圖。
圖33繪示出根據本發明實施例的卷積運算單元陣列示意圖,其中針對3*3的卷積核。
圖34繪示出根據本發明實施例的ALEXnet網路的示意圖。
圖35繪示出根據本發明實施例的RELU函數圖像的示意圖。
圖36繪示出根據本發明實施例的X光的拍攝方式和CT的拍攝方式的示意圖。
圖37繪示出根據本發明實施例的CT演算法的示意圖,其中第i條射線穿過第j個畫素。
圖38繪示出根據本發明實施例的CT演算法的示意圖。
圖39繪示出根據本發明實施例的串列CT演算法加速器陣列示意圖。
圖40繪示出根據本發明實施例的數位控制邏輯的示意圖。
圖41繪示出根據本發明實施例的採用本發明第一實施例的光電計算單元的光回應曲線。
圖42繪示出根據本發明實施例的模擬用的類AlexNet網路的示意圖。
為了使得本發明實施例的目的、技術方案和優點更為明顯,下面將參照附圖詳細描述根據本發明的各個實施例,在本說明書和附圖中,具有基本上相同步驟和元素用相同的附圖標記來表示,且對這些步驟和元素的重複解釋將被省略。
應理解,所描述的實施例僅僅是本發明的一部分實施例,而不是本發明的全部實施例。基於本發明中描述的實施例,本領域技術人員在沒有付出創造性勞動的情況下所得到的所有其它實施例都應落入本發明的保護範圍之內。而且,為了使說明書更加清楚簡潔,將省略對本領域熟知功能和構造的詳 細描述。
首先,將參照圖1描述根據本發明的光電計算單元的多功能區的基本結構的示意圖。大體上,根據本發明的光電計算元件單元,包括一個半導體多功能區結構,其中所述半導體多功能區結構,包括一個載子控制區,一個耦合區,以及一個光生載子收集區和讀出區,並且該多功能區可以是多層結構,也可以是通過多種空間的佈置和變換實現同樣的光電作用和控制的任何層或區的結構。下文將參照附圖詳細描述根據本發明的光電計算單元的四個較佳實施例。
光電運算單元方案
第一實施例
參照圖2至圖5描述根據本發明第一實施例的光電計算單元。
如圖2和圖3的光電計算單元100的正視圖和立體圖所示,存在一個作為所述光生載子收集區和讀出區的P型半導體基底102分為左側收集區104和右側讀出區106,其中所述左側收集區104用以在基底102上施加一個電壓範圍為負壓的脈衝,或在控制閘上施加一個電壓範圍為正壓的脈衝,使得收集區104中產生用於光電子收集的空乏層,並通過右側讀出區106讀出收集的光電子數量,作為光輸入端的輸入量。所述右側讀出區106,包含淺槽隔離108、N型汲極(drain)端110和N型源極(source)端112。所述淺槽隔離108,位於半導體基底102中部收集區和讀出區的中間,所述淺槽隔離108通過刻蝕並填充入二氧化矽來形成,以用於隔離收集區104和讀出區106的電訊號。所述N型源極端112,位於讀出區106內靠近底層介質層的一側,通過離子佈植法摻雜而形成。所述N型汲極端110,位於半導體基底102中靠近底層介質層114與所述N型源極端112相對的另一側,同樣通過離子佈植法進行摻雜法形成。讀出時,在控制閘極(gate)120上施加一正電壓,使N型源極端112和收集區N型汲極端110間形成導電通道,再通 過在N型源極端112和N型汲極端110間施加一個偏置脈衝電壓,使得導電通道內的電子加速形成源汲極之間的電流。所述源汲極之間溝道內形成電流的載子,受到控制閘電壓、源汲極間電壓和收集區收集的光電子數量共同作用,作為被光輸入量和電輸入量共同作用後的電子,以電流的形式進行輸出,其中控制閘電壓、源汲極間電壓可以作為元件的電輸入量,光電子數量則為元件的光輸入量。
此外,存在一個作為所述耦合區的電荷耦合層116,用以連接收集區104和讀出區106,使收集區104基底內空乏層開始收集光電子以後,收集區104基底表面電位就會受到收集的光電子數量影響;通過電荷耦合層116的連接,使得讀出區106半導體基底表面電位受到收集區104半導體基底表面電位影響,進而影響讀出區106源汲極間電流大小,從而通過判斷讀出區106源汲極間電流來讀出收集區104收集的光電子數量;此外,存在一個作為所述載子控制區的控制閘極120,用以在其上施加一個脈衝電壓,使得在P型半導體基底102讀出區106中產生用於激發光電子的空乏層,同時也可以作為電輸入端,輸入其中一位運算量;此外,所述P型半導體基底102和所述電荷耦合層116之間存在用於隔離的底層介質層114;所述電荷耦合層116和所述控制閘極120之間亦存在用於隔離的頂層介質層118。
進一步參照圖4所示的光電計算單元的多功能區的配置圖,光電計算單元100包括作為所述載子控制區的控制閘極120、作為所述耦合區的電荷耦合層116、作為所述光生載子收集和讀出區的P型基底102,並且用於隔離的底層介質層114,被設置在所述P型半導體基底102和所述電荷耦合層116之間,以及用於隔離的頂層介質層118,被設置在電荷耦合層116和所述控制閘極120之間。
應理解,本文中提及的左側、右側、上方以及下方只代表在通過圖 中所示視角觀察下的相對位置隨觀察視角變化而變化,並不理解為對具體結構的限制。
另外,圖5是根據本發明第一實施例的光電計算單元的電學模型,根據圖5所示的電學模型詳細描述該光電計算單元的原理。
如圖5所示,左側收集區104等效於一個電容為
Figure 108142659-A0305-02-0010-112
的MOS電 容,右側讀出區106等效於一個標準的浮閘MOS電晶體。由於設計時,電容C2遠小於C1,因此元件工作時讀出區對感光區產生的影響忽略不計。
對於一個MOS-電容Si中的電位能可以通過解如下帕松方程式得到:
Figure 108142659-A0305-02-0010-3
其中,ε SI 為矽的介電常數,ρ為P型基底的體電荷密度。
當作為載子收集和讀出區的P基底102施加一負脈衝,或作為載子控制區的控制閘極120上施加一正脈衝時,基底102將處在耗盡狀態,開始收集作 為光輸入訊號的光子並產生光電子,對於空乏層而言
Figure 108142659-A0305-02-0010-113
,其中NA為摻雜濃 度。
求解上述帕松方程可以得到:
Figure 108142659-A0305-02-0010-4
其中,x方向為垂直於底層介質層114向下的方向,xd為空乏層深度,q為電子電荷量,V為深度為x處的電位能。對於MOS而言,P型基底表面電位能V S 即為x=0時電位能V的值
因此可得:
Figure 108142659-A0305-02-0010-114
求導該式即可得:
Figure 108142659-A0305-02-0011-6
其中ES為表面電場強度,假設基底電壓設為0V,這樣感光過程中的控制閘極電位能為:
Figure 108142659-A0305-02-0011-7
其中,VG為控制閘電位能,解可得空乏層深度xd為:
Figure 108142659-A0305-02-0011-8
當有光子入射元件時,在空乏層內產生光電子並且在閘極電場的作用下收集於收集區溝道內,控制閘上的總電荷量Q CG =N A +Q,Q即為訊號電荷量(e-/cm2),因為此訊號電荷在控制閘和P型基底之間電場的作用下被收集於收集區中,並且因為半導體基底中載子的複合需要一定的時間,再加上空乏層內熱激發載子的存在,因此,此訊號電荷將在斷光後較長的時間內依舊儲存於運算單元當中,實現存-算一體功能。
此時,
Figure 108142659-A0305-02-0011-9
其中,VQ為訊號電荷產生的電位能總和:
Figure 108142659-A0305-02-0011-10
由上式可以看到隨著訊號電荷量Q的增大,xd逐漸減小,當Q的值使得VQ=0時xd-即為0,此時表面電位能Vs=0,溝道電位能不再變化,此時元件到達滿阱。
對於右側的讀出區浮閘MOSFET,其通道電流Id可以表示為:
Figure 108142659-A0305-02-0011-11
其中W和L分別為閘寬閘長,VDS為源汲極間電壓,VFG為電荷耦合層電位能,其大小受到控制閘電位能VG和P型基底表面電位Vs的影響,可表示為:
Figure 108142659-A0305-02-0012-12
當P型基底摻雜濃度較低時(如2E15每立方釐米),空乏層的分壓遠大於電容C1和C3的分壓,因此公式(1-6)可以簡化為:
Figure 108142659-A0305-02-0012-13
公式(1-11)帶入(1-3),即得到P型基底表面電位能VS和控制閘電位能VG以及訊號電荷產生的電位能總和VQ為近似相等,即:
Figure 108142659-A0305-02-0012-115
將公式(1-12)、(1-8)帶入(1-10),再帶入(1-9),即可得:
Figure 108142659-A0305-02-0012-14
並用入射光子數Xphoton來表示訊號電荷Q的大小:
Figure 108142659-A0305-02-0012-15
其中t為曝光時間,Xphoton為單位時間入射的光子個數,η為元件量子效率。
從而就得到元件可以作為乘法器工作的運算式:
Figure 108142659-A0305-02-0012-16
從公式(1-15)中不難看出,作為輸出量的讀出區源汲極電流I d 同時受到作為光輸入量的X photon 、作為電輸入量的V G V DS 作用,並且天生包含乘法和加法的運算關係,利用這樣的作用關係,本發明可以實現各種不同功能的運算裝置。
所述光電計算單元的最基本結構只包含一個輸出端,但是如果將右側讀出區的MOSFET分割為多個並列的各自有獨立源汲極,並且各項元件參數 都相等的小MOSFET,則可擴展輸出端的數量,如果給予所述多個小MOSFET相同的VDS,則可獲得光電計算單元的多路相同的輸出量。也將在後文中描述基於上述第一實施例所述方案的光電計算單元。
第二實施例
參照圖6至8描述根據本發明第二實施例的光電計算單元。
如圖6和圖7的光電計算單元200的正視圖和立體圖所示,存在一個作為光生載子收集及讀出區的N型半導體基底202,分為左側收集區204和右側讀出區206。所述左側收集區204用以在基底202上施加一個電壓範圍為正壓的脈衝,或在控制閘極220上施加一個電壓範圍為負壓的脈衝,使得收集區204基底中產生用於光電洞收集的空乏層,並通過右側讀出區206讀出收集的光電洞電荷量;所述右側讀出區206,包含淺槽隔離208、P型汲極端210和P型源極端212。所述淺槽隔離208,位於半導體基底202中部收集區204和讀出區206中間,通過刻蝕並填充入二氧化矽來形成,用於隔離收集區204和讀出區206的電訊號。所述P型源極端210,位於讀出區206內靠近底層介質層214的一側,通過離子佈植法摻雜而形成。所述P型汲極端212,位於半導體基底202中靠近底層介質層214與所述P型源極端210相對的另一側,同樣通過離子佈植法進行摻雜法形成。讀出時,在控制閘極220上施加一負脈衝電壓,使P型源極端210和P型汲極212端間形成導電通道,再通過在P型源極端210和P型汲極端212間施加一個偏置脈衝電壓,使得導電通道內的空穴加速形成源汲極之間的電流。所述源汲極之間通道內形成電流的載子,受到控制閘極220的脈衝電壓、源汲極間電壓和收集區收集的光電洞數量共同作用,作為被光輸入量和電輸入量共同作用後的載子,以電流的形式進行輸出,其中控制閘電壓、源汲極間電壓可以作為元件的電輸入量,光電洞數量則為元件的光輸入量。
此外,存在一個作為耦合區的電荷耦合層216,用以連接收集區204和讀出區206,使收集區204基底內空乏層開始收集光電洞以後,收集區基底表面電位(surface potential)就會受到收集區204的光電洞數量影響;通過電荷耦合層216的連接,使得讀出區204半導體基底表面電位再受到讀出區204半導體基底表面電位影響,進而影響讀出區源汲極間電流,從而通過判斷讀出區源汲極間電流來讀出收集區204收集的光電洞數量。
此外,存在一個作為載子控制區的控制閘極220,用以在其上施加一個負脈衝電壓,使得在N型半導體基底202讀出區中產生用於激發光電洞的空乏層,同時也可以作為電輸入端,輸入其中一位運算量。
此外,所述N型半導體基底202和所述電荷耦合層216之間存在一層用於隔離的底層介質層214;所述電荷耦合層216和所述控制閘極220之間亦存在一層用於隔離的頂層介質層218。
進一步參照圖8所示的光電計算單元的多功能區的配置圖,光電計算單元200包括作為所述載子控制區的控制閘極220、作為所述耦合區的電荷耦合層216,以及作為所述光生載子收集和讀出區的N型半導體基底202,並且用於隔離的底層介質層214,被設置在所述N型半導體基底202和所述電荷耦合層216之間,以及用於隔離的頂層介質層218,被設置在電荷耦合層216和所述控制閘極220之間。
與上述的本發明的第一實施例相比,該第二實施例的區別在於將元件單元使用的P型基底更換為N型,將讀出區MOSFET的N型源極端和汲極端更換為了P型,其他結構均無改動,因此基於原理的推導過程與第一實施例所述的過程相似,相似部分不再贅述。
根據之前的推導,公式(1-7)指出,當控制閘極220和基底202之間的電壓差不變時,光子入射前,基底202的摻雜濃度越高,空乏層的深度也就越 淺,而過淺的空乏層將導致運算元件在接收光輸入時,可接收的最大光子數過少,光輸入端的可輸入範圍變小,影響運算單元的性能;並且,根據相關理論,過高的基底摻雜濃度會導致載子的熱激發變大,這將影響光輸入端資料在儲存計算一體化元件(或稱半導體元件)中的儲存時間。
在半導體製程中,因為晶圓天生就是低濃度的P型摻雜,製作P型基底元件可以直接使用此摻雜作為基底條件;而如需製作N型半導體基底元件,則需要通過離子佈植的方式來先製作一個N井,再在N井中製作N型半導體基底元件。因此相對於N型半導體基底元件而言,P型基底元件較容易獲得更低的基底摻雜,因此上述兩種實施例中,第一實施例所述的方案往往相較於第二實施例的方案有更多的優勢。
同第一實施例的方案一樣,第二實施例中的光電計算單元200的最基本結構只包含一個輸出端,但是如果將右側讀出區206的MOSFET分割為多個並列的各自有獨立源極和汲極,並且各項元件參數都相等的小MOSFET,則可擴展輸出端的數量,如果給予所述多個小MOSFET相同的VDS,則可獲得光電計算單元的多路相同的輸出量。也將在後文中描述基於上述第二實施例所述方案的光電計算單元。
第三實施例
參照圖9至圖12描述根據本發明第三實施例的光電計算單元。
如圖9和圖10的光電計算單元300的正視圖和立體圖所示,存在一個作為所述光生載子收集及讀出區的P型半導體基底302,可以同時承擔感光和讀出的工作,包含一個N型汲極端312和一個N型源極端310。所述N型源極端310,位於讀出區內靠近底層介質層314的一側,通過離子佈植法摻雜而形成。所述N型汲極端312,位於半導體基底302中靠近底層介質層314與所述N型源極端310 相對的另一側,同樣通過離子佈植法進行摻雜法形成。感光時,在所述P型半導體基底302上施加一個電壓範圍為負電壓的脈衝,同時在所述作為載子控制區的控制閘極320上施加一個電壓範圍為正壓的脈衝,使得P型基底302中產生用於光電子收集的空乏層,產生在空乏層內的電子在控制閘極320和P型基底302兩端之間的電場作用下被加速,並在到達獲得足夠高的能量,穿過P型基底302和電荷耦合層316之間的底層介質層314電位能障,進入電荷耦合層316並儲存於此,電荷耦合層316中的電荷數量,會影響元件開啟時的閾值,進而影響讀出時的源、汲極間電流大小;讀出時,在控制閘極320上施加一脈衝電壓,使N型源極端310和N型汲極端312間形成導電通道,再通過在N型源極端310和N型汲極端312間施加一個脈衝電壓,使得導電通道內的電子加速形成源汲極之間的電流。 所述源汲極之間的電流受到控制閘脈衝電壓、源汲極間電壓和電荷耦合層中儲存的電子數量共同作用,作為被光輸入量和電輸入量共同作用後的電子,以電流的形式進行輸出,其中控制閘電壓、源汲極間電壓可以作為元件的電輸入量,電荷耦合層316中儲存的光電子數量則為元件的光輸入量。
此外,存在一個作為所述耦合區的電荷耦合層316,用以儲存進入其中的光電子,並改變讀出時元件閾值大小,進而影響讀出區源汲極間電流,從而通過判斷讀出區源汲極間電流來讀出感光時產生並且進入電荷耦合層中的光電子數量。
此外,存在一個作為所述載子控制區的控制閘極320,用以在其上施加一個脈衝電壓,使得在P型半導體基底302讀出區中產生用於激發光電子的空乏層,同時也可以作為電輸入端,輸入其中一位運算量。
此外,所述P型半導體基底302和所述電荷耦合層316之間存在一層用於隔離的底層介質層314;電荷耦合層316和所述控制閘極320之間亦存在一層用於隔離的頂層介質層318。
進一步參照圖11所示的光電計算單元的多功能區的配置圖,光電計算單元300包括作為所述載子控制區的控制閘極320、作為所述耦合區的電荷耦合層316,以及作為所述光生載子收集和讀出區的P型基底302,其中用於隔離的底層介質層314,被設置在所述P型半導體基底302和所述電荷耦合層316之間,以及用於隔離的頂層介質層318,被設置在所述電荷耦合層316和所述控制閘極320之間。
另外,圖12是根據本發明第三實施例的光電計算單元的電學模型,根據圖5所示的電學模型詳細描述該光電計算單元的原理。
如圖12所示,光電計算單元單元300的結構和浮置閘極元件大致相當,最頂端的閘是控制閘極320,與中間的電荷耦合層316是完全隔開的,電荷耦合層316即相當於浮置閘極元件中的浮閘。其中,C FC C S C B C D 分別是浮閘與控制閘、源極端、基底、汲極端之間的電容。
當浮閘中不存電荷時,即
Figure 108142659-A0305-02-0017-116
,可得到:
Figure 108142659-A0305-02-0017-117
其中,V FG 是浮閘上的電位能,V CG 是控制閘上的電位能,V S V D V B 分別為源極端、汲極端和基底的電位能。
如果定義浮閘的總電容C T C T =CFC+C S +C D +C B ,同時定義電極J的 耦合係數
Figure 108142659-A0305-02-0017-118
Figure 108142659-A0305-02-0017-119
,其中電極J可以為控制閘G、汲極端D、源極端S、基底 B中的任意一個,然後浮閘的電位能V FG 就可以由耦合係數表示為:V FG =α G V GS +α D V DS +α S V S +α B V B (2-2)
其中,V GS V DS 分別為閘源電壓和源汲極電壓,α G 、α S 、α D 、α B 分別為閘、源、漏和基底的耦合係數。可以看到浮閘的電位能不僅與控制閘極相關,同時與源極端、汲極端和基底的電位能相關,如果源和基底都接地,則:
Figure 108142659-A0305-02-0018-120
其中,
Figure 108142659-A0305-02-0018-18
對於浮置閘極元件,閾值電壓V T 和傳導係數β可由普通MOS元件的公式推導得到:
Figure 108142659-A0305-02-0018-19
Figure 108142659-A0305-02-0018-20
其中,
Figure 108142659-A0305-02-0018-151
元件達到閾值時的浮閘電位能為,
Figure 108142659-A0305-02-0018-150
為元件達到閾值時 的控制閘電位能,β CG 為針對控制閘的體傳導係數,β FG 為針對浮閘的體傳導係數。
由此,對於線性區(|V DS |<
Figure 108142659-A0305-02-0018-152
|V GS +fV DS -V T |)而言,汲極端電流I DS 為:
Figure 108142659-A0305-02-0018-123
當浮閘中儲存有電荷時,
Figure 108142659-A0305-02-0018-23
,公式(2-3),(2-5),(2-7)即為:
Figure 108142659-A0305-02-0018-24
Figure 108142659-A0305-02-0018-25
Figure 108142659-A0305-02-0018-26
從公式(2-9)可以看到V T 是與
Figure 108142659-A0305-02-0018-154
是直接相關的,同時,由該式可以 的到V T 的改變△V T 可以表示為:
Figure 108142659-A0305-02-0018-28
其中,V T0 為浮閘中不存在電荷時的閾值。在圖9、圖10所示的光電計算單元的控制閘極320加上閘壓脈衝,基底上加負脈衝電壓後,在基底半導體 302中形成空乏層。光輸入時,代表光輸入量的光子入射到半導體基底302空乏層內,Si半導體基底302吸收一個光子並激發一個電子空穴對。光電子在閘極電壓的驅使下加速移動到通道,並獲得足夠高的能量,如果能量足夠高,即可在閘氧電場的作用下進入電荷耦合層316中,完成電荷儲存。電荷耦合層316在存入光電子後,讀出時浮閘MOSFET的汲極端電流和閾值電壓將發生變化。
由式(2-11)可以知道光電子進入電荷耦合層後引起的元件閾值電壓的變化可表示為:
Figure 108142659-A0305-02-0019-29
其中△VT為閾值電壓的變化,Q e 為單個電子電荷量電荷量,C CG 為控制閘到浮閘的電容,N elec 為儲存層中的光電子數目。該公式表明閾值電壓變化與光電荷量呈線性關係。
通過對曝光前後閾值電壓的變化量測量可推定光電子儲存層中光電子數目,公式如下:
Figure 108142659-A0305-02-0019-30
將控制閘到浮閘的電容C CG 運算式代入上式,得到:
Figure 108142659-A0305-02-0019-31
其中W、L分別代表浮置閘極元件的閘寬和閘長,H為浮閘厚度,tIPD為所述元件單元中浮閘與閘之間的厚度,ε 0為真空介電常數,ε 0x 為相對介電常數。
由式(2-10)可以知道閾值電壓變化對應於線性區汲極端電流變化△I DS 可以表示為如下:
Figure 108142659-A0305-02-0019-126
因而光電子的儲存數目還可以通過測量線性區汲極端電流的變化得到。
綜上,最終讀出區的汲源電流I d 為:
Figure 108142659-A0305-02-0020-33
從公式(2-16)中不難看出,作為讀出量的讀出區汲源電流I d 同時受到作為光輸入量的N、作為電輸入量的VG和VDS作用,並且天生包含乘法和加法的運算關係,利用所述的作用關係,即可設計出可以實現各種不同功能的運算裝置。
與上述第一實施例以及第二實施例相比,第三實施例最大的區別在於:因為本方案光輸入量在元件單元300中的儲存載體光電子是儲存在隔離的電荷耦合層316之中,因此具有非常長的保持時間,最多可以達到10年,而上述第一實施例以及第二實施例所述的方案的光輸入訊號只能維持秒級的時間,因而作為儲存計算一體化(processing in memory)元件,具有更大的優勢。
同上述第一實施例以及第二實施例一樣,所述光電計算單元的最基本結構只包含一個輸出端,但是如果將電荷耦合層316下的基底分割為多個並列的各自有獨立源汲極,並且各項元件參數都相等的小MOSFET,則可擴展輸出端的數量,如果給予所述多個小MOSFET相同的VDS,則可獲得光電計算單元的多路相同的輸出量。也將在後文中描述基於上述第二實施例所述方案的光電計算單元。
第四實施例
參照圖13和圖14描述根據本發明第四實施例的光電計算單元400。
如圖13所示,存在一個作為所述光生載子收集和讀出區的光電二極體D和讀出電晶體T2,其中,光電二極體D通過離子摻雜形成,負責感光。所述 光電二極體D的N區通過作為耦合區的所述光電子耦合引線連接到讀出電晶體T2的控制閘和復位電晶體T1的源極端上,讀出電晶體T2的汲極端施加一正電壓脈衝,作為讀出電流的驅動電壓;曝光前,復位電晶體T1打開,復位電晶體T1汲極端電壓施加到光電二極體D上,使所述作為收集區的光電二極體D處於反偏狀態,產生空乏層;曝光時,復位電晶體T1關斷,所述光電二極體D被電學上隔離,光子入射光電二極體D空乏層後產生光電子,並在二極體D中積累,二極體D的N區和在電學上通過作為耦合區的所述光電子耦合引線和N區連接的讀出電晶體T2控制閘電位能開始下降,進而影響讀出電晶體T2通道內的電子濃度。所述讀出電晶體T2負責讀出,其汲極端施加一正脈衝電壓,源極端和選擇電晶體T3汲極端連接,讀出時,打開選擇電晶體T3,讀出電晶體中產生電流電流,所述電流大小受到復位電晶體汲極端電壓、讀出電晶體T2汲極端電壓和入射光子數共同影響,讀出電晶體T2通道內的電子,作為被光輸入量和電輸入量共同作用後的電子,以電流的形式輸出,其中復位電晶體汲極端電壓、讀出電晶體T2汲極端電壓可以作為元件的電輸入量,電入射光子數則為元件的光輸入量。
此外,存在一個作為耦合區的光電子耦合引線用於連接作為光生載子收集和讀出區中收集區的光電二極體D和作為讀出區的讀出電晶體T2,將光電二極體DN區電位能施加到讀出電晶體T2控制閘上。
此外,存在一個作為所謂載子控制區的復位電晶體T1,通過其汲極端輸入一個正電壓作用於光電二極體,當復位電晶體T1打開時,所述正電壓即會作用在光電二極體D上,使光電二極體D產生空乏層並感光,同時也可以作為電輸入端,輸入其中一位運算量。
此外,所述選擇電晶體T3,用於控制整個運算元件作為輸出量的輸出電流的輸出。
進一步參照圖14所示的光電計算單元的多功能區的配置圖,光電計 算單元400包括作為所述載子控制區的復位電晶體T1、作為所述耦合區的光電子耦合引線,以及作為所述光生載子收集和讀出區的光電二極體D和讀出電晶體T2,此外,還包括選擇電晶體T3,用於將所述光電計算單元400組成陣列時行列選址使用。
另外,如圖13所示,復位電晶體T1的汲極端和電源相連,電源電壓Vd1,曝光前,在復位電晶體T1的閘極上加一高電壓,使重定管開啟,電源電壓Vd1施加到光電二極體D的負極,光電二極體D正極接地,此時光電二極體D兩端電壓V PD 為:V PD =V d1 (3-1)
此時光電二極體D內產生空乏層,空乏層寬度W為:
Figure 108142659-A0305-02-0022-149
其中,K為和所述二極體參數有關的常數,V bi 為內建電場,mj的值取決於二極體的類型為突變接面還是緩偏接面。
此時,關斷復位電晶體T1,光電二極體D在電學上被隔離,代表光輸入量的光子入射光電二極體空乏層,並在空乏層內形成光電子,單位時間內產生的光電子數I ph 為:I ph =R ph L 0 A (3-3)
其中R ph 為光電二極體的敏感度,L 0為其截面積,A為光強。因為光電二極體被隔離,光電子會在空乏層內積累,有如下常微分方程:
Figure 108142659-A0305-02-0022-34
其中Id為反偏電流,解上述微分方程,得到:
Figure 108142659-A0305-02-0022-35
mj為常數,可以看到,光電二極體兩端電壓隨著入射光子數的增加 逐漸降低,將光電二極體的常規參數帶入會發現兩端電壓隨時間下降的曲線有較好的線性度,因此,將上式簡化為:V(t)=(V d1)-KX photo (3-5)
X photo 即代表光輸入量的入射光子數,K為擬合出的直線斜率。因為作為載子讀出區的讀出電晶體和作為載子收集區的光電二極體,通過作為耦合區的光電子耦合引線相連,因此光電二極體兩端電壓即讀出電晶體控制閘極電壓,讀出時,將MOSFET線性區通道電流公式帶入:
Figure 108142659-A0305-02-0023-36
其中,
Figure 108142659-A0305-02-0023-148
為讀出電晶體本身的閾值,V d2為讀出電晶體漏源間電壓,μ為載子遷移率,W和L分別為閘寬閘長。
從公式(3-6)中不難看出,作為讀出量的讀出區電晶體源汲極電流Id同時受到作為光輸入量的X photo 、作為電輸入量的V d1 V d2 作用,並且天生包含乘法和加法的運算關係,利用所述的作用關係,即可設計出可以實現各種不同功能的運算裝置。
第四實施例所述的光電運算元件單元400,相對於上述另外上述三種方案而言,最大的區別在於單元面積更大,需要一個光電二極體D和三個MOS電晶體T1-T3才可實現,集成度較低。
同另外上述三種方案一樣,所述光電計算單元400的最基本結構只包含一個輸出端,但是如果將一個讀出電晶體T2展為多個閘極都相連的多個各項元件參數都相等的讀出電晶體T2,並配以相同數量的選擇電晶體T3,則可擴展輸出端的數量,如果給予所述多個讀出電晶體T2相同的VDS,則可獲得光電計算單元的多路相同的輸出量。也將在後文中描述基於上述實施例所述方案的光電計算單元。
另外,需要強調的是,入射所述光電計算單元400的光子可以來自於 光學上與光電計算單元對應的發光單元,也可以來自於其他光源,例如來自自然光源或物體的景象。下文將詳細描述幾種光輸入的方案。
光輸入的方案
根據本發明的一個方面,提出一種發光單元陣列和光電計算單元陣列的結合方案,其中包含一個或多個發光單元和一個或多個光電計算單元,所述光電計算單元和發光單元在光學上一一對應,以實現對陣列中單個光電計算單元精確的光輸入,例如,所述發光單元陣列可以使用高密度小畫素LED陣列來實現。具體地,發光單元和計算單元在光學上的相對應,即發光單元發出的光,精確地照射到該發光單元所對應的計算單元上,如果只使用一個發光單元和計算單元,則需要讓此發光單元發出的光照射到計算單元上,如果使用例如10*10的發光單元組成發光陣列和同樣數量的計算單元組成計算陣列,則需要讓該發光陣列中每一個發光單元發出的光根據具體計算需求,精確照射到其對應的一個或多個計算單元上,假如此陣列實現的計算功能為矩陣向量乘法,則要求每一個發光單元發出的光都精確地照射到每一個計算單元中,為了實現這種精準的光輸入,可以通過以下四種較佳實施例來實現:
直接投影
若需實現發光單元和元件的一一對應,一種方法是直接讓發光單元陣列502緊貼元件陣列表面504,所述發光陣列使用小畫素LED螢幕,如圖15所示。
理想發光單元發出的是一球面波,當距離足夠近的時候,可以認為發光單元發出的光,只傳遞到了其正下方元件的表面,這樣即實現了光源和元件的一一對應。
發光單元和成像單元的集成
如圖16所示,本方案類似於SOI技術,如果能實現發光單元602和光電計算單元100的三維整合,中間通過生長氧化物(中間隔離層604)來進行隔離(做在一塊矽片上),則無論是陣列的積體密度,還是LED光源606到計算元件之間的距離,都會大大的優化,如圖16所示,其中光電計算單元可以使用本發明上述的第一實施例中所述光電計算單元100。
鏡頭光輸入
如圖17所示,發光陣列702和計算陣列704中間的實現對焦功能的光學結構,即可以是鏡頭706。為了實現發光物體和成像晶片位置上的一一對應,最通用的方案就是使用鏡頭,發光陣列702中的發光單元和計算陣列704中的光電計算單元光學上的一一對應也可以通過這種途徑來實現,如圖17所示。
光纖維輸入
如圖18所示,發光陣列802和計算陣列804中間的實現對焦功能的光學結構,也可以是光纖錐(tapered optical fiber)陣列806。光纖錐,為可以實現發光單元和光電計算單元一一對應的一種微結構,其功能類似光纖(optical fiber)。
光纖可以被理解為多股密集光線排成的光纖陣列,如果使用光纖錐陣列806來連結發光單元和光電計算單元,則可以很好的實現發光單元和光電計算單元的一一對應,大體結構如圖18。
光纖錐的方案,相比於直接投影和使用鏡頭有明顯的優勢:
1、傳遞函數高,光纖錐實現的一一對應,可以將光學串擾有效抑制。
2、集成度高、良率高、可優化空間大。
上述直接投影的方案中提到,為了提高光電計算單元的集成度,單個光電計算單元的尺寸會在兼顧其他指標的情況下盡可能做小,而LED畫素的尺寸目前只能在8um左右。如圖19所示,為了實現尺寸不匹配的發光單元902和光電計算單元904的一一對應,例如,可以使用漏斗形的光纖錐906來連接兩個單元,大體結構如圖19所示。
因此,光纖錐的使用,會使得所述的光電計算陣列在光輸入問題上得到一個良好的解決方案。
發光單元的驅動方案
發光單元的驅動,受到數位控制系統中的光輸入控制部分控制。
發光單元受到驅動器發出的恆定電流驅動,保持光強不變,通過調整發光時間來實現不同大小的光輸入量的輸入。若只存在一個計算單元和一個發光單元,光輸入控制部分將所需通過光輸入輸入到計算單元中的資料轉化為發光單元發光時長的脈寬,根據使用的計算單元的種類不同,例如,若使用如上述第一實施例所述的具體計算單元,則光輸入量越大,被驅動的發光單元的發光時長就應越短。
計算陣列和發光陣列
如上述光電計算單元的實施例所述,單個光電計算單元可以實現加法或者乘法的運算,若將多個光電計算組合成陣列,並將上述的與光電計算單元相對應的發光單元同樣也組成陣列,即可完成一組或多組加法或者乘法的運算,同時,通過引線的連接,如將兩個光電計算單元的輸出端相連,讓輸出電流彙聚成一股電流,則又等同於實現了一次加法。通過上述方法,將光電計算單元根據具體的演算法需要,改變引線的連接和光電計算單元的排布方式,就 可以製作出實現特定運算的計算陣列。
並且,通過對光電計算單元和發光單元的相應排布組成陣列,可以實現矩陣向量乘法的運算、平均池化運算的陣列、以及卷積運算的陣列等。
第一種加法器
如上所述,本發明提出了多種光電計算裝置和光電計算方法的具體實施方式,通過使用發光單元和上文所述光電計算單元(包括較佳的第一至第四實施例),可以實現兩位加數的加法運算。
根據本發明的加法器最大的優點在於:只需要單一光電計算單元和發光單元就可實現兩個加數的加法運算,集成度較高。
此加法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如,如果使用上文所述的具有兩個輸出端的光電計算單元,則加法器也具有兩個輸出端,下文詳細描述的四種方案中默認採取有一個輸出端的光電計算單元,作為示例。
方案1:基於上述第一實施例的光電計算單元
在本方案1中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0027-37
其中,X photo 為入射到光電計算單元的有效光子數,V G 為代表所述載子控制區的控制閘上的電壓,t為曝光時間,η為量子效率,q為電子電荷量。因為X photo V G 公式中天生即為加減的關係,故而可以通過對X photo V G 的調製,用所述的二者關係來進行加法運算,其中:X photo 代表光輸入端的輸入量,為第一位加數;V G 代表電輸入端的輸入量,為第二位加數;同時載子收集和讀出區中讀出區的汲極源極間電壓V DS 加 以恆定值,則載子收集和讀出區中讀出區的輸出電流I d 即為加法運算的結果,即等於進行了如(3-1-2)式所述的計算:R=k(aX+bY+c) (3-1-2)
其中,a、b、k和c都為常數。
方案2:基於上述第二實施例的光電計算單元
相比上述方案1而言,基於上述第二實施例的光電計算單元的方案2最大的區別在於:從P基底元件更換為了N基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正壓變為了負壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負壓變成了正壓,但控制閘電壓和入射光子數依舊是一對加減的關係,因此只需要在對光輸入訊號和電輸入訊號調製時進行些許變化,依舊可以實現與第一實施例的方案大體相似的加法運算。
方案3:基於上述第三實施例的光電計算單元
在基於上述第三實施例的光電計算單元的方案3中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0028-127
其中,N elec 為進入到作為所述耦合區的電荷耦合層中的電子數,V G 為作為所述載子控制區的控制閘上的電壓,
Figure 108142659-A0305-02-0028-155
為元件閾值。因為N elec V G 公式 中天生即為加減的關係,故而可以通過對N elec V G 的調製,用所述的二者關係來進行加法運算:
N elec 代表光輸入端的輸入量,為第一位加數;V G 代表電輸入端的輸入量,為第二位加數;同時載子收集和讀出區中讀出區的汲極源極間電壓V DS 加以恆定值,則載子收集和讀出區中讀出區的輸出電流I D 即為加法運算的結果,即等 於進行了如(3-3-2)式所述的計算:R=k(aX+bY+c) (3-3-2)
其中,a、b、k和c都為常數。
方案4:基於上述第四實施例的光電計算單元
在基於上述第四實施例的光電計算單元的方案4中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0029-39
其中,X photo 為入射到光電計算單元的有效光子數,V d1 為作為所述載子控制區的復位電晶體汲極端電壓,K為擬合出的直線斜率,V d2為讀出電晶體源汲極間電壓。因為X photo V d1 公式中天生即為加減的關係,故而可以通過對X photo V d1 的調製,用所述的二者關係來進行加法運算:X photo 代表光輸入端的輸入量,為第一位加數;V d1 代表電輸入端的輸入量,為第二位加數;同時作為載子收集和讀出區中讀出區的讀出電晶體的汲極端電壓VDS加以恆定值,則載子收集和讀出區中讀出區的輸出電流I d 即為加法運算的結果,即等於進行了如(3-4-2)式所述的計算:R=k(aX+bY+c) (3-4-2)
其中,a、b、k和c都為常數。
採取本方案進行加法運算,相較於習知加法運算器有如下優勢:
1、集成度高,單個光電計算單元就可實現運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第二種加法器
如上所述,本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用一個發光單元和多控制區光電計算單元,來實現至少兩位加數的加法運算。此加法器的最大優點是不光只需要單一光電計算單元即可實現加法運算,而且輸入的加數數量也不僅僅局限於兩個,但是需要製程的支援,尤其是使用上述第一、第二、第三實施例中所述光電計算單元的方案時,多控制閘參數必須有較高的均勻性。
此加法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如,如果使用具有兩個輸出端的上述光電計算單元,則加法器也具有兩個輸出端,下文的詳細描述的四個方案中默認採取有一個輸出端的光電計算單元,作為示例。
方案1:基於上述第一實施例的光電計算單元
在本方案1中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0030-40
其中,X photo 為入射到光電計算單元的有效光子數,V G 為代表所述載子控制區的控制閘上的電壓,t為曝光時間,η為量子效率,q為電子電荷量。如果將控制閘改為多閘極結構1020,如圖20(圖20可視為是圖1的變化態樣),則上式改為:
Figure 108142659-A0305-02-0030-41
其中,V G1 V Gn 分別代表n個控制閘上的輸入的電壓,為多個電輸入端的電輸入量,k 1 k n 分別為和n個控制閘面積有關的多閘極輸入權重。從(4-1-2)中不難看出,各個控制閘極1020上的電壓和光輸入量X photo 天生即為加減的關係,故而可以通過對X photo V G1 V Gn 的調製,用所述的關係來進行加法運算。
X photo 代表光輸入端的輸入量,為第一位加數;V G1 V Gn 代表電輸入 端的多個輸入量,為第二到第n位加數;同時載子收集和讀出區中讀出區的漏源間電壓V DS 加以恆定值,則載子收集和讀出區中讀出區的輸出電流I d 即為加法運算的結果,即等於進行了如(3-1-2)式所述的計算:R=k(aX+k 1 Y 1+k 2 Y 2......k n Y n +c) (4-1-3)
其中,a、b、k和c都為常數。
方案2:基於上述第二實施例的光電計算單元
相比於方案1而言,方案2最大的區別在於從P基底元件更換為了N基底元件,因此作為所述載子控制區的多閘極控制閘極上加的電壓從正壓變為了負壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負電壓變成了正電壓,但多閘極的多個電壓和入射光子數依舊是一對加減的關係,因此只需要在對光輸入訊號和電輸入訊號調製時進行些許變化,依舊可以實現和方案1大致相似的多個加數的加法運算。
方案3:基於上述第三實施例的光電計算單元
在本方案3中,如果代表所述載子控制區的控制閘極採用多閘極結構1120,如圖21所示(圖21可視為是圖9的變化態樣),則源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0031-42
其中,V G1 V Gn 分別代表n個控制閘上的輸入的電壓,為多個電輸入端的電輸入量,k 1 k n 分別為和n個控制閘面積有關的多閘極輸入權重。從(4-2-1)中不難看出,各個控制閘極1120上的電壓和光電子進入代表所述耦合區的電荷耦合層316的電荷量N天生即為加減的關係,故而可以通過對N和V G1 V Gn 的調製,用所述的關係來進行加法運算。
N代表光輸入端的輸入量,為第一位加數;VG1到VGn代表電輸入端的 多個輸入量,為第二到第n位加數;同時載子收集和讀出區中讀出區的汲源間電壓VDS加以恆定值,則載子收集和讀出區中讀出區的輸出電流ID即為加法運算的結果,即等於進行了如(4-3-2)式所述的計算:R=k(aX+k 1 Y 1+k 2 Y 2......k n Y n +c) (4-3-2)
其中,a、b、k和c都為常數。
方案4:基於上述第四實施例的光電計算單元
在本方案4中,如果代表所述載子控制區的復位電晶體採用多重定電晶體T11-T1n並聯的方式,如圖22所示(圖22可視為是圖13的變化態樣),則源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0032-43
其中,V d1 V dn 分別代表n個重定管汲極端的電壓,為多個電輸入端的電輸入量,k 1 k n 分別為和n個復位電晶體通道電阻有關的多閘極輸入權重。從(4-4-1)中不難看出,各個重定電晶體T11-T1n汲極端的電壓和光輸入量X photo 天生即為加減的關係,故而可以通過對X photo V d1 V dn 的調製,用所述的關係來進行加法運算。
X photo 代表光輸入端的輸入量,為第一位加數;V d1 V dn 代表電輸入端的多個輸入量,為第二到第n位加數;同時載子收集和讀出區中讀出區的漏源間電壓V DS 加以恆定值,則載子收集和讀出區中讀出區的輸出電流I D 即為加法運算的結果,即等於進行了如(4-4-2)式所述的計算:R=k(aX+k 1 Y 1+k 2 Y 2......k n Y n +c) (4-4-2)
其中,a、b、k和c都為常數。
採取本方案進行加法運算,相較於習知加法運算器有如下優勢:
1、集成度高,單個光電計算單元就可實現多個加數的加法運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第三種加法器
如上所述,本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用至少兩個發光單元和至少兩個上文中所述光電計算單元,來實現至少兩位加數的加法運算。本加法器的方案最大的優點就是利用光輸入精度較高的特點,一個光電計算單元只承擔一路光訊號的輸入,電訊號只給予恆定值,這有利於計算均勻性的提高;另外,如果存在類似於固定圖像雜訊或元件均勻性等固定不變的計算誤差,也可以通過電輸入端恆定值的改變加以修正。
此加法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用上述中所述的具有兩個輸出端的光電計算單元,則加法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元,作為示例。
方案1:基於上述第一實施例的光電計算單元
在本方案1中,以兩位加數的加法運算為例,使用兩個光電計算單元和發光單元,如圖23所示,其中,一個標有V字元的方框單元即代表一個採用本方案1的光電計算單元。
在本方案1中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0033-44
其中,X photon 為入射到光電計算單元的有效光子數,如果將兩個各種參數均相同單元的輸出端並接,讓輸出電流彙聚,並給予兩個光電計算單元 不同的光輸入量X photo ,但給予相同的電輸入端輸入VG和VDS,則上式改為:
Figure 108142659-A0305-02-0034-45
其中,Xphoto1和Xphoto2分別為兩個輸出端並聯的單元的光輸入端輸入量,從(5-1-2)中不難看出,兩個單元光輸入端資料天生即為加減的關係,故而可以通過對Xphoto1和Xphoto2的調製,用所述的關係來進行加法運算。
Xphoto1和Xphoto2分別代表光輸入端的第一和第二位加數,同時兩個單元的作為所述載子控制區的控制閘極VG,和作為載子收集和讀出區中讀出區的汲源間電壓VDS加以恆定值,則經過彙聚後的總輸出電流ID總,再經過AD轉換,送入控制系統後,即可獲得加法的結果,等於進行了如(5-1-3)式所述的計算:R=k(aX 1+aX 2+c) (5-1-3)
其中a、c和k都為常數,如需進行加數大於2的加法運算,只需增加並接的光電計算單元和與之對應的發光單元即可。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
方案2:基於上述第二實施例的光電計算單元
在本方案2中,相比於上述方案1而言最大的區別在於從P基底元件更換為了N基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正電壓變為了負電壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負電壓變成了正電壓,但並接的多個單元的光輸入端資料依舊是一對加減的關係,因此只需要在對光輸入訊號和電輸入恆定值調製時進行些許變化,依舊可以實現與方案1大體相似的多個加數的加法運算。
方案3:基於上述第三實施例的光電計算單元
以兩位加數的加法運算為例,使用兩個光電計算單元和發光單元, 如圖23所示連接,其中,一個標有V字元的方框單元即代表一個採用本方案3的光電計算單元。
在本方案3中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0035-46
其中,N為進入到作為所述耦合區的電荷耦合層中的光電子,如果將兩個各種參數均相同單元的輸出端並接,讓輸出電流彙聚,並給予兩個光電計算單元不同的光輸入量N,但給予相同的電輸入端輸入VG和VDS,則上式改為:
Figure 108142659-A0305-02-0035-47
其中,N1和N2分別為兩個輸出端並聯的單元的光輸入端輸入量,從(5-3-2)中不難看出,兩個單元光輸入端資料天生即為加減的關係,故而可以通過對N1和N2的調製,用所述的關係來進行加法運算。
N1和N2分別代表光輸入端的第一和第二位加數,同時兩個單元的作為所述載子控制區的控制閘極VG,和作為載子收集和讀出區中讀出區的汲源間電壓VDS加以恆定值,則經過彙聚後的總輸出電流ID總,再經過AD轉換,送入控制系統後,即可獲得加法的結果,等於進行了如(5-3-3)式所述的計算:R=k(aX 1+aX 2+c) (5-3-3)
其中a、c和k都為常數,如需進行加數大於2的加法運算,只需增加並接的光電計算單元和與之對應的發光單元即可。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
方案4:基於上述第四實施例的光電計算單元
以兩位加數的加法運算為例,使用兩個光電計算單元和發光單元,如圖23所示,其中,一個標有V字元的方框單元即代表一個採用本方案4的光電計算單元。
在本方案4中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0036-49
其中,X photo 為被收集在作為所述載子收集和讀出區中讀出區的光電二極體中的光電子,如果將兩個各種參數均相同單元的輸出端並接,讓輸出電流彙聚,並給予兩個光電計算單元不同的光輸入量X photo ,但給予相同的電輸入端輸入Vd1和Vd2,則上式改為:
Figure 108142659-A0305-02-0036-50
Xphoto1和Xphoto2分別代表光輸入端的第一和第二位加數,同時兩個單元的作為所述載子控制區的復位電晶體的汲極端電壓Vd1,和作為載子收集和讀出區中讀出區的讀出電晶體的汲極端電壓Vd2加以恆定值,則經過彙聚後的總輸出電流ID總,再經過AD轉換,送入控制系統後,即可獲得加法的結果,等於進行了如(5-4-3)式所述的計算:R=k(aX 1+aX 2+c) (5-4-3)
其中a、c和k都為常數,如需進行加數大於2的加法運算,只需增加並接的光電計算單元和與之對應的發光單元即可。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
採取本方案4進行加法運算,相較於習知加法運算器有如下優勢:
1、集成度高,兩個光電計算單元就可實現兩位元加數的加法運算。
2、可以自由選擇加數的數量。
3、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第一種乘法器
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案, 通過使用一個發光單元和上述實施例中所述的光電計算單元,來實現兩位元乘數的乘法運算。本乘法器的方案最大的優點就是集成度高,單一元件即可實現乘法運算,但是只支持兩路輸入的乘法運算,並且雙路模擬輸入,計算精度有限。
此乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
1)、採用上述光電計算單元的第一實施例的方案:在第一種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0037-51
其中,X photo 為入射到光電計算單元的有效光子數,VDS為代表所述載子收集和輸出區的P型基底的汲極端電壓,因為其二者公式中天生即為乘法的關係,故而可以通過對X photo 和VDS的調製,用所述的二者關係來進行乘法運算:X photo 代表光輸入端的輸入量,為第一位乘數;VDS代表電輸入端的輸入量,為第二位乘數;同時載子控制區的控制閘極電壓VG加以恆定值,則載子收集和讀出區中讀出區的輸出電流ID即為乘法運算的結果,即等於進行了如(6-1-2)式所述的計算:R=k(aX+b)Y (6-1-2)
a,b,k都為常數。
2)、採用上述光電計算單元的第二實施例的方案:第二種方案,相比於第一種方案而言最大的區別在於從P基底元件更換為了N基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正電壓變 為了負電壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負壓變成了正壓,但載子讀出區汲極端電壓和入射光子數依舊是一對乘法的關係,因此只需要改變控制閘電壓和N型半導體基底電壓,依舊可以實現和第一種方案大體相似的乘法運算。
3)、採用上述光電計算單元的第三實施例的方案:在第三種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0038-52
其中,Nelec為作為耦合區的電荷耦合層中收集的光電子,VDS為代表所述載子收集和輸出區的P型基底的汲極端電壓,因為其二者公式中天生即為乘法的關係,故而可以通過對Nelec和VDS的調製,用所述的二者關係來進行乘法運算:Nelec代表光輸入端的輸入量,為第一位乘數;VDS代表電輸入端的輸入量,為第二位乘數;同時載子控制區的控制閘極電壓VG加以恆定值,則載子收集和讀出區中讀出區的輸出電流ID即為乘法運算的結果,即等於進行了如(6-3-2)式所述的計算:R=k(aX+b)Y (6-3-2)
a,b,k都為常數。
4)、採用上述光電計算單元的第四實施例的方案:在第四種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0038-53
其中,X photo 為入射到光電計算單元的有效光子數,Vd2為代表所述載子收集和輸出區的讀出電晶體的汲極端電壓,因為其二者公式中天生即為乘法 的關係,故而可以通過對X photo 和Vd2的調製,用所述的二者關係來進行乘法運算:
X photo 代表光輸入端的輸入量,為第一位乘數;Vd2代表電輸入端的輸入量,為第二位乘數;同時載子控制區的復位電晶體汲極端電壓Vd1加以恆定值,則載子收集和讀出區中讀出區的輸出電流ID即為乘法運算的結果,即等於進行了如(6-4-3)式所述的計算:R=k(aX+b)Y (6-4-3)
a,b,k都為常數。
採取本方案進行乘法運算,相較於習知乘法運算器有如下優勢:
1、集成度高,單個光電計算單元就可實現乘法運算,相較於習知乘法器動輒上萬電晶體而言有巨大的優勢。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第二種乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用一個發光單元和上述實施例中所述的光電計算單元,來實現兩位元乘數的乘法運算。本乘法器的方案最大的優點在於電輸入端改為了數位量的串列輸入,具有較高的計算精度,缺點在於資料的串列輸入輸出影響計算速度,並且需要控制系統參與輔助運算。
此乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
1)、採用上述光電計算單元的第一實施例的方案:以計算乘法運算A*W為例,計算示意圖如圖24所示,圖中標有V字元的方框單元即代表採用第一種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (7-1-1)
m取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位資料按位元,串列的將上述n個二值化的資料以調製過的電壓的形式,輸入到作為載子控制區的控制閘上。
在第一種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0040-129
其中,X photo 為入射到光電計算單元的有效光子數,VG為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,讀出區MOSFET內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當VG等於一個足以使得讀出區MOSFET內產生通道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
X photo 代表光輸入端的輸入量,為第一位乘數;串列輸入的VG代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予恆定值,隨著VG的串列輸入,串行輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算 結果。即等於進行了如(7-1-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (7-1-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述光電計算單元的第二實施例的方案: 第二種方案,相比於第一種方案而言最大的區別在於從P基底元件更換為了N基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正壓變為了負壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負電壓變成了正電壓,但作為所述載子控制區的控制閘極上輸出的二值化電壓和入射光子數依舊是一對乘法的關係,因此只需要對控制閘電壓和N型半導體基底電壓進行些許變化,依舊可以實現和第一種方案大體相似的乘法運算。
3)、採用上述光電計算單元的第三實施例的方案: 以計算乘法運算A*W為例,計算示意圖如圖24所示,圖中標有V字元的方框單元即代表採用第三種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (7-3-1)
m取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位資料按位元,串列的將上述n個二值化的資料以調製過的電壓的形式,輸入到作為載子控制區的控制閘上。
在第三種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0041-58
其中,Nelec為進行電荷耦合層中的光電子數量,VG為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料 Nelec等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,浮閘MOSFET內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料Nelec的乘法結果;當VG等於一個足以使得浮閘MOSFET內產生溝道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料Nelec,其輸出結果依舊符合恆定值1和光輸入端輸入量Nelec乘法的結果。
Nelec代表光輸入端的輸入量,為第一位乘數;串列輸入的VG代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予恆定值,隨著VG的串列輸入,串行輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算結果。即等於進行了如(7-3-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (7-3-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
4)、採用上述光電計算單元的第四實施例的方案: 以計算乘法運算A*W為例,計算示意圖如圖24所示,圖中標有V字元的方框單元即代表採用第四種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (7-4-1)
m取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位資料按位元,串列的將上述n個二值化的資料以調製過的電壓的形式,輸入到作為載子控制區的復位電晶體汲 極端上。
在第四種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0043-59
其中,X photo 為作為光電子收集和讀出區的讀出區的光電二極體中收集的光電子數,Vd1為代表控制閘極的電壓。當控制閘極輸入二值化資料為0時,即等於輸入,使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當Vd1為0時,讀出電晶體內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當Vd1等於一個足以使得讀出電晶體內產生溝道的電壓大小時,Vd2假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
X photo 代表光輸入端的輸入量,為第一位乘數;串列輸入的Vd1代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區中讀出區的讀出電晶體的汲極端電壓Vd2給予恆定值,隨著Vd1的串列輸入,串行輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算結果。即等於進行了如(7-4-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (7-4-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
採取本方案進行乘法運算,相較於習知乘法運算器有如下優勢:
1、集成度高,單個光電計算單元就可實現乘法運算,相較於習知乘法器動輒上萬電晶體而言有巨大的優勢。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第三種乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用至少兩個個發光單元和上述實施例中所述的光電計算單元,來實現兩位元乘數的乘法運算。本乘法器的方案最大的優點在於電輸入端改為了數字量的並列輸入,具有較高的計算精度,並且有著較上述第二種乘法器更高的運算速度;缺點在於資料的並列輸入需要更多的光電計算單元,並且需要控制系統參與輔助運算。
此乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
1)、採用上述光電計算單元的第一實施例的方案:以計算乘法運算A*W為例,計算示意圖如圖25所示,圖中一個標有V字元的方框單元即代表一個採用第一種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (8-1-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載 子控制區的控制閘上。
在第一種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0045-60
其中,X photo 為入射到光電計算單元的有效光子數,VG為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,讀出區MOSFET內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當VG等於一個足以使得讀出區MOSFET內產生通道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
X photo 代表光輸入端的輸入量,為第一位乘數;並列輸入的VG代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予恆定值,隨著VG的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算結果。即等於進行了如(8-1-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (8-1-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述光電計算單元的第二實施例的方案: 第二種方案,相比於第一種方案而言最大的區別在於從P基底元件更換為了N基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正壓變為了負壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負壓 變成了正壓,但作為所述載子控制區的控制閘極上輸出的二值化電壓和入射光子數依舊是一對乘法的關係,因此只需要對控制閘電壓和N型半導體基底電壓進行些許變化,依舊可以實現和第一種方案大體相似的乘法運算。
3)、採用上述光電計算單元的第三實施例的方案: 以計算乘法運算A*W為例,計算示意圖如圖25所示,圖中一個標有V字元的方框單元即代表一個採用第三種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化: A=A 0 A 1 A 2......A m-1 (8-3-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載子控制區的控制閘上。
在第三種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0046-61
其中,Nelec為進行電荷耦合層中的光電子數量,VG為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料Nelec等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,浮閘MOSFET內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料Nelec的乘法結果;當VG等於一個足以使得浮閘MOSFET內產生通道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料Nelec,其輸出結果依舊符合恆定值1和光輸入端輸入量Nelec乘法的結果。
Nelec代表光輸入端的輸入量,為第一位乘數;並列輸入的VG代表電 輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予恆定值,隨著VG的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算結果。即等於進行了如(8-3-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (8-3-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
4)、採用上述光電計算單元的第四實施例的方案:以計算乘法運算A*W為例,計算示意圖如圖25所示,圖中一個標有V字元的方框單元即代表一個採用第四種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (8-4-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載子控制區的復位電晶體汲極端上。
在第四種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0047-62
其中,X photo 為作為光電子收集和讀出區的讀出區的光電二極體中收集的光電子數,Vd1為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0 的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。 因為當Vd1為0時,讀出電晶體內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當Vd1等於一個足以使得讀出電晶體內產生溝道的電壓大小時,Vd2假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
X photo 代表光輸入端的輸入量,為第一位乘數;並列輸入的Vd1代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區中讀出區的讀出電晶體的汲極端電壓Vd2給予恆定值,隨著Vd1的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經過AD轉換後,再送入控制系統,在控制系統中按照電輸入端輸入的位元進行移位和累加操作,即可獲得乘法A*W的運算結果。即等於進行了如(8-4-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (8-4-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
採取本方案進行乘法運算,相較於習知乘法運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現乘法運算,相較於習知乘法器動輒上萬電晶體而言有巨大的優勢。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
第四種乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用至少兩個個發光單元和上述實施例中所述的光電計算單元,來實現兩 位元乘數的乘法運算。本乘法器的方案最大的優點在於實現了位權的參與運算,相較於上述第二、三種乘法器的方案,不需要控制系統輔助計算;缺點在於本質上還是兩路模擬輸入的乘法,精度會低於上述第二、三種乘法器的方案。
此乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
採用上述光電計算單元的第一實施例的方案: 以計算乘法運算A*W為例,計算示意圖如圖26所示,圖中一個標有V字元的方框單元即代表一個採用第一種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (9-1-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載子控制區的控制閘上。
在第一種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0049-63
其中,X photo 為入射到光電計算單元的有效光子數,VG為代表控制閘極的電壓,VDS為作為所述載子控制和輸出區的P型基底源汲極間電壓。當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,讀出區MOSFET內不存在導電通 道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當VG等於一個足以使得讀出區MOSFET內產生溝道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
同時式(9-1-2)中,VDS和VGX photo 天生即為相乘的關係,因此在P型基底源汲極間輸入和並列輸入的控制閘上二值化資料對應的位元相對應的位權20、21、22......2m-1,即等同於進行了移位操作,之後直接通過電流彙聚的方式完成累加運算,即可無需控制系統操作,就可完成一個完整的乘法運算。
X photo 代表光輸入端的輸入量,為第一位乘數;並列輸入的VG代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予和二值化資料相應位元位元權相當的調製過的電壓,隨著VG的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經彙聚完成相加操作,再通過AD轉換後送入控制系統,即可獲得乘法A*W的運算結果。即等於進行了如(9-1-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (9-1-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述光電計算單元的第二實施例的方案: 第二種方案,相比於第一種方案而言最大的區別在於從P型半導體基底元件更換為了N型半導體基底元件,因此作為所述載子控制區的控制閘極上加的電壓從正壓變為了負壓,作為所述載子收集和讀出區的N型半導體基底在曝光時加的電壓從負電壓變成了正電壓,但作為所述載子控制區的控制閘極上輸出的二值化電壓和入射光子數依舊是一對乘法的關係,因此只需要對控制閘電壓和N型半導體基底電壓進行些許變化,依舊可以實現和第一種方案大體相似的乘 法運算。
3)、採用上述光電計算單元的第三實施例的方案:以計算乘法運算A*W為例,計算示意圖如圖26所示,圖中一個標有V符號的方框單元即代表一個採用第三種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (9-3-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載子控制區的控制閘上。
在第三種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0051-64
其中,Nelec為進行電荷耦合層中的光電子數量,VG為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料Nelec等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。因為當VG為0時,浮閘MOSFET內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料Nelec的乘法結果;當VG等於一個足以使得浮閘MOSFET內產生溝道的電壓大小時,VDS假如也給予恆定值,輸出結果只取決於光輸入端資料Nelec,其輸出結果依舊符合恆定值1和光輸入端輸入量Nelec乘法的結果。
同時式(9-3-2)中,VDS和VG、Nelec天生即為相乘的關係,因此在P型半導體基底源汲極間輸入和並列輸入的控制閘上二值化資料對應的位元相對應的位權20、21、22......2m-1,即等同於進行了移位操作,之後直接通過電流彙 聚的方式完成累加運算,即可無需控制系統操作,就可完成一個完整的乘法運算。
Nelec代表光輸入端的輸入量,為第一位乘數;並列輸入的VG代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區的P型基底的源汲極間電壓VDS給予和二值化資料相應位元元權相當的調製過的電壓,隨著VG的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經彙聚完成相加操作,再通過AD轉換後送入控制系統,即可獲得乘法A*W的運算結果。即等於進行了如(9-3-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (9-3-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
4)、採用上述光電計算單元的第四實施例的方案:以計算乘法運算A*W為例,計算示意圖如圖26所示,圖中一個標有V字元的方框單元即代表一個採用第四種方案的光電計算單元,其中A通過電輸入端輸入,W通過光輸入端輸入。
首先,將A在控制系統中進行二進位轉化:A=A 0 A 1 A 2......A m-1 (9-4-1)
m和所使用的單元個數相當,取決於電輸入端資料的位元寬。
再通過控制系統,將所述A的二進位轉化後的二值化資料,按位元並列的將上述m個二值化的資料以調製過的電壓的形式,輸入到m個單元的作為載子控制區的復位電晶體汲極端上。
在第四種方案中,源汲極輸出電流符合公式:
Figure 108142659-A0305-02-0052-66
其中,X photo 為作為光電子收集和讀出區的讀出區的光電二極體中收 集的光電子數,Vd1為代表控制閘極的電壓,當控制閘極輸入二值化資料為0時,即等於輸入使得無論光輸入端資料X photo 等於多少,都足以使得輸出電流ID等於0的電壓值;當控制閘極輸入二值化資料為1時,即等於輸入恆定的控制閘電壓。 因為當Vd1為0時,讀出電晶體內不存在導電通道,電流為0,輸出結果為0,符合電輸入端資料0和光輸入端資料X photo 的乘法結果;當Vd1等於一個足以使得讀出電晶體內產生溝道的電壓大小時,Vd2假如也給予恆定值,輸出結果只取決於光輸入端資料X photo ,其輸出結果依舊符合恆定值1和光輸入端輸入量X photo 乘法的結果。
同時式(9-4-2)中,VDS和VGX photo 天生即為相乘的關係,因此在讀出電晶體的汲極端輸入和並列輸入的控制閘上二值化資料對應的位元相對應的位權20、21、22......2m-1,即等同於進行了移位操作,之後直接通過電流彙聚的方式完成累加運算,即可無需控制系統操作,就可完成一個完整的乘法運算。
X photo 代表光輸入端的輸入量,為第一位乘數;並列輸入的Vd1代表電輸入端的輸入量,為第二位乘數的二值化數據;同時作為載子收集和讀出區中讀出區的讀出電晶體的汲極端電壓Vd2給予和二值化資料相應位元元權相當的調製過的電壓,隨著Vd1的並列輸入,並列輸出的載子收集和讀出區中讀出區的輸出電流ID經彙聚完成相加操作,再通過AD轉換後送入控制系統,即可獲得乘法A*W的運算結果。即等於進行了如(9-4-3)式所述的計算:R=kW(A 0*20+A 1*21+A 2*22+…+A m-1*2 m-1+a) (9-4-3)
其中a和k都為常數。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
採取本方案進行乘法運算,相較於習知乘法運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現乘法運算,相較於習知乘法器動輒上萬電晶體而言有巨大的優勢。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
向量加法器的方案,對應請求項23、24
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用多個上述第一、二、三種加法器之一所述的光電計算加法器,來實現至少兩個維度至少為二的向量的向量加法運算。
1)、採用上述第一種加法器的方案:對於上述第一種加法器,等效於進行運算:R=d(aX+bY+c) (10-1-1)
其中,R為加法運算結果,X photo 為光輸入端輸入量,Y為電輸入端輸入量,d、a、b和c都為和單元參數有關的常數。
向量加法,即為兩個維度相同的待加向量對應序號的元素一一相加,得到一個維度和待加向量相同的結果向量,以兩個維度為k的待加向量的加法運算A+B為例:R=A+B=(A 0+B 0A 1+B 1......A k-1+B k-1) (10-1-2)
從式(10-1-2)可以看出,向量加法運算可以拆分成k個兩位輸入的單獨加法運算,因此使用k個上述第一種加法器,可以組成向量加法器,如圖27所示,其中,每一個中間寫有「V加法器」的方框都代表一個單獨的上述第一種加法器。
將待加向量輸入控制系統,在控制系統中將待加向量拆分成一個個獨立元素,並將序號相同的元素作為同一個加法器的兩位加數輸入,輸入同一個加法器;完成加法運算後,再將運算結果輸入回控制系統,重新按照元素序號組成結果向量,即完成了完整的向量加法運算。因為上述第一種加法器只能 支持兩位加數的輸入,因此本方案的向量加法器也只能支持兩個待加向量的輸入。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述第二種加法器的方案:對於上述第二種加法器,等效於進行運算:R=b(aX+k 1 Y 1+k 2 Y 2......k n Y n +c) (10-2-1)
其中,R為加法運算結果,X photo 光輸入端輸入量,Y1到Yn為多載子控制區電輸入端輸入量,b、a、c和k1到kn都為和加法器單元參數有關的常數。
向量加法,即為兩個維度相同的待加向量對應序號的元素一一相加,得到一個維度和待加向量相同的結果向量,以n個維度為m的待加向量的加法運算A1+A2...+An為例:R=A 1+A 2...A n =(A 10+A 20...+A n0,......,A 1m +A 2m ...+A nm ) (10-2-2)
從式(10-2-2)可以看出,n個向量加法運算可以拆分成m個n位加數輸入的單獨加法運算,因此使用n個上述第二種加法器,可以組成向量加法器,如圖27所示,其中,每一個中間寫有「V加法器」的方框都代表一個單獨的上述第二種加法器。
將待加向量輸入控制系統,在控制系統中將待加向量拆分成一個個獨立元素,並將序號相同的元素作為同一個加法器的兩位加數輸入,輸入同一個加法器;完成加法運算後,再將運算結果輸入回控制系統,重新按照元素序號組成結果向量,即完成了完整的向量加法運算。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
3)、採用上述第三種加法器的方案: 對於上述第三種加法器,等效於進行運算: R=k(aX 1+aX 2...+X n +c) (10-3-1)
其中,R為加法運算結果,X1到Xn為多個單獨光電計算單元的光輸入端輸入量,n和使用的並聯光電計算單元數量相當,a、c和k都為和加法器單元參數有關的常數。
上述第三種加法器,和上述第二種加法器相同,可以進行加數大於2的加法運算,因此採用上述第三種加法器組成的向量加法器和採用上述第二種加法器組成的向量加法器方案相似,不再重複敘述。
採取本方案進行向量加法運算,相較於習知向量加法運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現向量加法運算。
2、輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
向量點乘器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用上述多種種乘法器之一所述的光電計算乘法器,來實現兩個維度至少為二的向量的向量點乘運算。
1)、採用上述第一種乘法器的方案:對於上述第一種乘法器,等效於進行運算:R=c(aX+b)Y (11-1-1)
其中,R為乘法運算結果,X為光輸入端輸入量,Y為電輸入端輸入量,c、a、b都為和單元參數有關的常數。
向量點乘,即為兩個維度相同的待乘向量對應序號的元素一一相 乘,得到一個維度和待乘向量相同的結果向量,以兩個維度為k的待乘向量的乘法運算A.B為例:R=A.B=(A 0B 0A 1B 1......A k-1B k-1) (11-1-2)
從式(11-1-2)可以看出,向量點乘運算可以拆分成k個兩位輸入的單獨乘法運算,因此使用k個上述第一種乘法器,可以組成向量點乘器,圖27所示的向量加法器,只需要將圖中每一個中間寫有「V加法器」的方框都改為「V乘法器」,代表一個單獨的上述第一種乘法器,即可進行所述向量點乘運算。
將待乘向量輸入控制系統,在控制系統中將待乘向量拆分成一個個獨立元素,並將序號相同的元素作為同一個乘法器的兩位乘數輸入,輸入同一個乘法器;完成乘法運算後,再將運算結果輸入回控制系統,重新按照元素序號組成結果向量,即完成了完整的向量點乘運算。因為上述第一種乘法器只能支持兩位加數的輸入,因此本方案的向量加法器也只能支持兩個待加向量的輸入,如需進行多個待乘向量輸入的點乘運算只需進行多次兩兩點乘運算即可。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述第二、三、四種乘法器的方案:上述第二、三、四種乘法器,和上述第一種乘法器相似,支持兩位乘數輸入的乘法運算,使用上述三種乘法器組成向量點乘器的方案和使用第一種乘法器組成向量點乘器方案類似,不再重複闡述。
採取本方案進行向量點乘運算,相較於習知向量點乘運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現向量點乘運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
高位元寬度乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用上述多種種乘法器之一所述的光電計算乘法器,來實現兩個高位元寬度乘數的乘法運算。
1)、採用上述第一種乘法器的方案:對於上述第一種乘法器,等效於進行運算:R=c(aX+b)Y (12-1-1)
其中,R為乘法運算結果,X為光輸入端輸入量,Y為電輸入端輸入量,c、a、b都為和單元參數有關的常數。
高位元寬度乘法,即為先將兩個高位元寬度乘數按位元拆分,再按照高低位依次兩兩相乘後,再將結果移位後相加,完成完整的高位元寬度乘法運算。以兩個高位元寬度乘數A*B為例,將高位元寬度乘數拆分成多個位元寬度為k的低位元寬度乘數,再進行高低位相乘:
Figure 108142659-A0305-02-0058-67
從式(12-1-2)可以看出,高位元寬度乘法分為以下步驟:1)高位元寬度乘數拆分;2)高低位交叉相乘;3)交叉相乘結果移位;4)移位結果累加。
使用控制系統進行拆分和移位累加工作,使用(n-1)*(m-1)個上述第一種乘法器進行高低位交叉相乘運算,即可實現完整的高位元寬度乘法,如圖28所述,圖中每一個寫有「V乘法器」的方框即表示一個上述第一種乘法器,以及 此乘法器的輸出在控制系統中需要完成的移位位數,實線表示資料登錄,虛線表示資料累加。
將待乘的高位元寬度乘數輸入控制系統,在控制系統中將高位元寬度乘數按位元拆分成兩組低位元寬度乘數,並將兩組低位元寬乘數兩兩組合,輸入不同的乘法器;完成乘法運算後,再將運算結果輸出回控制系統,按照兩個輸入低位元寬度乘數的位元進行相應的移位操作,再將移位後的結果累加,即完成了完整的向量點乘運算。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述第二、三、四種乘法器的方案: 上述第二、三、四種乘法器,和上述第一種乘法器相似,支持兩位乘數輸入的乘法運算,使用上述三種乘法器組成高位元寬度乘法器的方案和使用上述第一種乘法器組成高位元寬度乘法器方案類似,不再重複闡述。
採取本方案進行高位元寬度乘法運算,相較於習知高位元寬度乘法器有如下優勢:
1、集成度高,數個光電計算單元就可實現高位元寬度乘法運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
串列矩陣向量乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用多個發光單元和上述實施例中所述的光電計算單元,來實現維度符合矩陣向量乘法規則的一個矩陣和一個向量的乘法運算。
此矩陣向量乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電 計算單元,則矩陣向量乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
本發明需要使用的光電計算單元數預設應與待乘矩陣中元素的個數相當,所述矩陣包含向量,即矩陣如果為3列(row)1行(column),則使用的光電計算單元數目則為3,但如果光電計算單元的數目大於矩陣中元素的數目,如使用6個光電計算單元排成3列2行,則不影響運算。
1)、採用上述光電計算單元的第一實施例的方案: 以計算向量A和矩陣W的乘法運算A*W為例,其中A為n*1向量,W為m*n矩陣,如式(13-1-1),計算示意圖如圖29所示,圖中標有V字元的方框單元即代表採用第一種方案的光電計算單元,其中向量A中的元素通過電輸入端輸入,矩陣W中的元素通過光輸入端輸入。
Figure 108142659-A0305-02-0060-68
首先,類似於上述第二種乘法器所述的串列輸入乘法器的電輸入方式,將A每一個的元素在控制系統中進行二進位轉化:
Figure 108142659-A0305-02-0060-130
k取決於向量中單個元素的位元寬。
將採用根據上述第一實施例的光電計算單元,按照如圖29所示的形式排列成陣列,其中陣列的列(row)數為n,行(column)數為m,並且將所述陣列的所有同一列的光電計算單元的作為所述載子控制區的控制閘極都相連,輸入同樣的電輸入資料;將所述陣列的所有同一行的光電計算單元的作為所述 載子收集和讀出區的P型基底的輸出端都相連,使得輸出的電流彙聚相加。
輸入時,將矩陣中的n*m個資料,通過光輸入端依次輸入到n*m個光電計算單元中;將向量中的元素從同列單元相連的控制閘極上串列輸入,同一元素不同位元的二值資料分時依次輸入,當控制閘上輸入的是最低位元的資料時,矩陣中的元素和向量中元素的最低位元的二值資料進行對應位元的相乘,即等於進行了運算(13-1-3):
Figure 108142659-A0305-02-0061-70
電流彙聚前,n*m的光電計算單元陣列,每一個單元的計算結果分別為:
Figure 108142659-A0305-02-0061-131
再經每一行的輸出端都相連的輸出電流電路,即等於進行了按行相加運算,結果(13-1-4)經彙聚相加後,最下方的矩陣向量乘法輸出端輸出為:
Figure 108142659-A0305-02-0061-72
此結果即為式(13-1-3)的運算結果,完成了向量最低位元和矩陣的矩陣向量乘法運算。
將計算結果(13-1-5)經過AD轉換後輸入控制系統,因為其為最低位元故而左移0位,再將向量的第二低位元作為電輸入端資料登錄控制閘極,得到向量第二低位元和矩陣的矩陣向量乘法結果,輸入控制系統後左移1位元,並與之前所述向量最低位元和矩陣乘法結果進行向量加法,以此類推,串列輸入完向量的所有位元二值資料,在控制系統後依次移位元和累加後,即得到最終 的矩陣向量運算結果,等同於進行了如下運算:
Figure 108142659-A0305-02-0062-73
所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用根據上述第二、三、四實施例的光電計算單元的方案:第二、三、四種方案,和第一種方案相似,同樣可以通過串列輸入的方式,完成兩個乘數輸入的乘法運算,如上述第二種乘法器所述,因此前文所述的使用第一種方案光電計算單元組成的矩陣向量乘法器,改為使用第二、三、四種方案所述光電計算單元構成的矩陣向量乘法器也同樣可以完成運算,唯一的區別只在於:
1)假如使用第二種光電計算單元方案,則因為P基底元件更換為了N基底元件,控制閘極和基底上的電壓極性反轉了,其大小也需重新調製。
2)假如使用第三種光電計算單元方案,則因為光輸入方式的改變,從P型基底的收集變為了電荷耦合層的收集,因此光輸入量需要重新調製。
3)假如使用第四種光電計算單元方案,則並接的載子控制區不再是控制閘極,而是復位電晶體汲極端。
採取本方案進行矩陣向量乘法運算,相較於習知矩陣向量乘法器有如下優勢:
1、集成度高,數個光電計算單元就可實現矩陣向量乘法運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
並列矩陣向量乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用多個發光單元和上述實施例中所述的光電計算單元,來實現維度符合矩陣向量乘法規則的一個矩陣和一個向量的乘法運算。本發明提出的實現方案和上述串列矩陣向量乘法器的區別在於使用更多的光電計算單元和發光單元組成陣列,通過並列輸入的方式輸入向量中元素的二值化資料,運算速度更高,但是需要更多的單元。
此矩陣向量乘法器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則矩陣向量乘法器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
本發明需要使用的光電計算單元數預設應與待乘矩陣中元素的個數乘以單個元素的位元寬的結果相等,所述矩陣包含向量,但如果光電計算單元的數目大於矩陣中元素的數目,則不影響運算。
1)、採用上述光電計算單元的第一實施例的方案: 以計算向量A和矩陣W的乘法運算A*W為例,其中A為n*1向量,W為n*m矩陣,如式(13-1-1),其中向量A中的元素通過電輸入端輸入,矩陣W中的元素通過光輸入端輸入。
Figure 108142659-A0305-02-0064-74
首先,類似於上述第三種乘法器所述的並列輸入乘法器的電輸入方式,將A每一個的元素在控制系統中進行二進位轉化:
Figure 108142659-A0305-02-0064-132
k取決於向量中單個元素的位元寬。
將採用根據上述第一實施例的光電計算單元,總共需使用k*m*n個單元,將上述單元分成k組,每組的單元為m*n個,將每一組的單元排列成和上述串列矩陣向量乘法器陣列相同的陣列,即按照圖30所示的形式排列成陣列,總共k個上述陣列,每個陣列的列數為n,行數為m,並且將所述所有組的所有陣列的所有同一列的光電計算單元的作為所述載子控制區的控制閘極都相連,輸入同樣的電輸入資料;將所述所有組的所有陣列的所有同一行的光電計算單元的作為所述載子收集和讀出區的P型基底的輸出端都相連,使得輸出的電流彙聚相加。
輸入時,將矩陣中的m*n個資料,通過光輸入端依次輸入到每一組的m*n個光電計算單元中,所有組的陣列輸入相同的光輸入端資料;將向量中的元素從同列單元相連的控制閘極上並列輸入。向量中各元素的第零位元,即(A00,A10,...,An0)將上述二值矩陣的每一個元素分別輸入第0組陣列的各列的控制閘上,同樣,後續第i位元,輸入到第i組陣列的控制閘上,將二值化後的向量資料一一並列輸入到k組陣列的全部控制閘上。對於第0組陣列,矩陣中的元素和向量中元素的第零位元的二值資料進行對應位元的相乘,即等於進行了運算 (14-1-3):
Figure 108142659-A0305-02-0065-133
電流彙聚前,第零組n*m的光電計算單元陣列每一個單元的計算結果分別為:
Figure 108142659-A0305-02-0065-80
再經每一行的輸出端都相連的輸出電流電路,即等於進行了按行相加運算,結果(14-1-4)經彙聚相加後,最下方的第零組陣列輸出端輸出為:
Figure 108142659-A0305-02-0065-81
此結果即為式(14-1-3)的運算結果,完成了向量第零位元和矩陣的矩陣向量乘法運算。
和上述第零組陣列的計算過程相似,其他第1到第k-1組陣列分別從每一列的控制閘上輸入向量第1位元到第k-1位元的二值化資料,分別輸出相應的矩陣向量乘法結果後從輸出端輸出,再將k組的計算結果經過AD轉換後輸入控制系統,第i組陣列的結果向量所有元素左移i位元,然後在控制系統中將完成移位元後的所有組的輸出結果按照向量加法的規則累加,即得到最終的矩陣向量運算結果,等同於進行了如下運算:
Figure 108142659-A0305-02-0065-82
運算的過程,如圖31所示,其中圖中的每一個中間寫有「串列矩陣向量乘法器」的方框即代表一個n*m的單元陣列,裝置的示意圖,大致如圖31所示。
所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用根據上述第二、三、四實施例的光電計算單元的方案:第二、三、四種方案,和第一種方案相似,同樣可以通過並列輸入的方式,完成兩個乘數輸入的乘法運算,如上述第三種乘法器所述,因此前文所述的使用第一種方案光電計算單元組成的矩陣向量乘法器,改為使用第二、三、四種方案所述光電計算單元構成的矩陣向量乘法器也同樣可以完成運算,唯一的區別只在於:
1)假如使用第二種光電計算單元方案,則因為P基底元件更換為了N基底元件,控制閘極和基底上的電壓極性反轉了,其大小也需重新調製。
2)假如使用第三種光電計算單元方案,則因為光輸入方式的改變,從P型基底的收集變為了電荷耦合層的收集,因此光輸入量需要重新調製。
3)假如使用第四種光電計算單元方案,則並接的載子控制區不再是控制閘極,而是復位電晶體汲極端。
採取本方案進行矩陣向量乘法運算,相較於習知矩陣向量乘法器有如下優勢:
1、集成度高,數個光電計算單元就可實現矩陣向量乘法運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
池化運算器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用向量點乘器、12之一所述的光電矩陣向量乘法器,來實現平均池化(pooling)運算。
1)、採用上述向量點乘器的方案:對於上述向量點乘器,等效於進行運算:
Figure 108142659-A0305-02-0067-83
其中,A為向量輸入端,即電輸入端輸入的向量資料,通過串列的方式輸入,W為矩陣輸入端,即電輸入端輸入的資料,輸出的結果為m*1維度的向量。
池化運算包含很多類運算,例如平均池化、最大池化等,本發明所述的池化運算器,只針對平均池化運算。
平均池化,即求平均數,例如式(15-1-2)
Figure 108142659-A0305-02-0067-134
從式(13-1-2)可以看出,平均池化運算可以等效為下面的向量相乘運算:
Figure 108142659-A0305-02-0067-87
因此,使用適合運算矩陣輸入端資料維度為n行1列矩陣(向量)的如上述向量點乘器,使用n*1個所述的光電計算單元,即可完成上述運算。
首先通過控制系統,判斷待池化矩陣中元素的個數,再在控制系統中將待池化矩陣所有元素都拆散,再重新組合成一維向量,從所述矩陣向量乘法器的向量輸入端輸入,再通過光輸入端對矩陣向量乘法器中所有單元輸入相同的相當於矩陣中元素個數的倒數的光輸入端資料,所述矩陣向量乘法器的輸出端的一個輸出量即待池化矩陣的平均池化運算結果。所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用上述高位元寬度乘法器的方案: 上述高位元寬度乘法器,和上述向量點乘器相似,唯一不同的區別在於向量輸入端資料為並列輸入,運算速度更快但需要更多的光電計算單元,如果使用上述高位元寬度乘法器來計算式(15-1-3),則需要4*K個光電計算單元,K為待池化矩陣A中元素的位元寬,而使用上述向量點乘器來計算則只需要4個光電計算單元。
採取本方案進行池化運算,相較於習知池化運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現池化運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入,針對池化運算中多次運算平均池化分母不變尤為有優勢。
卷積運算器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用多個發光單元和上述實施例中所述的光電計算單元,來實現矩陣的卷積運算。
此卷積(convolutional)運算器的輸出端的個數,具體取決於使用的光 電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則卷積運算器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
同上述串列、並列矩陣向量乘法器的方案相同,如果使用的光電計算單元數目大於實際所需的個數,並不影響運算結果的正確性。
1)、採用上述光電計算單元的第一實施例的方案: 以矩陣A的針對於卷積核a的卷積運算為例,簡單介紹下卷積運算的過程,其中A為10*10矩陣,a為3*3的卷積核,步長為1,如式(16-1-1):
Figure 108142659-A0305-02-0069-88
卷積運算的規則,是待卷積矩陣在卷積核的映射下和卷積核中元素一一作用,再按照相應的步長移動卷積核,進行下一次映射,如圖32所示,要求解(16-1-1)中的卷積運算,需要進行以下幾個步驟:
1)補零操作:將待卷積矩陣A從10*10矩陣擴展為12*12矩陣,即在0列之上,0行之左,10列之下和10行之右各添加一列/行,添加的行列中的元素全部為0,故而叫補零,經過後,矩陣A變為矩陣A0,如(16-1-2):
Figure 108142659-A0305-02-0069-89
2)確定初始卷積核位置:卷積核的初始位置和矩陣A的最左上角重合,即卷積核a的3列3行分 別對應矩陣A0的第0、1、2列和第0、1、2行,再將卷積核中的元素和與卷積核對應位置的矩陣A0中的元素一一相乘,如式(16-1-3),變為9個乘法結果,再將所述9個乘法結果全部累加,得到當前卷積核位置的卷積運算結果,叫做R00,即為完成(16-1-4)所述運算:
Figure 108142659-A0305-02-0070-90
(a 00*0)+(a 01*0)+(a 02*0)+(a 10*0)+(a 11A 00)+(a 12A 01)+(a 20*0)+(a 21A 10)+(a 22A 11)=R 00 (16-1-4)
3)移動卷積核的位置:因為事先約定了,此次卷積運算的步長為1,因此將卷積核的位置左移1行,即左移1列後卷積核a的3列3行分別對應矩陣A0的第0、1、2列和第1、2、3行,之後再在當前位置下進行卷積運算,將卷積運算結果叫做R01
4)待卷積核遍歷整個矩陣A0後,一共可以得到(10+2-2)2個卷積結果,將所述卷積結果按照對應的卷積核位置排列為矩陣,得到(16-1-5)
Figure 108142659-A0305-02-0070-91
上述矩陣R,即為帶卷積矩陣A,在卷積核a的作用下進行步長為1的卷積運算的結果。
從上述卷積運算的步驟中可以看出,卷積運算即為多次兩個矩陣對應元素兩兩相乘再累加的運算,其中所述元素兩兩相乘的兩個矩陣,其中一個矩陣為卷積核,為在多次運算中不變的量,另一個矩陣為帶卷積矩陣與卷積核位置對應的元素,在多次運算中為變化的量,因此可以利用發明1所述的採用第 一種光電計算單元方案的光電計算單元,發揮光輸入儲存可以儲存資料這一優勢特性,採用光輸入端輸入卷積核資料,並通過電輸入端輸入帶卷積矩陣資料進行卷積運算,這樣可以極大提高能效比和運算速度。因此,單元的電輸入端為卷積運算器的待卷積矩陣資料登錄端,光輸入端為卷積核輸入端。
同矩陣向量乘法一樣,卷積運算器也可以分為串列輸入和並列輸入兩種,主要區別為使用單元的數量和電輸入端資料登錄的方式,串列輸入方案如下: 根據卷積運算方式,使用數量和卷積核中元素數量相當的採用第一種方案的光電計算單元,將單元排列成和卷積核維度相同的陣列,並將載子收集和讀出區中讀出區的輸出端全部相連,通過彙聚完成相加,如圖33所示,為針對卷積核維度為3*3的單元陣列。圖33中一個中間寫有V的方框就代表一個採用第一種方案的光電計算單元。
首先,將卷積核資料通過光輸入端,一一輸入到所述單元當中,再將矩陣中當前卷積核對應位置的資料轉化為二進位,然後串列從所述作為載子控制區的控制閘上輸入所述陣列中,輸出的結果彙聚相加後經過AD轉換進入控制系統,再經過移位元和累加,即得到當前卷積核位置的卷積運算結果,之後在移動卷積核,利用之前光輸入預存好的卷積核資料,直接重新輸入電輸入資料,即可獲得下一個卷積核位置對應的卷積運算結果,以此類推,直到卷積核便利整個待卷積矩陣,然後將輸出的卷積結果重新組合成結果矩陣,即完成了全部卷積運算。
如果使用並列輸入的卷積運算器,只需要將使用單元數量變為原來的k倍,其中k為帶卷積矩陣中元素的位元寬,並且將單元變為k組和卷積核維度相同的陣列,同樣輸出端全部相連,再使用類似於並列矩陣向量乘法器的方法進行電輸入端資料並列的輸入即可。
所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
2)、採用根據上述第二、三、四實施例的光電計算單元的方案:第二、三、四種方案,和第一種方案相似,同樣可以通過串列或並列行輸入的方式,完成卷積運算,因此前文所述的使用第一種方案光電計算單元組成的卷積運算器,改為使用第二、三、四種方案所述光電計算單元構成的矩陣向量乘法器也同樣可以完成運算,唯一的區別只在於:
1)假如使用第二種光電計算單元方案,則因為P基底元件更換為了N基底元件,控制閘極和基底上的電壓極性反轉了,其大小也需重新調製。
2)假如使用第三種光電計算單元方案,則因為光輸入方式的改變,從P型基底的收集變為了電荷耦合層的收集,因此光輸入量需要重新調製。
3)假如使用第四種光電計算單元方案,則作為載子控制區的不再是控制閘極,而是復位電晶體汲極端。
採取本方案進行卷積運算,相較於習知卷積運算器有如下優勢:
1、集成度高,數個光電計算單元就可實現卷積運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入,針對卷積運算中多次運算卷積核不變尤為有優勢。
神經網路加速器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用上述串列、並列矩陣向量乘法器、池化運算器和卷積運算器的方案,配以相應的控制系統,來實現神經網路演算法推理的加速工作。
神經網路演算法的推理,以最常見的ALEXnet網路為例,由卷積層和全連接層組成,可以進行如人臉識別等工作,網路的詳細結構如圖34所示,其中卷積層中包含的運算有卷積運算、池化運算和非線性函數運算;全連接層中包含的運算有矩陣向量乘運算、池化運算和非線性函數運算,可以看到除了非線性函數運算,其他運算在本發明中都已提及了相應的光電運算加速器方案。而非線性函數運算有多種方式,其中最常見的為RELU函數,其函數圖像如圖35所示,不難看出RELU函數對於小於0的輸入,輸出都為0,而對大於0的輸入,輸出都為其本身,因此函數本身僅相當於一個判斷大小是否大於0的邏輯控制單元,通過控制系統完成RELU函數運算相當便捷,因此使用上述的4種在神經網路演算法中最為常見的計算方式的光電運算器和光電計算方法,已經能夠構成一個完整的神經網路加速器和加速方法。
使用光電計算單元來進行神經網路加速最大的好處在於光輸入的儲存特性,依舊以ALEXnet網路為例,對於ALEXnet網路,每一層的輸出資料的維度,都為固定值,如上述卷積運算器的方案中所述,在卷積層中進行卷積運算時,因為卷積核在多次運算中資料是不變的,因此利用光輸入資料的儲存優勢,打一次光即可完成多次甚至全部的卷積運算工作,這極大的降低了儲存單元和光電計算單元之間來回交互資料所需要的時間和能量消耗。
對於池化也同樣,因為網路中每一層輸入輸出的資料的維度都為固定值,因此平均池化的分母:待池化矩陣中元素的數量同樣為不變的量,通過光輸入的儲存特性也可以極大的提高運算速度。
在全連接層中,大量的矩陣向量乘的存在是習知計算方式最感到無力的部分,然而所述矩陣向量乘中,矩陣資料為通過訓練獲得的固定權值,一但完成訓練,權值的值就不再改變,因此在進行推理運算時,同樣通過光輸入的方式將權值輸入光電計算單元當中,可以大大提高運算效率。
ALEXnet網路的輸入資料為227*227*3的三維矩陣資料,首先經過卷積層1,如圖34所述。
卷積層1中卷積核大小為11*11,數量為96個,步長為4的卷積運算,使用如上述的卷積運算器的方案,則需要最少96個如上述的針對卷積核尺寸11*11的卷積運算器。卷積層1中的池化運算使用平均池化,因為內核尺寸為3*3,因此為9個數平均為1個數,因此最少需要一個如上述池化運算器所述的針對3*3矩陣輸入的池化運算器。
以此類推,卷積層2中,最少需要256個如上述的卷積核尺寸為5*5的卷積運算器,需要至少一個如上述池化運算器所述的針對3*3矩陣輸入的池化運算器。
卷積層3中,最少需要384個如上述的針對卷積核尺寸為3*3的卷積運算器。
卷積層4中,最少需要384個如上述的針對卷積核尺寸為3*3的卷積運算器。
卷積層5中,最少需要256個如上述的針對卷積核尺寸為3*3的卷積運算器,至少一個如上述池化運算器所述的針對3*3矩陣輸入的池化運算器。
全連接層1中,最小需要一個如上述串列、並列矩陣向量乘法器所述的支援4096*9216規模矩陣、1*9216規模向量的矩陣向量乘法器。
全連接層2中,最小需要一個如上述串列、並列矩陣向量乘法器所述的支援4096*4096規模矩陣、1*4096規模向量的矩陣向量乘法器。
全連接層3中,最小需要一個如上述串列、並列矩陣向量乘法器所述的支援1000*4096規模矩陣、1*4096規模向量的矩陣向量乘法器。
綜述,總共需要上述如此數量的矩陣向量乘法器、池化運算器和卷積運算器,配以相應的控制系統部分,就可以組成完整的ALEXnet網路加速器, 如需要提高計算速度,可以考慮使用並列輸入的方式,消耗更多的計算器,獲得更高的計算速度。
所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA等多種邏輯控制單元。
採取本方案進行神經網路加速,相較於習知神經網路加速器有如下優勢:
1、集成度高,完成完整加速工作使用的光電計算單元少。
2、針對矩陣向量乘、卷積運算、池化運算中矩陣權值、卷積核和池化運算的平均值分母在多次運算中不變的特點,採用光輸入輸入上述運算量,能將光輸入的儲存特性最大化發揮出來。
CT演算法加速器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用多個發光單元和上述實施例中所述的光電計算單元,來實現CT演算法的加速工作。
此CT演算法加速器的輸出端的個數,具體取決於使用的光電計算單元的輸出端的個數,例如如果使用具有兩個輸出端的上述實施例中所述的光電計算單元,則CT演算法加速器也具有兩個輸出端,下文的詳細敘述中默認採取有一個輸出端的光電計算單元。
同上述串列、並列矩陣向量乘法器相同,如果使用的光電計算單元數目大於實際所需的個數,並不影響運算結果的正確性。
1)、採用上述光電計算單元的第一實施例的方案: CT演算法的大致內容如下,CT,即電子電腦斷層掃描(Computed Tomography),它是利用精確準直的X射線、γ射線、超聲波等,與靈敏度極高的 計算器一同圍繞人體的某一部位作一個接一個的斷面掃描,具有掃描時間快,圖像清晰等特點特點。
CT的拍攝方式和X光的拍攝方式有較大不同,如圖36所示,從上至下分別為對一物體用X光和CT的拍攝方式。
CT拍攝,即通過接收到的從不同角度穿過待觀測物體一斷層的X光強度,來判斷出此斷層內部物質分部的方法,而將接收到的多組不同斷層的一維沿不同角度入射的X光強度轉化為二維的多組不同斷層的二維物質分部圖片的演算法,就為CT演算法。
CT演算法的大致內容如下,如圖37所示,圖中不規則形狀物體即待拍攝物體的這一斷層的截面圖,多束X光從不同角度穿過它,其中第i條穿過它的射線即為圖中所示角度入射的射線,此物體的截面圖,即為通過CT拍攝和CT演算法希望復原的斷層掃描圖,將此斷層圖分割成一個個畫素(pixel),從第一列第一行開始數,第一列第一行為第一個畫素,總共N個畫素,第j個畫素剛好被第i條X光穿過。
X光穿過物體時會被吸收,根據物質的種類不同(水,細胞組織,骨頭等)吸收的量大小也不同,通過判斷吸收量多少就能間接判斷出所拍攝物體是什麼物質。圖37中所示截面圖中,不同畫素的位置對應有不同種類的物質,因此X光穿過這些畫素後,會受到不同程度的吸收,沿著不同角度入射的X光因為穿過的物質不同,當其出射物體後剩餘的能量也就不同。圖37中所示物體截面內各個畫素的灰度值,即代表X光穿過單位畫素面積這種物體時,剩餘能量的多少,灰度值越高,代表X光穿過這個畫素後損失的能量越少,因此,對於第i條射線而言,假設其沿圖37所述角度穿過物體,則剩餘能量pi為:p i =ω i1 x 1+ω i2 x 2......+ω iN x N (18-1-1)
式18-1-1中,ω代表穿透係數,ω ij 就代表第i條射線是否穿過了第j個 畫素,如果穿過了,則代表第i條射線被第j個畫素中的物體吸收了一部分能量,則ω ij =1,x j 為第j個畫素對X光的吸收係數,也就是需要重建的斷層掃面圖片中第j個畫素的灰度值,為待求解量;如果第i條射線沒有穿過第j個畫素,則代表第j個畫素沒有吸收第i條射線的能量,則ω ij =0,將ω稱謂投影係數。
綜上所述,針對第i條射線的公式如(18-1-1),則針對所有射線(共L條)的公式如(18-1-2):
Figure 108142659-A0305-02-0077-135
式(18-1-2)為一多元方程組,x為待重建斷層圖片畫素灰度值,即需要求解的量,其他都為已知量,根據線性代數知識可知,如果L大於等於N,則此方程有唯一解,即可以還原出斷層掃面圖片。
通常用來求解上述方程的方法稱作代數重建演算法:假如式(18-1-2)不是有N個未知數的由L個方程組成的方程組,而是有2個未知數的由2個方程組成的方程組,則這兩個方程組可以表示為二維平面裡的兩條線,因為方程有解,這兩條線必定有交點,而交點的座標即為方程組的解。快速求解方程組解的方法為:1)在所述平面內任意找一點作為初始反覆運算點;2)做所述初始反覆運算點做方程組第一個方程代表的直線上的投影點,將此投影點作為第二次反覆運算的點;3)過所述的第二次反覆運算的點,做方程組第二個方程代表的直線上的投影點,將此投影點作為第三次反覆運算的點;4)繼續將第三反覆運算點對第一條直線做投影,然後再對第二條 直線做投影,反復反覆運算,直到結果收斂,所述點即為兩個直線的交點,也就是方程的解。
上述反覆運算投影的圖示過程如圖38所述。
上述過程的數學運算式,即為反復運算反覆運算式(18-1-3):
Figure 108142659-A0305-02-0078-136
其中,
Figure 108142659-A0305-02-0078-137
為進行第i次投影時的投影點, 也就是第i次反覆運算時的結果向量,而
Figure 108142659-A0305-02-0078-156
,為進行第i 次投影時的多維空間平面的係數(方程組係數),也同樣是此方程組對應的射線 穿過截面時的投影係數向量。式(18-1-3)反覆運算次數越多,方程組的解
Figure 108142659-A0305-02-0078-157
也 就越准。
反覆運算式(18-1-3)中,需要反復計算向量向量乘法
Figure 108142659-A0305-02-0078-158
,由 全部的
Figure 108142659-A0305-02-0078-159
向量組成的矩陣,稱之為CT演算法中的系統矩陣ω:
Figure 108142659-A0305-02-0078-161
因為
Figure 108142659-A0305-02-0078-162
的實際物理意義是該射線是否穿過了所述畫素,穿過了則為 1,沒穿過則為0,而CT機器射線的發射角度多為固定角度,因此,對於多次CT拍攝而言,系統矩陣ω多為固定值,因此,通過使用發明1中第一種方案所述的光電計算單元的光輸入端的儲存特性來輸入系統矩陣中的資料,會極大的提高能效比和運算速度。 公式(18-1-3)的核心是向量向量乘法
Figure 108142659-A0305-02-0078-163
,因此使用如圖39所 述的單元陣列可以實現此部計算的加速工作,圖中每一個中間寫有V符號的方框,都代表一個採用第一種方案的光電計算單元,以系統矩陣規模為N*L,X射 線數目為L的CT演算法為例,假設電輸入端資料為串列輸入,則需要使用的光電計算單元數目為N*L個,將所述數目的光電計算單元排列成N列L行,且同行的所有單元的作為所述載子收集和讀出區的P型基底的輸出端都相連在一起,使運算結果彙聚相加;所有單元的作為所述載子控制區的控制閘極都相互獨立。
工作時,通過光輸入端將系統矩陣中的資料全部一一對應輸入維度和系統矩陣相同的陣列當中,為CT演算法加速器的系統矩陣輸入端,之後開始反覆運算,第一次反覆運算時,隨機生成初始反覆運算值,帶入式(18-1-3),將初始反覆運算值轉化為二進位,並通過所述陣列的電輸入端串列輸入陣列中的第一行單元當中,和上述串列矩陣向量乘法器類似,光輸入資料和電輸入資料完成相乘後,經電流彙聚輸出,然後再控制系統中完成移位元和累加操作,獲得此次反覆運算中向量乘法的結果,再在控制系統中完成除向量乘法的其他運算,即可完成此次反覆運算;將上次反覆運算的結果作為下次反覆運算的電輸入量轉化為二進位,串列輸入所述陣列第二行單元當中,光輸入資料和電輸入資料完成相乘後,經電流彙聚輸出,然後再控制系統中完成移位元和累加操作,獲得此次反覆運算中向量乘法的結果,再在控制系統中完成除向量乘法的其他運算,即完成了第二次反覆運算;以此類推,直到在所屬陣列第L行中完成第L次反覆運算後,再將第L+1次反覆運算的輸入資料登錄第1行陣列中,直到獲得認為準確的反覆運算結果,然後通過控制系統輸出給顯示系統,即可查看到CT斷層掃面的最終結果圖片。
如果使用並列輸入的CT演算法加速器器,只需要將使用單元數量變為原來的k倍,其中k為帶卷積矩陣中元素的位元寬,並且將單元變為k組和系統矩陣維度相同的陣列,同樣同列的單元輸出端全部相連,再使用類似於並列矩陣向量乘法器的方法進行電輸入端資料並列的輸入即可。
所述的控制系統,可以是數位電路,也可以是電腦、單片機、FPGA 等多種邏輯控制單元。
2)、採用根據上述第二、三、四實施例的光電計算單元的方案: 第二、三、四種方案,和第一種方案相似,同樣可以通過串列或並列行輸入的方式,完成CT演算法加速的工作,因此前文所述的使用第一種方案光電計算單元組成的CT演算法加速器,改為使用第二、三、四種方案所述光電計算單元構成的矩陣向量乘法器也同樣可以完成運算,唯一的區別只在於:
1)假如使用第二種光電計算單元方案,則因為P基底元件更換為了N基底元件,控制閘極和基底上的電壓極性反轉了,其大小也需重新調製。
2)假如使用第三種光電計算單元方案,則因為光輸入方式的改變,從P型基底的收集變為了電荷耦合層的收集,因此光輸入量需要重新調製。
3)假如使用第四種光電計算單元方案,則作為載子控制區的不再是控制閘極,而是復位電晶體汲極端。
採取本方案進行CT演算法加速,相較於習知CT演算法加速器有如下優勢:
1、集成度高,完成完整加速工作使用的光電計算單元少。
2、針對CT演算法中系統矩陣中多次運算不變的特點,採用光輸入輸入上述運算量,能將光輸入的儲存特性最大化發揮出來。
單精確度浮點乘法器的方案
本發明提出了多種光電計算裝置和光電計算方法的具體實現方案,通過使用上述高位元寬度乘法器,和上述第一、二、三種加法器之一所述的光電加法器,來實現兩個單精確度浮點數的乘法運算。
單精確度浮點數,即通過類似科學計數法的方式表述一個帶有小數部分的實數,一個單精確度浮點數位寬為32位,其中1位是符號位,通過一個二 進位數表述正負;8位指數位,通過8位2進位數表述小數點左側部分數的大小;23位尾數位,通過23位2進位數表述小數點右側部分數的大小,如式(19-1-1):(1)符號位(10000111)指數位(10000000000000000000000)尾數位=(-1)1*21000111-01111111*1.10000000000000000000000=-2135-127*1.5=-384 (19-1-1)
因此,兩個浮點數A和B的乘法過程,如式(19-1-2)所示:
Figure 108142659-A0305-02-0081-145
不難看出,兩個單精確度浮點數的乘法就是兩個單精確度浮點數的符號位元相乘、指數位元相加再減去127、尾數位相乘的結果。
綜上,所述的光電單精確度浮點乘法器,也就是需要運算符號位相乘、指數位相加和尾數位元相乘三部分運算。其中符號位元只需通過通用邏輯判斷正負即可,指數位8位元寬加數的加法再減去01111111,只需要使用如上述第一、二、三種加法器運算即可;而尾數位的兩個23位元寬乘數的乘法運算,因為乘數位寬較大,故而需要使用上述高位元寬度乘法器來進行運算,上述多種乘法器之一所述的光電計算乘法器,通常適用於光輸入端輸入精度在8位元左右,最高不超過16位元寬的乘數輸入的乘法運算。
通過控制系統將所述兩位元待乘單精確度浮點數拆分為符號位、指數位和尾數位,將符號位通過控制系統判斷正負,指數位輸入高位元寬度乘法器的兩個高位元寬度乘數輸入端,尾數位輸入光電加法器的兩個加數輸入端。將三部分輸出的結果返回給控制系統,並在控制系統中重新組合成單精確度浮點數,即完成了完整的單精確度浮點數乘法。
本發明利用半導體材料的光電特性,公開了一種基本的光電混合運算方法和運算元件。由於半導體材料對入射光子可以具有較高的靈敏度、較長的光訊號儲存時間,並且本身較易於提高集成度,本發明對計算技術具有實質性的提高。
採取本方案進行單精確度浮點乘法運算,相較於習知單精確度浮點乘法器有如下優勢:
1、集成度高,只需要數個光電計算單元就可完成單精確度浮點數乘法運算。
2、光輸入資料具有儲存特性,可在斷光後長時間保存在元件內,下次運算時無需重新進行光輸入。
數位控制邏輯系統
本發明提出了一種光電計算模組的數位邏輯控制系統,用於控制光電計算模組的狀態以及資料登錄輸出。
下面以上述並列矩陣向量乘光電計算模組的數位邏輯控制系統為例,簡要敘述數位控制邏輯的工作方法。
使用並列矩陣向量乘光電計算模組運算矩陣向量乘法:
Figure 108142659-A0305-02-0082-146
並假設矩陣W中每個元素的位寬為8位元,則至少需要8組n列m行個單元的光電計算陣列來組成能夠運算A*W的並列輸入矩陣向量乘模組。
假定使用的單元數量就為上述的最低要求,使用8組n列m行個單元來組成運算模組,並且同一組陣列的同列的載子控制區都是向量,同一組陣列同 行的載子收集和讀出區的輸出端都是向量,和說明14中描述的相同。
首先,該光電計算模組的數位控制陣列分為以下幾個部分:資料登錄部分、光輸入控制部分、光接收控制部分、電輸入接收控制部分、輸出控制部分和自檢控制部分,控制的物件有8組n*m的光電運算陣列以及和這些陣列供電的電源模組,以及驅動發光陣列的驅動器。
電源模組,可以提供光電運算陣列在接收光訊號、接收電訊號、運算以及輸出、重定光訊號等各個狀態下各功能區所需的各種電壓。如對於發明1中光電計算單元的第一種實施方案而言,接收光訊號時P型基底需要加-3V,接收電訊號時,控制閘上需要加4V或者0V,輸出時P型基底的讀出區MOSFET的源汲極之間需要加0.5V,重定時基底需要加1V,則給其供電的電源模組則需要至少能提供-3V、0V、1V、4V這幾種電壓,並在數位控制邏輯的控制下,在所需的時刻將電壓給予陣列中單元的相應部位。
完整的運算過程如下:
1)資料登錄
將矩陣資料W和向量資料A輸入到資料登錄部分,資料登錄部分發送給光輸入控制部分和電輸入接收控制部分並預存於寄存器中。
2)光輸入
將光輸入控制部分的寄存器中的矩陣資料W中的每一個元素,通過光輸入控制部分轉化為發光陣列中發光單元需要發光的時長,發送給發光陣列的驅動器,驅動器轉化為脈衝,驅動發光陣列發光,實現光輸入。
3)光接收
光輸入的同時,通過光接收控制部分,發送接收光訊號對應的狀態訊號給電源模組,電源模組改變供電電壓,使計算陣列中的單元進入光接收狀態,例如,使用發明1中第一種實施方案的光電計算單元,則電源模組在接收到 接收光訊號的狀態訊號後,給P型基底-3V,讀出區源汲極浮置,控制閘0V,使P型基底中產生空乏層,當再有光子入射時,就會吸收該光子產生光生載子,完成光輸入。
4)電輸入並接收
光輸入完成後,通過光輸入控制部分控制驅動器,停止打光;再通過電輸入接收部分,發送電輸入的狀態訊號給電源模組,使計算陣列中的單元進入電輸入狀態,並將寄存器中的向量資料A以並列地方式輸入到計算陣列的載子控制區中。如假如使用發明1中第一種實施方案的光電計算單元,則電源模組此時需要給予控制閘0V或3V的電壓,具體給予0V還是3V受到電輸入接收控制部分的控制,如果該單元的電輸入量應為0,則0V電壓施加到控制閘上;如電輸入量為1,則3V電壓施加到控制閘上,同時,P型基底保持施加-3V不變,讀出區源汲極依舊浮置。
5)運算和讀出過程
電輸入完成後,通過輸出控制部分發送輸出運算結果的狀態訊號給電源模組,使光電計算單元進入輸出狀態,假如使用發明1中第一種實施方案的光電計算單元,則電源模組此時需要給予讀出區源汲極之間0.5V的電壓差,並且保持P型基底-3V和控制閘上0V/3V電壓。作為運算結果的輸出電流經彙聚後,先進入AD轉換,輸出控制部分發送開始AD轉換的訊號給AD轉換器,AD轉換器完成轉換後從輸出端輸出轉換後的結果和轉換結束訊號給輸出控制部分,接收到轉換結束訊號後,輸出控制部分將接收到的轉換結果再送入到移位器和累加器進行移位和累加,得到最終的A*W運算的結果向量後將此結果儲存到寄存器中,並發送運算結束的狀態訊號給電源模組,電源模組結束本次運算。如假如使用發明1中第一種實施方案的光電計算單元,則電源模組在結束運算時需取消施加在讀出區源汲極之間的0.5V電壓差和控制閘上的0V/3V電輸入二值訊號,但 是保持P型基底的-3V不變,以維持光輸入訊號的「儲存」,等待下一次運算。
6)光輸入訊號重定過程
如完成本次運算後,光輸入資料不再參與之後的運算,需要重新進行下一次光輸入,則通過輸出控制部分發送光輸入資料重定訊號給電源模組,電源模組對計算陣列中的單元進行光輸入資料的重定。如假如使用發明1中第一種實施方案的光電計算單元,則電源模組此時需要給予P型基底1V,控制閘0V的電壓,同時保持讀出區源汲極浮置。重定完成後,輸出控制部分發送重定完成訊號給電源模組,電源模組停止供電,等待下一次光輸入。
7)自檢過程
自檢過程發生在運算模組工作之前,用於對計算陣列中的單元是否發生損壞進行檢查。
工作開始前,如需開始自檢,自檢控制部分發送狀態訊號給電源模組,電源模組對所有組的所有行的第一列開始自檢,如假如使用發明1中第一種實施方案的光電計算單元,則電源模組此時需先給予控制閘3V電壓,讀出區源汲極之間0.5V的電壓,輸出電流經每一行的輸出端輸出給自檢控制部分,如發現有行輸出端存在無電流輸出的現象,則判斷此行的第一個單元損壞;之後,再撤去控制閘上的3V電壓,讀出區源汲極之間依舊保持0.5V,通過自檢控制部分判斷每一行的輸出電流,如發現有行輸出端存在斷掉控制閘3V電壓後依舊有電流的現象,則判斷此行第一個單元損壞。
完成了對第一列的自檢,自檢控制部分控制換行,對第二列開始自檢,自檢條件相同,直到完成全部列的自檢,即完成了全部自檢。
數位控制邏輯的示意圖如圖40所示。
數位控制邏輯的具體實現方式,可以是數位電路,單片機,FPGA等多種。
其他實施例
本實施例提供了單個採用根據上述第一實施例的光電計算單元的實測光回應曲線,並借助於此在機臺上實測獲得的光回應曲線作為單個光電計算單元的模型,搭建成了如上述並列輸入矩陣向量乘法器的模型和如上述的卷積運算器的模型,並借助於所述搭建成的模型元件成了完整的使用根據上述第一實施例的光電計算單元組建的神經網路加速器。通過用此加速器模型,使用模擬軟體嘗試模擬推理完整的類AlexNet的網路(不同於上述神經網路加速器的方案中提到的標準AlexNet網路)對CIFAR-10資料集中的圖片進行分類預測這一功能,並對運行結果的準確度進行評估。
單個光電計算單元實測結果以及網路模擬分析
單元參數和測試條件
所使用的採用根據上述第一實施例的光電計算單元的實測光回應曲線如圖41所示,其中橫坐標為通過曝光時間表征的入射光子數X,縱坐標為作為所述載子收集和讀出區的P型基底中讀出區MOSFET輸出端的運算結果大小,運算結果以電流的形式輸出。測試時,作為載子控制區的控制閘極,即VG加3V電壓,P型基底加-3V電壓,並給與合適的源汲極間電壓時所對應的輸出結果。
可以看到,除了末尾處的一點不線性,光電計算單元的讀出電流和入射光子數有著較好的線性度,和發明1中的公式(1-15)描述相符,實際使用時,只需要截去末尾不線性部分進行運算即可獲得更高的計算精確度。
為了獲得一個較為保守的模擬結果,沒有截去末尾的不線性部分,而是採用了完整的整條曲線來搭建神經網路加速器。
網路結構和資料集
所模擬的類AlexNet的網路模型所包含的結構如圖42所示,此類AlexNet網路模型由六層卷積層、五層池化層以及兩層全連接層組成,並使用ReLU作為啟動函數。為了提高模擬程式運行的速度,池化層沒有使用上述池化運算器,而是直接假設使用通用邏輯來進行池化運算。
此網路實現的功能為目標識別,使用的圖片資料集為CIFAR-10資料集。該資料集共有60000張彩色圖像,這些圖像大小是32*32*3,分為10個類,每類6000張圖。這裡面有50000張用於訓練,構成了5個訓練批,每一批10000張圖;另外10000用於測試,單獨構成一批。先使用資料集中的照片進行訓練,獲得收斂的權值後再將權值帶入網路進行推理,用搭建的神經網路加速器模型來模擬運行類AlexNet,最後得出此神經網路加速器模型進行目標識別的準確度高低。很顯然,導致最後識別結果不準確的因素有兩點,一個是網路本身,以及通過訓練所獲得的權值並不完美所帶來的和推理時計算準確度無關的識別誤差;另一個就是因為由計算元件單管模型搭建的神經網路加速器模型存在計算誤差,而帶來的識別誤差。
AD轉換精度
通過上述並列矩陣向量乘法器和上述卷積運算器的方案的介紹,不難發現,無論是矩陣向量乘法器每一行的輸出端,還是卷積運算器一個卷積核的總輸出端,都必須接有一個AD轉換,將類比的電流運算結果轉化為數位量,才能送入控制系統參與後續操作,因此,此AD轉換的精度將會極大的影響計算的精度。
如上述並列矩陣向量乘法器的方案中所述,在圖31所示的並列矩陣向量乘法器當中,一共有k組規模為m*n的陣列,假設每一組陣列的每一行下加 裝一個AD,並且認為光輸入端輸入的值範圍為(-127,127),並且將正的光輸入值和負的光輸入值分別輸入到不同矩陣當中,AD位元寬度為nbit,矩陣向量乘中矩陣的列數為m列,則AD轉換精度為:
Figure 108142659-A0305-02-0088-106
其中,127代表單個光電計算單元的輸出最大值,即光輸入端輸入最大值127和電輸入端輸入二值化後的最大值1相乘的結果,127*m則是一整行單元因電流彙聚後的輸出最大值,又因為將光輸入端資料分正負矩陣輸入的情況下,考慮到正矩陣或負矩陣中數值有一半概率為0,所以實際計算中m的值需要除以2,得到最後的AD轉換精度如式21-1所示。
以的類AlexNet網路中的全連接7層為例,此層輸入的矩陣規模為2048*1024,輸入的向量規模為2048*1,並假設向量中單個元素的位寬為8,則此時需要使用k=8組規模為2048列*1024行的陣列,AD位數為8,此時AD的精度為:
Figure 108142659-A0305-02-0088-147
即AD轉換後可以識別的最小單位為508,小於此值的輸出會被捨去,從而造成一定的精度下降。
同理,卷積運算器也會受到類似的因為AD造成的精度下降,不再重複敘述。
網路權值的範圍
對於的網路中的全連接層,權值即為矩陣資料,權值的來源為網路的訓練,在訓練時可以自訂權值的精度,如式(21-2)中就認為權值的精度為8bit,即範圍為(-127,127),訓練時權值的精度越高,假設不存在任何計算誤差的情況下,網路的準確度也就越高,但是運行的壓力也就越大。權值精度對不存在 計算誤差的理想網路運行的結果如下表,結果為進行推理時目標分類的準確度:
Figure 108142659-A0305-02-0089-108
根據表1可以看到,當向量資料精度為8bit時,權值取8bit和4bit精度差距只有2%左右,因此使用4bit的權值精度進行訓練,當收斂後使用訓練好的4bit權值帶入的模擬模型進行類比推理運算,對於卷積層中的卷積核中的資料,也同樣使用4bit。
網路模擬結果
Figure 108142659-A0305-02-0089-109
Figure 108142659-A0305-02-0090-110
從上述表2的模擬的精度可以看到,的神經網路加速器模型跑出的分類準確度為85.4%,只比不存在任何計算誤差的理想準確度結果88%相差了3%不到,為一個較高的精度,足夠勝任神經網路加速的工作。
同時,假設單個AD的延遲為20ns,則可以推斷出每一層網路的運行延遲為0.164ms,跑完一次完整的網路推理需要的時間也就是1.312ms,這相對於光輸入資料少則數秒,多則數年(採用根據上述第三實施例的光電計算單元)的保持時間而言,已經是一個相當短的時間了,即便是數秒的維持時間,也足以在一次光輸入的時間視窗內運行上千次完整的網路推理。如果將上述神經網路加速器用於視頻監控中的物體識別,則完整網路1.312ms的推理耗時可以輕鬆滿足上百幀的視頻即時監控,而達到這一指標,不考慮週邊邏輯電路,最少總共只需要使用約200萬個光電計算單元,假設一個光電計算單元面積為3um*3um,則晶片尺寸只有5mm*5mm不到;根據單個光電計算單元的實測結果,每個光電計算單元在讀出狀態下的功率僅為0.1uW級別,整個網路推理耗時1.312ms中,每個單元最多只需要運行八分之一的時間,不運行時的漏電流可以忽略不計,因此晶片運行的總功率只有不到0.05W。無論是功耗還是晶片面積,在獲得同等計算力的情況下,這都是使用GPU加速神經網路推理不可比擬的。
效果
下表3為預估的光電存算一體晶片和谷歌(Google®)的張量處理器(Tensor Processing Unit,TPU)晶片在功耗、晶片面積、運算能力以及製作工 藝等方面的對比圖,其中光電存算一體晶片的參數和性能指標來源於理論推理和模擬結果。
Figure 108142659-A0305-02-0091-111
可以看出,即便光電存算一體晶片在工作主頻遠遠低於TPU晶片的情況下,其每秒運算元依舊遠遠高於TPU晶片,這主要是因為光電存算一體晶片中的計算陣列中,單個元件即能完成乘法操作,而電流的彙聚又完成了一次加法操作,因此單個單元就可在一個機械週期中貢獻兩個運算元,這遠遠優於TPU晶片,同時也導致了晶片面積也小於TPU晶片;而光電存算一體晶片的另一大優勢:光輸入的儲存特性,又導致了光電存算一體晶片在功耗上會遠遠低於TPU 晶片;另外,上述參數都為基於65nm製程的情況下得出的,而谷歌TPU則是28nm工藝的產物,這又給光電儲存運算一體化晶片在未來通過製程節點的縮小提高元件性能上創造了可能;最後,可以看出,根據模擬和推導結果,目前的光電存算一體晶片的大部分功耗都浪費在了數位控制。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:光電計算單元
102:半導體基底
104:收集區
106:讀出區
108:淺槽隔離
110:汲極端
114:底層介質層
116:電荷耦合層
118:頂層介質層
120:控制閘極

Claims (49)

  1. 一種光電計算單元,採用光輸入和電輸入兩種方式輸入運算量,包括一個半導體多功能區結構,其中,該半導體多功能區結構包括至少一個載子控制區、至少一個耦合區、以及至少一個光生載子收集區和讀出區,其中:採用光輸入的運算量,即光輸入量,通過入射光子轉化為光生載子的方式來完成輸入;採用電輸入的運算量,即電輸入量,通過直接注入載子的方式來完成輸入;該載子控制區,被設置為控制並調製該光電計算單元內的載子,並且作為該光電計算單元的電輸入埠,輸入其中一個運算量作為電輸入量;或者被設置為只控制並調製該光電計算單元內的載子,通過其他區域輸入電輸入量;該耦合區,被設置為連接該光生載子收集區和讀出區中的收集區和讀出區,使得光子入射產生的光生載子作用於該光電計算單元內的載子,形成運算關係;該光生載子收集區和讀出區,其中該收集區被設置為吸收入射的光子並收集產生的光生載子,並且作為該光電計算單元的光輸入埠,輸入其中一個運算量作為光輸入量,該讀出區被設置為作為該光電計算單元的電輸入埠,輸入其中一個運算量作為電輸入量,並且作為該光電計算單元的輸出埠,輸出被該光輸入量和該電輸入量作用後的載子作為單元輸出量;或者通過其他區域輸入該電輸入量,該讀出區只作為該光電計算單元的輸出埠,輸出被該光輸入量和該電輸入量作用後的載子,作為單元輸出量。
  2. 如請求項1所述的光電計算單元,進一步包括作為該載子控制區的控制閘極、作為該耦合區的電荷耦合層,以及作為該光生載子收集區和讀出區的P型半導體基底,其中: 作為該光生載子收集區和讀出區的該P型半導體基底,包括左側收集區和右側讀出區,該左側收集區被設置為用以產生用於光電子收集的空乏層,並通過該右側讀出區讀出收集的光電子電荷量,作為光輸入端的輸入量;該右側讀出區,包含淺槽隔離、N型汲極端和N型源極端,被設置為用於讀出,同時也可以作為電輸入端,輸入其中一位運算量;作為該耦合區的該電荷耦合層,被設置用作連接該光生載子收集區和讀出區中的收集區和讀出區,使該收集區的該P型半導體基底內的該空乏層開始收集光電子以後,該收集區的該P型半導體基底的表面電位就會受到收集的光電子數量影響;並且通過電荷耦合層的連接,使得該讀出區的該P型半導體基底的表面電位受到該收集區的該P型半導體基底的該表面電位影響,進而影響該讀出區的源汲極間電流大小,從而通過判斷該讀出區的該源汲極間電流來讀出該收集區收集的光電子數量;作為該載子控制區的該控制閘,被設置為用以在其上施加一個脈衝電壓,使得在P型半導體基底讀出區中產生用於激發光電子的空乏層,同時也可以作為電輸入端,輸入其中一個運算量;用於隔離的底層介質層,被設置在該P型半導體基底和該電荷耦合層之間;以及用於隔離的頂層介質層,被設置在該電荷耦合層和該控制閘極之間。
  3. 如請求項1所述的光電計算單元,進一步包括作為該載子控制區的控制閘極、作為該耦合區的電荷耦合層,以及作為該光生載子收集區和讀出區的N型半導體基底,其中:該作為光生載子收集區和讀出區的N型半導體基底,包括左側收集區和右側讀出區,該左側收集區被設置用以產生用於光電洞收集的空乏層,並通過該右側讀出區讀出收集的光電洞電荷量,作為光輸入端的輸入量;該右側讀出 區,包含淺槽隔離、P型汲極端和P型源極端,被設置為用於讀出,同時也可以作為電輸入端,輸入其中一位運算量;作為該耦合區的該電荷耦合層,用以連接該光生載子收集區和讀出區中的收集區和讀出區,被設置為使該收集區的該N型半導體基底內的該空乏層開始收集光電洞以後,該收集區的該N型半導體基底的表面電位就會受到收集的光電洞數量影響;通過電荷耦合層的連接,使得該讀出區的該N型半導體基底表面電位受到該收集區的該N型半導體基底的該表面電位影響,進而影響該讀出區的源汲極間電流,從而通過判斷該讀出區的該源汲極間電流來讀出該收集區收集的光電洞數量;作為該載子控制區的該控制閘,被設置為用以在其上施加一個負脈衝電壓,使得在該N型半導體基底的該讀出區中產生用於激發光電洞的該空乏層,同時也可以作為電輸入端,輸入其中一位運算量;用於隔離的底層介質層,被設置在該N型半導體基底和該電荷耦合層之間;以及用於隔離的頂層介質層,被設置在該電荷耦合層和該控制閘極之間。
  4. 如請求項1所述的光電計算單元,進一步包括作為該載子控制區的控制閘極、作為該耦合區的電荷耦合層,以及作為該光生載子收集區和讀出區的P型半導體基底,其中:作為該光生載子收集區和讀出區的P型半導體基底,包含一個N型汲極端和一個N型源極端,被設置為同時承擔感光和讀出的工作,同時也可以作為電輸入端,輸入其中一位運算量;作為該耦合區的電荷耦合層,被設置為用以儲存進入其中的光電子,並改變讀出時單元閾值大小,進而影響該讀出區的源汲極間電流,從而通過判斷該讀出區的源汲極間電流來讀出感光時產生並且進入該電荷耦合層中的光電 子數量;作為該載子控制區的控制閘,被設置為用以在其上施加一個脈衝電壓,使得在該P型半導體基底的該讀出區中產生用於激發光電子的空乏層,同時也可以作為電輸入端,輸入其中一個運算量;用於隔離的底層介質層,被設置在該P型半導體基底和該電荷耦合層之間;以及用於隔離的頂層介質層,被設置在該電荷耦合層和該控制閘極之間。
  5. 如請求項1所述的光電計算單元,進一步包括作為該載子控制區的復位電晶體、作為該耦合區的光電子耦合引線,作為該光生載子收集區和讀出區的光電二極體和讀出電晶體、以及選擇電晶體,該選擇電晶體用於將該光電計算單元組成陣列時行列選址使用,其中:該光電二極體被設置為負責感光,該光電二極體的N摻雜區通過作為該耦合區的該光電子耦合引線連接到該讀出電晶體的控制閘和該復位電晶體的源極端上;該讀出電晶體,其源極端和該選擇電晶體汲極端連接,被設置為用於讀出,同時也可以作為電輸入端,輸入其中一位運算量;作為該耦合區的該光電子耦合引線,被設置為連接作為該光生載子收集區和讀出區中的收集區和讀出區的該光電二極體和作為該讀出區的該讀出電晶體,以將該光電二極體的該N摻雜區的電位能被施加到該讀出電晶體的該控制閘上;該載子控制區的該復位電晶體,被設置為通過其汲極端輸入一個正電壓作用於光電二極體,當該復位電晶體打開時,該正電壓即會作用在該光電二極體上,使該光電二極體產生空乏層並感光,同時也可以作為電輸入端,輸入其中一位運算量;以及 該選擇電晶體,被設置為用於控制整個該光電計算單元的輸出。
  6. 如請求項1所述的光電計算單元,還包括一個在光學上與該光電計算單元相對應的發光單元,該發光單元被設置為發出的光在該光電計算單元中產生光生載子,被作為光電計算單元的光輸入量,並且與該光電計算單元中電輸入端輸入的電輸入量相互作用,所得結果被設置為光電運算結果。
  7. 根據請求項6所述的光電計算單元,其中,該發光單元由一個訊號轉換驅動器進行驅動,該訊號轉換驅動器被設置為將數位訊號轉化為發光單元的驅動電流脈衝脈寬,同時驅動整片多個發光單元組成的發光陣列,或通過選址來驅動特定的相關的發光單元,使得該相關的發光單元產生相應時長的光訊號,該光訊號被設置為作為相應光電計算單元的光學輸入量。
  8. 如請求項6所述的光電計算單元,被設置為組成二維或三維陣列,形成光電計算模組,以實現運算功能。
  9. 一種光電計算陣列,由多個如請求項6所述的光電計算單元組成,其中,該些發光單元構成一發光陣列,該發光陣列和該光電計算陣列之間設置有一層或多層光學結構,用以實現來自該發光陣列的光被照射到該光電計算陣列預定位置的對焦方式,實現該發光陣列和該光電計算陣列之間的光學對應。
  10. 一種由光電計算單元執行的光電計算方法,該光電計算單元包括至少一個發光單元和至少一個光電計算單元,該光電計算單元包括一個半導體 多功能區結構,該多功能區結構包括載子控制區、耦合區、以及光生載子收集區和讀出區,其中該光電計算方法包括:將該發光單元設置為發出光,並且該光照射到該光電計算單元,並經該載子控制區控制,在該光生載子收集區和讀出區中的收集區中產生光生載子,作為該光電計算單元的第一個運算量;在該多功能區中的其中一個區產生電運算量並輸入相應的載子,該載子作為該光電計算單元的第二個運算量;將代表該第一個運算量的光生載子與代表該第二個運算量的載子共同作用於該光生載子讀出區的載子,被作用後的載子作為該光電運算的結果;以及將作為光電運算結果的載子,在該光生載子收集區和讀出區的讀出區的輸出端輸出。
  11. 如請求項6所述的光電計算單元,被用於作為加法器,包含一個該發光單元以及一個光電計算單元,該光電計算單元至少包含載子控制區、耦合區和光生載子收集區和讀出區,其中:該發光單元,被設置為發出代表第一個加數的光訊號;該載子控制區,用於控制並調製該光電計算單元內的載子,並被設置為光電計算單元的電輸入端,用於輸入第二個加數;該耦合區,被設置為連接該光生載子收集區和讀出區,並使該光生載子收集區和讀出區中該收集區的光生載子作用於該讀出區中的載子;該光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中該光生載子收集區和讀出區中的該收集區,被設置為吸收該發光單元發出的光,產生並收集光生載子,並且在該光輸入端輸入第一個加數,該第一個加數和該第二個加數共同作用於該光生載子收集區和讀出區中的該讀出 區裡的載子,並且被作用後的載子經結果輸出端被作為加法器的結果輸出。
  12. 如請求項10所述的光電計算方法,被用於進行加法運算,其中:該發光單元發出的光子所產生的光生載子被設置為第一個加數;在該載子控制區注入載子,並且將該載子作為第二個加數;在該光生載子收集區和讀出區中,使代表該第一加數的光生載子和代表該第二加數的載子共同作用於該光生載子收集區和讀出區中的該讀出區的載子,並且被作用後的該載子被作為該加法運算的結果,在光電子收集區和讀出區被輸出。
  13. 如請求項6所述的光電計算單元,被用於作為多個加數同時相加的加法器,包含一個該發光單元,該光電計算單元至少包含該載子控制區、該耦合區、以及該光生載子收集區和讀出區,其中:該發光單元,被設置為發出代表第一個加數的光訊號;該載子控制區,被設置為採用並排的多控制區結構,以用於控制並調製該光電計算單元內的載子,並作為加法器的電輸入端,輸入其他多個加數;該耦合區,被設置為連接該光生載子收集區和讀出區,並使該光生載子收集區和讀出區中的該收集區的光生載子作用於該讀出區中的載子;該光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中光生載子收集區和讀出區中的該收集區,被設置為吸收該發光單元發出的光,產生光生載子並收集,並作為該加法器的光輸入埠,被輸入其中一個加數,由電輸入端和光輸入端共同輸入的多個加數共同作用於光生載子收集區和讀出區中的該讀出區中的載子,並且該讀出區中的載子經結果輸出端被作為加法器的結果輸出。
  14. 如請求項10所述的光電計算方法,用於進行多個加數的加法運算,其中:該發光單元發出的光子所產生的光生載子被設置為第一個加數;該載子控制區被設置為多閘極結構,並且將從多閘極輸入的載子作為其他多個加數;在該光生載子收集區和讀出區中,使代表該第一加數的光生載子和代表該其他加數的載子共同作用於光生載子收集區和讀出區中的該讀出區的載子,並且被作用後的載子作為該加法運算的結果,在光電子收集區和讀出區的輸出端被輸出。
  15. 如請求項6所述的光電計算單元,被用於作為至少兩個加數的加法器,包含至少兩個該發光單元和至少兩個該光電計算單元,該光電計算單元,至少包含載子控制區,耦合區和光生載子收集區和讀出區,其中:至少兩個該發光單元,被設置為發出代表至少兩個加數的光訊號;該至少兩個光電計算單元的輸出端,被設置為彼此相連,其中該至少兩個光電計算單元的載子控制區,被設置為輸入一個恆定電壓值,用於控制並驅動單元內的載子;該至少兩個光電計算單元的該耦合區,負責連接光生載子收集區和讀出區,並被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;該至少兩個光電計算單元的該光生載子收集區和讀出區,每個各包含一個光輸入端和至少一個結果輸出端,其中該至少兩個光電計算單元的光輸入端,被設置為分別接受至少兩個發光單元發出的該光訊號,該光訊號分別被作 為加法器的加數;該至少兩個結果輸出端,被設置為輸出受光輸入端輸入量影響的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,並經彙聚後得到最終結果,該最終結果被作為加法運算的結果輸出。
  16. 如請求項10所述的光電計算方法,用於進行至少兩個加數的加法運算,其中:該至少兩個發光單元發出的光訊號,作為加法器的至少兩個加數,對應地照射到至少兩個對應的光電計算單元;在該至少兩個光生載子收集區和讀出區中,使代表相應加數的光生載子作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在一個恆定電壓的驅動下,以電流的形式輸出,再流經相連的輸出端完成電流的彙聚,該彙聚後的電流值被作為加法器的結果輸出。
  17. 如請求項6所述的光電計算單元,被用於作為乘法器,包含該一個發光單元以及一個光電計算單元,該光電計算單元至少包含載子控制區、耦合區和光生載子收集區和讀出區,其特徵為:該發光單元,在被設置為發出代表第一個乘數的光訊號;該載子控制區,被設置為輸入恆定的電壓值,用於控制並驅動單元內的載子;該耦合區,連接光生載子收集區和讀出區,並被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;該光生載子收集區和讀出區,包含一個光輸入端、一個電輸入端和至少一個結果輸出端,其中,光生載子收集區和讀出區中的收集區,被設置為吸收發光單元發出的光,產生光生載子並收集,為乘法器的光輸入埠,輸入第一 個乘數;以及該電輸入埠,被設置為輸入乘法器的第二位乘數,並且該光生載子收集區和讀出區中該讀出區內的被第一位乘數和第二位乘數共同作用的載子,作為光輸入量和電輸入量作用後的載子,在該光生載子收集區和讀出區的輸出端作為結果被輸出。
  18. 如請求項10所述的光電計算方法,被用於進行乘法運算,其中:該發光單元發出的光子所產生的光生載子被設置為乘法器的第一個乘數;以及在該光生載子收集區和讀出區,從該讀出區的電輸入埠輸入的載子被設置為乘法器的第二個乘數,使代表該第一乘數的光生載子和代表該第二加數的載子共同作用於光生載子收集區和讀出區中該讀出區內的載子,並且被作用後的該載子被作為乘法器的結果,在光生載子收集區和讀出區的輸出端被輸出。
  19. 如請求項6所述的光電計算單元,被用於作為乘法器,包含一個該發光單元一個光電計算單元,該光電計算單元至少包含載子控制區,耦合區和光生載子收集區和讀出區,其中:該發光單元,被設置為發出代表第一個乘數的光訊號;該載子控制區,被設置為控制並調製該光電計算單元內的載子,並作為該光電計算單元的電輸入端,串列的按照高低位元的順序輸入經過二進位轉換的第二個乘數;該耦合區,被設置為負責連接光生載子收集區和讀出區,使該光生載子收集區和讀出區中的該收集區的光生載子作用於該讀出區中的載子;以及該光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中, 該光生載子收集區和讀出區中的該收集區,被設置為吸收該發光單元發出的光,產生光生載子並收集,為乘法器的光輸入埠,輸入第一個乘數;該第一個乘數和該第二個乘數的二進位各位元上的二值化輸入量共同作用於光生載子收集區和讀出區中讀出區裡的載子,並且該讀出區中的載子經結果輸出端被作為第一個乘數和第二個乘數各位元上的值的乘法結果被依次串列地輸出,再經過移位和拼接工作,得到最終的乘法結果。
  20. 如請求項10所述的光電計算方法,被用於進行乘法運算,其中:該發光單元發出的光子所產生的光生載子被設置為乘法器的光輸入端資料,為第一個乘數;將被代表為第二位乘數的量被轉化為二進位,並按照位元高低串列地從該載子控制區以被調製過的載子形式注入,且該被調製的載子被作為乘法器的第二個乘數,從電輸入端輸入;在該載子收集區和讀出區中,使代表該第一個乘法量的光生載子和代表該第二個乘法量的串列輸入地載子控制區載子依次共同作用於相應的光生載子收集區和讀出區中讀出區的載子;以及在該光生載子收集區和讀出區的輸出端的輸出量,作為結果被輸出,再依次被移位和累加,所得結果為最終的乘法運算結果。
  21. 如請求項6所述的光電計算單元,用於作為乘法器,包含至少兩個該發光單元和至少兩個該光電計算單元,各該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該至少兩個發光單元,被設置為發出數值相同的光訊號,該光訊號被作為第一個乘數; 該至少兩個光電計算單元,被設置為並列排列,但不改變發光單元在光學上與之對應的關係,其中該至少兩個光電計算單元的載子控制區,被設置用於控制並調製該些光電計算單元內的載子,並且按照位元高低,將經過二進位轉化後的第二個乘數的二值資料,並列地輸入到該至少兩個並列排列的光電計算單元上,作為乘法器的電輸入端資料,其組合被作為第二個乘數;該至少兩個光電計算單元的該些耦合區,各該耦合區連接該光生載子收集區和讀出區,被設置為使該光生載子收集區和讀出區中的該收集區的光生載子作用於該讀出區中的載子;以及該至少兩個光電計算單元的該些光生載子收集區和讀出區,各該光生載子收集區和讀出區包含一個光輸入端和至少一個結果輸出端,其中:該至少兩個光電計算單元的光輸入端,被設置為接受至少兩個發光單元發出的該光訊號;以及該至少兩個結果輸出端,被設置為輸出受第一個乘數和第二個乘數各個位元資料共同影響的光生載子收集區和讀出區中讀出區裡的載子,並且在該至少兩個光電子收集區和讀出區的輸出端輸出,進行移位和累加的操作,其結果被作為乘法器的結果被輸出。
  22. 如請求項10所述的光電計算方法,被用於進行乘法運算,其中:該至少兩個發光單元發出的光子所產生的光生載子被設置為乘法器的光輸入端資料,作為第一個乘數;將代表第二個乘數的量轉化為二進位,並按照位元高低並列地從該至少兩個載子控制區以被調製過的載子形式分別注入不同的單元中,且該被調製的載子,被作為第二個乘數;以及在該至少兩個載子收集區和讀出區中,使代表該第一個乘法量的光生載子和代 表該第二個乘法量不同位元二值資料的載子控制區載子,分別作用於相應的至少兩個光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在光電子收集區和讀出區的輸出端作為結果被輸出,再經過移位和累加操作,被作為最終的乘法器運算結果。
  23. 如請求項6所述的光電計算單元,被用於作為乘法器,包含至少兩個該發光單元和至少兩個該光電計算單元,各該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該至少兩個發光單元,被設置為發出數值相同的光訊號,該光訊號被作為第一個乘數;至少兩個光電計算單元,被設置為並列排列,但不改變發光單元在光學上與之的對應關係,並將輸出端相連,其中,該至少兩個光電計算單元的載子控制區,被設置用於控制並調製單元內的載子,並且按照位元高低,將經過二進位轉化後的第二個乘數的二值資料並列的輸入到該至少兩個並列排列的光電計算單元上,作為乘法器的電輸入端資料,為第二個乘數;該至少兩個光電計算單元的該耦合區負責連接該光生載子收集區和讀出區,被設置為使該光生載子收集區和讀出區中該收集區的光生載子作用於該讀出區中的載子;以及該至少兩個光電計算單元的該光生載子收集區和讀出區,各該光生載子收集區和讀出區包含一個光輸入端、一個電輸入端和至少一個結果輸出端,其中:該些光電計算單元的光輸入端被設置為接受至少兩個發光單元發出的該光訊號;該電輸入端,被設置為按照該載子控制區上輸入資料位元的高低,輸入代表該位元位權的載子;以及該至少兩個結果輸出端,輸出受第一個乘數、第二個乘數的各該位元資料和各該位元 位權共同影響的光生載子收集區和讀出區中該讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,並經彙聚後輸出最後的乘法結果。
  24. 如請求項10所述的光電計算方法,被用於進行乘法運算,其中:該至少兩個發光單元發出的光子所產生的光生載子被設置為乘法器的光輸入端資料,為第一個乘數;將被作為第二個乘數的量被轉化為二進位,並按照位元高低並列地從該至少兩個載子控制區以被調製過的載子形式分別注入不同的該光電計算單元中,且該被調製的載子,被作為第二個乘數;以及在該至少兩個載子收集區和讀出區中,通過電輸入端輸入被設置為和該載子控制區上輸入資料位元元權相當的載子,並且使代表該第一個乘法量的光生載子和代表該第二個乘法量不同位元的二值資料的該些載子控制區的載子,以及代表位權的載子收集區和讀出區的電輸入端載子,共同作用於相應的至少兩個光生載子收集區和讀出區中該讀出區的載子,並且被作用後的該載子以電流的形式輸出,並加以彙聚,其結果被作為該乘法器的結果輸出。
  25. 如請求項11、13和15中任一項所述的光電計算加法器,被用於組成光電計算向量加法器,用於進行至少兩組維度至少為二的向量的加法運算,其中,該光電計算加法器包含至少兩個加數輸入端和結果輸出端,其中:各該加法器的輸入端,被設置為輸入至少兩位加數,代表至少兩個待加向量相同序號的對應元素,其中,使用的加法器輸入端的數量,不少於該待加向量的數量;以及各該加法器的輸出端,被設置為輸出兩個向量相同序號對應元素相加的結果, 該至少兩個結果被組合,拼接成一個完整的向量,該完整的向量為該向量加法器的運算結果。
  26. 如請求項12、14和16中任一項所述的光電計算方法,被用於進行向量加法運算,用於進行至少兩組維度至少為二的向量的加法運算,其中:將該至少兩個待加向量按照維度進行拆分,形成多組獨立的加數;將每一組獨立的加數輸入到每一個加法器的加數輸入端,其中使用的加法器輸入端的數量不少於待加向量的數量;以及將該至少兩個加法器輸出端的輸出結果,按照輸入的向量元素序號,重新拼接成一個完整的向量,該完整的向量即為至少兩個待加向量加法運算後的結果向量。
  27. 如請求項19、21和23中任一項所述的光電計算單元所述的光電計算乘法器,被用於組成光電計算向量點乘器,用於進行維度至少為二的向量的點乘運算,其中,該光電計算乘法器包含兩個乘數輸入端和結果輸出端,其中:至少兩個該光電計算乘法器,被設置為獨立並列排列;每一個乘法器的輸入端,被設置為輸入待乘向量相同序號的對應元素的乘數;以及每一個乘法器的輸出端,被設置為輸出兩個待乘向量相同序號對應元素相乘的結果,該至少兩個結果,拼接成一個完整的向量,該完整向量為該向量點乘器的運算結果。
  28. 如請求項請求項20、22和24中任一項所述的光電計算方法,被用於 進行向量點乘運算,用於進行維度至少為二的向量的點乘運算,其中:將兩個待乘向量按照維度進行拆分,形成多組獨立的乘數;將每一組獨立的乘數輸入到每一個乘法器的乘數輸入端;以及將該至少兩個乘法器輸出端的輸出結果,按照輸入的向量元素序號,重新拼接成一個完整的向量,該完整的向量即為兩個待乘向量點乘後的結果向量。
  29. 如請求項19、21和23中任一項所述的光電計算乘法器,被用於組成高位元寬度乘法器,其中各該光電計算乘法器包含兩個乘數輸入端和結果輸出端,其中還包括:該至少四個光電計算乘法器,被設置為並列排列;該至少四個乘法器的輸入端,其輸入量被設置為經過高低位拆分後的待乘數部分資料的乘數;以及該至少四個乘法器的輸出端,被設置為輸出兩個待乘數相應高低位相乘後的結果,其中該至少四個乘法器輸出的結果,被按照輸入資料的位元權進行相應的移位和累加,得到一個完整的高位元寬度數,並作為最終的乘法結果。
  30. 如請求項20、22和24中任一項所述的光電計算方法,被用於進行高位元寬度乘法運算,其中:將兩個待乘高位元寬度數按照位元進行高低位拆分,將兩個高位元寬度乘數拆分成兩組低位元寬度乘數,該高位元寬度乘數拆成的份數取決於高位元寬度乘數的具體位元寬;拆分後的兩組低位元寬度乘數按照兩兩相乘的組合規則,分別輸入到至少四個乘法器的乘數輸入端,其中,使用的乘法器的數量,取決於待乘高位元寬度乘數具體位元寬;以及 將該至少四個乘法器輸出端的輸出結果按照輸入的乘數的位元寬度高低,進行相應的移位操作,再將移位後的結果累加,最終的累加結果即為兩個高位元寬度乘數相乘後的結果。
  31. 如請求項6所述的光電計算單元,包含多個該發光單元和該光電計算單元,組成串列矩陣向量乘法器;該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元,被設置為發出待乘矩陣中資料的光訊號;該光電計算單元,被設置為排列成和待乘矩陣行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中該單元陣列每一行的所有單元的光生載子收集區和讀出區的輸出端彼此相連,該單元陣列每一列的所有單元的載子控制區彼此相連;該單元陣列中每一列單元的載子控制區,被設置用於控制並調製單元內的載子,並且按行輸入被設置為代表向量中各個元素的載子,為矩陣向量乘法器的向量資料登錄端;其中,該向量中各個元素的資料被設置為轉化為二進位後,按照位元串列的將代表二值化後資料的載子輸入到各個列的載子控制區;該光電計算單元的耦合區,負責連接光生載子收集區和讀出區,被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;以及該多個光電計算單元的光生載子收集區和讀出區,每個單元包含一個光輸入端和至少一個結果輸出端,其中:該光電計算單元的光輸入端被設置為接受相應的發光單元發出的光訊號並輸入矩陣中的資料,被設置為矩陣向量乘法器的矩陣資料登錄端; 該結果輸出端,被設置為輸出受矩陣資料和向量資料共同作用的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再按列彙聚,並且將結果進行輸出;以及所輸出的結果再按輸入的位元進行移位操作,然後累加,即得到最終的結果向量。
  32. 如請求項10所述的光電計算方法,用於進行矩陣向量乘法運算,其中:該發光單元發出的光子所產生的光生載子被設置為矩陣向量乘法器的光輸入端資料,為待乘的矩陣資料;將該光電計算單元排列成和待乘矩陣行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列每一行的所有單元的光生載子收集區和讀出區的輸出端彼此相連,該單元陣列每一列的所有單元的載子控制區彼此相連;向量資料中的每個元素被轉化為二進位,並按照位元高低串列地從被設置為同列相連的載子控制區以被調製過的載子形式,將不代表不同元素的資料分別注入不同的列中,為待乘的向量資料;以及在該光生載子收集區和讀出區中,使代表該矩陣數據的光生載子和代表該向量資料不同位元二值資料的載子控制區載子共同作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,並按列彙聚,再完成移位和累加操作,即得到最終乘法結果向量。
  33. 如請求項6所述的光電計算單元,被用於組成並列矩陣向量乘法器,包含多個該發光單元和多個該光電計算單元,各該光電計算單元至少包含該 載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元被設置為發出待乘矩陣中資料的光訊號;該光電計算單元,被設置得分成多組,每一組單元再排列成和待乘矩陣行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列每一行的所有單元的光生載子收集區和讀出區的輸出端彼此相連,該單元陣列每一列的所有單元的載子控制區彼此相連;每一組單元陣列中每一列單元的載子控制區,被設置為用於控制並調製該光電計算單元內的載子,並且並列地按組按列輸入被設置為代表向量中各個元素二值化後對應位元資料的載子,為矩陣向量乘法器的向量資料登錄端;多個該光電計算單元的該耦合區負責連接光生載子收集區和讀出區,被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;多個該光電計算單元的光生載子收集區和讀出區,各該光電計算單元包含一個光輸入端和至少一個結果輸出端,其中:多個該光電計算單元的光輸入端,被設置為接受多個發光單元發出的該光訊號,輸入矩陣中的資料,為矩陣向量乘法器的矩陣資料登錄端;以及該多個結果輸出端,被設置為輸出受矩陣資料和向量資料共同作用的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再按列彙聚後按輸入的位元進行移位操作最後累加,形成最終的結果向量。
  34. 如請求項10所述的光電計算方法,被用於進行矩陣向量乘法運算,其中:該多個發光單元發出的光子所產生的光生載子被設置為矩陣向量乘法器的光輸 入端資料,為矩陣資料;將多個光電計算單元分成多組,每一組光電計算單元再排列成和待乘矩陣行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列每一行的所有單元的光生載子收集區和讀出區的輸出端都相連,該單元陣列每一列的所有單元的載子控制區都相連;向量資料中的每個元素被轉化為二進位,並列地從相應組的被設置為同列相連的載子控制區以被調製過的載子形式,將代表不同元素不同位元的資料分別注入不同組的不同的列中,為向量資料;以及該載子收集區和讀出區中,使代表該矩陣數據的該光生載子和代表該向量資料不同位元二值資料的載子控制區載子分別共同作用於相應的多個光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,並按列彙聚,再經過移位和累加操作,即得到最終結果向量。
  35. 如請求項31和33中任一項所述的光電計算單元,被用於組成平均池化運算器,用於至少包含兩個元素的矩陣的池化運算,該光電矩陣向量乘法器包含一個矩陣輸入端、一個向量輸入端和結果輸出端,其中:光電矩陣向量乘法器,行數為1,列數和待池化矩陣元素個數相當,作為待池化矩陣的平均池化運算器;該光電矩陣向量乘法器的向量輸入端,作為電輸入端,輸入待池化矩陣中的不同元素,為該池化運算器的待池化矩陣輸入端;該矩陣輸入端係作為光輸入端,輸入行數為1,列數和該待池化矩陣元素個數相同,且每個元素都為該待池化矩陣元素個數的倒數的矩陣,為平均值分母輸入端;以及 該結果輸出端,被設置為輸出該待池化矩陣最終的平均池化結果。
  36. 如請求項32和34中任一項所述的光電計算方法,被用於進行平均池化運算,用於進行元素個數至少為2的矩陣的平均池化運算,其中:將待池化矩陣拆分成一個個獨立的元素,再將拆分後的所有元素重新組成維度和待池化矩陣元素個數相當的向量;該矩陣向量乘法器,適用於進行待乘矩陣列數和待池化矩陣元素個數相等、行數為1的矩陣向量運算;將該待池化矩陣拆分後重組的向量,作為矩陣向量乘法器的向量輸入端,即電輸入端資料,輸入到矩陣向量乘法器中;將維度和所使用的矩陣向量乘法器相同,每一個元素都為待池化矩陣元素個數的倒數的矩陣作為矩陣向量乘法器的矩陣輸入端,即光輸入端資料,輸入到矩陣向量乘法器中,作為平均池化運算中求平均值的分母;該結果輸出端輸出結果即為待池化矩陣中每一個元素除以元素個數再相加的結果,即待池化矩陣平均池化後的結果。
  37. 如請求項6所述的光電計算單元,組成串列卷積運算器,該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元,被設置為發出代表卷積核中資料的光訊號;該光電計算單元,被設置為排列成和卷積核行列數相等的陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列的所有單元的該光生載子收集區和讀出區的輸出端彼此相連,匯總成一個輸出端;該陣列中各該光電計算單元的載子控制區,被設置用於控制並調製單元內的載 子,並且串列輸入被設置為代表經過補零操作後的待卷積矩陣中和初始卷積核位置對應的小矩陣中各個元素相應位元資料的載子,為卷積運算器的待卷積矩陣資料登錄端;其中,該小矩陣中資料被設置為轉化為二進位後,按照位元串列的將代表二值化後資料的載子輸入到各個單元的載子控制區;該陣列中光電計算單元的該耦合區,連接該光生載子收集區和讀出區,被設置為使該光生載子收集區和讀出區中的該收集區的光生載子作用於該讀出區中的載子;該陣列中每一個光電計算單元的光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中,該光輸入端被設置為接受發光單元發出的該光訊號,輸入卷積核中的資料,為卷積運算器的卷積核輸入端;該每一個單元的輸出端,被設置為輸出受待卷積矩陣分割出的小矩陣相應位元資料和卷積核資料共同影響的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再經並聯的輸出端使得陣列中全部光電計算單元的輸出電流全部彙聚後,最後按輸入的位元進行移位操作然後累加,得到當前卷積核位置對應的卷積運算結果;按卷積運算所需步長移動卷積核的位置,重新輸入當前卷積核位置對應的待卷積矩陣資料分割出的小矩陣資料,得到輸出值後繼續移動卷積核,直到完成全部卷積運算;將該全部輸出值重新組成相應維度的矩陣,即得到最終卷積運算的結果。
  38. 如請求項10所述的光電計算方法,用於進行卷積運算,其中:該發光單元發出的光子所產生的光生載子被設置為卷積運算器的光輸入端資料,為卷積核資料; 將光電計算單元排列成和該卷積運算卷積核行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列中的每一個光電計算單元的所有載子收集區和讀出區中讀出區的輸出端都相連,彙聚成一個輸出端;將待卷積矩陣經過補零操作後,按照卷積核當前的位置,分割出維度和卷積核大小相當的小矩陣,並將小矩陣中的每個元素轉化為二進位,並按照位元高低串列地從該載子控制區以被調製過的載子形式輸入到每一個單元當中,為待卷積矩陣資料;在該陣列中單元的載子收集區和讀出區中,使代表該待卷積矩陣中分割出的小矩陣相應位元資料的光生載子和代表該卷積核資料的載子控制區載子分別共同作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,並全部彙聚,再完成移位和累加操作,得到當前卷積核位置對應的卷積運算結果;以及按卷積運算所需步長移動卷積核的位置,重新輸入當前卷積核位置對應的待卷積矩陣資料分割出的小矩陣資料,得到輸出值後繼續移動卷積核,直到完成全部卷積運算;將該全部輸出值重新組成相應維度的矩陣,即得到最終卷積運算的結果。
  39. 如請求項6所述的光電計算單元,被用於組成並列卷積運算器,該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元,被設置為發出代表卷積核中資料的光訊號;該光電計算單元,被設置為分成多組,並且每一組都排列成行列數和卷積核行列數相等的陣列,但不改變該發光單元在光學上與之的對應關係,其中, 該每一組陣列的所有單元的光生載子收集區和讀出區的輸出端都相連,匯總成一個輸出端;各該組陣列中每個光電計算單元的載子控制區,被設置用於控制並調製單元內的載子,並且並列輸入被設置為代表經過補零操作後的待卷積矩陣中和初始卷積核位置對應的小矩陣中各個元素相應位元資料的載子,為卷積運算器的待卷積矩陣資料登錄端;其中,該小矩陣中資料被設置為轉化為二進位後,將相應位元對應的資料登錄到相應組的單元陣列中;該各個組陣列中光電計算單元的耦合區負責連接該光生載子收集區和讀出區,被設置為使該光生載子收集區和讀出區中該收集區的光生載子作用於該讀出區中的載子;各該組陣列中每一個光電計算單元的光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中,該光輸入端,用以接受發光單元發出的該光訊號,輸入卷積核中的資料,為卷積運算器的卷積核輸入端,不同組的陣列接收相同的光輸入資料;各該光電計算單元的輸出端,被設置為輸出受待卷積矩陣分割出的小矩陣相應位元資料和卷積核資料共同影響的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再經並聯的輸出端使得陣列中全部光電計算單元的輸出電流全部彙聚,最後按輸入的位元進行移位操作然後累加,得到當前卷積核位置對應的卷積運算結果;按卷積運算所需步長移動卷積核的位置,重新輸入當前卷積核位置對應的待卷積矩陣資料分割出的小矩陣資料,得到輸出值後繼續移動卷積核,直到完成全部卷積運算;將該全部輸出值重新組成相應維度的矩陣,即得到最終卷積運算的結果。
  40. 如請求項10所述的光電計算方法,被用於進行卷積運算,其中: 該發光單元發出的光子所產生的光生載子被設置為卷積運算器的光輸入端資料,為卷積核資料;將光電計算單元分成多組,每一組都排列成行列數和卷積核行列數相等的陣列,但不改變發光單元在光學上與之的對應關係,其中,該每一組單元陣列中的每一個光電計算單元的所有載子收集區和讀出區中讀出區的輸出端都相連,彙聚成一個輸出端;將待卷積矩陣經過補零操作後,按照卷積核當前的位置,分割出維度和卷積核大小相當的小矩陣,再將小矩陣中的每個元素轉化為二進位,並將相應位元資料並列地輸入相應組陣列的載子控制區,以被調製過的載子形式輸入到每一個單元當中,為待卷積矩陣資料;在該光電計算單元的載子收集區和讀出區中,使代表該待卷積矩陣中分割出的小矩陣相應位元資料的光生載子和代表該卷積核資料的載子控制區載子分別共同作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,一個組陣列的所有輸出電流全部彙聚,再完成移位和累加操作,即得到當前卷積核位置對應的卷積運算結果;以及按卷積運算所需步長移動卷積核的位置,重新輸入當前卷積核位置對應的待卷積矩陣資料分割出的小矩陣資料,得到輸出值後繼續移動卷積核,直到完成全部卷積運算;將該全部輸出值重新組成相應維度的矩陣,即得到最終卷積運算的結果。
  41. 一種神經網路演算法加速裝置,包括由如請求項31或33所述的矩陣向量乘法器所組成的平均池化運算器以及如請求項37或39所述的卷積運算器,其中: 該矩陣向量乘法器的矩陣輸入端,被設置為輸入網路權值,從向量輸入端輸入上一級網路的輸出資料或初始資料;該平均池化運算器的平均值分母輸入端,被設置為輸入待池化矩陣中元素個數的倒數;待池化矩陣輸入端,被設置為輸入待池化資料;該卷積運算器的卷積核輸入端,被設置為輸入卷積核中的資料;從待卷積矩陣輸入端輸入卷積核當前位置對應的待卷積矩陣中的小矩陣資料;非線性函數模組,由電學計算元件組成,被設置為運算非線性函數;以及通用邏輯運算模組,包括電學運算器和/或請求項1該光電計算單元,被設置為用於整合並控制該矩陣向量乘法器、平均池化運算器以及卷積運算器的運算功能。
  42. 一種神經網路運算的加速方法,採用使用如請求項32或34所述的矩陣向量乘法以進行池化運算的光電計算方法以及如請求項38或40所述的卷積的光電計算方法,其中:從有關的矩陣向量乘法器的矩陣輸入端輸入網路權值,從該矩陣向量乘法器的向量輸入端輸入上一級網路的輸出資料或初始資料;從有關的平均池化運算器的平均值分母輸入端輸入待池化矩陣中元素個數的倒數,從該平均池化運算器的待池化矩陣輸入端輸入待池化資料;從有關的卷積運算器的卷積核輸入端輸入卷積核中的資料,從該卷積運算器的待卷積矩陣輸入端輸入卷積核當前位置對應的待卷積矩陣中的小矩陣資料;採用由電學計算元件組成的非線性函數模組,用於運算非線性函數;以及採用通用邏輯運算模組,該通用邏輯運算模組包括電學運算器和/或基於請求項1所述的光電計算單元,用於整合並控制該矩陣向量乘法器、平均池化運算 器以及卷積運算器的運算功能。
  43. 如請求項6所述的光電計算單元,被用於組成以代數重建演算法為基礎的CT演算法加速器,該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元,被設置為發出CT演算法中系統矩陣中資料的光訊號;該光電計算單元,被設置為排列成和系統矩陣行列數相等的陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列的同一列的所有光電計算單元的載子收集區和讀出區的讀出區的輸出端彼此相連,匯總成一個輸出端,不同列的輸出端相互獨立;該陣列中每個光電計算單元的載子控制區,被設置用於控制並調製單元內的載子,並且串列輸入被設置為和當前反覆運算次數對應的預測圖像圖元資料二值化後相應位元資料的載子,為CT演算法加速器的預測圖像資料輸入端;該陣列中光電計算單元的耦合區負責連接光生載子收集區和讀出區,被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;該陣列中每一個光電計算單元的光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中,該光輸入端用以接受發光單元發出的該光訊號,輸入系統矩陣中的資料,為CT演算法加速器的系統矩陣輸入端;該每一個單元的輸出端,輸出受當前反覆運算預測圖像圖元資料相應位元資料和系統矩陣資料共同影響的該光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再經同列並聯的輸出端使得陣列中全部光電計算單元的輸出電流全部彙聚後,最後按輸入的位元進行移位操作然後累加,再在控制系統中完成其他非矩陣向量乘的運算內容 後,進入下一次反覆運算,並且,初始反覆運算時,第一次反覆運算的預測圖像圖元資料登錄該陣列第一行中單元的載子控制區,從第一行獲得輸出結果後經控制系統處理進入第二次反覆運算,將第二次反覆運算的預測圖像圖元資料登錄該陣列的第二行中單元的載子控制區,以此類推,完成所有行的反覆運算後輸出結果並返回第一行繼續反覆運算,完成全部反覆運算後輸出資料給控制系統後再送達顯示系統成像,獲得處理過的CT圖片。
  44. 如請求項10所述的光電計算方法,被用於進行CT演算法加速,其中:將該發光單元發出的光子所產生的光生載子設置為CT演算法加速器的光輸入端資料,為系統矩陣資料;將光電計算單元排列成和該系統矩陣行列數相同的單元陣列,但不改變發光單元在光學上與之的對應關係,其中,該單元陣列中同一行的每一個光電計算單元的所有光生載子收集區和讀出區中的該些讀出區的輸出端都相連,彙聚成一個輸出端;按照當前的反覆運算次數,將對應預測圖像圖元資料向量中的每個元素轉化為二進位,並按照位元高低串列地從該載子控制區以被調製過的載子形式輸入到每一個單元當中,為預測圖像資料;在該陣列中單元的載子收集區和讀出區中,使代表該當前反覆運算次數預測圖像圖元相應位元資料的光生載子和代表該系統矩陣資料的載子控制區載子分別共同作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,並按列彙聚,完成移位和累加操作,再在控制系統中完成其他非矩陣向量乘的運算內容後,進入下一次反覆運算;以及初始反覆運算時,第一次反覆運算的預測圖像圖元資料登錄該陣列第一行中單 元的載子控制區,從第一行獲得輸出結果後經控制系統處理進入第二次反覆運算,將第二次反覆運算的預測圖像圖元資料登錄該陣列的第二行中單元的載子控制區,以此類推,完成所有列的反覆運算後輸出結果並返回第一行繼續反覆運算,完成全部反覆運算後輸出資料給控制系統後再送達顯示系統成像,獲得處理過的CT圖片。
  45. 如請求項6所述的光電計算單元,被用於組成以代數重建演算法為基礎CT演算法加速器,該光電計算單元至少包含該載子控制區,該耦合區和該光生載子收集區和讀出區,其中:該發光單元被設置為發出CT演算法中系統矩陣中資料的光訊號;該光電計算單元被設置為分成多組,並且每一組都排列成行列數和系統矩陣行列數相等的陣列,但不改變發光單元在光學上與之的對應關係,其中,該各個組陣列的同一行的所有光電計算單元的載子收集區和讀出區的讀出區的輸出端都相連,匯總成一個輸出端,不同組不同行的輸出端相互獨立;該每一組陣列中每個光電計算單元的載子控制區,被設置用於控制並調製單元內的載子,並且並列輸入被設置為和當前反覆運算次數對應的預測圖像圖元資料二值化後相應位元資料的載子,為CT演算法加速器的預測圖像資料輸入端,其中,該預測圖像資料被設置為轉化為二進位後,將相應位元對應的資料登錄到相應組的單元陣列中;該陣列中光電計算單元的耦合區負責連接光生載子收集區和讀出區,被設置為使光生載子收集區和讀出區中收集區的光生載子作用於該讀出區中的載子;該陣列中每一個光電計算單元的光生載子收集區和讀出區,包含一個光輸入端和至少一個結果輸出端,其中,所述的光輸入端,用以接受發光單元發出 的該光訊號,輸入系統矩陣中的資料,為CT演算法加速器的系統矩陣輸入端,不同組的陣列接收相同的光輸入資料;所述的每一個單元的輸出端,輸出受當前反覆運算預測圖像圖元資料相應位元資料和系統矩陣資料共同影響的光生載子收集區和讀出區中讀出區裡的載子,又在固定電壓的驅動下以電流的形式輸出,再經同列並聯的輸出端使得陣列中全部光電計算單元的輸出電流全部彙聚後,最後按輸入的位元進行移位操作然後累加,再在控制系統中完成其他非矩陣向量乘的運算內容後,進入下一次反覆運算,並且,初始反覆運算時,第一次反覆運算的預測圖像圖元資料登錄該各個組陣列第一行中單元的載子控制區,從第一行獲得輸出結果後經控制系統處理進入第二次反覆運算,將第二次反覆運算的預測圖像圖元資料登錄該各個組陣列的第二行中單元的載子控制區,以此類推,完成所有行的反覆運算後輸出結果並返回第一行繼續反覆運算,完成全部反覆運算後輸出資料給控制系統後再送達顯示系統成像,獲得處理過的CT圖片。
  46. 如請求項10所述的光電計算方法,被用於進行CT演算法加速,其中:將該發光單元發出的光子所產生的光生載子設置為CT演算法加速器的光輸入端資料,為系統矩陣資料;將光電計算單元分成多組,並且每一組都排列成行列數和系統矩陣行列數相等的陣列,但不改變該發光單元在光學上與之的對應關係,其中,該單元陣列中同一列的每一個光電計算單元的所有載子收集區和讀出區中讀出區的輸出端都相連,彙聚成一個輸出端;按照當前的反覆運算次數,將對應預測圖像圖元資料向量中的每個元素轉化為二進位,並將相應位元資料並列地輸入相應組陣列的載子控制區,以被調製過的載子形式輸入到每一個單元當中,為預測圖像資料; 在該陣列中單元的載子收集區和讀出區中,使代表該當前反覆運算次數預測圖像圖元相應位元資料的光生載子和代表該系統矩陣資料的載子控制區載子分別共同作用於相應的光生載子收集區和讀出區中讀出區的載子,並且被作用後的該載子在恆定電壓的驅動下,以電流的形式輸出,並按列彙聚,完成移位和累加操作,再在控制系統中完成其他非矩陣向量乘的運算內容後,進入下一次反覆運算;以及初始反覆運算時,第一次反覆運算的預測圖像圖元資料登錄該各個組陣列第一行中單元的載子控制區,從第一行獲得輸出結果後經控制系統處理進入第二次反覆運算,將第二次反覆運算的預測圖像圖元資料登錄該各個組陣列的第二行中單元的載子控制區,以此類推,完成所有行的反覆運算後輸出結果並返回第一列繼續反覆運算,完成全部反覆運算後輸出資料給控制系統後再送達顯示系統成像,獲得處理過的CT圖片。
  47. 一種單精確度浮點乘法器,包括如請求項29所述的光電計算單元和請求項11、13、15、17中任一項所述的光電計算單元,用於進行單精確度浮點數的乘法運算,其中,該高位元寬度光電計算乘法器,包含兩個高位元寬度乘數輸入端和結果輸出端;該光電加法器,包含兩個加數輸入端和結果輸出端,其中:該高位元寬度光電計算乘法器的兩個高位元寬度乘數輸入端,被設置為尾數輸入端,將經過加一操作的兩個待乘單精確度浮點數的尾數位元資料登錄高位元寬度乘法器的兩個高位元寬度輸入端,完成相乘後,輸出尾數位元運算結果給控制系統;該光電加法器的兩個加數輸入端,被設置為指數輸入端,將兩個待乘的單精確度浮點數的指數位元資料登錄加數輸入端,完成相加後輸出指數位元運算 結果給控制系統;以及該控制系統,被設置為完成兩個待乘單精確度浮點數的符號位元判斷操作,輸出相乘後的符號位元資料,再與被輸出到控制系統的尾數位元運算結果、指數位元運算結果重新組合成浮點數,最終得到的結果即兩個待乘單精確度浮點數的乘法結果。
  48. 一種單精確度浮點乘法計算方法,採用如請求項12、14、16、18、20、22、24中任一項所述的光電計算方法,該光電計算方法被用於高位元寬度乘法運算,其中:將兩個待乘單精確度浮點數拆分為兩個指數位元資料,兩個符號位元資料和兩個尾數位元資料,並對該兩個尾數位元資料進行加一操作;該兩個指數位元資料登錄光電計算加法器的兩個加數輸入端,輸出結果作指數位運算結果;該兩個經過加一操作的尾數位元資料登錄高位元寬度乘法器的兩個高位元寬度乘數輸入端,輸出結果作為尾數位運算結果;以及該兩個符號位元資料由一個控制系統完成正負判斷後,和尾數位運算結果、指數位元運算結果重新組合成浮點數,所獲得的兩個待乘單精確度浮點數,被作為最終乘法結果。
  49. 一種光電計算模組的數位邏輯控制方法,用於如請求項9所述的光電計算陣列的控制,其中:通過數位控制邏輯的資料登錄部分接收需要進行運算的被運算量,並將需要通過光來輸入的資料發送給光輸入控制部分,將需要通過電來輸入的資料發送給電輸入接收控制部分; 通過數位控制邏輯的光輸入控制部分控制該發光陣列的驅動裝置,使該發光陣列產生代表該光輸入量的光子,並入射光電計算單元;通過數位控制邏輯的光接收控制部分,控制該光電計算陣列中的光電計算單元,根據具體運算步驟,使需要接收光輸入資料的該光電計算單元的相應功能區,處於接收光訊號狀態,並接收入射的代表該光輸入量的光子,完成光輸入;通過數位控制邏輯的電輸入接收控制部分,控制該光電計算陣列中的光電計算單元,根據具體運算步驟,使需要接收電輸入資料的該光電計算單元的相應功能區,處於接收電訊號狀態,並接收輸入的代表該電輸入量的載子,完成電輸入,進行運算;通過數位控制邏輯的輸出控制部分,將計算產生的輸出資料按照不同的計算方法進行相應的處理,得到輸出所需的計算結果;以及通過數位控制邏輯的自檢控制部分,將自檢訊號輸入待自檢的該光電計算單元,接收該光電計算單元的返回訊號後得到自檢結果,判斷待自檢的該光電計算單元是否異常。
TW108142659A 2018-11-22 2019-11-22 光電計算單元、光電計算陣列及光電計算方法 TWI750541B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811398206.9 2018-11-22
CN201811398206.9A CN111208865B (zh) 2018-11-22 2018-11-22 光电计算单元、光电计算阵列及光电计算方法

Publications (2)

Publication Number Publication Date
TW202020599A TW202020599A (zh) 2020-06-01
TWI750541B true TWI750541B (zh) 2021-12-21

Family

ID=70773658

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108142659A TWI750541B (zh) 2018-11-22 2019-11-22 光電計算單元、光電計算陣列及光電計算方法

Country Status (7)

Country Link
US (1) US20210382516A1 (zh)
EP (1) EP3839694A4 (zh)
JP (1) JP7224065B2 (zh)
KR (1) KR102608628B1 (zh)
CN (1) CN111208865B (zh)
TW (1) TWI750541B (zh)
WO (1) WO2020103615A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960310B (zh) * 2019-04-02 2023-05-02 南京威派视半导体技术有限公司 一种光电计算单元
CN111723337B (zh) * 2020-06-16 2023-02-07 上海交通大学 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法
CN112929016B (zh) * 2021-01-28 2024-02-20 北京科技大学 一种垂直结构的光电逻辑开关
CN112836816B (zh) * 2021-02-04 2024-02-09 南京大学 一种适用于光电存算一体处理单元串扰的训练方法
CN113363271B (zh) * 2021-05-31 2023-12-22 武汉新芯集成电路制造有限公司 感光阵列及成像设备
CN113220268B (zh) * 2021-06-11 2022-08-02 上海交通大学 光电混合乘累加计算结构
KR102656904B1 (ko) 2022-03-30 2024-04-12 광주과학기술원 무전원 다기능성 광전 변환 논리소자, 이의 제조방법 및 이의 동작방법
CN114897800A (zh) * 2022-04-22 2022-08-12 南京航空航天大学 基于SiC神经网络芯片的超高速X射线图像识别方法及装置
CN114626011B (zh) * 2022-05-12 2022-08-09 飞诺门阵(北京)科技有限公司 光子计算神经网络运算加速方法、装置、设备及存储介质
CN115420226B (zh) * 2022-09-29 2024-06-28 成都理工大学 基于脉冲宽度的射线作用位置定位装置及定位方法
CN116094882B (zh) * 2022-11-07 2023-09-22 南京大学 基于模拟存内计算的调制、解调方法及系统
WO2024106784A1 (ko) * 2022-11-16 2024-05-23 경북대학교 산학협력단 광전자 모듈의 클러스터링을 통한 광 신경망의 구현 방법 및 클러스터링된 광전자 모듈을 통한 광신경망 장치
CN117391148A (zh) * 2022-12-14 2024-01-12 北京登临科技有限公司 卷积计算单元、ai运算阵列及相关设备
KR20240127783A (ko) * 2023-02-16 2024-08-23 서울대학교산학협력단 발광소자가 내장된 뉴로모픽 소자 및 이를 이용한 뉴로모픽 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130563A (en) * 1989-11-30 1992-07-14 Washington Research Foundation Optoelectronic sensory neural network
US5321639A (en) * 1992-03-02 1994-06-14 Regents Of The University Of California Dual-scale topology optoelectronic matrix algebraic processing system
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN106104406A (zh) * 2014-03-06 2016-11-09 前进公司 神经网络及神经网络训练的方法
CN107180844A (zh) * 2017-06-26 2017-09-19 南京大学 一种复合介质栅电容耦合变增益光敏探测器及其工作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2648386B2 (ja) * 1990-08-02 1997-08-27 三菱電機株式会社 光ニューロコンピュータ
WO1996000913A2 (de) * 1994-06-28 1996-01-11 Matthias Budil Holografischer neurochip
US7113967B2 (en) * 2001-05-29 2006-09-26 Magiq Technologies, Inc Efficient quantum computing operations
AU2003291293A1 (en) * 2002-11-05 2004-06-07 Lightfleet Corporation Optical fan-out and broadcast interconnect
CN100510836C (zh) * 2007-05-11 2009-07-08 中国科学院光电技术研究所 用于自适应光学系统波前控制运算的脉动阵列处理电路
US8316073B1 (en) * 2009-10-01 2012-11-20 Lockheed Martin Corporation Optical processor
CN102938409B (zh) * 2012-11-07 2015-09-23 南京大学 基于复合介质栅mosfet的双晶体管光敏探测器及其信号读取办法
JP7026057B2 (ja) * 2016-06-02 2022-02-25 マサチューセッツ インスティテュート オブ テクノロジー 光ニューラルネットワークのための装置および方法
CN107658321B (zh) * 2016-07-25 2019-12-27 南京威派视半导体技术有限公司 基于复合介质栅的双器件光敏探测单元、探测器及其方法
US10338630B2 (en) * 2017-04-03 2019-07-02 International Business Machines Corporation Optical computing system
CN110275569B (zh) * 2019-05-25 2023-05-02 南京惟心光电系统有限公司 光电计算单元工作状态的控制方法
CN110276046B (zh) * 2019-05-25 2023-06-13 南京惟心光电系统有限公司 一种光电计算单元的控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5130563A (en) * 1989-11-30 1992-07-14 Washington Research Foundation Optoelectronic sensory neural network
US5321639A (en) * 1992-03-02 1994-06-14 Regents Of The University Of California Dual-scale topology optoelectronic matrix algebraic processing system
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN106104406A (zh) * 2014-03-06 2016-11-09 前进公司 神经网络及神经网络训练的方法
CN107180844A (zh) * 2017-06-26 2017-09-19 南京大学 一种复合介质栅电容耦合变增益光敏探测器及其工作方法

Also Published As

Publication number Publication date
EP3839694A1 (en) 2021-06-23
JP7224065B2 (ja) 2023-02-17
TW202020599A (zh) 2020-06-01
KR102608628B1 (ko) 2023-11-30
CN111208865B (zh) 2021-10-08
KR20210062682A (ko) 2021-05-31
CN111208865A (zh) 2020-05-29
WO2020103615A1 (zh) 2020-05-28
US20210382516A1 (en) 2021-12-09
EP3839694A4 (en) 2021-10-27
JP2022500806A (ja) 2022-01-04

Similar Documents

Publication Publication Date Title
TWI750541B (zh) 光電計算單元、光電計算陣列及光電計算方法
TWI774147B (zh) 脈衝卷積神經網路演算法、積體電路及其製造方法、運算裝置及存儲介質
CN104702861B (zh) 具有光子计数器的低功率成像系统及操作像素阵列的方法
WO2018224910A1 (ja) 撮像装置および電子機器
WO2019012370A1 (ja) 撮像装置および電子機器
JP2005260706A (ja) 放射線撮像装置及びその制御方法
CN110263296B (zh) 一种基于光电计算阵列的矩阵向量乘法器及其运算方法
CN110009102B (zh) 一种基于光电计算阵列的深度残差网络的加速方法
CN110276046B (zh) 一种光电计算单元的控制方法
CN110244817B (zh) 一种基于光电计算阵列的偏微分方程求解器及其方法
Li et al. A binary sampling Res2net reconstruction network for single-pixel imaging
CN109993283B (zh) 基于光电计算阵列的深度卷积生成式对抗网络的加速方法
CN107765291A (zh) X射线探测器的信号读出装置和方法
Datta et al. Toward efficient hyperspectral image processing inside camera pixels
CN110276440A (zh) 一种基于光电计算阵列的卷积运算加速器及其方法
CN110275569B (zh) 光电计算单元工作状态的控制方法
JP2019004358A (ja) 撮像装置および撮像システム
KR20220044503A (ko) 시스템
CN110276048B (zh) 一种矩阵向量乘阵列的控制方法
CN110262774B (zh) 一种光电乘法器的计算方法
CN110276047B (zh) 一种利用光电计算阵列进行矩阵向量乘运算的方法
WO2018234925A1 (ja) 撮像装置
CN114843295A (zh) 基于复合介质栅结构的光电一体器件、阵列及其方法
CN109976441B (zh) 一种可实现高精度光输入的光电计算装置
CN109196383A (zh) 在读出阶段具有比例电荷增益的辐射成像检测器