TW201732689A - 用於可重置神經形態硬體之互連方案 - Google Patents
用於可重置神經形態硬體之互連方案 Download PDFInfo
- Publication number
- TW201732689A TW201732689A TW105138122A TW105138122A TW201732689A TW 201732689 A TW201732689 A TW 201732689A TW 105138122 A TW105138122 A TW 105138122A TW 105138122 A TW105138122 A TW 105138122A TW 201732689 A TW201732689 A TW 201732689A
- Authority
- TW
- Taiwan
- Prior art keywords
- synaptic
- neuron
- logic
- synapse
- array
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Advance Control (AREA)
Abstract
揭示用於可重置神經形態硬體之互連方案的系統及方法。神經形態處理器包括複數個神經突觸核心,各神經突觸核心可包括複數個突觸陣列及神經元陣列。各突觸陣列可包括複數個突觸及耦接至突觸陣列中之突觸輸出的突觸陣列路由器。各突觸可包括突觸輸入、突觸輸出;及突觸記憶體。神經元陣列可包括複數個神經元,各神經元可包括神經元輸入及神經元輸出。各突觸陣列路由器可包括第一邏輯用以將該突觸輸出的一或多者路由至該神經元輸入的一或多者。
Description
本揭示發明相關於處理邏輯、可重置神經形態處理器、微處理器、及當由該處理器或其他處理邏輯執行時,實施邏輯、數學、或其他函數運算之關聯指令集架構的領域。
神經形態處理器可(單獨或結合另一種類的處理器)用於估算或近似其能依靠大數目之輸入且通常未知的函數。例如,神經形態處理器可允許系統實施臉部辨識、從大資料組擷取資訊、及實施可超出傳統程式解決方案之範圍的物件偵測工作。當程式化特性明顯地變得太複雜時,神經形態處理器可藉由允許機器從訓練資料學習特性而提供至計算智慧的路徑。
神經形態處理器可用與生物神經網路(例如,動物的中央神經系統)相似的方式操作。具體地說,神經形態處理器可包括可在彼此間交換資料之互連「神經元」的網路。神經元之間的各連接可稱為「突觸」。神經元可具有
可扇出至一或多個突觸的一個輸出。在各突觸,神經元的輸出可乘以突觸權重。神經元的此加權輸出可經由一或多個突觸傳輸至一或多個神經元的輸入。神經元可合計(或整合)此等接收輸入。當此和(稱為「膜電位」)超過臨限值時,神經元可使用轉移函數,諸如,乙狀或臨限函數,從該神經元產生輸出(或「激發」)。然後可經由一或多個突觸將該輸出傳至一或多個神經元作為輸入。一旦神經元激發,其可忽略先前接收的輸入資訊,從而重設該神經元。
可選擇、修改、或調整突觸權重,使神經網適應輸入並且能學習。因此,神經形態處理器可不需要設置程式(setup program),更確切地說,係可經由突觸權重的迭代調整受訓練的學習架構。
100、400、900‧‧‧系統
102、200、300、410、415、810‧‧‧處理器
104‧‧‧一級(L1)內部快取記憶體
106、145、164‧‧‧暫存器檔案
108、142、162‧‧‧執行單元
109、143‧‧‧封裝指令集
110‧‧‧處理器匯流排
112‧‧‧圖形控制器
114‧‧‧加速圖形埠(AGP)互連
116‧‧‧系統邏輯晶片
118‧‧‧高帶寬記憶體路徑
120、440、532、534‧‧‧記憶體
122‧‧‧系統I/O
124‧‧‧資料儲存器
126‧‧‧無線收發器
128‧‧‧韌體匯流排(快閃記憶體BIOS)
130‧‧‧I/O控制器匯流排(ICH)
134‧‧‧網路控制器
140、160‧‧‧資料處理系統
141‧‧‧匯流排
144、165‧‧‧解碼器
146‧‧‧同步動態隨機存取記憶體(SDRAM)控制
147‧‧‧靜態隨機存取記憶體(SRAM)控制
148‧‧‧叢發快閃記憶體介面
149‧‧‧個人電腦記憶卡國際協會(PCMCIA)/Compact
Flash(CF)卡控制
150‧‧‧液晶顯示器(LCD)控制
151‧‧‧直接記憶體存取(DMA)控制器
152‧‧‧匯流排主介面
153‧‧‧I/O匯流排
154‧‧‧I/O橋接器
155‧‧‧通用異步接收器/發射器(UART)
156‧‧‧通用串列匯流排(USB)
157‧‧‧藍牙無線UART
158‧‧‧I/O擴充介面
159、170‧‧‧處理核心
161‧‧‧SIMD共處理器
163‧‧‧指令集
166‧‧‧主處理器
167‧‧‧快取記憶體
168‧‧‧輸入/輸出系統
169‧‧‧無線介面
201‧‧‧有序前端
202‧‧‧快速排程器
203‧‧‧無序執行引擎
204‧‧‧慢速/通用浮點排程器
206‧‧‧簡單浮點排程器
208‧‧‧整數暫存器檔案
210‧‧‧浮點暫存器檔案
211‧‧‧執行區塊
212、214‧‧‧位址產生單元(AGU)
216、218‧‧‧快速算術邏輯單元(ALU)
220‧‧‧慢速ALU
222‧‧‧浮點ALU
224‧‧‧浮點移動單元
226‧‧‧指令預提取器
228‧‧‧指令解碼器
230‧‧‧追蹤快取記憶體
232‧‧‧微碼ROM
234‧‧‧微運算佇列
302、702A-702N‧‧‧核心
420‧‧‧圖形記憶體控制器集線器(GMCH)
445、824‧‧‧顯示器
450‧‧‧輸入/輸出(I/O)控制器集線器(ICH)
460‧‧‧外部圖形裝置
470‧‧‧周邊裝置
495‧‧‧前側匯流排(FSB)
500‧‧‧第二系統
514、614‧‧‧I/O裝置
516‧‧‧第一匯流排
518‧‧‧匯流排橋接器
520‧‧‧第二匯流排
522‧‧‧鍵盤及/或滑鼠
524‧‧‧音訊I/O
527‧‧‧通訊裝置
528‧‧‧儲存單元
530‧‧‧指令/碼及資料
538‧‧‧高效能圖形電路
539‧‧‧高效能圖形介面
550‧‧‧點對點互連
552、554‧‧‧P-P介面
570‧‧‧第一處理器
572、582、714‧‧‧積集記憶體控制器單元
576、578、586、588‧‧‧點對點(P-P)介面
580‧‧‧第二處理器
590‧‧‧晶片組
594、598‧‧‧點對點介面電路
596‧‧‧介面
600‧‧‧第三系統
615‧‧‧傳統I/O裝置
700‧‧‧SoC
702‧‧‧互連單元
706‧‧‧共享快取記憶體單元
708‧‧‧積集圖形邏輯
710‧‧‧應用處理器
711‧‧‧系統代理單元
716‧‧‧匯流排控制器單元
720‧‧‧媒體處理器
724‧‧‧影像處理器
726‧‧‧音訊處理器
728‧‧‧視訊處理器
730‧‧‧SRAM單元
732‧‧‧DMA單元
740‧‧‧顯示單元
800‧‧‧電子裝置
815‧‧‧低功率雙倍資料速率(LPDDR)記憶體單元
820‧‧‧磁碟驅動
822‧‧‧BIOS/韌體/快閃記憶體
825‧‧‧觸控螢幕
830‧‧‧觸控板
835‧‧‧高速晶片組(EC)
836‧‧‧鍵盤
837‧‧‧風扇
838‧‧‧可信賴平台模組(TPM)
839、846‧‧‧熱感測器
840‧‧‧感測器集線器
841‧‧‧加速度計
842‧‧‧周圍光感測器(ALS)
843‧‧‧羅盤
844‧‧‧迴轉儀
845‧‧‧近場通訊(NFC)單元
850‧‧‧無線區域網路(WLAN)單元
852‧‧‧藍牙單元
854‧‧‧照相機
856‧‧‧無線廣域網路(WWAN)單元
857‧‧‧SIM卡
860‧‧‧DSP
862‧‧‧音訊單元
863‧‧‧揚聲器
864‧‧‧耳機
865‧‧‧麥克風
902、1000、1100‧‧‧可重置神經形態處理器
904‧‧‧CPU
906‧‧‧輸入
908‧‧‧輸出
1002‧‧‧神經元
1004‧‧‧神經元輸入
1006‧‧‧神經元輸出
1008‧‧‧突觸
1010‧‧‧突觸記憶體
1012‧‧‧突觸目的
1014‧‧‧突觸權重
1016‧‧‧神經元記憶體
1102a、1102b‧‧‧神經突觸核心
1104a、1104b‧‧‧神經元群組
1106a、1106b、1106c、1106d‧‧‧突觸陣列
1108a、1108b、1108c、1108d‧‧‧突觸陣列路由器
1110‧‧‧神經元群組路由器
1112‧‧‧晶片網路
1200‧‧‧方法
實施例係經由例示而非限制方式在隨附圖式的圖中說明:圖1A係根據本揭示發明之實施例使用可包括執行單元以執行指令的處理器形成之範例電腦系統的方塊圖;圖1B根據本揭示發明的實施例描繪資料處理系統;圖1C描繪用於實施文字字串比較運算之資料處理系統的其他實施例;圖2係根據本揭示發明之實施例用於可包括邏輯電路以實施指令的處理器之微架構的方塊圖;
圖3A係根據本揭示發明的實施例之處理器的方塊圖;圖3B係根據本揭示發明之實施例的核心之範例實作的方塊圖;圖4係根據本揭示發明的實施例之系統的方塊圖;圖5係根據本揭示發明的實施例之第二系統的方塊圖;圖6係根據本揭示發明的實施例之第三系統的方塊圖;圖7係根據本揭示發明的實施例之系統單晶片的方塊圖;圖8係根據本揭示發明的實施例之用於使用處理器之電子裝置的方塊圖;圖9係根據本揭示發明的實施例之包括可重置神經形態處理器的系統的方塊圖;圖10係根據本揭示發明的實施例之可重置神經形態處理器的範例實施例的方塊圖;圖11係根據本揭示發明的實施例之可重置神經形態處理器的範例神經突觸核心的方塊圖;及圖12係根據本揭示發明的實施例之在可重置神經形態處理器中互連突觸及神經元的方法的流程圖。
以下說明描述可重置神經形態處理器。可重置神經形
態處理器可單獨操作或結合另一處理器操作。在以下描述中,陳述許多具體細節,諸如,處理邏輯、處理器種類、微架構條件、事件、及致能機制等,以提供對本揭示發明之實施例的更徹底瞭解。然而,熟悉本發明之人士將領會可實踐該等實施例而無需此些具體細節。另外,部分已為人所熟知的結構、及電路等並未詳細地顯示,以避免不必要地混淆本揭示發明的實施例。
雖然以下實施例係參考處理器而描述,其他實施例可應用至其他種類的積體電路及邏輯裝置。本揭示發明之實施例的相似技術及教示可應用至可從更高管線處理量及改善效能獲利的其他種類的電路或半導體裝置。本揭示發明之實施例的教示可應用於實施資料操控的任何處理器或機器。然而,實施例並未受限於實施512位元、256位元、128位元、64位元、32位元、或16位元資料運算的處理器或機器,並可應用至在其中可實施資料之操控或管理的任何處理器及機器。此外,以下描述提供範例,且隨附圖式顯示用於說明之目的的各種範例。然而,不應以限制方式將此等範例詮釋,這是由於其僅企圖提供本揭示發明之實施例的範例而非提供本揭示發明之實施例的所有可能實作的詳盡列表。
雖然以下範例在執行單元及邏輯電路的背景下描述指令管理及分佈,本揭示發明的其他實施例可藉由儲存在機器可讀實體媒體上之當藉由機器執行時導致該機器實施與本揭示發明之至少一實施例一致的功能的資料或指令完
成。在一實施例中,以機器可執行指令具現與本揭示發明之實施例關聯的功能。該等指令可用於導致可用該等指令程式化的通用或特殊用途處理器來實施本揭示發明的該等步驟。本揭示發明的實施例可提供為電腦程式產品或軟體,其可包括具有指令儲存於其上之機器或電腦可讀取媒體,該指令可用於編程電腦(或其他電子裝置)以實施根據本揭示發明之實施例的一或多個運算。另外,本揭示發明之實施例的步驟可藉由包含用於實施該等步驟之固定功能邏輯的特定硬體組件,或藉由已編程電腦組件及固定功能硬體組件的任何組合實施。
用於編程邏輯以實施本揭示發明之實施例的指令可儲存在系統的記憶體內,諸如,DRAM、快取記憶體、快閃記憶體、或其他儲存器。另外,指令可經由網路或藉由使用其他電腦可讀媒體散佈。因此機器可讀媒體可包括用於以可由機器(例如,電腦)讀取的形式儲存或發送資訊的任何機制,但未受限於,軟碟、光碟、光碟唯讀記憶體(CD-ROM)、及磁光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、磁或光卡、快閃記憶體、或使用在經由電、光、聲響、或其他形式(例如,載波、紅外線訊號、數位訊號等)的傳播訊號透過網際網路的資訊之發送中的實體機器可讀儲存器。因此,電腦可讀媒體可包括適於以可由機器(例如,電腦)讀取的形式儲存或發送電子指令
或資訊之任何種類的實體機器可讀媒體。
設計可經歷從建立至模擬至製造的各種階段。表示設計的資料可用許多方式表示設計。首先,如可在模擬中有用的,硬體可使用硬體描述語言或其他功能描述語言表示。此外,具有邏輯及/或電晶體閘的電路級模型可在設計過程的部分階段製造。此外,特定階段的設計可到達表示各種裝置在硬體模型中之實體配置的資料層級。在其中使用部分半導體製造技術的情形中,表示硬體模型的資料可係為用於製造積體電路的遮罩指定各種特徵存在或不存在於不同遮罩層上的資料。在設計的任何表示中,資料可用任何形式的機器可讀媒體儲存。記憶體或磁性或光學儲存器,諸如,光碟,可係儲存經由經調變或另外產生的光或電波發送之資訊的該機器可讀媒體以發送此種資訊。當將指示或運載碼或設計的電載波發送至實施該電訊號的複製、緩衝、或重發送的程度時,可產生新複本。因此,通訊供應商或網路供應商可將具現本揭示發明的實施例之技術的物品,諸如,編碼為載波的資訊,至少暫時地儲存在實體機器可讀媒體上。
在現代處理器中,可使用許多不同執行單元處理及執行各式各樣的碼及指令。部分指令可較快速地完成,而其他指令可消耗許多時脈週期完成。指令的通量越快,處理器的整體效能越好。因此儘可能快地執行儘可能多的指令會係有利的。然而,可有具有較大複雜度並需要更多執行時間及處理器資源的特定指令,諸如,浮點指令、戴入/
儲存操作、資料移動等。
當更多電腦系統使用在網際網路、文字、及多媒體應用中時,額外處理器支援已隨時間引入。在一實施例中,指令集可與一或多個電腦架構關聯,包括資料種類、指令、暫存器架構、定址模式、記憶體架構、中斷及異常管理、及外部輸入及輸出(I/O)。
在一實施例中,指令集架構(ISA)可藉由一或多個微架構實作,其可包括用於實作一或多個指令集的處理器邏輯及電路。因此,具有不同微架構的處理器可分享至少一部分的共同指令集。例如,Intel® Pentium 4處理器、Intel® CoreTM處理器、及來自加州桑尼維爾之Advanced Micro Devices,Inc.的處理器實作幾乎完全相同的x86指令集版本(具有已隨較新版本加入的部分延伸),但具有不同的內部設計。相似地,由其他處理器發展公司,諸如,ARM Holdings,Ltd.、MIPS、或彼等的授權方或採納方,設計的處理器可共享至少一部分的共同指令集,但可包括不同的處理器設計。例如,ISA的相同暫存器架構可使用新的或已為人熟知的技術以不同方式實作在不同微架構中,包括專屬實體暫存器、使用暫存器更名機制(例如,使用暫存器化名表(RAT)、重排序緩衝器(ROB)、及引退暫存器檔案)的一或多個動態配置實體暫存器。在一實施例中,暫存器可包括可或不可由軟體程式設計師定址的一或多個暫存器、暫存器架構、暫存器檔案、或其他暫存器組。
指令可包括一或多種指令格式。在一實施例中,指令格式可指示各種欄位(位元數、位元的位置等),以指定待實施的運算及將於其上實施運算的運算元等。在另一實施例中,部分指令格式可更藉由指令樣板(或次格式)界定。例如,指定指令格式的指令樣版可界定成具有指令格式欄位的不同次組及/或界定成具有受不同解譯的指定欄位。在一實施例中,指令可使用指令格式表示(且若已界定,則以該指令格式之指令樣版的指定一者表示)並指定或指示該運算及該運算將於其上運算的運算元。
科學、金融、通用自動向量化、RMS(辨識、探掘、及合成)、及視覺及多媒體應用(例如,2D/3D圖形、影像處理、視訊壓縮/解壓縮、語音辨識演算法、及音訊操控)可需要在大量資料項上實施相同操作。在一實施例中,單指令多資料(SIMD)係指導致處理器在多個資料元件上實施運算的指令種類。SIMD技術可使用在可將暫存器中的位元邏輯地分割為許多固定尺寸或可變尺寸之資料元件的處理器中,該等元件各者代表個別值。例如,在一實施例中,64-位元暫存器中的位元可組織為包含四個分離的16-位元資料元件的來源運算元,彼等各者代表分離的16-位元值。此種類型的資料可稱為「封裝」資料種類或「向量」資料種類,且此資料種類的運算元可稱為封裝資料運算元或向量運算元。在一實施例中,封裝資料項或向量可係儲存在單一暫存器內的一系列封裝資料元件,且封裝資料運算元或向量運算元可係SIMD指令(或「封
裝資料指令」或「向量指令」)的來源或目的運算元。在一實施例中,SIMD指令指定待於二來源向量運算元上實施的單一向量運算,以產生相同或不同尺寸、具有相同或不同數量之資料元件、及具有相同或不同之資料元件次序的目標向量運算元(也稱為結果向量運算元)。
SIMD技術,諸如,由具有包括x86、MMXTM、串流SIMD延伸(SSE)、SSE2、SSE3、SSE4.1、及SSE4.2指令之指令集的Intel® CoreTM處理器、ARM處理器,諸如,具有包括向量浮點(VFP)及/或NEON指令之指令集的ARM Cortex®處理器家族、及MIPS處理器,諸如,由中國科學烷之計算技術研究所(ICT)發展的Loongson處理器家族使用的技術,已致能應用效能上的顯著改善(CoreTM及MMXTM係加州聖克拉拉的Intel公司的註冊商標或商標)。
在一實施例中,目標及來源暫存器/資料可係通用術語,以代表對應資料或運算的來源及目標。在部分實施例中,彼等可藉由具有所描寫之名稱或功能以外的名稱或功能的暫存器、記憶體、或其他儲存區實作。例如,在一實施例中,「DEST1」可係暫時儲存暫存器或其他儲存區,然而「SRC1」及「SRC2」可係第一及第二來源儲存暫存器或其他儲存區,並依此類推。在其他實施例中,SRC及DEST儲存區的二或多者可對應於相同儲存區(例如,SIMD暫存器)內的不同資料儲存元件。在一實施例中,來源暫存器的一者也可藉由,例如,將在第一及第二來源
資料上實施之運算的結果寫回至使用為目標暫存器之二來源暫存器之一者,作用為目標暫存器。
圖1A係根據本揭示發明之實施例使用可包括執行單元以執行指令的處理器形成之範例電腦系統的方塊圖。根據本揭示發明,諸如,在本文描述的實施例中,系統100可包括組件,諸如,處理器102,以利用包括邏輯的執行單元以實施用於處理資料的演算法。系統100可代表基於由加州聖克拉拉的Intel公司銷售之PENTIUM® III、PENTIUM® 4、XeonTM、Itanium®、XScaleTM、及/或StrongARMTM微處理器的處理系統,雖然也可使用其他系統(包括具有其他微處理器的PC、工程工作站、及機上盒等)。在一實施例中,範例系統100可執行由華盛頓州雷蒙德的微軟公司銷售之WINDOWSTM作業系統的版本,雖然也可使用其他作業系統(例如,UNIX及Linux)、嵌入式軟體、及/或圖形使用者介面。因此,本揭示發明的實施例並未受限於硬體電路及軟體之任何具體組合。
實施例並未受限於電腦系統。本揭示發明的實施例可使用在其他裝置中,諸如,手持裝置及嵌入式應用。手持裝置的部分範例包括行動電話、網際網路協定裝置、數位相機、個人數位助理(PDA)、及手持PC。嵌入式應用可包括微控制器、數位訊號處理器(DSP)、系統單晶片、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器、或可實施根據至少一實施例之一或多個指令的任何其他系統。
電腦系統100可包括處理器102,其可包括一或多個執行單元108以實施演算法以實施根據本揭示發明之至少一實施例的至少一個指令。一實施例可用單處理器桌上型或伺服器系統的背景描述,但其他實施例可包括在多處理器系統中。系統100可係「集線器」系統架構的範例。系統100可包括用於處理資料信號的處理器102。例如,處理器102可包括複雜指令集電腦(CISC)微處理器、精簡指令集計算(RISC)微處理器、極長指令(VLIW)微處理器、實作指令集之組合的處理器、或任何其他處理器裝置,諸如,數位訊號處理器。在一實施例中,處理器102可耦接至處理器匯流排110,其可在處理器102及系統100中的其他組件之間傳輸資料信號。系統100的元件可實施已為熟悉本技術的人士所熟知的習知功能。
在一實施例中,處理器102可包括1級(L1)內部快取記憶體104。依據架構,處理器102可具有單內部快取記憶體或多級內部快取記憶體。在另一實施例中,快取記憶體可位於處理器102外部。其他實施例也可依據特定實作及需要包括內部及外部快取記憶體二者的組合。暫存器檔案106可將不同種類的資料儲存在包括整數暫存器、浮點暫存器、狀態暫存器、及指令指標器暫存器的各種暫存器中。
包括邏輯以實施整數及浮點運算的執行單元108也位於處理器102中。處理器102也可包括儲存用於特定巨集指令之微碼的微碼(ucode)ROM。在一實施例中,執行
單元108可包括邏輯以管理封裝指令集109。藉由將封裝指令集109包括在通用處理器102的指令集中,並與關聯電路一起執行該等指令,由許多多媒體應用程式使用的運算可使用在通用處理器102中的封裝資料來實施。因此,許多多媒體應用程式可針對在封裝資料上實施運算藉由使用處理器資料匯流排的完整寬度而加速及更有效率地執行。此可消除每次一個資料元素地橫跨處理器的資料匯流排轉移較小資料單元的需要,以實施一或多個運算。
執行單元108的實施例也可使用在微控制器、嵌入式處理器、圖形裝置、DSP、及其他種類的邏輯電路中。系統100可包括記憶體120。記憶體120可實作為動態隨機存取記憶體(DRAM)裝置、靜態隨機存取記憶體(SRAM)裝置、快閃記憶體裝置、或其他記憶體裝置。記憶體120可儲存指令及/或資料,其藉由可由處理器102執行之資料信號表示。
系統邏輯晶片116可耦接至處理器匯流排110及記憶體120。系統邏輯晶片116可包括記憶體控制器集線器(MCH)。處理器102可經由處理器匯流排110與MCH 116通訊。MCH 116可針對指令及資料儲存及針對圖形命令、資料、及紋理的儲存提供至記憶體120的高帶寬記憶體路徑118。MCH 116可在處理器102、記憶體120、及系統100中的其他組件之間引導資料信號,並在處理器匯流排110、記憶體120、及系統I/O 122之間橋接資料信號。在部分實施例中,系統邏輯晶片116可提供用於耦接
至圖形控制器112的圖形埠。MCH 116可經由記憶體介面118耦接至記憶體120。圖形卡112可經由加速圖形埠(AGP)互連114耦接至MCH 116。
系統100可使用專屬集線器介面匯流排122以耦接MCH 116至I/O控制器匯流排(ICH)130。在一實施例中,ICH 130可經由區域I/O匯流排提供直接連接至部分I/O裝置。區域I/O匯流排可包括用於連接周邊至記憶體120、晶片組、及處理器102的高速I/O匯流排。範例可包括音訊控制器、韌體匯流排(快閃記憶體BIOS)128、無線收發器126、資料儲存器124、包含使用者輸入及鍵盤介面的傳統I/O控制器、串列擴充埠,諸如,通用串列匯流排(USB)、及網路控制器134。資料儲存裝置124可包含硬碟驅動器、軟碟驅動器、CD-ROM裝置、快閃記憶體裝置、或其他大量儲存裝置。
針對系統的另一實施例,根據一實施例的指令可由系統單晶片使用。系統單晶片的一實施例包含處理器及記憶體。用於一個此種系統的記憶體可包括快閃記憶體。快閃記憶體可位於與處理器及其他系統組件相同的晶粒上。另外,其他邏輯區塊,諸如,記憶體控制器或圖形控制器,也可位於系統單晶片上。
圖1B描繪實作本揭示發明的實施例之原理的資料處理系統140。熟悉本技術的人士將輕易地理解本文描述的實施例可使用替代處理系統運算而不脫離本揭示發明之實施例的範圍。
電腦系統140包含用於實施根據一實施例之至少一個指令的處理核心159。在一實施例中,處理核心159代表任何架構種類的處理單元,包括但未受限於CISC、RISC、或VLIW-種類架構。處理核心159也可適用於以一或多種處理技術製造並藉由以充份細節表示在機器可讀媒體上而可適於促進該製造。
處理核心159包含執行單元142、一組暫存器檔案145、及解碼器144。處理核心159也可包括對理解本揭示發明之實施例可係非必要的額外電路(未圖示)。執行單元142可執行由處理核心159接收的指令。除了實施典型的處理器指令外,執行單元142可實施用於在封裝資料格式上實施運算之封裝指令集143中的指令。封裝指令集143可包括用於實施本揭示發明之實施例的指令及其他封裝指令。執行單元142可藉由內部匯流排耦接至暫存器檔案145。暫存器檔案145可代表處理核心159上用於儲存資訊,包括資料,的儲存區。如先前提及的,已理解儲存區可儲存並不關鍵的封裝資料。執行單元142可耦接至解碼器144。解碼器144可將由處理核心159接收的指令解碼為控制信號及/或微碼進入點。執行單元142回應於此等控制信號及/或微碼進入點實施合適運算。在一實施例中,解碼器可解譯指令的運算碼,其將指示何運算應在指示在該指令內的該對應資料上實施。
處理核心159可與用於與各種其他系統裝置,其可包括但未受限於,例如,同步動態隨機存取記憶體
(SDRAM)控制146、靜態隨機存取記憶體(SRAM)控制147、叢發快閃記憶體介面148、個人電腦記憶卡國際協會(PCMCIA)/緊湊型快閃記憶(Compact Flash,CF)卡控制149、液晶顯示器(LCD)控制150、直接記憶體存取(DMA)控制器151、及其他匯流排主介面152,通訊的匯流排141耦接。在一實施例中,資料處理系統140也可包含用於經由I/O匯流排153與各種I/O裝置通訊的I/O橋接器154。此種I/O裝置可包括但未受限於,例如,通用異步接收器/發射器(UART)155、通用串列匯流排(USB)156、藍牙無線UART 157、及I/O擴充介面158。
資料處理系統140的一實施例對行動、網路、及/或無線通訊及可實施包括文字字串比較運算之SIMD運算的處理核心159提供。處理核心159可用各種音訊、視訊、成像、及通訊演算法,包括離散轉換,諸如,華須-哈德瑪(Walsh-Hadamard)轉換、快速傅立葉轉換(FFT)、離散餘弦轉換(DCT)、及彼等個別的反轉換;壓縮/解壓縮技術,諸如,顏色空間轉換、視訊編碼動作估計、或視訊解碼動作補償;及調變/解調變(MODEM)功能,諸如,脈衝編碼調變(PCM),程式化。
圖1C描繪實施SIMD文字字串比較運算之資料處理系統的其他實施例。在一實施例中,資料處理系統160可包括主處理器166、SIMD共處理器161、快取記憶體167、及輸入/輸出系統168。輸入/輸出系統168可選擇性
地耦接至無線介面169。SIMD共處理器161可實施包括根據一實施例之指令的運算。在一實施例中,處理核心170可適於以一或多種處理技術製造並藉由以充份細節表示在機器可讀媒體上而可適於促進包括處理核心170之全部或一部分資料處理系統160的製造。
在一實施例中,SIMD共處理器161包含執行單元162及一組暫存器檔案164。主處理器166的一實施例包含解碼器165以辨識包括根據一實施例用於由執行單元162執行的指令之指令集163的指令。在其他實施例中,SIMD共處理器161也包含至少部分的解碼器165以解碼指令集163的指令。處理核心170也可包括對理解本揭示發明之實施例可係非必要的額外電路(未圖示)。
在運算時,主處理器166執行資料處理指令的串流,該等指令控制包括與快取記憶體167、及輸入/輸出系統168之互動的通用型資料處理運算。可將SIMD共處理器指令嵌入在資料處理指令的串流內。主處理器166的解碼器165將此等SIMD共處理器指令辨識為係應由附接的SIMD共處理器161執行之種類的指令。因此,主處理器166在共處理器匯流排171上發佈此等SIMD共處理器指令(或控制代表SIMD共處理器指令的信號)。此等指令可藉由任何附接的SIMD共處理器從共處理器匯流排171接收。在此情形中,SIMD共處理器161可接受及執行企圖用於其之任何已接收的SIMD共處理器指令。
用於藉由SIMD共處理器指令處理的資料可經由無線
介面169接收。例如,語音通訊可用數位信號的形式接收、其可由SIMD共處理器指令處理以重產生代表語音通訊的數位音訊樣本。另外例如,壓縮音訊及/或視訊可用數位位元串流的形式接收,其可由SIMD共處理器指令處理以重產生數位音訊樣本及/或動作視訊框。在處理核心170的一實施例中,主處理器166及SIMD共處理器161可積集至包含執行單元162、一組暫存器檔案164、及解碼器165的單一處理核心170中,以辨識包括根據一實施例的指令之指令集163的指令。
圖2係根據本揭示發明之實施例用於可包括邏輯電路以實施指令的處理器200之微架構的方塊圖。在部分實施例中,可實作根據一實施例的指令以在具有位元組、字組、雙字組、四字組等的尺寸,以及資料類別,諸如,單及倍精準整數及浮點資料類別,的資料元件上運算。在一實施例中,有序前端201可實作一部分的處理器200,其可提取待執行之指令並備妥該等指令以待稍後在處理器管線中使用。前端201可包括數個單元。在一實施例中,指令預提取器226從記憶體提取指令並將該等指令饋送至其隨後解碼或解譯該等指令的指令解碼器228。例如,在一實施例中,解碼器將已接收指令解碼為機器可執行之稱為「微指令」或「微運算」(也稱為微運算(micro op)或微運算(uop))的一或多個運算。在其他實施例中,解碼器將指令剖析為可由微架構使用以實施根據一實施例之運算的運算碼及對應資料及控制欄位。在一實施例中,追
蹤快取記憶體230可將已解碼微運算組合為程式有序序列或在用於執行的微運算佇列234中追蹤。當追蹤快取記憶體230遭遇複雜指令時,微碼ROM 232提供完成操作所需的微運算。
部分指令可轉換為單一微運算,然而其他指令需要數個微運算以完成全部運算。在一實施例中,若需要四個以上的微運算以完成指令,解碼器228可存取微碼ROM 232以實施該指令。在一實施例中,指令可針對在指令解碼器228的處理解碼為小量的微運算。在另一實施例中,萬一需要許多微運算以完成操作,可將指令儲存在微碼ROM 232內。追蹤快取記憶體230係指進入點可程式化邏輯陣列(PLA)以決定用於從微碼ROM 232讀取微碼序列的正確微指令指標器,以完成根據一實施例的一或多個指令。在微碼ROM 232完成用於指令的微運算序列化後,機器的前端201可恢復從追蹤快取記憶體230提取微運算。
無序執行引擎203可備妥用於執行的指令。無序執行邏輯具有許多緩衝器以當指令通過管線並針對執行受排程時,使指令流平滑化並重排序以最佳化效能。配置器邏輯配置各微運算所需要的機器緩衝器及資源以執行。暫存器更名邏輯將邏輯暫存器更名為暫存器檔案中的項目。在指令排程器的前端,配置器也為一者用於記憶體運算及一者用於非記憶體運算的二個微運算佇列之一者中的各微運算配置項:記憶體排程器、快速排程器202、慢速/通用浮點
排程器204、及簡單浮點排程器206。微運算排程器202、204、206基於彼等的相關輸入暫存器運算元來源的就緒性及微運算完成彼等運算所需要之執行資源的可用性決定微運算何時準備執行。一實施例的快速排程器202可在每半個主時脈週期上排程,同時其他排程器僅能每主處理器時脈週期排程一次。排程器仲裁調度埠以排程用於執行的微運算。
暫存器檔案208、210可配置在排程器202、204、206及執行區塊211中的執行單元212、214、216、218、220、222、224之間。各暫存器檔案208、210分別實施整數及浮點運算。各暫存器檔案208、210可包括可僅將尚未寫入暫存器檔案的完成結果旁路或前傳至新的相關微運算的旁路網路。整數暫存器檔案208及浮點暫存器檔案210可彼此通訊資料。在一實施例中,整數暫存器檔案208可分割為二個分離暫存器檔案,用於低階三十二位元資料的一暫存器檔案及用於高階三十二位元資料的第二暫存器檔案。浮點暫存器檔案210可包括128位元寬的項,因為浮點指令典型具有在寬度上從64至128位元的運算元。
執行區塊211可包含執行單元212、214、216、218、220、222、224。執行單元212、214、216、218、220、222、224可執行該等指令。執行區塊211可包括儲存微指令需要去執行之整數及浮點資料運算元值的暫存器檔案208、210。在一實施例中,處理器200可包含許多
執行單元:位址產生單元(AGU)212、AGU 214、快速算術邏輯單元(ALU)216、快速ALU 218、慢速ALU 220、浮點ALU 222、浮點移動單元224。在另一實施例中,浮點執行區塊222、224可執行浮點、MMX、SIMD、及SSE,或其他運算。仍在另一實施例中,浮點ALU 222可包括64位元乘64位元的浮點除法器以執行除法、平方根、及餘數微運算。在各種實施例中,包含浮點值的指令可使用浮點硬體來處理。在一實施例中,ALU運算可傳至高速ALU執行單元216、218。高速ALU 216、218可執行具有半個時脈週期的有效延遲的快速運算。在一實施例中,當慢速ALU 220可包括用於長延遲運算種類的整數執行硬體時,諸如,乘法器、移位、旗標邏輯、及分支處理,最複雜的整數操作係至慢速ALU 220。記憶體載入/儲存運算可由AGU 212、214執行。在一實施例中,整數ALU 216、218、220可在64-位元資料運算元上實施整數運算。在其他實施例中,ALU 216、218、220可實作成支援各式各樣的資料位元尺寸,包括十六、三十二、128、256等。相似地,浮點單元222、224可實作成支援具有各種寬度之位元的一系列運算元。在一實施例中,浮點單元222、224可結合SIMD及多媒體指令在128位元寬的封裝資料運算元上運算。
在一實施例中,微運算排程器202、204、206在母負載已完成執行之前調度相關運算。當微運算可臆測地排程並在處理器200中執行時,處理器200也可包括邏輯以處
理記憶體錯失。若資料負載在資料快取記憶體中錯失,則可有相關運算在已使排程器留有暫時不正確資料的管線中飛行。重播機制追蹤並重執行使用不正確資料的指令。可僅需重播相關運算並容許無關運算得以完成。也可針對文字字串比較運算將處理器之一實施例的排程器及重播機制設計成接獲指令序列。
術語「暫存器」可指可使用為指令的一部分以識別運算元的處理器內建儲存位置。換言之,暫存器可係可從處理器外側使用的暫存器(從程式設計師的觀點)。然而,在部分實施例中,暫存器可不受限於特定種類的電路。更確切地說,暫存器可儲存資料、提供資料、及實施本文描述的功能。本文描述的暫存器可藉由使用任何數量的不同技術之處理器內的電路實作,諸如,專屬實體暫存器、使用暫存器更名的動態配實體暫存器、專屬及動態配置實體暫存器的組合等。在一實施例中,整數暫存器儲存32位元整數資料。一實施例的暫存器檔案也包含用於封裝資料的八個多媒體SIMD暫存器。針對以下討論,可將暫存器理解為設計成保持封裝資料的資料暫存器,諸如,在使用來自加州聖克拉拉Intel公司之MMX技術致能的微處理器中的64位元寬的MMXTM暫存器(在部分實例中也稱為「mm」暫存器)。能以整數及浮點形式二者使用的此等MMX暫存器可使用伴隨SIMD及SSE指令的封裝資料元件運算。相似地,與SSE2、SSE3、SSE4、或後續(通常稱為「SSEx」)技術有關之128位元寬的XMM暫存器可
保持此種封裝資料運算元。在一實施例中,在儲存封裝資料及整數資料時,暫存器不需要在該二種資料型別之間區分。在一實施例中,可將整數及浮點包含在相同暫存器檔案中或不同暫存器檔案中。此外,在一實施例中,可將浮點及整數資料儲存在不同暫存器或相同暫存器中。
圖3-5描繪適於包括處理器300的範例系統,同時圖4可描繪可包括核心302之一或多者的範例系統單晶片(SoC)。在針對膝上型、桌上型、手持PC、個人數位助理、工程工作站、伺服器、網路裝置、網路集線器、交換器、嵌入式處理器、DSP、圖形裝置、視訊遊戲裝置、機上盒、微控制器、行動電話、可攜式媒體播放器、手持裝置、及各種其他電子裝置之領域中為人所知的其他系統設計及實作也係適當的。通常,合併如本文揭示之處理器及/或其他執行邏輯之種類繁多的系統或電子裝置通常可係適當的。
圖4根據本揭示發明的實施例描繪系統400的方塊圖。系統400可包括一或多個處理器410、415,彼等可耦接至圖形記憶體控制器集線器(GMCH)420。在圖4中以虛線標示額外處理器415的選擇性性質。
各處理器410、415可能係處理器300的特定版本。然而,應注意到積集圖形邏輯及積集記憶體控制單元可不存在於處理器410、415中。圖4描繪可耦接至可係,例如,動態隨機存取記憶體(DRAM),之記憶體440的GMCH 420。針對至少一實施例,DRAM可與非揮發性快
取記憶體關聯。
GMCH 420可係晶片組,或晶片組的一部分。GMCH 420可與處理器410、415通訊並控制處理器410、415及記憶體440之間的互動。GMCH 420也可作為處理器410、415及系統400的其他元件之間的加速匯流排介面使用。在一實施例中,GMCH 420經由多分支匯流排,諸如,前側匯流排(FSB)495,與處理器410、415通訊。
此外,GMCH 420可耦接至顯示器445(諸如,平面顯示器)。在一實施例中,GMCH 420可包括積集圖形加速器。GMCH 420可更耦接至輸入/輸出(I/O)控制器集線器(ICH)450,其可用於將各種周邊裝置耦接至系統400。連同另一周邊裝置470耦接至ICH 450的外部圖形裝置460可包括離散圖形裝置。
在其他實施例中,額外或不同的處理器也可存在於系統400中。例如,額外處理器410、415可包括可與處理器410相同的額外處理器、可與處理器410異質或非對稱的額外處理器、加速器(諸如,圖形加速器或數位訊號處理(DSP)單元)、場效可規劃閘極陣列、或任何其他處理器。依據包括架構、微架構、熱、及電力消耗特徵等之優點的度量頻譜,在實體資源410、415之間可有多種不同。此等不同可有效地將自身表現為處理器410、415之中的非對稱性及異質性。針對至少一實施例,各種處理器410、415可位於相同晶粒封裝中。
圖5根據本揭示發明的實施例描繪第二系統500的方
塊圖。如圖5所示,多處理器系統500可包括點對點互連系統,並可包括經由點對點互連550耦接的第一處理器570及第二處理器580。處理器570及580各者可如處理器410、415的一或多者係處理器300的某版本。
在圖5可描繪二處理器570、580的同時,待理解本揭示發明的範圍並未受如此限制。在其他實施例中,一或多個額外處理器可存在於給定處理器中。
將處理器570及580顯示成分別包括積集記憶體控制器單元572及582。處理器570也可包括作為其匯流排控制器單元之一部分的點對點(P-P)介面576及578;相似地,第二處理器580可包括P-P介面586及588。處理器570、580可使用P-P介面電路578、588經由點對點(P-P)介面550交換資訊。如圖5所示,IMC 572及582可將處理器耦接至個別記憶體,亦即,記憶體532及534,彼等在一實施例中可係本地附接至個別處理器之主記憶體的部分。
處理器570、580各者可使用點對點介面電路576、594、586、598經由個別P-P介面552、554而與晶片組590交換資訊。在一實施例中,晶片組590也可經由高效能圖形介面539而與高效能圖形電路538交換資訊。
可將共享快取記憶體(未圖示)包括在任一處理器中或二處理器外側,仍經由P-P互連與處理器連接,使得若處理器置於低電源模式中,則可將任一個或二個處理器的區域快取資訊儲存在共享快取記憶體中。
晶片組590可經由介面596耦接至第一匯流排516。在一實施例中,第一匯流排516可係周邊組件互連(PCI)匯流排、或係諸如PCI快速匯流排或其他第三代I/O互連匯流排的匯流排,雖然本揭示發明的範圍並未受如此限制。
如圖5所示,各種I/O裝置514可連同將第一匯流排516耦接至第二匯流排520的匯流排橋接器518耦接至第一匯流排516。在一實施例中,第二匯流排520可係低插腳數(LPC)匯流排。在一實施例中,可將各種裝置耦接至第二匯流排520,包括,例如,鍵盤及/或滑鼠522、通訊裝置527、以及儲存單元528,諸如,可包括指令/碼及資料530的硬碟驅動器或其他大量儲存裝置。另外,可將音訊I/O 524耦接至第二匯流排520。須注意其他架構可係可能的。例如,取代圖5的點對點架構,系統可實作多分支匯流排或其他此種架構。
圖6根據本揭示發明的實施例描繪第三系統600的方塊圖。圖5及6中的相似元件有相似參考數字,且圖5的特定態樣已從圖6省略,以避免混淆圖6的其他態樣。
圖6描繪處理器670、680可分別包括積集記憶體及I/O控制邏輯(「CL」)672及682。針對至少一個實施例,CL 672、682可包括,諸如,結合圖3-5於上文描述的積集記憶體控制器單元。此外,CL 672、682也可包括I/O控制邏輯。圖6描繪不僅可將記憶體632、634耦接至CL 672、682,也可將I/O裝置614耦接至控制邏輯672、
682。傳統I/O裝置615可耦接至晶片組690。
圖7根據本揭示發明的實施例描繪SoC 700的方塊圖。圖3中的相似元件有相似的參考數字。又,虛線方塊可代表更先進SoC上的選擇性特性。互連單元702可耦接至:可包括一組一或多個核心702A-N及共享快取記憶體單元706的應用處理器710;系統代理單元711;匯流排控制器單元716;積集記憶體控制器單元714、可包括積集圖形邏輯708的一組或一或多個媒體處理器720;用於提供靜態及/或視訊攝影機功能的影像處理器724、用於提供硬體音訊加速的音訊處理器726、及用於提供視訊編碼/解碼加速的視訊處理器728;SRAM單元730;DMA單元732;及用於耦接至一或多個外部顯示器的顯示單元740。
圖8係根據本揭示發明的實施例之用於使用處理器810的電子裝置800的方塊圖。電子裝置800可包括,例如,筆記型電腦、超輕薄筆記型電腦、電腦、直立式伺服器、機架式伺服器、刀鋒式伺服器、膝上型電腦、桌上型電腦、平板電腦、行動裝置、電話、嵌入式電腦、或任何其他適當電子裝置。
電子裝置800可包括通訊地耦接至任何適當數量或種類之組件、周邊、模組、或裝置的處理器810。此種耦接可藉由任何適當種類的匯流排或介面完成,諸如,I2C匯流排、系統管理匯流排(SMBus)、低插腳數(LPC)匯流排、SPI、高解析度音訊(HDA)匯流排、序列先進技
術附接(SATA)匯流排、USB匯流排(版本1、2、3)、或通用異步接收器/發射器(UART)匯流排。
此種組件可包括,例如,顯示器824、觸控螢幕825、觸控板830、近場通訊(NFC)單元845、感測器集線器840、熱感測器846、高速晶片組(EC)835、可信賴平台模組(TPM)838、BIOS/韌體/快閃記憶體822、DSP 860、磁碟驅動820,諸如,固態硬碟(SSD)、硬碟驅動(HDD)、無線區域網路(WLAN)單元850、藍牙單元852、無線廣域網路(WWAN)單元856、全球定位系統(GPS)、照相機854,諸如,USB 3.0照相機、或,例如,以LPDDR3標準實作的低功率雙倍資料速率(LPDDR)記憶體單元815。此等組件各者可用任何適當方式實作。
另外,在各種實施例中,其他組件可經由上文討論的組件通訊地耦接至處理器810。例如,加速度計841、周圍光感測器(ALS)842、羅盤843、及迴轉儀844可通訊地耦接至感測器集線器840。熱感測器839、風扇837、鍵盤836、及觸控板830可通訊地耦接至EC 835。揚聲器863、耳機864、及麥克風865可通訊地耦接至音訊單元862,其可隨後通訊地耦接至DSP 860。音訊單元862可包括,例如,音訊編碼解碼器及D類放大器。SIM卡857可通訊地耦接至WWAN單元856。組件,諸如,WLAN單元850及藍牙單元852,以及WWAN單元856可用次世代形狀因子(NGFF)實作。
圖9係根據本揭示發明的實施例之包括可重置神經形態處理器的系統900的方塊圖。系統900可包括,例如,筆記型電腦、超輕薄筆記型電腦、電腦、直立式伺服器、機架式伺服器、刀鋒式伺服器、膝上型電腦、桌上型電腦、平板電腦、行動裝置、電話、嵌入式電腦、或任何其他適當電子裝置。系統900可包括通訊地耦接至任何適當數量或種類之組件、周邊、模組、或裝置的CPU 904。此種耦接可藉由任何適當種類的匯流排或介面完成,諸如,I2C匯流排、系統管理匯流排(SMBus)、低插腳數(LPC)匯流排、SPI、高解析度音訊(HDA)匯流排、序列先進技術附接(SATA)匯流排、USB匯流排(版本1、2、3)、或通用異步接收器/發射器(UART)匯流排。
系統900更可包括可重置神經形態處理器902。可重置神經形態處理器902可(單獨或結合另一種類的處理器)用於估算或近似其能依靠大數目之輸入且通常未知的函數。例如,可重置神經形態處理器902可允許系統實施臉部辨識、從大資料組擷取資訊、及實施可超出傳統程式解決方案之範圍的物件偵測工作。當程式化特性明顯地變得太複雜時,可重置神經形態處理器902可藉由允許機器從訓練資料學習特性而提供至計算智慧的路徑。可重置神經形態處理器902及其組件可使用電路或邏輯實作。
可重置神經形態處理器902可用與生物神經網路(例如,動物的中央神經系統)相似的方式操作。可重置神經
形態處理器902可包括一或多個輸入906及一或多個輸出908。輸入906可包括電路或邏輯以接收數位資料的輸入。輸入906可耦接至CPU 904,或可連接至系統900的另一組件或周邊組件。輸出908可包括電路或邏輯以從可重置神經形態處理器902輸出數位資料。輸出908可耦接至CPU 904,或可連接至系統900的另一組件或周邊組件。
系統900也可包括CPU 904。在一實施例中,可重置神經形態處理器902可與結合可重置神經形態處理器操作的CPU 904位於相同晶片、晶粒上或在相同封裝內。在其他實施例中,本揭示發明的可重置神經形態處理器可位於單獨晶片、晶粒上、或在與結合可重置神經形態處理器902操作的CPU 904不同的封裝內。
圖10係根據本揭示發明的實施例之可重置神經形態處理器的範例實施例的方塊圖。可重置神經形態處理器1000可包括一或多個神經元1002。神經元1002及其組件可使用電路或邏輯實作。典型地,可重置神經形態處理器可包括數千或數百萬個神經元1002的實例,但可使用任何適當數目的神經元。神經元1002的各實例可包括神經元輸入1004及神經元輸出1006。神經元輸入1004及神經元輸出1006可互連。神經元輸入1004及神經元輸出1006之間的連接可經由突觸1008產生。神經元1002的各實例可具有其可經由一或多個突觸1008扇出至一或多個神經元輸入1004的一個神經元輸出1006。神經元1002
可合計或整合在神經元輸入1004接收的信號。通常,當經由神經元輸入1004接收的輸入超過臨限時,神經元1002可「激發」(傳輸輸出脈衝)。當此和(稱為「膜電位」)超過臨限值時,神經元可使用轉移函數,諸如,乙狀或臨限函數,從該神經元產生輸出(或「激發」)。在部分實施例中,神經元1002可使用接收輸入並整合彼等的電路或邏輯實作。在其他實施例中,可將輸入平均,或可使用任何其他適當的轉移函數。此外,神經元1002可包括比較器電路或邏輯,其在施用轉移函數至神經元輸入1004的結果超過臨限時,在神經元輸出1006產生輸出尖峰。
輸出尖峰可經由一或多個突觸1008從神經元輸出1006傳至神經元1002的一或多個神經元輸入1004。因此,神經元1002的各實例包括神經元記憶體1016。神經元記憶體1016可由靜態隨機存取記憶體、憶阻器(memrister)、自旋力矩記憶體、或任何其他適當種類的記憶體電路或邏輯組成。神經元記憶體1016可包括能儲存一或多個神經元目的的電路或邏輯。神經元目的可包括指示突觸之識別的數位位址以接收來自神經元1002之特定實例的輸入。在可重置神經形態處理器1000的設定或訓練期間,可將最初神經元目的寫在神經元記憶體1016中。神經元目的可基於待由可重置神經形態處理器1000實施的工作決定。在部分實施例中,處理器,諸如,CPU 904,可藉由將最初神經元目的寫在神經元記憶體1016中
而初始化可重置神經形態處理器1000。
突觸1008可具有關聯突觸權重。當突觸1008將神經元1002之實例的輸出傳輸至神經元1002之實例的輸入時,該輸出可乘以突觸權重。在操作期間,突觸1008的突觸權重可被選擇、修改、或調整,使可重置神經形態處理器1000適應於各種輸入並能學習。因此,可重置神經形態處理器可不需要設置程式(setup program),更確切地說,可係可經由突觸權重的迭代調整受訓練的學習架構。一旦神經元1002激發,其可忽略先前接收的輸入資訊,從而重設神經元1002。突觸1008及其組件可使用電路或邏輯實作。
各突觸1008可包括突觸記憶體1010。突觸記憶體1010可由靜態隨機存取記憶體、憶阻器、自旋力矩記憶體、或任何其他適當種類的記憶體電路或邏輯組成。突觸記憶體1010可儲存突觸目的1012及突觸權重1014。突觸目的1012可包括識別儲存在突觸記憶體1010之特定實例中的資訊應傳輸至其之神經元的數位表示。突觸權重1012可包括待傳輸至在突觸目的1012中識別的神經元之權重的數位表示。
圖11係根據本揭示發明的實施例之可重置神經形態處理器的範例神經突觸核心的方塊圖。可將可重置神經形態處理器的神經元及突觸組織為稱為「神經突觸核心」之突觸及神經元的群組。例如,如圖11所描畫的,可重置神經形態處理器1100可包括神經突觸核心1102a及神經
突觸核心1102b(共同稱為「神經突觸核心1102」)。神經突觸核心1102可包括一或多個神經元群組1104a及1104b(共同稱為「神經元群組1104」)。各神經元群組1104可包括一或多個神經元,諸如,參考圖10於上文描述的神經元1002。神經突觸核心1102及其組件可使用電路或邏輯實作。
神經突觸核心1102也可包括突觸陣列1106a、1106b、1106c、及1106d(共同稱為「突觸陣列1106」)。突觸陣列1106可包括一或多個突觸。在先前的神經形態處理器中,各突觸的輸出可硬接線至對應神經元。因此,能連接至各神經元之突觸的最大數目會由神經突觸核心中的突觸數目決定。例如,各神經突觸核心1102可包括突觸陣列1106的二個實例。若各突觸陣列致能固定數目(n)的突觸以連接至特定神經元,則各神經元可最多連接至乘以突觸陣列之數目的此固定數目的突觸(2n)。然而,若使用少於2n個輸入,則未使用突觸可係閒置並浪費的。
因此,可重置神經形態處理器1100可包括可重置互連架構而非專用硬接線互連以將突觸陣列1106連接至神經元1104。可重置神經形態處理器1100可包括其允許基於神經元網路拓撲及神經元扇入/出依需要將突觸陣列配置至不同神經元群組的電路或邏輯。例如,突觸陣列輸入及輸出可使用互連結構,諸如,晶片網路1112而非使用專用互連,以連接至神經元群組。可重置神經形態處理器
1100可使用突觸陣列路由器1108a、1108b、1108c、及1108d(共同稱為「突觸陣列路由器1108」)將突觸陣列1106連接至神經元1104。神經元1104的輸出可使用突觸陣列路由器1108通訊至突觸。
突觸陣列路由器1108可包括採用匯流排、交叉開關、或晶片網路1112之形式的晶片上互連。例如,在部分實施例中,不同神經突觸核心中的突觸陣列路由器1108可經由晶片網路1112連接。因此,突觸陣列路由器1108可允許突觸陣列在不同神經突觸核心中的不同神經元之間重配置,而非直接將突觸連接至神經元。突觸陣列路由器1108及其組件可使用電路或邏輯實作。
因此,在可重置神經形態處理器1100之將比神經突觸核心中的所有突觸少的突觸連接至神經元的拓撲中,可將其餘突觸連接至其他神經突觸核心中的突觸。例如,在圖11所示的範例中,能連接至各神經元之突觸的最大數目可由在可重置神經形態處理器1100中之突觸總數限制,而非由神經突觸核心中的突觸數目限制。突觸陣列路由器1108因此可允許彈性的突觸陣列映射,其可允許可重置神經形態處理器1100容納更多種類的神經網路拓撲。總體而言,彈性及易用性將改善計算智慧問題中的神經網路效能。
突觸陣列路由器1108可使用分散式路由演算法。突觸陣列路由器1108可藉由從突觸的輸出識別目的位址而操作。例如,突觸陣列路由器1108可從突觸記憶體讀取
突觸目的。基於此突觸目的,突觸陣列路由器1108可將源自突觸陣列的封包路由至特定神經元1104。封包可包括數位資料,諸如,突觸權重及突觸目的。封包在到達與目的神經元關聯的神經元群組路由器之前可在突觸陣列路由器1108或神經元群組路由器1110的多個實例之間傳輸。因此,突觸陣列路由器1108可包括其能調查封包中的突觸目的並基於路由演算法決定將封包傳輸至何處的電路或邏輯。最初突觸目的及最初突觸權重可在可重置神經形態處理器1100的設定或訓練期間寫在突觸陣列1106中。突觸目的可基於待由可重置神經形態處理器1100實施的工作決定。在部分實施例中,處理器,諸如,CPU 904,可藉由將最初突觸權重及突觸目的寫在突觸陣列1106中而程式化可重置神經形態處理器1100。
神經元群組1104可包括神經元群組路由器1110。神經元群組路由器可相似於突觸陣列路由器1108,但可與神經元群組1104而非突觸陣列關聯。例如,神經元群組路由器1110亦可使用分散式路由演算法。此外,神經元群組路由器1110的實例可包括邏輯或電路以接收封包,並基於突觸目的位於與神經元群組路由器1110關聯之神經元群組1104的實例中的決定將該封包傳輸至神經元群組1104內之神經元的輸入。神經元群組路由器1104也可傳輸指示神經元已激發的封包。例如,神經元群組路由器1104可從神經元接收封包。該封包可包括一或多個神經元目的。如參考圖10於上文描述的,神經元目的可指示
應將神經元1102之實例的輸出傳輸至其的一或多個突觸。封包在到達與目的突觸關聯的突觸陣列路由器之前可在突觸陣列路由器1108或神經元群組路由器1110的多個實例之間傳輸。因此,神經元群組路由器1104可包括其能調查封包中的神經元目的並基於路由演算法決定將封包傳輸至何處的電路或邏輯。神經元群組路由器1110及其組件可使用電路或邏輯實作。
使用經由晶片網路1112互連而非直接將突觸連接至神經元的突觸陣列路由器1108及神經元群組路由器1110可具有許多優點。例如,若將比神經突觸核心中的所有突觸更少的突觸連接至神經元,則突觸陣列路由器1108及神經元群組路由器1110可用於將未使用突觸重配置至其他神經元群組。此隨後可允許其他神經元的更大扇入。由於此等度量(系統面積或能量)係由突觸陣列硬體及突觸權重查找硬體所支配,故部分神經元群組可被除能而對系統面積或能量產生最小的影響。
圖12係根據本揭示發明的實施例之在可重置神經形態處理器中互連突觸及神經元的方法1200的流程圖。雖然方法1200描述特定元件的運算,但方法1200可藉由任何適當的元件組合或種類實施。例如,方法1200可藉由描繪於圖1-11中的元件或可操作以實作方法1200的任何其他系統實作。因此,方法1200的較佳啟始點及包含方法1200之元件的次序可取決於所選擇的實作。在部分實施例中,部分元件可選擇性省略、重組、重複、或組合。
再者,方法1200的部分可與其自身平行地執行。
在1205,在一實施例中,可將最初突觸權重及突觸目的寫入至突觸陣列的突觸記憶體中。例如,如參考圖11於上文描述的,最初突觸目的及最初突觸權重可在可重置神經形態處理器的設定或訓練期間寫入突觸陣列中。突觸目的可基於待由可重置神經形態處理器實施的工作決定。在部分實施例中,處理器,諸如,CPU,可藉由將最初突觸權重及突觸目的寫在突觸陣列中而初始化可重置神經形態處理器。
在1210,在一實施例中,神經元可產生輸出。神經元可合計或整合在神經元輸入接收的信號。通常,當經由神經元輸入接收的輸入超過臨限時,神經元可「激發」(傳輸輸出脈衝)。當此和超過臨限值(稱為「膜電位」)時,神經元可使用轉移函數,諸如,乙狀或臨限函數,從該膜電位產生輸出(或「激發」)。在部分實施例中,神經元可使用接收輸入並整合彼等的電路或邏輯實作。在其他實施例中,可將輸入平均,或可使用任何其他適當的轉移函數。此外,神經元可包括比較器電路或邏輯,其在施用轉移函數至神經元輸入的結果超過臨限時,產生輸出尖峰。
在1215,在一實施例中,神經元群組路由器可傳輸神經元輸出至突觸陣列中的突觸。輸出可經由一或多個突觸1008通過神經元輸出1006傳至神經元1002的一或多個神經元輸入1004。神經元1002的各實例包括神經元記
憶體1016。神經元記憶體1016可由靜態隨機存取記憶體、憶阻器、自旋力矩記憶體、或任何其他適當種類的記憶體電路或邏輯組成。神經元記憶體1016可包括能儲存一或多個神經元目的之電路或邏輯。神經元目的可包括指示可從神經元1002之特定實例接收輸入的突觸之識別的數位位址。在可重置神經形態處理器1000的設定或訓練期間,可將最初神經元目的寫在神經元記憶體1016中。神經元目的可基於待由可重置神經形態處理器1000實施的工作決定。在部分實施例中,處理器,諸如,CPU 904,可藉由將最初神經元目的寫在神經元記憶體1016中而初始化可重置神經形態處理器1000。神經元群組路由器1104可傳輸指示神經元已激發的封包。例如,神經元群組路由器1104可從神經元接收封包。該封包可包括一或多個神經元目的。如參考圖10於上文描述的,神經元目的可指示應將神經元之實例的輸出傳輸至其的一或多個突觸。封包在到達與目的突觸關聯的突觸陣列路由器之前可在突觸陣列路由器或神經元群組路由器的多個實例之間傳輸。因此,神經元群組路由器可包括其能調查封包中的神經元目的並基於路由演算法決定將封包傳輸至何處的電路或邏輯。
在1220,在一實施例中,突觸陣列路由器可從突觸記憶體讀取突觸權重及突觸目的。突觸陣列路由器可使用分散式路由演算法。突觸陣列路由器可藉由從突觸的輸出識別目的位址而操作。例如,突觸陣列路由器可從突觸記
憶體讀取突觸目的。
在1225,在一實施例中,突觸陣列路由器可傳輸封包至神經元群組路由器。基於突觸目的,突觸陣列路由器可將源自突觸陣列的封包路由至特定神經元。封包可包括數位資料,諸如,突觸權重及突觸目的。封包在到達與目的神經元關聯的神經元群組路由器之前可在突觸陣列路由器或神經元群組路由器的多個實例之間傳輸。因此,突觸陣列路由器可包括其能調查封包中的突觸目的並基於路由演算法決定將封包傳輸至何處的電路或邏輯。最初突觸目的及最初突觸權重可在可重置神經形態處理器的設定或訓練期間寫在突觸陣列中。突觸目的可基於待由可重置神經形態處理器實施的工作決定。在部分實施例中,處理器,諸如,CPU,可藉由將最初突觸權重及突觸目的寫在突觸陣列中而初始化可重置神經形態處理器。
在1230,在一實施例中,神經元群組路由器可接收及處理封包。神經元群組可包括神經元群組路由器。神經元群組路由器可相似於突觸陣列路由器,但可與神經元群組而非突觸陣列關聯。因此,神經元群組路由器的實例可包括邏輯或電路以接收封包,並基於突觸目的位於與神經元群組路由器關聯之神經元群組的實例中的決定將該封包傳輸至神經元群組內之神經元的輸入。因此,若神經元產生輸出,則方法1200可返回步驟1210並重複。或者,在1230,方法1200可選擇性地重複或終結。
本文揭示之機制的實施例可用硬體、軟體、韌體、或
此種實作方式的組合實作。本揭示發明的實施例可實作為在可程式化系統上執行的電腦程式或程式碼,該系統包含至少一處理器、儲存系統(包括揮發性及非揮發性記憶體及/或儲存元件)、至少一輸入裝置、及至少一輸出裝置。
可將程式碼施用至輸入指令,以實施本文描述的函數並產生輸出資訊。可用已知方式將輸出資訊施用至一或多個輸出裝置。針對此申請案的用途,處理系統可包括具有處理器,諸如數位訊號處理器(DSP)、微控制器、特定應用積體電路(ASIC)、或微處理器的任何系統。
程式碼可用高階程序或物件導向程式語言實作,以與處理系統通訊。若有需要,則程式碼也可用組合語言或機器語言實作。實際上,本文描述的機制在範圍上並未受限於任何特定程式語言。在任何情形中,語言係可編譯或解譯語言。
至少一實施例的一或多個態樣可藉由儲存在機器可讀媒體上之代表處理器內的各種邏輯的代表性指令實作,當其由機器讀取時,導致機器製造邏輯以進行本文描述的技術。可將稱為「IP核心」的此種代表儲存在實體機器可讀媒體中,並供應至各種客戶或製造設施,以載入至實際產生邏輯或處理器的製造機器中。
此種機器可讀儲存媒體可不受限制地包括藉由機器或裝置製造或形成的非暫態實體物品配置,包括儲存媒體,諸如,硬碟、任何其他種類的碟片,包括軟碟、光碟、光
碟唯讀記憶體(CD-ROM)、可重寫光碟(CD-RW)、以及磁光碟、半導體裝置,諸如,唯讀記憶體(ROM)、隨機存取記憶體(RAM),諸如,動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、可抹除可程式化唯讀記憶體(EPROM)、快閃記憶體、電子可抹除可程式化唯讀記憶體(EEPROM)、磁或光學卡、或適合儲存電子指令之任何其他種類的媒體。
因此,本揭示發明的實施例也可包括包含指令或包含設計資料,諸如,界定本文描述之結構、電路、設備、處理器、及/或系統特性的硬體描述語言(HDL),的非暫態實體機器可讀媒體。此種實施例也可稱為程式產品。
在部分情形中,指令變換器可用於將指令從來源指令集變換為目標指令集。例如,指令變換器可將指令轉換(例如,使用靜態二進位轉換、包括動態編譯的動態二進位轉換)、變形、模仿、或另外變換為待由核心處理的一或多個其他指令。指令變換器可用軟體、硬體、韌體、或彼等的組合實作。指令變換器可在處理器上、在處理器外、或部分在處理器上且部分在處理器外。
因此,揭示用於實施根據至少一實施例之一或多個指令的技術。在特定範例實施例已描述並顯示在隨附圖式中的同時,待理解此種實施例僅係其他實施例的說明而非限制,且此種實施例未受限於所顯示及描述的具體構造及配置,因為研讀此揭示之熟悉本技術的人士可想到各種其他修改。在成長速度快且不容易預見進一步發展之諸如此技
術的領域中,所揭示的實施例可藉由致能技術發展促成易於在配置及細節上修改而不脫離本揭示發明的原理或隨附之申請專利範圍的範圍。
在本揭示發明的部分實施例中,一種神經形態處理器包括複數個神經突觸核心。與任何上述實施例組合,在實施例中,各神經突觸核心可包括複數個突觸陣列。與任何上述實施例組合,在實施例中,各突觸陣列可包括複數個突觸。與任何上述實施例組合,在實施例中,各突觸可包括突觸輸入。與任何上述實施例組合,在實施例中,各突觸可包括突觸輸出。與任何上述實施例組合,在實施例中,各突觸可包括突觸記憶體。與任何上述實施例組合,在實施例中,各突觸陣列可包括耦接至該突觸陣列中的該突觸輸出的突觸陣列路由器。與任何上述實施例組合,在實施例中,各神經突觸核心可包括神經元陣列。與任何上述實施例組合,在實施例中,各神經元陣列可包括複數個神經元。與任何上述實施例組合,在實施例中,各突觸陣列路由器可包括第一邏輯用以將該突觸輸出的一或多者路由至該神經元輸入的一或多者。
與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第二邏輯用以將突觸輸出路由至不同神經突觸核心中之神經元的神經元輸入。與任何上述實施例組合,在實施例中,各突觸可更包括突觸記憶體用以儲存突觸目的及突觸權重。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第二邏輯用以讀取至少一
個突觸記憶體。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第三邏輯,識別突觸目的。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第四邏輯以識別突觸權重。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第五邏輯以基於路由演算法將包括該突觸權重及該突觸目的的封包傳輸至神經元群組路由器。與任何上述實施例組合,在實施例中,在該神經突觸核心的一者中,將路由至該神經元輸入的一者之該突觸的數目大於該神經突觸核心中之該突觸的數目。與任何上述實施例組合,在實施例中,神經形態處理器可包括處理器,其包括第二邏輯,用以將最初突觸目的及最初突觸權重寫至第一神經突觸核心中之複數個突觸各者的該突觸記憶體中,其中該突觸目的的至少一者係至第二神經突觸核心中的神經元陣列。
在本揭示發明的部分實施例中,一種可重置神經形態處理器邏輯單元可包括複數個神經突觸核心。與任何上述實施例組合,在實施例中,各神經突觸核心可包括複數個突觸陣列。與任何上述實施例組合,在實施例中,各突觸陣列可包括複數個突觸。與任何上述實施例組合,在實施例中,各突觸可包括突觸輸入。與任何上述實施例組合,在實施例中,各突觸可包括突觸輸出。與任何上述實施例組合,在實施例中,各突觸可包括突觸記憶體。與任何上述實施例組合,在實施例中,各突觸陣列可包括耦接至該突觸陣列中的該突觸輸出的突觸陣列路由器。與任何上述
實施例組合,在實施例中,各神經突觸核心可包括神經元陣列。與任何上述實施例組合,在實施例中,各神經元陣列可包括複數個神經元。與任何上述實施例組合,在實施例中,各突觸陣列路由器可包括第一邏輯用以將該突觸輸出的一或多者路由至該神經元輸入的一或多者。
與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第二邏輯用以將突觸輸出路由至不同神經突觸核心中之神經元的神經元輸入。與任何上述實施例組合,在實施例中,各突觸可更包括突觸記憶體用以儲存突觸目的及突觸權重。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第二邏輯用以讀取至少一個突觸記憶體。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第三邏輯,識別突觸目的。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第四邏輯以識別突觸權重。與任何上述實施例組合,在實施例中,第一突觸陣列路由器可包括第五邏輯以基於路由演算法將包括該突觸權重及該突觸目的的封包傳輸至神經元群組路由器。與任何上述實施例組合,在實施例中,在該神經突觸核心的一者中,將路由至該神經元輸入的一者之該突觸的數目大於該神經突觸核心中之該突觸的數目。與任何上述實施例組合,在實施例中,可重置神經形態處理器邏輯單元可包括處理器,其包括第二邏輯,用以將最初突觸目的及最初突觸權重寫至第一神經突觸核心中之複數個突觸各者的該突觸記憶體中,其中該突觸目的
的至少一者係至第二神經突觸核心中的神經元陣列。
在本揭示發明的部分實施例中,一種在可重置神經形態處理器中的方法可包括在神經突觸核心之神經元陣列的第一神經元接收來自複數個突觸的輸入。與任何上述實施例組合,在實施例中,方法可包括將轉移函數施用至該輸入。與任何上述實施例組合,在實施例中,方法可包括基於該轉移函數已超過臨限的決定產生神經元輸出至突觸。與任何上述實施例組合,在實施例中,方法可包括基於接收該神經元輸出,從突觸記憶體讀取突觸權重及突觸目的。與任何上述實施例組合,在實施例中,方法可包括經由第一突觸路由器中之複數個路由通道的一者傳輸該突觸權重至該突觸目的。
與任何上述實施例組合,在實施例中,方法可包括使用神經元群組路由器接收該突觸權重及該突觸目的。與任何上述實施例組合,在實施例中,方法可包括傳輸該突觸權重至在該突觸目的中識別之第二神經元的輸入。與任何上述實施例組合,在實施例中,方法可包括其中該突觸目的係第二神經元。與任何上述實施例組合,在實施例中,方法可包括其中該第二神經元在與該突觸不同的神經突觸核心中。與任何上述實施例組合,在實施例中,經由突觸路由器中的複數個路由通道之一者傳輸該突觸權重至該突觸目的可包括產生包含該突觸權重及該突觸目的的封包。與任何上述實施例組合,在實施例中,經由突觸路由器中的複數個路由通道之一者傳輸該突觸權重至該突觸目的可
包括傳輸該封包至第二突觸路由器。與任何上述實施例組合,在實施例中,方法可包括其中第二神經元接收來自突觸的輸入,該突觸的數目大於該神經突觸核心之一者中的突觸數目。
在本揭示發明的部分實施例中,一種設備可包括用於複數個神經突觸核心的機構。與任何上述實施例組合,在實施例中,各神經突觸核心可包括用於複數個突觸陣列的機構。與任何上述實施例組合,在實施例中,各突觸陣列可包括用於複數個突觸的機構。與任何上述實施例組合,在實施例中,各突觸可包括用於突觸輸入的機構。與任何上述實施例組合,在實施例中,用於突觸的各機構可包括用於突觸輸出的機構。與任何上述實施例組合,在實施例中,用於突觸的各機構可包括用於突觸記憶體的機構。與任何上述實施例組合,在實施例中,用於突觸陣列的各機構可包括耦接至該突觸陣列中之用於該突觸輸出的機構之用於突觸陣列路由器的機構。與任何上述實施例組合,在實施例中,用於神經突觸核心的各機構可包括用於神經元陣列的機構。與任何上述實施例組合,在實施例中,用於神經元陣列的各機構可包括用於複數個神經元的機構。與任何上述實施例組合,在實施例中,用於突觸陣列路由器的各機構可包括機構用以將該突觸輸出的一或多者路由至該神經元輸入的一或多者。
與任何上述實施例組合,在實施例中,用於第一突觸陣列路由器的機構可包括用於第二邏輯的機構用以將突觸
輸出路由至不同神經突觸核心中之神經元的神經元輸入。與任何上述實施例組合,在實施例中,各突觸可更包括用於突觸記憶體的機構以儲存用於突觸目的的機構及用於突觸權重的機構。與任何上述實施例組合,在實施例中,用於第一突觸陣列路由器的機構可包括用於第二邏輯的機構用於讀取用於突觸記憶體的至少一個機構。與任何上述實施例組合,在實施例中,用於第一突觸陣列路由器的機構可包括用於第三邏輯的機構,識別突觸目的。與任何上述實施例組合,在實施例中,用於第一突觸陣列路由器的機構可包括用於第四邏輯的機構以識別突觸權重。與任何上述實施例組合,在實施例中,用於第一突觸陣列路由器的機構可包括用於第五邏輯的機構以基於路由演算法將包括該突觸權重及該突觸目的的封包傳輸至神經元群組路由器。與任何上述實施例組合,在實施例中,在用於該神經突觸核心之機構的一者中,將路由至該神經元輸入的一者之該突觸的數目大於該神經突觸核心中之該突觸的數目。與任何上述實施例組合,在實施例中,設備可包括用於處理器的機構,其包括用於第二邏輯的機構,用以將最初突觸目的及最初突觸權重寫至第一神經突觸核心中之複數個突觸各者的該突觸記憶體中,其中該突觸目的的至少一者係至第二神經突觸核心中的神經元陣列。
200‧‧‧處理器
201‧‧‧有序前端
202‧‧‧快速排程器
203‧‧‧無序執行引擎
204‧‧‧慢速/通用浮點排程器
206‧‧‧簡單浮點排程器
208‧‧‧整數暫存器檔案
210‧‧‧浮點暫存器檔案
211‧‧‧執行區塊
212、214‧‧‧位址產生單元(AGU)
216、218‧‧‧快速算術邏輯單元(ALU)
220‧‧‧慢速ALU
222‧‧‧浮點ALU
224‧‧‧浮點移動單元
226‧‧‧指令預提取器
228‧‧‧指令解碼器
230‧‧‧追蹤快取記憶體
232‧‧‧微碼ROM
234‧‧‧微運算佇列
Claims (20)
- 一種神經形態處理器,包含:複數個神經突觸核心,各神經突觸核心用以包括:複數個突觸陣列,各突觸陣列用以包括:複數個突觸,各突觸用於包括:突觸輸入;突觸輸出;及突觸記憶體;突觸陣列路由器,耦接至該突觸陣列中的所述突觸輸出;及神經元陣列,用以包括複數個神經元,各神經元用以包括神經元輸入及神經元輸出;其中該各個突觸陣列路由器包括第一邏輯用以將所述突觸輸出的一或多者路由至所述神經元輸入的一或多者。
- 如申請專利範圍第1項的神經形態處理器,其中第一突觸陣列路由器包括第二邏輯用以將突觸輸出路由至不同神經突觸核心中之神經元的神經元輸入。
- 如申請專利範圍第1項的神經形態處理器,其中各突觸更包括突觸記憶體用以儲存突觸目的及突觸權重。
- 如申請專利範圍第3項的神經形態處理器,其中第一突觸陣列路由器包括:第二邏輯,用以讀取至少一個突觸記憶體;第三邏輯,識別突觸目的;第四邏輯,用以識別突觸權重;及 第五邏輯,用以基於路由演算法,將包括該突觸權重及該突觸目的的封包傳輸至神經元群組路由器。
- 如申請專利範圍第4項的神經形態處理器,其中該神經元群組路由器包括:第六邏輯,用以接收該封包;第七邏輯,用以識別該突觸目的;第八邏輯,用以識別該突觸權重;及第九邏輯,用以傳輸該突觸權重至所述神經元輸入的至少一者。
- 如申請專利範圍第1項的神經形態處理器,其中在該神經突觸核心的一者中,將路由至該神經元輸入的一者之該突觸的數目大於該神經突觸核心中之該突觸的數目。
- 如申請專利範圍第1項的神經形態處理器,更包含處理器,其包括第二邏輯,用以將最初突觸目的及最初突觸權重寫至第一神經突觸核心中之該複數個突觸各者的該突觸記憶體中,其中該突觸目的的至少一者係至第二神經突觸核心中的神經元陣列。
- 一種可重置神經形態處理器邏輯單元,包含:複數個神經突觸核心,各神經突觸核心用以包括:複數個突觸陣列,各突觸陣列用以包括:複數個突觸,各突觸用於包括:突觸輸入;突觸輸出;及 突觸記憶體;突觸陣列路由器,該突觸陣列路由器耦接至該突觸陣列中的該突觸輸出;神經元陣列,包括複數個神經元,該複數個神經元各者包括神經元輸入及神經元輸出;其中該各個突觸陣列路由器包括第一邏輯用以將該突觸輸出的一或多者路由至該神經元輸入的一或多者。
- 如申請專利範圍第8項的可重置神經形態處理器邏輯單元,其中第一突觸陣列路由器包括第二邏輯用以將突觸輸出路由至不同神經突觸核心中之神經元的神經元輸入。
- 如申請專利範圍第8項的可重置神經形態處理器邏輯單元,其中各突觸更包括突觸記憶體用以儲存突觸目的及突觸權重。
- 如申請專利範圍第10項的可重置神經形態處理器邏輯單元,其中第一突觸陣列路由器包括:第二邏輯,用以讀取至少一個突觸記憶體;第三邏輯,識別突觸目的;第四邏輯,用以識別突觸權重;及第五邏輯,用以基於路由演算法將包括該突觸權重及該突觸目的的封包傳輸至神經元群組路由器。
- 如申請專利範圍第11項的可重置神經形態處理器邏輯單元,其中該神經元群組路由器包括:第六邏輯,用以接收該封包; 第七邏輯,用以識別該突觸目的;第八邏輯,用以識別該突觸權重;及第九邏輯,用以傳輸該突觸權重至該神經元輸入的至少一者。
- 如申請專利範圍第8項的可重置神經形態處理器邏輯單元,其中在該神經突觸核心的一者中,將路由至該神經元輸入的一者之該突觸的數目大於該神經突觸核心中之該突觸的數目。
- 如申請專利範圍第8項的可重置神經形態處理器邏輯單元,更包含處理器,其包括第二邏輯,用以將最初突觸目的及最初突觸權重寫至第一神經突觸核心中之該複數個突觸各者的該突觸記憶體中,其中該突觸目的的至少一者係至第二神經突觸核心中的神經元陣列。
- 一種可重置神經形態處理器中的方法,包含:於神經突觸核心之神經元陣列的第一神經元接收來自複數個突觸的輸入;將轉移函數施用至該輸入;基於該轉移函數已超過臨限的決定產生神經元輸出至突觸;基於接收該神經元輸出,從突觸記憶體讀取突觸權重及突觸目的;及經由第一突觸路由器中之複數個路由通道的一者傳輸該突觸權重至該突觸目的。
- 如申請專利範圍第15項之方法,更包含: 使用神經元群組路由器接收該突觸權重及該突觸目的;傳輸該突觸權重至在該突觸目的中識別之第二神經元的輸入。
- 如申請專利範圍第15項的方法,其中該突觸目的係第二神經元。
- 如申請專利範圍第17項的方法,其中該第二神經元在與該突觸不同的神經突觸核心中。
- 如申請專利範圍第15項的方法,其中經由突觸路由器中的複數個路由通道之一者傳輸該突觸權重至該突觸目的包括:產生包含該突觸權重及該突觸目的的封包;及傳輸該封包至第二突觸路由器。
- 如申請專利範圍第15項的方法,其中第二神經元接收來自突觸的輸入,該突觸的數目大於該神經突觸核心之一者中的突觸數目。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/757,397 US10482372B2 (en) | 2015-12-23 | 2015-12-23 | Interconnection scheme for reconfigurable neuromorphic hardware |
| US14/757,397 | 2015-12-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201732689A true TW201732689A (zh) | 2017-09-16 |
| TWI715677B TWI715677B (zh) | 2021-01-11 |
Family
ID=59088602
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105138122A TWI715677B (zh) | 2015-12-23 | 2016-11-21 | 用於可重置神經形態硬體之互連方案 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10482372B2 (zh) |
| TW (1) | TWI715677B (zh) |
| WO (1) | WO2017112259A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110163352A (zh) * | 2018-02-14 | 2019-08-23 | 倍加科技股份有限公司 | 电路规划结果产生方法与系统 |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10482372B2 (en) | 2015-12-23 | 2019-11-19 | Intel Corporation | Interconnection scheme for reconfigurable neuromorphic hardware |
| CN112214244B (zh) * | 2016-08-05 | 2025-02-07 | 中科寒武纪科技股份有限公司 | 一种运算装置及其操作方法 |
| US10824937B2 (en) * | 2016-12-20 | 2020-11-03 | Intel Corporation | Scalable neuromorphic core with shared synaptic memory and variable precision synaptic memory |
| US10248906B2 (en) * | 2016-12-28 | 2019-04-02 | Intel Corporation | Neuromorphic circuits for storing and generating connectivity information |
| US10713558B2 (en) | 2016-12-30 | 2020-07-14 | Intel Corporation | Neural network with reconfigurable sparse connectivity and online learning |
| US11270198B2 (en) | 2017-07-31 | 2022-03-08 | Syntiant | Microcontroller interface for audio signal processing |
| US10504507B2 (en) | 2017-12-28 | 2019-12-10 | Syntiant | Always-on keyword detector |
| KR102589968B1 (ko) | 2018-04-17 | 2023-10-16 | 삼성전자주식회사 | 3 차원 적층 구조를 갖는 뉴로모픽 회로 및 이를 포함하는 반도체 장치 |
| US11663461B2 (en) | 2018-07-05 | 2023-05-30 | International Business Machines Corporation | Instruction distribution in an array of neural network cores |
| US10838909B2 (en) | 2018-09-24 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Methods and systems for computing in memory |
| US11816563B2 (en) | 2019-01-17 | 2023-11-14 | Samsung Electronics Co., Ltd. | Method of enabling sparse neural networks on memresistive accelerators |
| CN111507463B (zh) * | 2019-01-30 | 2023-06-20 | 芯立嘉集成电路(杭州)有限公司 | 神经形态的符码处理器及操作所述符码处理器的方法 |
| US11397885B2 (en) * | 2020-04-29 | 2022-07-26 | Sandisk Technologies Llc | Vertical mapping and computing for deep neural networks in non-volatile memory |
| CN119271418B (zh) * | 2024-12-09 | 2025-03-21 | 深圳市智仁科技有限公司 | 低功耗ai处理器的负载均衡方法、芯片及存储介质 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB0811057D0 (en) * | 2008-06-17 | 2008-07-23 | Univ Ulster | Artificial neural network architecture |
| US8856055B2 (en) | 2011-04-08 | 2014-10-07 | International Business Machines Corporation | Reconfigurable and customizable general-purpose circuits for neural networks |
| US8712941B2 (en) * | 2011-09-21 | 2014-04-29 | Brain Corporation | Elementary network description for efficient link between neuronal models and neuromorphic systems |
| US8909576B2 (en) * | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
| US8930291B1 (en) | 2012-05-03 | 2015-01-06 | Hrl Laboratories, Llc | Cortical neuromorphic network, system and method |
| WO2013167780A1 (es) | 2012-05-10 | 2013-11-14 | Consejo Superior De Investigaciones Científicas (Csic) | Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica |
| US9239984B2 (en) | 2012-12-21 | 2016-01-19 | International Business Machines Corporation | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a neural network |
| US9373073B2 (en) | 2012-12-21 | 2016-06-21 | International Business Machines Corporation | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a universal substrate of adaptation |
| US9262712B2 (en) * | 2013-03-08 | 2016-02-16 | International Business Machines Corporation | Structural descriptions for neurosynaptic networks |
| US10650301B2 (en) | 2014-05-08 | 2020-05-12 | International Business Machines Corporation | Utilizing a distributed and parallel set of neurosynaptic core circuits for neuronal computation and non-neuronal computation |
| US9984323B2 (en) * | 2015-03-26 | 2018-05-29 | International Business Machines Corporation | Compositional prototypes for scalable neurosynaptic networks |
| US10482372B2 (en) | 2015-12-23 | 2019-11-19 | Intel Corporation | Interconnection scheme for reconfigurable neuromorphic hardware |
-
2015
- 2015-12-23 US US14/757,397 patent/US10482372B2/en active Active
-
2016
- 2016-11-21 TW TW105138122A patent/TWI715677B/zh active
- 2016-11-22 WO PCT/US2016/063341 patent/WO2017112259A1/en not_active Ceased
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110163352A (zh) * | 2018-02-14 | 2019-08-23 | 倍加科技股份有限公司 | 电路规划结果产生方法与系统 |
| CN110163352B (zh) * | 2018-02-14 | 2023-08-29 | 倍加科技股份有限公司 | 电路规划结果产生方法与系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017112259A1 (en) | 2017-06-29 |
| US20170185888A1 (en) | 2017-06-29 |
| US10482372B2 (en) | 2019-11-19 |
| TWI715677B (zh) | 2021-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI715677B (zh) | 用於可重置神經形態硬體之互連方案 | |
| TWI739772B (zh) | 處理器、用於安全指令執行管線之方法、及運算系統 | |
| TW201732564A (zh) | 用於使用monitor及mwait架構之使用者層級執行緒同步的方法及裝置 | |
| US20170286829A1 (en) | Event-driven Learning and Reward Modulation with Spike Timing Dependent Plasticity in Neuromorphic Computers | |
| CN108292215A (zh) | 用于加载-索引和预取-聚集操作的指令和逻辑 | |
| TW201729078A (zh) | 用於以通道為基礎的跨步儲存操作之指令及邏輯 | |
| CN107690618B (zh) | 用于提供向量紧缩直方图功能的方法、处理器和处理系统 | |
| TWI588740B (zh) | 包括用於移位和(shift-sum)乘法器之指令及邏輯的處理器及系統,以及用於移位和乘法的方法 | |
| US20170177364A1 (en) | Instruction and Logic for Reoccurring Adjacent Gathers | |
| TW201727493A (zh) | 從持續記憶體預取資訊的指令及邏輯 | |
| TWI720056B (zh) | 用於設置多重向量元素操作之指令及邏輯 | |
| TWI773654B (zh) | 處理器、運算系統及用於執行以向量為基礎的位元操控之方法 | |
| US10158485B2 (en) | Double affine mapped S-box hardware accelerator | |
| TW201732581A (zh) | 用於載入索引與集中操作的指令及邏輯 | |
| US20170177353A1 (en) | Instructions and Logic for Get-Multiple-Vector-Elements Operations | |
| US10175986B2 (en) | Stateless capture of data linear addresses during precise event based sampling | |
| US20170177357A1 (en) | Instruction and Logic for Vector Permute | |
| TW201643707A (zh) | 用於提供向量分組元組交叉比較功能的方法、設備、指令和邏輯 | |
| US20170168819A1 (en) | Instruction and logic for partial reduction operations | |
| TW201732619A (zh) | 仿真的訊息通知中斷(msi)中斷處置 | |
| US9996449B2 (en) | Instruction and logic for a convertible innovation and debug engine | |
| TW201723815A (zh) | 用於偶數與奇數向量取得操作之指令及邏輯 | |
| US9473296B2 (en) | Instruction and logic for a simon block cipher | |
| US20160026467A1 (en) | Instruction and logic for executing instructions of multiple-widths | |
| TWI751125B (zh) | 用以監控位址衝突的計數器 |