TWI462114B - 內部處理器緩衝器 - Google Patents
內部處理器緩衝器 Download PDFInfo
- Publication number
- TWI462114B TWI462114B TW099118252A TW99118252A TWI462114B TW I462114 B TWI462114 B TW I462114B TW 099118252 A TW099118252 A TW 099118252A TW 99118252 A TW99118252 A TW 99118252A TW I462114 B TWI462114 B TW I462114B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- buffer
- memory device
- calculation
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/785—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) with decentralized control, e.g. smart memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Electric Clocks (AREA)
Description
本發明之實施例一般而言係關於系統,且更特定而言係關於具有一個或多個內部處理器(例如算術邏輯單元)之系統。
此章節旨在向讀者介紹可能與本發明之各種態樣有關的技術之各種態樣,下文闡述及/或主張該等態樣。據信此論述將有助於向讀者提供背景資訊以促進對本發明之各種態樣之一更好理解。因此,應理解,應就此閱讀此等陳述,而非作為對先前技術之認可。
電子系統通常包含一個或多個處理器,該一個或多個處理器可擷取並執行指令,且輸出所執行指令之結果(例如)以將該等結果儲存至一適合的位置。一處理器一般包含算術邏輯單元(ALU)電路,該算術邏輯單元(ALU)電路能夠對一個或多個運算元執行指令,例如算術及邏輯運算。舉例而言,ALU電路可使運算元彼此相加、相減、相乘或相除,或者可使一個或多個運算元經歷邏輯運算,例如AND、OR、XOR及NOT邏輯函數。各種算術及邏輯運算可具有不同的複雜程度。舉例而言,可藉由在一個循環中透過ALU電路輸入運算元來執行某些運算,而其他運算可利用多個時鐘循環。
在將一指令集指引至ALU以供執行中可涉及電子系統中之多個組件。舉例而言,該等指令及任何對應資料(例如,將對其執行運算之運算元)可由電子系統中之一控制器或某一其他適合的處理器產生。由於執行一指令集所需之時鐘循環的時間或數目可端視運算類型而變化,因此該等指令及資料可在ALU接收並執行該等指令之前寫入至一記憶體裝置,例如,一記憶體陣列及/或緩衝器。在ALU執行該等指令之後,該等運算之中間結果或最終結果亦可在將被複製回至一陣列之前儲存於一緩衝器中。寫入、讀取、緩衝、執行指令並儲存結果之步驟可對不同指令或一指令之不同部分大致同時發生。此並行處理(稱為管線化)可改良電子系統之處理效能。
參考該等圖式在以下實施方式中闡述某些實施例。
算術邏輯單元(ALU)電路一般而言用於在多個階段中處理指令。處理指令可包含執行指令並儲存所執行指令之結果。更具體而言,指令及將對其執行該等指令之資料可由一控制器發送至ALU,且可首先儲存於將在ALU電路可用於執行該等指令時擷取之一記憶體裝置中。一旦已執行了該等指令,ALU便將運算之結果寫入至一記憶體組件或寫入至任一其他適合的輸出。
在某些記憶體系統中,記憶體陣列可位於ALU外部。因此,一外部匯流排可將來自一記憶體陣列之指令及資料輸入至一ALU,並將已完成的結果輸出回至該記憶體陣列或其他適合的輸出。此等外部輸入/輸出可增加系統中之功率消耗。在當前技術之一個或多個實施例中,一個或多個處理器(例如一個或多個ALU)可與一記憶體裝置封裝在一起或嵌入於一記憶體裝置上。此等處理器在下文中稱為「內部處理器」。舉例而言,該記憶體裝置可係一記憶體中處理器(PIM),且可包含若干個嵌入式ALU及一記憶體陣列,該記憶體陣列可儲存將由該等ALU處理之指令及資料以及來自已完成指令之結果。在其他實施例中,該等ALU及該記憶體陣列可位於同一封裝中之唯一晶粒上。舉例而言,該等ALU及該記憶體陣列可以一多晶片封裝(MCP)配置,且可藉由一直通矽通孔(TSV)電連接。此等內部處理器可消除對一外部匯流排在記憶體陣列與ALU之間傳送資訊之需要,從而保存電子裝置中之功率。
當前技術之一個實施例涉及具有包含一個或多個ALU之一嵌入式計算引擎之一記憶體裝置。該記憶體裝置可包含一記憶體陣列,該記憶體陣列可儲存將由該等ALU實施之指令、該等指令將指引至其之資料及來自由該等ALU完成之指令之結果。此外,一定序器及緩衝器亦可整合於該記憶體裝置上以在ALU實施運算之前組態(例如,定序)並保存指令及/或資料。
當前技術中之一種或多種技術揭示將資料傳送(例如,讀取及/或寫入)至一記憶體裝置上之一緩衝器及自一記憶體裝置上之一緩衝器傳送資料以增加(例如)嵌入於該記憶體裝置上之一計算引擎之效率的系統及方法。如所論述,當並行實施資料處理步驟時,該系統可更有效地進行處理。擷取指令及資料、對資料執行指令並記錄結果可全部大致同時發生。此外,在擷取過程中,資訊(例如,指令及/或資料)亦可自記憶體陣列寫入至緩衝器,且ALU可自緩衝器擷取資訊。緩衝器亦可用於在將結果寫入至記憶體陣列之前保存所執行指令之中間結果以及最終結果。在記憶體陣列、緩衝器及ALU之間並行傳送資訊亦可增加資料處理之效率。在當前技術之一個或多個實施例中,一緩衝器可經組態以儲存運算元,以便一計算引擎中之一ALU可處理一運算元之所有位元組,而不添加用以將運算元移位至適當位置中之延時。此外,緩衝器可經組態以儲存運算元,以便可由計算引擎中之多個ALU並行處理多個運算元以改良處理效能。
可在本發明之通篇中使用上文所使用之數個術語,且提供此等術語之定義以促進對當前技術之一更好理解。一「記憶體裝置」可包含記憶體,例如嵌入於積體電路晶片或積體電路板上之動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)。一個或多個ALU或者適於在電子系統中實施指令之任一其他電路、在本文中稱為一「處理器」之處理器中之每一者亦可嵌入於記憶體裝置上。一「控制器」可係指可位於記憶體裝置外部且經組態以將指令及/或資料指引至記憶體裝置中之定序器或ALU或者指引至將由ALU擷取之記憶體陣列或緩衝器之一處理器。控制器可指引(例如,發送)可係指將由內部處理器(例如,ALU)執行之任務的「指令」(例如,運算)。舉例而言,指令可包含算術或邏輯運算或者一處理器(例如,ALU)可適於實施之任一其他任務。在已執行完成指令之前,指令有時可能需要多於一個「循環」或多於一次通過一個或多個ALU。「運算元」可係指將對其執行運算之資料,且端視指令,一個或多個運算元可同時輸入至ALU電路中。另外,在某些運算中,一運算元可在一個循環中透過一ALU輸入,且由該ALU執行並回至同一或另一ALU作為用於額外循環之一運算元。
現轉向圖式,圖1繪示大體上由參考編號10表示之一基於處理器之系統。如下文所闡釋,系統10可包含根據當前技術之實施例製造之各種電子裝置。系統10可係諸如一電腦、呼叫器、蜂巢式電話、個人記事簿、控制電路等各種類型中之任一者。在一典型的基於處理器之系統中,諸如一微處理器之一個或多個處理器12控制對系統10中之系統功能及請求之處理。如下文所闡釋,系統10之處理器12及其他子組件可包含根據當前技術之一個或多個實施例製造之記憶體裝置。
系統10通常包含一電源14。舉例而言,若系統10係一可攜式系統,則電源14可有利地包含一燃料電池、一電力提取裝置、永久電池、可替換電池及/或可再充電電池。電源14亦可包含一AC配接器,因此系統10可插入至(例如)一壁式插座中。電源14亦可包含一DC配接器,以使得系統10可插入至(例如)一車載點煙器中。
端視系統10實施之功能,可將各種其他裝置耦合至處理器12。舉例而言,一輸入裝置16可耦合至處理器12。輸入裝置16可包含(例如)按鈕、開關、一鍵盤、一光筆、一滑鼠、一數位化器及觸針及/或一語音識別系統。一顯示器18亦可耦合至處理器12。輸入裝置16及/或顯示器18可每一者或兩者形成一使用者介面。顯示器18可(例如)包含一LCD、一SED顯示器、一CRT顯示器、一DLP顯示器、一電漿顯示器、一OLED顯示器、LED及/或一音訊顯示器。此外,一RF子系統/基頻處理器20亦可耦合至處理器12。RF子系統/基頻處理器20可包含耦合至一RF接收器並耦合至一RF發射器之一天線(未顯示)。一個或多個通信埠22亦可耦合至處理器12。通信埠22可經調適以耦合至諸如一數據機、一列印機、一電腦等一個或多個週邊裝置24,或耦合至(例如)諸如一區域網路、遠端區域網路、內部網路或網際網路等一網路。
處理器12一般藉由執行儲存於記憶體中指令來控制系統10以實施軟體程式。舉例而言,該等軟體程式可包含一作業系統、資料庫軟體、繪圖軟體、字處理軟體及/或視訊、圖片或聲音編輯軟體。該記憶體係以可操作方式耦合至處理器12以儲存並促進各種程式之執行。舉例而言,處理器12可耦合至系統記憶體26,該系統記憶體可包含動態隨機存取記憶體(DRAM)及/或同步動態隨機存取記憶體(SDRAM)。在一個實施例中,處理器12可包含一記憶體控制器,如先前所論述,該記憶體控制器可能能夠與系統記憶體26中之一記憶體裝置通信。亦如所論述,系統記憶體26中之一記憶體裝置可包含記憶體陣列(例如,一DRAM陣列或一SDRAM陣列)以及嵌入式計算單元(例如ALU)。此外,系統記憶體26可包含揮發性記憶體、非揮發性記憶體或其一組合,且通常較大,以便其可動態地儲存針對應用程式及資料之所載入指令。
處理器12亦可耦合至非揮發性記憶體28,此並不暗示系統記憶體26必需為揮發性的。非揮發性記憶體28可包含諸如一EPROM、電阻式唯讀記憶體(RROM)等唯讀記憶體(ROM)及/或將與系統記憶體26結合使用之快閃記憶體。ROM之大小通常經選擇以恰好足夠大來儲存任何必需的作業系統、應用程式及固定資料。另外,非揮發性記憶體28可包含一高容量記憶體,諸如一磁帶或磁碟驅動記憶體,諸如包含(例如)電阻式記憶體或其他類型之非揮發性固態記憶體之一混合式硬碟。
當前技術之一個或多個實施例涉及處理器12與系統記憶體26之組件之間的通信。更具體而言,處理器12可包含一通用處理器、一中央處理單元、一處理器核心、若干個處理器核心、一ASIC、一記憶體控制器及/或一ALU,其(例如)能夠將信號發送至與系統記憶體26中之記憶體裝置封裝在一起(例如嵌入於系統記憶體26中之記憶體裝置上)之內部處理器並自該等內部處理器接收信號。處理器12與系統記憶體26之組件之間的通信中所涉及之系統10之組件可一般稱為一「記憶體系統」100,如在圖2之方塊圖中所圖解說明。在某些實施例中,一記憶體系統100可包含一記憶體裝置104,該記憶體裝置可係系統10之系統記憶體26之一部分(如圖1中)且可具有一內部處理器。記憶體系統100亦可包含一外部處理器(例如一記憶體控制器102),其(例如)可與一附加通用處理器一起位於一晶片上系統(SOC)中以共同形成一處理器控制式系統10之一處理器12(如圖1中)。記憶體控制器102可與記憶體裝置104之某些組件通信(例如)以控制彼等組件中之一者或多者。
記憶體系統100可包含具有並不限於記憶體控制器102與記憶體裝置104之間的通信之功能的組件。舉例而言,記憶體控制器102可控制除記憶體裝置104以外的裝置。然而,記憶體控制器102(如關於記憶體系統100所闡釋)可係指與記憶體裝置104之某些元件通信之記憶體控制器102之一個功能。同樣地,並非系統記憶體26之所有部分皆可係記憶體系統100之一部分。根據當前技術中之一種或多種技術,「記憶體裝置」104可係指與記憶體控制器之通信中所涉及之系統記憶體26之組件。
記憶體控制器102及記憶體裝置104可由一標準記憶體介面114(例如,DDR、DDR2、DDR3、LPDDR或LPDDR2等)以可操作方式耦合,此可允許記憶體控制器102將資訊指引至記憶體裝置104。在某些實施例中,額外介面亦可經組態以允許自記憶體裝置104至記憶體控制器102之資訊傳送。舉例而言,記憶體控制器102及記憶體裝置104亦可由一控制介面116以可操作方式耦合,此可允許記憶體控制器102與記憶體裝置104之間的通信,包含自記憶體裝置104至記憶體控制器102之通信。
記憶體裝置104可包含一記憶體陣列106及一內部處理器,例如一計算引擎108。記憶體陣列106可係指任一適合形式的儲存器,且可包含(例如)一DRAM陣列或一SDRAM陣列。記憶體控制器102可存取記憶體陣列106,且可能能夠發送將由計算引擎108實施之資料或指令。計算引擎108可包含一個或多個算術邏輯單元(ALU)或可能能夠實施自另一處理器(例如,記憶體控制器102)發送之指令之任一其他電路,該等指令包含(例如)諸如加法、減法、乘法及除法等算術運算以及諸如AND、OR、XOR及NOT函數等邏輯函數。
計算引擎108可嵌入於記憶體裝置104上且能夠存取記憶體陣列106,包含自記憶體陣列106擷取資訊及將資訊儲存至記憶體陣列106。在某些實施例中,計算引擎108可經由一定序器112及計算引擎緩衝器區塊110自記憶體陣列存取資訊。定序器112可組態(例如,組織、定序)由控制器102發送至記憶體陣列106之指令並儲存由計算引擎緩衝器區塊110中之記憶體陣列106擷取之資料。一旦計算引擎108已執行了該等指令,便可在將結果寫入至記憶體陣列106之前將其儲存於計算引擎緩衝器區塊110中。此外,由於某些指令在計算引擎中可能需要多於一個時鐘循環,因此中間結果亦可儲存於計算引擎緩衝器區塊110中。
如在圖3中所繪示,在某些實施例中,計算引擎緩衝器區塊110可包含一個或多個緩衝器。舉例而言,緩衝器區塊110可包含一指令緩衝器122,該指令緩衝器儲存自記憶體陣列106擷取之指令(如圖2中)。定序器112(圖2)可寫入或讀取將定序至指令緩衝器122之指令。緩衝器區塊110亦可包含一運算緩衝器126,該計算緩衝器儲存將由計算引擎108對其進行運算之資料。此外,計算緩衝器126可儲存由計算引擎108執行之命令之最終結果或中間結果。在某些實施例中,緩衝器區塊110亦可包含一資料緩衝器124。如將論述,與指令緩衝器122及/或計算緩衝器126相比較,資料緩衝器124可係一簡單且較密集的緩衝器以增加計算緩衝器126之密度及儲存量,從而進一步改良計算引擎108之並行處理。
如所論述且如在圖4之方塊圖中所繪示,計算引擎108係由一個或多個ALU 128組成,且與計算緩衝器126介接。在所圖解說明之實施例中,ALU 128中之每一者係一8位元(1位元組)ALU。如將瞭解,亦可採用其他大小之ALU。在一個實施例中,計算緩衝器126可經組態以使得資料可寫入至計算緩衝器126中之儲存單元並自計算緩衝器126中之儲存單元讀取資料(例如)以允許計算引擎108之計算循環數目的減少。在圖5之方塊圖中呈現根據當前技術之一個或多個實施例之計算緩衝器126之一個實施例。在圖6至圖8中更詳細地圖解說明計算緩衝器126之CBbyte 130、通過閘136及138以及資料多工器132及134。此外,圖9及圖10分別闡釋計算緩衝器126之一寫入過程200及一讀取過程220之實施例。由於圖6至圖8繪示圖5中之計算緩衝器126之組件,且由於圖5中之計算緩衝器126及圖6至圖8中之組件圖解說明圖9及圖10之寫入及讀取過程200及220中可能涉及之組件,因此可同時闡釋圖5至圖10。
此外,在圖5之方塊圖中標示計算緩衝器126之數個組件,且將簡要論述該等標示。區塊130圖解說明為CBbyte[n:0],且表示計算緩衝器126之個別儲存單元。在此實施例中,計算緩衝器126中之每一儲存單元130係1位元組寬,且因此每一儲存單元130稱為「CBbyte」130。標示為「PG」之區塊136及138表示計算緩衝器126中之通過閘。如將論述,可在寫入及讀取過程200及220期間啟用或停用通過閘136及138以電連接或隔離每一CBbyte 130(圖9及圖10)。標示為「DM」之區塊132及134表示資料多工器,其亦可稱為資料多工器區塊。資料多工器區塊132及134可用於在寫入及讀取過程200及220期間在計算緩衝器126中選擇一列(圖9及圖10)。每一CBbyte 130可具有用於一寫入路徑之一個資料多工器區塊132,及用於一讀取路徑之兩個資料多工器區塊134。如在圖5中所繪示,可隔離每一CBbyte 130之一列以將資料輸入至一個ALU 128中。如將論述,針對一個ALU 128輸入CBbytes 130之一個列可允許將在一單個ALU 128中對一運算元完成一次運算,且將由多個ALU 128並行處理多次運算。
計算緩衝器126可包含一個或多個CBbyte 130,其可係指用於計算緩衝器126中之每一位元組之資訊之一儲存單元。舉例而言,CBbyte 130可稱為一CBbyte區塊,其可包含一列或者一連串正反器或鎖存器或者任一其他適合的記憶體元件。如在圖6中所見,CBbyte 130中之8個正反器152中之每一者可連接至一寫入匯流排線路146及一讀取匯流排線路148,此可使得將資料能夠儲存於CBbyte 130上並自CBbyte 130讀取資料。一定序器112(圖2)可藉由斷定耦合至每一CBbyte 130之寫入位元組選擇154或讀取位元組選擇166來確定在CBbyte 130上何處寫入或讀取資料。舉例而言,定序器112可藉由將寫入位元組選擇154斷定至一CBbyte 130中之適當的正反器152來寫入資料,或藉由將讀取位元組選擇156斷定至適當的正反器152來定位將讀取之資料(圖5)。
再次參考圖5,CBbyte 130可以一陣列配置,且由通過閘136及138分開。可啟用或停用通過閘136及138以電連接或隔離每一CBbyte 130。每一CBbyte 130可具有一寫入通過閘136以在寫入作業期間連接或隔離寫入匯流排146中之CBbyte 130,且具有一讀取通過閘138以在讀取作業期間連接或隔離讀取匯流排148中之CBbyte 130。如在圖7之圖示中所繪示,一通過閘區塊158可包含通過閘136及138,當啟用該等通過閘時,其連接X[n]與Y[n]之間的路徑;且當停用該等通過閘時,其隔離X[n]與Y[n]之間的路徑。
此外,可藉由資料多工器區塊132及134控制來往CBbyte 130之間的寫入及讀取路徑(圖5)。資料多工器區塊132及134可用於在計算緩衝器126中選擇將寫入或讀取之一列。如將論述,每一CBbyte 130可具有用於一寫入路徑之一個資料多工器區塊132,且該寫入路徑可由一寫入通過閘136分開。每一CBbyte 130亦可具有用於一讀取路徑之兩個資料多工器區塊134,且該讀取路徑可由一讀取通過閘138分開。圖8中之一資料多工器區塊132或134之圖示繪示可由定序器112用於在計算緩衝器126中選擇被寫入或讀取之列之選擇線路160。當定序器112將資料寫入至計算緩衝器126中時,其可斷定資料多工器區塊132上之選擇線路160,且資料可自表示為B[7:0]線之資料輸入150驅入至表示為A[7:0]線之所選列n之寫入匯流排146。當定序器112自計算緩衝器126讀取資料時,其可斷定資料多工器區塊134上之選擇線路160,以使得資料可自由A[7:0]線表示之讀取匯流排148驅動至A或B輸入140或142(針對每一CBbyte 130存在兩個讀取資料多工器區塊134)到達ALU 128。自計算緩衝器126讀取至A或B輸入140或142之輸出係表示為B[7:0]線。
ALU 128可係計算引擎108之一部分,而非計算緩衝器126之一部分。ALU 128可連接至計算緩衝器126,以使得可在計算引擎108與計算緩衝器126之間通信(例如,發送、指引、傳送、寫入、輸入等)資料。在實施例中,輸入A及B 140及142可將兩個運算元A及B提供至每一ALU 128。此外,雖然在此圖示中未繪示,但每一ALU 128亦可將資料輸出至一CBbyte 130之輸入多工器144。舉例而言,自ALU 128輸出之資料可包含所執行運算之中間結果或最終結果,該等結果將在寫入至一記憶體陣列106之前儲存於計算緩衝器126中(圖2)。
如所論述,資料可自ALU 128或自記憶體陣列106或自記憶體控制器102之外部輸入/輸出(I/O)輸入至一計算緩衝器126。當前技術之一個實施例包含向一計算緩衝器126進行寫入(例如,輸入)以改良一計算引擎108之效能的系統及方法。在圖9之流程圖中繪示計算緩衝器126之一輸入路徑200之一實例。一定序器112可藉由選擇將寫入至計算緩衝器126之資料並啟用穿過輸入多工器144之一資料路徑150(圖5)(區塊204)來開始輸入過程(區塊202)。定序器112可選擇將自輸入多工器144之五個不同輸入寫入之資料,該五個不同輸入包含一外部I/O、陣列A、陣列B、移位暫存器及總和暫存器。陣列A及B可自記憶體陣列106之不同部分輸入。在某些實施例中,該記憶體陣列可包含記憶庫A及B,該等記憶庫可彼此連接、組態於計算緩衝器126周圍或以其他方式組態於記憶體裝置104上。外部I/O可自記憶體裝置104外部之裝置輸入,該裝置可包含(例如)記憶體控制器102。此外,由於計算引擎108可在將所執行運算之中間結果或最終結果寫入至記憶體陣列106之前將該資訊寫入至計算緩衝器126,因此移位暫存器及總和暫存器可自ALU 128輸出至計算緩衝器126中作為輸入。
定序器112可接著在計算緩衝器126中選擇於其上寫入資料之一目標列(區塊206)。定序器112可藉由驅動目標列之資料多工器134之選擇線路160來該選擇目標列。目標列之寫入資料多工器134之輸入可在其他列之寫入資料多工器134之輸入保持在一不活動狀態中時設定為一活動狀態。資料自輸入多工器144通過寫入資料多工器134之區塊,直至到達所啟動之寫入資料多工器134(區塊208)。一旦已到達具有所啟動之寫入資料多工器134之目標列,該資料便可通過該目標列之一寫入匯流排146。舉例而言,若來自總和暫存器之資料將被寫入至計算緩衝器126之一列5中,則定序器112可設定輸入多工器144來輸入總和暫存器。列5之資料多工器之輸入將在彼輸入線路中之所有其他資料多工器之輸入保持不活動時設定為一活動狀態。資料將通過該輸入線路,直至到達目標列5之寫入資料多工器134,並穿過列5之寫入匯流排線路146。
在一個實施例中,可透過啟用或停用寫入匯流排146上之寫入通過閘138來連接或隔離每一寫入匯流排146上之CBbyte 130(區塊210)。定序器112可將寫入匯流排146分成數個子區段,此可基於將儲存於計算緩衝器126中之運算元之大小。舉例而言,若一8位元組運算元將輸入至計算緩衝器126之列5中,則定序器112可停用列5之寫入匯流排146之每一寫入通過閘138。當停用一通過閘138時,電隔離位於通過閘138之任一側上之CBbyte 130。因此,僅一個位元組(自每一CBbyte 130之一個位元組)可輸入至一個ALU 128中。若一16位元組運算元將輸入至列5中,則可啟用列5之寫入匯流排146之每隔一寫入通過閘138。當啟用一通過閘138時,電連接位於通過閘138之任一側上之CBbyte 130,以使得可使用2個CBbyte 130來儲存該16位元組運算元。藉由斷定位元組選擇並將運算元寫入至目標CBbyte(s) 130來選擇目標列中之CBbyte 130(區塊212),從而終止寫入過程200(區塊214)。計算緩衝器126中子區段之連接及隔離可使得定序器112及每一ALU 108能夠使用相同的ALU 128來處理一運算中之所有資料,而不添加用以將資料移位至適當位置中之額外時鐘循環。節省運算執行中之時鐘循環可增加計算引擎108之效能。
根據當前技術中之一種或多種技術之用於自一計算緩衝器126讀取資料之一讀取過程220亦可允許定序器112及ALU 128處理一運算中之所有位元組,而不添加額外時鐘循環。讀取過程220可包含讀取通過閘136,該等讀取通過閘在連接或隔離計算緩衝器126中之CBbyte 130時類似於寫入通過閘138之操作。在一個實施例中,讀取過程220可因計算緩衝器126可包含兩個讀取資料多工器132而不同於寫入過程200,以使得可選擇兩個資料位置讀取至ALU 128中作為兩個運算元。如在圖10中所圖解說明,讀取過程220可在定序器224確定將處理之資料之位置(區塊224)時開始(區塊222)。端視將讀取之資料之大小,定序器112可啟用或停用讀取通過閘(區塊226)。該定序器可接著藉由啟動目標列之讀取資料多工器132之輸入來選擇其上將儲存運算元之目標列(區塊228)。舉例而言,若將執行之運算係來自列3及列4之兩個16位元運算元之一加法,則使得兩個ALU 128(每一個8位元寬)可對該等16位元運算元執行運算。此外,定序器112可啟用列3及列4上之每隔一讀取通過閘136並啟動列3及列4中之每一者上之讀取資料多工器132之輸入。來自列3或列4中之一者之資料可驅入至輸入A 140中,而來自另一列之資料可驅入至具有活動選擇線路之讀取資料多工器132之輸入B 142中(區塊230)。輸入A 140及輸入B 142可係來自計算緩衝器108之一ALU 128之輸入,且可為ALU 128傳送兩個運算元以執行運算。
當前技術之一個或多個實施例可藉由啟用計算緩衝器126中之有效儲存器來增加一計算引擎108之效率。該等實施例中之一者或多者亦可包含具有多於一個緩衝級之一計算緩衝器126。在一個實施例中,可將一資料緩衝器124添加至計算引擎緩衝器區塊110,如在圖11中所圖解說明。資料緩衝器124可係一簡單緩衝器,且可(例如)係基於鎖存器之緩衝器或基於正反器之緩衝器。由於計算緩衝器126經組態以使位元組對準於計算引擎108,因此資料緩衝器124之組態可比計算緩衝器126密集,且可提供足夠的緩衝器空間來允許記憶體陣列106之有效分頁操作。此可增加計算引擎緩衝器區塊之密度及儲存量,從而提供更多的儲存空間用於計算引擎108與記憶體陣列106或記憶體控制器102之間的資料傳送,此可進一步改良計算引擎108之並行處理。
對記憶體陣列106之存取可佔用計算引擎108之數個時鐘循環。因此,在實施例中,可藉由使用一資料緩衝器124以及計算緩衝器126來減少時鐘循環。圖12呈現將資料複製至一計算引擎緩衝器區塊110中之一資料緩衝器124及自一計算引擎緩衝器區塊110中之一資料緩衝器124複製資料之一過程240之一流程圖。在一個實施例中,過程240可藉由將待由計算引擎108使用之資料儲存至資料緩衝器124中(區塊244)而開始(區塊242)。資料可自記憶體陣列106或自一外部處理器(例如記憶體控制器102)複製至資料緩衝器124中。一定序器112可控制資料至資料緩衝器124之複製。此外,亦可將待由計算引擎108使用之資料複製至計算緩衝器126中(區塊246)。在實施例中,可將資料自資料緩衝器124或者直接自記憶體陣列106或記憶體控制器102複製至計算緩衝器126。一定序器112可自計算緩衝器126擷取資料並將其發送至計算引擎108(區塊248),以使得計算引擎108可對運算元進行運算(區塊250)從而產生運算之結果252。在某些運算中,結果252可係中間結果,且可由計算引擎108用於該運算之將來循環中。在某些實施例中,可將中間結果252指引回至計算引擎108,以使得計算引擎108可完成該運算(區塊250),或可將中間結果252複製至資料緩衝器124(區塊244)或計算緩衝器126(區塊246)。
如所論述,當將運算元複製至資料緩衝器124時,該定序器可將該等運算元自資料緩衝器124傳送至計算緩衝器126,而非自記憶體陣列106傳送至計算緩衝器126,從而節省時鐘循環。通常,存取記憶體陣列106可佔用約100ns,且一計算循環可端視計算引擎108之實施而佔用約1-5ns。自資料緩衝器124複製至計算緩衝器126之每一列可佔用一個循環,而自記憶體陣列106複製至計算緩衝器126之每一列可佔用數個循環。因此,端視計算引擎108及計算緩衝器126之組態,且端視將複製之運算元之大小,一額外緩衝器(資料緩衝器124)可為計算引擎108節省多個時鐘循環。
此外,計算引擎108亦可將最終結果252複製至資料緩衝器124(區塊254)。在某些實施例中,可最後將最終結果252自資料緩衝器124複製至記憶體陣列106(區塊256),從而終止過程240(區塊258)。將結果252複製至資料緩衝器124而非計算緩衝器126可節省計算緩衝器126上之儲存空間,且可保留計算緩衝器126以供保存資料用於將來運算(例如)以改良計算引擎108之效率。因為經組態以並行於計算引擎108之計算緩衝器126可在儲存密度上受結構限制。因此,較密集資料緩衝器124可為來自已完成運算之資料提供更大且更有效的儲存空間。雖然一計算緩衝器126可經組態以與一計算引擎108並行地儲存資料,且可將資料操縱至將在一個ALU上完成之一個運算,計算緩衝器126可比資料緩衝器124較不密集。因此,與一簡單資料緩衝器124結合之一並行計算緩衝器126之當前技術中之一種或多種技術可進一步改良計算引擎效能,而不顯著增加記憶體裝置104之大小。
雖然可易於對本發明做出各種修改及替代形式,但已在圖式中以實例方式顯示了具體實施例且在本文中對該等具體實施例進行了詳細闡述。然而,應理解,並不意欲將本發明限於所揭示之特定形式。而是,本發明將涵蓋歸屬於如由以下隨附申請專利範圍界定之本發明之精神及範疇內之所有修改、等效形式及替代形式。
10...系統
12...處理器
14...電源
16...輸入裝置
18...顯示器
20...RF子系統/基頻處理器
22...通信埠
24...週邊裝置
26...系統記憶體
28...非揮發性記憶體
100...記憶體系統
102...記憶體控制器
104...記憶體裝置
106...記憶體陣列
108...計算引擎
110...計算引擎緩衝器區塊
112...定序器
114...標準記憶體介面
116...控制介面
122...指令緩衝器
124...資料緩衝器
126...計算緩衝器
128...ALU
130...CBbyte
132...讀取資料多工器
134...寫入資料多工器
136...讀取通過閘
138...寫入通過閘
140...輸入
142...輸入
144...輸入多工器
146...寫入匯流排
148...讀取匯流排
150...資料輸入
152...正反器
154...寫入位元組選擇
156...讀取位元組選擇
158...通過閘區塊
160...選擇線路
圖1根據當前技術之一實施例繪示一基於處理器之系統之一方塊圖;
圖2根據當前技術之一實施例繪示具有與一記憶體控制器介接之嵌入式算術邏輯單元(ALU)之一記憶體裝置之一方塊圖;
圖3根據當前技術之一實施例繪示記憶體裝置上之一計算引擎緩衝器區塊之一方塊圖;
圖4根據當前技術之一個或多個實施例繪示一計算緩衝器及包括嵌入於一記憶體裝置上之ALU之一計算引擎之一方塊圖;
圖5根據當前技術之一個或多個實施例繪示耦合至一計算引擎之ALU之一計算緩衝器之某些組件之一方塊圖;
圖6根據當前技術之一個或多個實施例圖解說明計算緩衝器之儲存單元;
圖7根據當前技術之一個或多個實施例圖解說明隔離或連接計算緩衝器之儲存單元之通過閘;
圖8根據當前技術之一個或多個實施例圖解說明在計算緩衝器中選擇一列之資料多工器;
圖9係根據當前技術之一個或多個實施例用於向一計算緩衝器進行寫入之一過程之一流程圖;
圖10係根據當前技術之一個或多個實施例用於自一計算緩衝器進行讀取之一過程之一流程圖;
圖11根據當前技術之一個或多個實施例繪示一計算引擎緩衝器區塊中之一資料緩衝器及一計算緩衝器之一方塊圖;及
圖12係根據當前技術之一個或多個實施例用於將資料複製至一計算引擎緩衝器區塊中之一資料緩衝器或自一計算引擎緩衝器區塊中之一資料緩衝器複製資料之一過程之一流程圖。
100...記憶體系統
102...記憶體控制器
104...記憶體裝置
106...記憶體陣列
108...計算引擎
110...計算引擎緩衝器區塊
112...定序器
114...標準記憶體介面
116...控制介面
Claims (29)
- 一種記憶體裝置,其包括:一內部處理器,其經組態以使用資料之部分而處理對該資料之運算;及一緩衝器,其包括:一計算緩衝器,其能夠將該資料儲存於若干個區段中,其中每一區段之一大小匹配該資料之每一部分之一大小,且其中該計算緩衝器經由一個或多個輸入及一個或多個輸出而耦接至該內部處理器;及一資料緩衝器,其經組態以儲存該資料及對該資料之該等運算之結果,其中儲存於該資料緩衝器中之該資料係可傳送至該計算緩衝器。
- 如請求項1之記憶體裝置,其中該內部處理器包括一個或多個算術邏輯單元(ALU),且其中每一區段之該大小匹配該一個或多個ALU中之每一者之一寬度。
- 如請求項1之記憶體裝置,其中該一個或多個ALU經組態以並行處理對一個或多個資料集之運算。
- 如請求項1之記憶體裝置,其中對該資料之該等運算之該等結果係自該內部處理器寫入至該資料緩衝器。
- 如請求項1之記憶體裝置,其包括一定序器,該定序器經組態以將該資料自該資料緩衝器傳送至該計算緩衝器且經組態以將對該資料之該等運算之該等結果儲存至該資料緩衝器。
- 如請求項1之記憶體裝置,其包括經組態以儲存該資料 及對該資料之該等運算之該等結果之一記憶體陣列。
- 如請求項6之記憶體裝置,其中一定序器經組態以在該記憶體陣列與該緩衝器之間傳送資料及對該資料之該等運算之該等結果。
- 如請求項6之記憶體裝置,其中一定序器經組態以在該記憶體陣列、該資料緩衝器及該計算緩衝器之間傳送資料及對該資料之該等運算之該等結果。
- 如請求項1之記憶體裝置,其中該計算緩衝器包括:若干個儲存單元,其等以一陣列配置於該計算緩衝器中;及若干個通過閘,其等經組態以基於欲儲存之該資料之一大小來電連接或隔離該等儲存單元。
- 一種操作一記憶體裝置之方法,其包括:選擇兩個資料集以自一計算緩衝器讀取;在選擇兩個資料集以自該計算緩衝器讀取之該計算緩衝器中選擇一個或多個列;基於該兩個資料集之一大小來連接或隔離儲存單元;及自該所選一個或多個列中之至少一個儲存單元讀取該資料,其中該記憶體裝置包含一內部處理器,其耦接至該計算緩衝器及一資料緩衝器,其中該內部處理器經組態以傳送資料至該計算緩衝器且自該計算緩衝器接收資料,及該資料緩衝器經組態以儲存可傳送至該計算緩衝器之資料。
- 如請求項10之方法,其中選擇兩個資料集以自該計算緩衝器讀取包括自一外部輸入/輸出、該記憶體裝置中之一記憶體陣列、一移位暫存器或一總和暫存器中之一者或多者選擇資料。
- 如請求項10之方法,其中在該計算緩衝器中選擇該一個或多個列包括啟動耦合至該列之一多工器上之一輸入。
- 如請求項10之方法,其中該計算緩衝器包括複數個儲存單元,且連接或隔離該等儲存單元包括將該複數個儲存單元中之某些儲存單元形成為若干個儲存區段。
- 如請求項10之方法,包括將該資料寫入至該至少一個儲存單元。
- 一種操作一記憶體裝置之方法,其包括:將待由一記憶體裝置之一內部處理器使用之資料儲存至該記憶體裝置上之一資料緩衝器;將該資料儲存至該記憶體裝置上之一計算緩衝器之區段,其中儲存於該資料緩衝器之該資料可傳送至該計算緩衝器;自該計算緩衝器擷取該資料;對該資料之部分執行一個或多個運算;及將該所執行運算之一結果儲存於該資料緩衝器及/或該計算緩衝器中,其中該計算緩衝器係耦接至該內部處理器且經組態以傳送資料至該內部處理器及自該內部處理器接收資料,及該計算緩衝器之每一區段之一大小匹配該資料之每一部分之一大小。
- 如請求項15之方法,其中該資料緩衝器比該計算緩衝器密集。
- 如請求項15之方法,其包括將該資料自該資料緩衝器傳送至該計算緩衝器。
- 如請求項15之方法,其進一步包括將該資料自該計算緩衝器傳送至該內部處理器。
- 如請求項18之方法,其中該內部處理器包括一個或多個算術邏輯單元。
- 如請求項15之方法,其包括將資料自該記憶體裝置外部之一處理器複製至該計算緩衝器或該資料緩衝器中之一者或多者。
- 如請求項15之方法,其中將該等結果僅儲存於該資料緩衝器中。
- 如請求項15之方法,其中該等結果包括中間結果。
- 如請求項15之方法,其中該等結果包括最終結果。
- 一種記憶體裝置,其包括:一內部處理器,其經組態以使用資料之部分而處理對該資料之運算;一計算緩衝器,其包括:一儲存單元陣列,其中每一儲存單元之一大小匹配該資料之每一部分之一大小;複數個通過閘,其等經組態以電連接或隔離該等儲存單元中之一者或多者;及複數個多工器,其等經組態以使得能夠自該陣列選 擇該等儲存單元中之一者或多者,其中該計算緩衝器經由一個或多個輸入及一個或多個輸出而耦接至該內部處理器;及一資料緩衝器,其經組態以儲存該資料及對該資料之該等運算之結果,其中儲存於該資料緩衝器中之該資料係可傳送至該計算緩衝器。
- 如請求項24之記憶體裝置,其中該資料緩衝器經組態以將資料複製至該計算緩衝器。
- 如請求項25之記憶體裝置,其中該資料緩衝器經組態以自連接至該計算緩衝器之一內部處理器接收資料。
- 如請求項24之記憶體裝置,其中該計算緩衝器中之該等儲存單元儲存可由該內部處理器存取之資料。
- 如請求項24之記憶體裝置,其中該等儲存單元係組態為基於以可操作方式耦合至該計算緩衝器之一內部處理器之一組態而被電連接或隔離。
- 如請求項24之記憶體裝置,其中該計算緩衝器經組態以基於來自耦合至該計算緩衝器之一定序器之指令而儲存資料。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/478,457 US8521958B2 (en) | 2009-06-04 | 2009-06-04 | Internal processor buffer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201106373A TW201106373A (en) | 2011-02-16 |
| TWI462114B true TWI462114B (zh) | 2014-11-21 |
Family
ID=42735463
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW099118252A TWI462114B (zh) | 2009-06-04 | 2010-06-04 | 內部處理器緩衝器 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US8521958B2 (zh) |
| TW (1) | TWI462114B (zh) |
| WO (1) | WO2010141226A2 (zh) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
| US9535876B2 (en) | 2009-06-04 | 2017-01-03 | Micron Technology, Inc. | Conditional operation in an internal processor of a memory device |
| US8380916B2 (en) | 2009-06-04 | 2013-02-19 | Micron Technology, Inc. | Control of page access in memory |
| US8719516B2 (en) | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
| US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
| US9274971B2 (en) | 2012-11-27 | 2016-03-01 | International Business Machines Corporation | Low latency data exchange |
| US8971124B1 (en) * | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
| CN119181397A (zh) | 2014-12-19 | 2024-12-24 | 拉姆伯斯公司 | 用于存储器模块的动态随机存取存储器(dram)部件 |
| KR20160094154A (ko) * | 2015-01-30 | 2016-08-09 | 에스케이하이닉스 주식회사 | 데이터 전송 회로 |
| US10956439B2 (en) * | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
| US9747106B1 (en) | 2016-09-30 | 2017-08-29 | International Business Machines Corporation | Allocating multiple operand data areas of a computer instruction within a program buffer |
| US11157213B2 (en) | 2018-10-12 | 2021-10-26 | Micron Technology, Inc. | Parallel memory access and computation in memory devices |
| US20200117449A1 (en) * | 2018-10-12 | 2020-04-16 | Micron Technology, Inc. | Accelerated Access to Computations Results Generated from Data Stored in Memory Devices |
| US10461076B1 (en) | 2018-10-24 | 2019-10-29 | Micron Technology, Inc. | 3D stacked integrated circuits having functional blocks configured to accelerate artificial neural network (ANN) computation |
| US10884664B2 (en) | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cell |
| US10884663B2 (en) * | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cells |
| CN112053712B (zh) * | 2019-06-06 | 2024-05-10 | 意法半导体国际有限公司 | 具有集成偏差元件的存储器内计算阵列 |
| US11226816B2 (en) | 2020-02-12 | 2022-01-18 | Samsung Electronics Co., Ltd. | Systems and methods for data placement for in-memory-compute |
| US11206368B2 (en) * | 2020-05-22 | 2021-12-21 | Omnivision Technologies, Inc. | Data readout power saving techniques for shift register structure |
| US11568907B2 (en) * | 2020-09-07 | 2023-01-31 | Samsung Electronics Co., Ltd. | Data bus and buffer management in memory device for performing in-memory data operations |
| CN117976016A (zh) * | 2022-10-24 | 2024-05-03 | 长鑫存储技术有限公司 | 数据传输电路、电路控制方法和存储器 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6175937B1 (en) * | 1996-10-24 | 2001-01-16 | Micron Technology, Inc. | Apparatus and method for programming multistate memory device |
| US20050024983A1 (en) * | 2002-04-22 | 2005-02-03 | Graham Kirsch | Providing a register file memory with local addressing in a SIMD parallel processor |
| US6959316B2 (en) * | 2001-02-01 | 2005-10-25 | Nokia Mobile Phones Limited | Dynamically configurable processor |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5895487A (en) * | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
| US9535876B2 (en) | 2009-06-04 | 2017-01-03 | Micron Technology, Inc. | Conditional operation in an internal processor of a memory device |
| US9684632B2 (en) | 2009-06-04 | 2017-06-20 | Micron Technology, Inc. | Parallel processing and internal processors |
| US8380916B2 (en) | 2009-06-04 | 2013-02-19 | Micron Technology, Inc. | Control of page access in memory |
| US9606807B2 (en) | 2009-06-04 | 2017-03-28 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
| US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
| US8719516B2 (en) | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
| US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
-
2009
- 2009-06-04 US US12/478,457 patent/US8521958B2/en active Active
-
2010
- 2010-05-19 WO PCT/US2010/035457 patent/WO2010141226A2/en not_active Ceased
- 2010-06-04 TW TW099118252A patent/TWI462114B/zh active
-
2013
- 2013-08-06 US US13/960,634 patent/US8838899B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6175937B1 (en) * | 1996-10-24 | 2001-01-16 | Micron Technology, Inc. | Apparatus and method for programming multistate memory device |
| US6959316B2 (en) * | 2001-02-01 | 2005-10-25 | Nokia Mobile Phones Limited | Dynamically configurable processor |
| US20050024983A1 (en) * | 2002-04-22 | 2005-02-03 | Graham Kirsch | Providing a register file memory with local addressing in a SIMD parallel processor |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010141226A3 (en) | 2011-02-24 |
| WO2010141226A2 (en) | 2010-12-09 |
| TW201106373A (en) | 2011-02-16 |
| US20100312999A1 (en) | 2010-12-09 |
| US8521958B2 (en) | 2013-08-27 |
| US8838899B2 (en) | 2014-09-16 |
| US20130318294A1 (en) | 2013-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI462114B (zh) | 內部處理器緩衝器 | |
| US12259829B2 (en) | Memory having internal processors and data communication methods in memory | |
| US10970247B2 (en) | Conditional operation in an internal processor of a memory device | |
| TWI427480B (zh) | 與一記憶體裝置內部之一處理器的直接通信 | |
| TWI442244B (zh) | 具有內部處理器之記憶體及控制記憶體存取之方法 | |
| TWI427532B (zh) | 並行處理及內部處理器 | |
| CN102460406B (zh) | 内部处理器与外部处理器之间的通信 |