TWI609264B - 記憶體中之除法運算 - Google Patents
記憶體中之除法運算 Download PDFInfo
- Publication number
- TWI609264B TWI609264B TW104129202A TW104129202A TWI609264B TW I609264 B TWI609264 B TW I609264B TW 104129202 A TW104129202 A TW 104129202A TW 104129202 A TW104129202 A TW 104129202A TW I609264 B TWI609264 B TW I609264B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit vector
- bit
- vector
- stored
- comp
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Dram (AREA)
- Human Computer Interaction (AREA)
- Static Random-Access Memory (AREA)
Description
本發明大體上係關於半導體記憶體裝置及方法,且更特定言之,本發明係關於與在一記憶體中執行除法運算有關之裝置及方法。
記憶體器件通常提供為電腦或其他電子系統中之內部半導體積體電路。存在諸多不同類型之記憶體,其包含揮發性記憶體及非揮發性記憶體。揮發性記憶體需要電力來維持其資料(例如主機資料、錯誤資料等等)且尤其包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)。非揮發性記憶體可藉由在未被供電時保持儲存資料而提供永久性資料,且可尤其包含反及(NAND)快閃記憶體、反或(NOR)快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM))。
電子系統通常包含若干處理資源(例如一或多個處理器),其等可擷取及執行指令且將所執行指令之結果儲存至一適合位置。一處理器可包括若干功能單元(例如,本文中指稱功能單元電路(FUC))(諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及/或一組合邏輯區塊),例如,其等可執行指令以對資料(例如一或多個運算元)執行邏輯運
算,諸如「及」、「或」、「非」、「反及」、「反或」及「互斥或」邏輯運算。
一電子系統中之若干組件可涉及將指令提供至功能單元電路來執行。可由(例如)一處理資源(諸如一控制器及/或主機處理器)產生指令。可將資料(例如將對其執行指令以執行邏輯運算之運算元)儲存於可由FUC存取之一記憶體陣列中。可自憶體陣列擷取指令及/或資料且可在FUC開始對資料執行指令之前序列化及/或緩衝指令及/或資料。此外,因為可透過FUC而在一或多個時脈週期中執行不同類型之運算,所以亦可序列化及/或緩衝運算及/或資料之中間結果。
在諸多例項中,處理資源(例如處理器及/或相關聯之FUC)可位於記憶體陣列之外部,且資料可經存取(例如,經由處理資源與記憶體陣列之間的一匯流排)以執行指令。可經由一匯流排而將資料自記憶體陣列移動至記憶體陣列外部之暫存器。
100‧‧‧計算系統
110‧‧‧主機
120‧‧‧記憶體器件
130‧‧‧記憶體陣列
140‧‧‧控制器
141‧‧‧控制組件/元件
142‧‧‧位址電路
144‧‧‧輸入/輸出(I/O)電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出(I/O)匯流排
202-1‧‧‧電晶體/儲存元件
202-2‧‧‧電晶體/儲存元件
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線/存取線/列X
204-Y‧‧‧字線/存取線/列Y
205-1‧‧‧資料線(D)
205-2‧‧‧資料線(D_)
206‧‧‧感測放大器
207-1‧‧‧下拉電晶體
207-2‧‧‧下拉電晶體
208-1‧‧‧電晶體
208-2‧‧‧電晶體
209-1‧‧‧n通道電晶體(NMOS電晶體)
209-2‧‧‧n通道電晶體(NMOS電晶體)
212-1‧‧‧主動負控制信號線(ACCUMB)
212-2‧‧‧主動正控制信號線(ACCUM)
213-1‧‧‧ANDinv控制信號線
213-2‧‧‧ORinv控制信號線
214-1‧‧‧下拉電晶體
214-2‧‧‧下拉電晶體
215‧‧‧鎖存器
216-1‧‧‧電晶體
216-2‧‧‧電晶體
217-1‧‧‧鎖存器輸入
217-2‧‧‧鎖存器輸入
218-1‧‧‧負載/通路電晶體
218-2‧‧‧負載/通路電晶體
219‧‧‧控制信號(SHIFT)
221-1‧‧‧隔離電晶體
221-2‧‧‧隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號(NORM)
223‧‧‧移位電路
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
227-1‧‧‧n通道電晶體(NMOS電晶體)
227-2‧‧‧n通道電晶體(NMOS電晶體)
228‧‧‧主動負控制信號(RnIF)
229-1‧‧‧p通道電晶體(PMOS電晶體)
229-2‧‧‧p通道電晶體(PMOS電晶體)
230‧‧‧記憶體陣列
231‧‧‧計算組件/累加器
233-1‧‧‧鎖存器輸入
233-2‧‧‧鎖存器輸入
238‧‧‧平衡電壓
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧靜態鎖存器/次級鎖存器
265‧‧‧主動正控制信號(ACT)
291-1‧‧‧參考電壓線
303‧‧‧記憶體胞
303-0至303-J‧‧‧記憶體胞
304‧‧‧存取線
304-0至304-R‧‧‧存取線
305‧‧‧感測線
305-0至305-S‧‧‧感測線
306‧‧‧感測放大器
306-0至306-U‧‧‧感測放大器
308-0至308-V‧‧‧存取器件/電晶體
310-0至310-W‧‧‧行解碼線
312‧‧‧次級感測放大器
330‧‧‧記憶體陣列
331‧‧‧計算組件
331-0至331-X‧‧‧計算組件
334‧‧‧輸入/輸出(I/O)線
431‧‧‧位元向量(Comp_Comp)
470‧‧‧暫時儲存列
472‧‧‧向量引數
476‧‧‧位元向量(Dynamic_Mask)
478‧‧‧位元向量(Static_Mask)
480‧‧‧位元向量(Current_Dividend)
482‧‧‧位元向量(Current_Compare)
488‧‧‧位元向量(被除數)
490‧‧‧位元向量(除數)
492‧‧‧位元向量(商數)
494‧‧‧位元向量(餘數)
496‧‧‧行
703‧‧‧信號
704-0‧‧‧列信號
705-1‧‧‧資料線電壓信號
705-2‧‧‧資料線電壓信號
711‧‧‧Passd控制信號
712-1‧‧‧累加器控制信號(ACCUMB)
712-2‧‧‧累加器控制信號(ACCUM)
726‧‧‧平衡信號
728‧‧‧負控制信號
765‧‧‧控制信號
803‧‧‧信號
804-1‧‧‧列信號
805-1‧‧‧信號
805-2‧‧‧信號
811-1‧‧‧控制信號(Passd)
826‧‧‧平衡信號
828‧‧‧負控制信號
865‧‧‧正控制信號
903‧‧‧信號
904-1‧‧‧列信號
905-1‧‧‧信號
905-2‧‧‧信號
911-2‧‧‧控制信號(Passdb)
926‧‧‧平衡信號
928‧‧‧負控制信號
965‧‧‧正控制信號
1004‧‧‧列啟用信號
1005-1‧‧‧資料線(D)
1005-2‧‧‧資料線(D_)
1011‧‧‧控制信號(Passd)
1026‧‧‧平衡信號
1028‧‧‧負控制信號
1065‧‧‧正控制信號
1105-1‧‧‧感測線
1105-2‧‧‧感測線
1106‧‧‧感測放大器
1113-5‧‧‧邏輯運算選擇邏輯
1131‧‧‧計算組件
1142‧‧‧交換閘/交換電晶體
1150‧‧‧感測電路
1150-1‧‧‧隔離電晶體
1150-2‧‧‧隔離電晶體
1152‧‧‧邏輯選擇電晶體
1154‧‧‧邏輯選擇電晶體
1162‧‧‧邏輯選擇電晶體
1164‧‧‧邏輯選擇電晶體
1193-1‧‧‧通閘
1193-2‧‧‧通閘
1244‧‧‧行A
1245‧‧‧行B
1247‧‧‧列
1256‧‧‧「不打開」
1270‧‧‧「打開真」
1271‧‧‧「打開反相」
1275‧‧‧連接路徑
1276‧‧‧列
1277‧‧‧列
1278‧‧‧列
1279‧‧‧列
1280‧‧‧標頭
ACT‧‧‧控制信號
EQ‧‧‧控制信號
FF‧‧‧第一邏輯選擇控制信號
FT‧‧‧第二邏輯選擇控制信號
GND‧‧‧接地
ISO‧‧‧控制信號
PASS‧‧‧邏輯運算選擇邏輯信號
PASS*‧‧‧邏輯運算選擇邏輯信號
RnIF‧‧‧負控制信號
TF‧‧‧第三邏輯選擇控制信號
TT‧‧‧第四邏輯選擇控制信號
VDD‧‧‧供應電壓
圖1係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統之形式的一裝置之一方塊圖。
圖2A繪示根據本發明之若干實施例之一記憶體陣列之一部分之一示意圖。
圖2B繪示根據本發明之若干實施例之一記憶體陣列之一部分之一示意圖。
圖3繪示根據本發明之若干實施例之一記憶體陣列之一部分之一示意圖。
圖4A繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖4B繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖4C繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖4D繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖4E繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖4F繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之一特定階段中之一陣列之記憶體胞之狀態。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖7繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖8繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖9繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖10繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖11係繪示根據本發明之若干實施例之具有可選邏輯運算選擇邏輯之感測電路的一示意圖。
圖12係繪示根據本發明之若干實施例之由一感測電路實施之可選邏輯運算結果的一邏輯表。
本發明包含與在一記憶體中執行除法運算有關之裝置及方法。
可對複數個被除數元素及複數個除數元素執行一除法運算。可將該複數個被除數元素及該複數個除數元素儲存於耦合至不同存取線之複數個群組之記憶體胞中。例如,耦合至一第一存取線之一第一群組之記憶體胞可經組態以儲存該複數個被除數元素。耦合至一第二存取線之一第二群組之記憶體胞可經組態以儲存該複數個除數元素。該除法運算可包含一控制器,其經組態以在無需經由一輸入/輸出(I/O)線而傳送資料之情況下藉由控制感測電路執行若干運算而使被除數元素除以除數元素。
使被除數元素除以除數元素包含:對元素對(例如呈儲存於一陣列中之位元向量之形式的資料)執行一除法運算,對元素對執行該除法運算可包含:對來自複數個被除數元素之一第一被除數元素及來自複數個除數元素之一第一除數元素(該第一被除數元素及該第一除數元素來自一第一元素對)執行該除法運算,對來自該複數個被除數元素之一第二被除數元素及來自該複數個除數元素之一第二除數元素(該第二被除數元素及該第二除數元素來自第二元素對)執行該除法運算,等等。可將對複數個元素對執行該除法運算描述為對一第一元素對執行一第一除法運算,對一第二元素對執行一第二除法運算,等等。
可對元素對並行地執行除法運算。例如,可對來自第一元素對之元素及來自第二元素對之元素並行地執行除法運算。
如本文中所使用,複數個被除數元素及複數個除數元素可為相除之數值。即,一被除數元素可除以一除數元素。一除法運算可用於判定一商數元素(例如商數值)及一餘數元素(例如餘數值)。如本文中所使用,將該商數元素界定為該除數元素除該被除數元素之次數。即,該商數元素可為除法運算之結果之整數部分。將該餘數元素界定為該除數元素除該被除數元素之後之該被除數元素之剩餘部分。即,
該餘數元素可為除法運算之結果之非整數部分。然而,可將該餘數元素表達成一整數值。
在若干實例中,一元素可表示可由一位元向量表示之一目標及/或其他建構。作為一實例,一除法運算可經執行以藉由使表示各自目標之位元向量相除而使目標相除。
本發明之若干實施例可提供比先前方法少之運算量(例如計算量、函數量等等)之次數及/或執行若干除法運算(例如除法函數)所涉及之時間。例如,可歸因於並行地(例如,同時)執行各種除法運算之一能力而減少計算量及/或時間。如本文中所描述,執行若干除法運算亦可比先前方法減少電力消耗。根據若干實施例,可在無需經由一匯流排(例如資料匯流排、位址匯流排、控制匯流排等等)而傳送出自記憶體陣列及/或感測電路傳送出資料之情況下對元素執行一除法運算。一除法運算可涉及:並行地執行若干邏輯運算。例如,一除法運算可包含:並行地執行複數個「及」運算,並行地執行複數個「或」運算,並行地執行複數個「移位」運算,並行地執行複數個「反相」運算,等等。然而,實施例不受限於此等實例。
在各種先前方法中,可經由包括輸入/輸出(I/O)線之一匯流排而將與一除法運算相關聯之一被除數元素及一除數元素自陣列及感測電路傳送至若干暫存器。可由一處理資源(諸如一處理器、微處理器及/或計算引擎)使用該若干暫存器,該處理資源可包括經組態以執行適當邏輯運算之ALU電路及/或其他功能單元電路。然而,通常可由該ALU電路僅執行一單一除法函數,且經由一匯流排而將資料自暫存器傳送至記憶體/將資料自記憶體傳送至暫存器會涉及大量電力消耗及時間需求。即使該處理資源位於相同於記憶體陣列之一晶片上,但在將資料自陣列移出至計算電路(例如ALU)時會消耗大量電力,其可涉及:執行一感測線位址存取(例如,起動一行解碼信號)以將資料自感
測線傳送至I/O線上,將該資料移動至陣列周邊,且將該資料提供至與執行(例如)一除法運算相關聯之一暫存器。
在本發明之下列詳細描述中,參考構成本發明之一部分的附圖,且在附圖中藉由繪示而展示可如何實踐本發明之一或多個實施例。此等實施例經足夠詳細地描述以使一般技術者能夠實踐本發明之該等實施例,且應瞭解:可利用其他實施例;及可在不脫離本發明之範疇之情況下作出程序、電性及/或結構變化。如本文中所使用,標示符「M」、「N」、「J」、「R」、「S」、「U」、「V」、「X」、「Y」及「W」(尤其是相對於圖式中之元件符號的標示符)指示:可包含若干所標示之特定特徵。如本文中所使用,「若干」特定事物可係指此等事物之一或多者(例如,若干記憶體陣列可係指一或多個記憶體陣列)。
本文中之圖遵循一編號規定,其中第一個或前幾個數字對應於圖號且剩餘數字識別圖式中之一元件或組件。可藉由使用類似數字而識別不同圖之間的類似元件或組件。例如,130可係指圖1中之元件「30」,且可將圖2中之一類似元件稱為230。應瞭解,本文中之各種實施例中所展示之元件可經新增、經交換及/或經消除以便提供本發明之若干額外實施例。另外,應瞭解,圖中所提供之元件之比例及相對尺度意欲繪示本發明之某些實施例,且不應被視為意指限制。
圖1係根據本發明之若干實施例之呈包含一記憶體器件120之一計算系統100之形式的一裝置之一方塊圖。如本文中所使用,一記憶體器件120、一記憶體陣列130及/或感測電路150亦可被單獨視為一「裝置」。
系統100包含一主機110,其耦合至包含一記憶體陣列130之記憶體器件120。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一行動電話或一記憶體卡讀取器、以及各種其他類型之主機。主機110可包含一系統主機板及/或背板且可包含若
干處理資源(例如一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含單獨積體電路,或主機110及記憶體器件120兩者可位於相同積體電路上。系統100可為(例如)一伺服器系統及/或一高效能計算(HPC)系統及/或該HPC系統之一部分。雖然圖1中所展示之實例繪示具有一範紐曼(Von Neumann)架構之一系統,但本發明之實施例可實施於非範紐曼架構(例如一杜林機(Turing machine))(其可不包含通常與一範紐曼架構相關聯之一或多個組件(例如CPU、ALU等等))中。
為清楚起見,系統100已被簡化以聚焦於與本發明特定相關之特徵。記憶體陣列130可為(例如)DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、反及快閃陣列及/或反或快閃陣列。陣列130可包括配置成由存取線(其在本文中可指稱字線或選擇線)耦合之列及由感測線(其在本文中可指稱數位線或資料線)耦合之行的記憶體胞。雖然圖1中展示一單一陣列130,但實施例不受限於此。例如,記憶體器件120可包含若干陣列130(例如若干DRAM記憶體胞庫)。結合圖2而描述一實例性DRAM陣列。
記憶體器件120包含用於鎖存經由一I/O匯流排156(例如一資料匯流排)透過I/O電路144而提供之位址信號的位址電路142。位址信號被接收且由一列解碼器146及一行解碼器152解碼以存取記憶體陣列130。可藉由使用感測電路150來感測感測線上之電壓及/或電流變化而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取一頁資料(例如一列資料)且鎖存該頁資料。I/O電路144可用於經由I/O匯流排156而與主機110雙向資料通信。寫入電路148用於將資料寫入至記憶體陣列130。
控制器140解碼由控制匯流排154自主機110提供之信號。此等信號可包含用於控制對記憶體陣列130執行之操作(其包含資料讀取操
作、資料寫入操作及資料抹除操作)的晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,控制器140負責執行來自主機110之指令。控制器140可為一狀態機、一定序器或某一其他類型之控制器。
下文結合圖2而進一步描述感測電路150之一實例。例如,在若干實施例中,感測電路150可包括若干感測放大器及若干計算組件,其等可包括一累加器且可用於執行邏輯運算(例如,對與互補感測線相關聯之資料執行邏輯運算)。在若干實施例中,感測電路(例如150)可用於執行除法運算(使用儲存於陣列130中之資料作為輸入)且將除法運算之結果儲存回至陣列130,無需經由一感測線位址存取之傳送(例如,無需起動一行解碼信號)。因而,可使用感測電路150來執行一除法運算,而非由感測電路150外部之處理資源(例如,由與主機110相關聯之一處理器及/或位於器件120上(例如,位於控制器140或別處上)之其他處理電路,諸如ALU電路)執行一除法運算;及/或除由感測電路150外部之該等處理資源執行一除法運算之外,亦可使用感測電路150來執行一除法運算。
在各種先前方法中,與(例如)一除法運算相關聯之資料將經由感測電路而自記憶體讀取且提供至一外部ALU。外部ALU電路將使用元素(其可指稱運算元或輸入)來執行除法運算且結果可經由區域I/O線而傳送回至陣列。相比而言,在本發明之若干實施例中,感測電路(例如150)經組態以對儲存於記憶體陣列130中之記憶體胞中之資料執行一除法運算且將結果儲存回至陣列130,無需啟用耦合至感測電路之一區域I/O線。
因而,在若干實施例中,可無需陣列130及感測電路150外部之暫存器及/或一ALU來執行除法運算,此係因為感測電路150可執行使用記憶體陣列130之位址空間來執行除法運算時所涉及之適當計算。
另外,可在無需使用一外部處理資源之情況下執行除法運算。
圖2A繪示根據本發明之若干實施例之包含感測電路250之一記憶體陣列230之一部分之一示意圖。在圖2A中,一記憶體胞包括一儲存元件(例如電容器)及一存取器件(例如電晶體)。例如,一第一記憶體胞包括電晶體202-1及電容器203-1,且一第二記憶體胞包括電晶體202-2及電容器203-2。在此實例中,記憶體陣列230係一DRAM陣列之1T1C(1個電晶體1個電容器)記憶體胞;然而,實施例不受限於此。在若干實施例中,記憶體胞可為破壞性讀取記憶體胞(例如,讀取儲存於記憶體胞中之資料破壞資料,使得最初儲存於記憶體胞中之資料在被讀取之後被刷新)。將記憶體陣列230之記憶體胞配置成由字線204-X(列X)、204-Y(列Y)等等耦合之列及由互補資料線對(例如DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_)耦合之行。對應於各對互補資料線之個別資料線亦可分別指稱資料線205-1(D)及205-2(D_)。雖然圖2A中僅展示3對互補資料線,但本發明之實施例不受限於此,且一陣列之記憶體胞可包含額外記憶體胞行及/或資料線(例如4,096個、8,192個、16,384個等等)。
記憶體胞可耦合至不同資料線及/或字線。例如,一電晶體202-1之一第一源極/汲極區域可耦合至資料線205-1(D),電晶體202-1之一第二源極/汲極區域可耦合至電容器203-1,且一電晶體202-1之一閘極可耦合至字線204-Y。一電晶體202-2之一第一源極/汲極區域可耦合至資料線205-2(D_),電晶體202-2之一第二源極/汲極區域可耦合至電容器203-2,且一電晶體202-2之一閘極可耦合至字線204-X。如圖2A中所展示,記憶體胞板可耦合至電容器203-1及203-2之各者。記憶體胞板可為可在各種記憶體陣列組態中將一參考電壓(例如接地)施加至其之一共同節點。
根據本發明之若干實施例,記憶體陣列230耦合至感測電路250。在此實例中,感測電路250包括對應於記憶體胞之各自行(例如,耦合至各自互補資料線對)的一感測放大器206及一計算組件231。感測放大器206可包括一交叉耦合鎖存器,其在本文中可指稱一初級鎖存器。可(例如)如相對於圖2B所描述般組態感測放大器206。
在圖2A所繪示之實例中,對應於計算組件231之電路包括一靜態鎖存器264及尤其實施一動態鎖存器之額外10個電晶體。計算組件231之動態鎖存器及/或靜態鎖存器在本文中可共同稱為一次級鎖存器,其可用作一累加器。因而,計算組件231可操作為一累加器及/或在本文中指稱一累加器。計算組件231可耦合至資料線205-1(D)及205-2(D_)之各者,如圖2A中所展示。然而,實施例不受限於此實例。計算組件231之電晶體可全部為n通道電晶體(例如NMOS電晶體);然而,實施例不受限於此。
在此實例中,資料線205-1可耦合至電晶體216-1及239-1之一第一源極/汲極區域,以及耦合至負載/通路電晶體218-1之一第一源極/汲極區域。資料線205-2可耦合至電晶體216-2及239-2之一第一源極/汲極區域,以及耦合至負載/通路電晶體218-2之一第一源極/汲極區域。
負載/通路電晶體218-1及218-2之閘極可共同耦合至一LOAD控制信號,或分別耦合至一PASSD/PASSDB控制信號,如下文將進一步討論。負載/通路電晶體218-1之一第二源極/汲極區域可直接耦合至電晶體216-1及239-2之閘極。負載/通路電晶體218-2之一第二源極/汲極區域可直接耦合至電晶體216-2及239-1之閘極。
電晶體216-1之一第二源極/汲極區域可直接耦合至下拉電晶體214-1之一第一源極/汲極區域。電晶體239-1之一第二源極/汲極區域可直接耦合至下拉電晶體207-1之一第一源極/汲極區域。電晶體216-2
之一第二源極/汲極區域可直接耦合至下拉電晶體214-2之一第一源極/汲極區域。電晶體239-2之一第二源極/汲極區域可直接耦合至下拉電晶體207-2之一第一源極/汲極區域。下拉電晶體207-1、207-2、214-1及214-2之各者之一第二源極/汲極區域可一起共同耦合至一參考電壓線291-1(例如接地(GND))。下拉電晶體207-1之一閘極可耦合至一AND控制信號線,下拉電晶體214-1之一閘極可耦合至一ANDinv控制信號線213-1,下拉電晶體214-2之一閘極可耦合至一ORinv控制信號線213-2,且下拉電晶體207-2之一閘極可耦合至一OR控制信號線。
電晶體239-1之閘極可指稱節點S1,且電晶體239-2之閘極可指稱節點S2。圖2A中所展示之電路將累加器資料動態地儲存於節點S1及S2上。啟動LOAD控制信號致使負載/通路電晶體218-1及218-2導通,且藉此將互補資料載入至節點S1及S2上。可將LOAD控制信號升高至大於VDD之一電壓以使一全VDD位準傳至S1/S2。然而,將LOAD控制信號升高至大於VDD之一電壓係選用的,且圖2A中所展示之電路之功能性不取決於升高至大於VDD之一電壓的LOAD控制信號。
圖2A中所展示之計算組件231之組態具有下列益處:當下拉電晶體207-1、207-2、214-1及214-2在起動感測放大器206之前(例如,在感測放大器206之預接種期間)導通時,使感測放大器之功能性平衡。如本文中所使用,起動感測放大器206係指:啟用感測放大器206以設定初級鎖存器,且隨後停用感測放大器206以保持經設定之初級鎖存器。在停用平衡(在感測放大器中)之後但在感測放大器起動之前執行邏輯運算可節約電力使用,此係因為不必使用全導軌電壓(例如VDD、GND)來「翻轉」感測放大器之鎖存器。
使電晶體反相可在執行某些邏輯運算時下拉一各自資料線。例如,與電晶體214-1(其具有耦合至一ANDinv控制信號線213-1之一閘極)串聯之電晶體216-1(其具有耦合至動態鎖存器之S2的一閘極)可經
操作以下拉資料線205-1(D),且與電晶體214-2(其具有耦合至一ORinv控制信號線213-2之一閘極)串聯之電晶體216-2(其具有耦合至動態鎖存器之S1的一閘極)可經操作以下拉資料線205-2(D_)。
鎖存器264可藉由耦合至一主動負控制信號線212-1(ACCUMB)及一主動正控制信號線212-2(ACCUM)而可控地啟用,而非經組態以藉由耦合至接地及VDD而連續地啟用。在各種實施例中,負載/通路電晶體218-1及218-2可各具有耦合至一LOAD控制信號或一PASSD/PASSDB控制信號之一者的一閘極。
根據一些實施例,負載/通路電晶體218-1之閘極可耦合至一PASSD控制信號,且負載/通路電晶體218-2之閘極可耦合至一PASSb控制信號。在其中電晶體218-1及218-2之閘極分別耦合至PASSD控制信號及PASSDb控制信號之一者的組態中,電晶體218-1及218-2可為通路電晶體。可不同於負載電晶體而操作通路電晶體(例如,在不同時間及/或在不同電壓/電流條件下)。因而,通路電晶體之組態可不同於負載電晶體之組態。
例如,負載電晶體可經建構以處置與將資料線耦合至區域動態節點S1及S2相關聯之負載,且通路電晶體可經建構以處置與將資料線耦合至一相鄰累加器(例如,透過移位電路223,如圖2A中所展示)相關聯之較重負載。根據一些實施例,負載/通路電晶體218-1及218-2可經組態以適應對應於一通路電晶體之較重負載,但經耦合且經操作為一負載電晶體。經組態為通路電晶體之負載/通路電晶體218-1及218-2亦可用作負載電晶體。然而,經組態為負載電晶體之負載/通路電晶體218-1及218-2無法用作通路電晶體。
在若干實施例中,包含鎖存器264之計算組件231可包括與一陣列(例如圖2A中所展示之陣列230)之對應記憶體胞之電晶體依照節距形成之若干電晶體,其等耦合至該陣列,可遵從一特定特徵大小(例
如4F2、6F2等等)。根據各種實施例,鎖存器264包含透過負載/通路電晶體218-1及218-2而耦合至一對互補資料線205-1及205-2的四個電晶體208-1、208-2、209-1及209-2。然而,實施例不受限於此組態。鎖存器264可為一交叉耦合鎖存器(例如,一對電晶體(諸如n通道電晶體(例如NMOS電晶體)209-1及209-2)之閘極與另一對電晶體(諸如p通道電晶體(例如PMOS電晶體)208-1及208-2)之閘極交叉耦合)。如本文中將進一步描述,交叉耦合鎖存器264可指稱一靜態鎖存器。
可將各自資料線205-1及205-2上之電壓或電流提供至交叉耦合鎖存器264之各自鎖存器輸入217-1及217-2(例如次級鎖存器之輸入)。在此實例中,鎖存器輸入217-1耦合至電晶體208-1及209-1之一第一源極/汲極區域以及耦合至電晶體208-2及209-2之閘極。類似地,鎖存器輸入217-2可耦合至電晶體208-2及209-2之一第一源極/汲極區域以及耦合至電晶體208-1及209-1之閘極。
在此實例中,電晶體209-1及209-2之一第二源極/汲極區域共同耦合至一負控制信號線212-1(例如類似於圖2B中相對於初級鎖存器所展示之控制信號RnIF的接地(GND)或ACCUMB控制信號)。電晶體208-1及208-2之一第二源極/汲極區域共同耦合至一正控制信號線212-2(例如類似於圖2B中相對於初級鎖存器所展示之控制信號ACT的VDD或ACCUM控制信號)。正控制信號212-2可提供一供應電壓(例如VDD)且負控制信號212-1可為一參考電壓(例如接地)以啟用交叉耦合鎖存器264。根據一些實施例,電晶體208-1及208-2之第二源極/汲極區域共同直接耦合至該供應電壓(例如VDD)且電晶體209-1及209-2之第二源極/汲極區域共同直接耦合至該參考電壓(例如接地)以便連續啟用鎖存器264。
經啟用之交叉耦合鎖存器264操作以放大鎖存器輸入217-1(例如第一共同節點)與鎖存器輸入217-2(例如第二共同節點)之間的一差動
電壓,使得鎖存器輸入217-1被驅動至經啟動之正控制信號電壓(例如VDD)或經啟動之負控制信號電壓(例如接地),且鎖存器輸入217-2被驅動至經啟動之正控制信號電壓(例如VDD)或經啟動之負控制信號電壓(例如接地)之互補者(例如另一者)。
圖2B繪示根據本發明之若干實施例之一記憶體陣列之一部分之一示意圖。根據各種實施例,感測放大器206可包括一交叉耦合鎖存器。然而,感測放大器206之實施例不受限於一交叉耦合鎖存器。作為一實例,感測放大器206可為電流模式感測放大器及/或單端感測放大器(例如耦合至一個資料線之感測放大器)。此外,本發明之實施例不受限於一折疊資料線架構。
在若干實施例中,一感測放大器(例如206)可包括與一陣列(例如圖2A中所展示之230)之對應計算組件231及/或記憶體胞之電晶體依照節距形成之若干電晶體,其等耦合至該陣列,可遵從一特定特徵大小(例如4F2、6F2等等)。感測放大器206包括一鎖存器215,其包含耦合至一對互補資料線205-1及205-2之四個電晶體。鎖存器215可為一交叉耦合鎖存器(例如,一對電晶體(諸如n通道電晶體(例如NMOS電晶體)227-1及227-2)之閘極與另一對電晶體(諸如p通道電晶體(例如PMOS電晶體)229-1及229-2)之閘極交叉耦合)。如本文中將進一步描述,包括電晶體227-1、227-2、229-1及229-2之鎖存器215可指稱一初級鎖存器。然而,實施例不受限於此實例。
可將各自資料線D及D_上之電壓及/或電流提供至交叉耦合鎖存器215之各自鎖存器輸入233-1及233-2(例如次級鎖存器之輸入)。在此實例中,鎖存器輸入233-1耦合至電晶體227-1及229-1之一第一源極/汲極區域以及耦合至電晶體227-2及229-2之閘極。類似地,鎖存器輸入233-2可耦合至電晶體227-2及229-2之一第一源極/汲極區域以及耦合至電晶體227-1及229-1之閘極。計算組件231(例如累加器)可耦合
至交叉耦合鎖存器215之鎖存器輸入233-1及233-2,如圖中所展示;然而,實施例不受限於圖2B中所展示之實例。
在此實例中,電晶體227-1及227-2之一第二源極/汲極區域共同耦合至一主動負控制信號228(RnIF)。電晶體229-1及229-2之一第二源極/汲極區域共同耦合至一主動正控制信號265(ACT)。ACT信號265可為一供應電壓(例如VDD)且RnIF信號可為一參考電壓(例如接地)。啟動信號228及265以啟用交叉耦合鎖存器215。
經啟用之交叉耦合鎖存器215操作以放大鎖存器輸入233-1(例如第一共同節點)與鎖存器輸入233-2(例如第二共同節點)之間的一差動電壓,使得鎖存器輸入233-1被驅動至ACT信號電壓及RnIF信號電壓之一者(例如,被驅動至VDD及接地之一者),且鎖存器輸入233-2被驅動至ACT信號電壓及RnIF信號電壓之另一者。
感測放大器206亦可包含經組態以使資料線205-1及205-2平衡(例如,結合使感測放大器準備一感測操作)之電路。在此實例中,該平衡電路包括一電晶體224,其具有耦合至電晶體225-1之一第一源極/汲極區域及資料線205-1的一第一源極/汲極區域。電晶體224之一第二源極/汲極區域可耦合至電晶體225-2之一第一源極/汲極區域及資料線205-2。電晶體224之一閘極可耦合至電晶體225-1及225-2之閘極。
電晶體225-1及225-2之第二源極/汲極區域耦合至可等於VDD/2之一平衡電壓238(例如VDD/2),其中VDD係與陣列相關聯之一供應電壓。電晶體224、225-1及225-2之閘極可耦合至控制信號226(EQ)。因而,啟動EQ以啟用電晶體224、225-1及225-2,其使資料線205-1有效地短接至資料線205-2,使得資料線205-1及205-2平衡至平衡電壓VDD/2。根據本發明之各種實施例,可使用感測放大器來執行若干邏輯運算,且將結果儲存於計算組件(例如累加器)中。
如圖2A中所展示,感測放大器206及計算組件231可經由移位電
路223而耦合至陣列230。在此實例中,移位電路223包括分別耦合至資料線205-1及205-2之一對隔離器件(例如隔離電晶體221-1及221-2)。隔離電晶體221-1及221-2耦合至一控制信號222(NORM),控制信號222在被啟動時啟用(例如,接通)隔離電晶體221-1及221-2以將對應感測放大器206及計算組件231耦合至記憶體胞之一對應行(例如,耦合至一對對應互補資料線205-1及205-2)。根據各種實施例,隔離電晶體221-1及221-2之導通可指稱移位電路223之一「正常」組態。
在圖2A所繪示之實例中,移位電路223包含耦合至一互補控制信號219(SHIFT)之另一對(例如一第二對)隔離器件(例如隔離電晶體221-3及221-4),其等可(例如)在撤銷NORM時被啟動。隔離電晶體221-3及221-4可經操作(例如,經由控制信號219)使得一特定感測放大器206及計算組件231耦合至一對不同互補資料線(例如不同於隔離電晶體221-1及221-2將特定感測放大器206及計算組件231耦合至其之互補資料線對的一對互補資料線),或可將一特定感測放大器206及計算組件231耦合至另一記憶體陣列(且使特定感測放大器206及計算組件231與一第一記憶體陣列隔離)。根據各種實施例,例如,移位電路223可經配置為感測放大器206之一部分(例如,配置於感測放大器206內)。
雖然圖2A中所展示之移位電路223包含用於將特定感測電路250(例如一特定感測放大器206及對應計算組件231)耦合至一對特定互補資料線205-1及205-2(例如DIGIT(n)及DIGIT(n)_)的隔離電晶體221-1及221-2且隔離電晶體221-3及221-4經配置以在一特定方向上將特定感測電路250耦合至一對相鄰互補資料線(例如展示於圖2A中之右邊的相鄰資料線DIGIT(n+1)及DIGIT(n+1)_),但本發明之實施例不受限於此。例如,移位電路可包含:隔離電晶體221-1及221-2,其等用於將特定感測電路耦合至一對特定互補資料線(例如DIGIT(n)及
DIGIT(n)_);及隔離電晶體221-3及221-4,其等經配置以便用於在一另一特定方向上將特定感測電路耦合至一對相鄰互補資料線(例如展示於圖2A中之左邊的相鄰資料線DIGIT(n-1)及DIGIT(n-1)_)。
本發明之實施例不受限於圖2A中所展示之移位電路223之組態。在若干實施例中,例如,可在無需經由一I/O線(例如圖3中所展示之I/O線334)而自感測電路250傳送出資料之情況下結合執行各種運算(例如邏輯及/或算術運算)(例如,結合感測放大器206及計算組件231)而操作移位電路223,諸如圖2A中所展示之移位電路。雖然移位電路223經展示為與感測電路250(例如圖1中之感測電路150)分離,但移位電路223可被視作感測電路250(例如圖1中之感測電路150)之部分。
雖然圖2A中未展示,但記憶體胞之各行可耦合至一行解碼線(例如圖3中所展示之解碼線310-0至310-W),該行解碼線可經啟動以經由區域I/O線(例如圖3中所展示之I/O線334)而將一資料值自一對應感測放大器206及/或計算組件231傳送至陣列外部之一控制組件,諸如一外部處理資源(例如主機處理器及/或其他功能單元電路)。該行解碼線可耦合至一行解碼器(例如圖1中所展示之行解碼器152)。然而,如本文中所描述,在若干實施例中,無需經由此等I/O線而傳送資料以根據本發明之實施例而執行邏輯運算。在若干實施例中,可結合感測放大器206及計算組件231而操作移位電路223以(例如)在無需將資料傳送至陣列外部之一控制組件之情況下執行各種運算(例如與執行減法、加法、乘法、除法等等相關聯之邏輯運算)。
可在若干模式中操作感測電路250以執行邏輯運算,該若干模式包含:一第二模式,其中邏輯運算之一結果最初儲存於感測放大器206中;及一第一模式,其中邏輯運算之一結果最初儲存於計算組件231中。下文相對於圖5及圖6而描述感測電路250在該第二模式中之操作,且下文相對於圖7至圖10而描述感測電路250在該第一模式中之操
作。另外,關於該第一操作模式,可在感測前模式(例如,在邏輯運算控制信號啟用之前起動感測放大器)及感測後模式(例如,在邏輯運算控制信號啟用之後起動感測放大器)兩者中操作感測電路250,其中一邏輯運算之一結果最初儲存於感測放大器206中。
如下文將進一步描述,感測放大器206可結合計算組件231而操作以執行各種邏輯運算(使用來自一陣列之資料作為輸入)。在若干實施例中,可在不經由一資料線位址存取而傳送資料之情況下(例如,無需起動一行解碼信號,使得資料經由區域I/O線而自陣列及感測電路傳送至外部電路)將一邏輯運算之結果儲存回至陣列。因而,本發明之若干實施例能夠使用比各種先前方法少之電力來執行邏輯運算。另外,因為若干實施例無需橫跨I/O線而傳送資料(例如,在記憶體與分立處理器之間)以執行各種運算(例如計算函數),所以若干實施例可實現比先前方法增強之一並行處理能力。
圖3繪示根據本發明之若干實施例之一記憶體陣列330之一部分之一示意圖。陣列330包含耦合至存取線304-0、304-1、304-2、304-3、304-4、304-5、304-6...304-R之列及感測線305-0、305-1、305-2、305-3、305-4、305-5、305-6、305-7...305-S之行(其等可統稱為存取線304及感測線305)的記憶體胞303-0、303-1、303-2、303-3、303-4、303-5、303-6、303-7、303-8...303-J(例如,統稱為記憶體胞303)。記憶體陣列330不受限於特定數目個存取線及/或感測線,且術語「列」及「行」之使用不意指存取線及/或感測線之一特定實體結構及/或定向。雖然圖中未描繪,但記憶體胞之各行可與一對對應互補感測線(例如圖2A中之互補感測線205-1及205-2)相關聯。
記憶體胞之各行可耦合至感測電路(例如圖1中所展示之感測電路150及圖2A中所展示之感測電路250)。在此實例中,該感測電路包括耦合至各自感測線305-0、305-1、305-2、305-3、305-4、305-5、305-
6、305-7...305-S之若干感測放大器306-0、306-1、306-2、306-3、306-4、306-5、306-6、306-7...306-U(例如,統稱為感測放大器306)。感測放大器306經由存取器件(例如電晶體)308-0、308-1、308-2、308-3、308-4、308-5、308-6、308-7...308-V而耦合至輸入/輸出(I/O)線334(例如一區域I/O線)。在此實例中,該感測電路亦包括耦合至各自感測線之若干計算組件331-0、331-1、331-2、331-3、331-4、331-5、331-6、331-7...331-X(例如,統稱為計算組件331)。行解碼線310-1至310-W分別耦合至電晶體308-1至308-V之閘極,且可經選擇性地啟動以將由各自感測放大器306-0至306-U感測及/或儲存於各自計算組件331-0至331-X中之資料傳送至一次級感測放大器312及/或陣列330外部之處理資源(例如,經由I/O線334)。在若干實施例中,計算組件331可與其對應行之記憶體胞及/或與對應感測放大器306依照節距形成。
感測電路(例如計算組件331及感測放大器306)經組態以根據本文中所描述之若干實施例而執行一除法運算。圖4A至圖4F中所給出之實例演示可如何使用作為輸入儲存於陣列330中之資料來執行一除法運算。實例涉及:使用儲存於耦合至存取線304-0至304-R且共同耦合至感測線305-0至305-S之記憶體胞中之元素(例如包括對應於邏輯「1」或邏輯「0」之位元的運算元)作為除法運算之各自輸入。除法運算之結果可儲存於陣列330中及/或可傳送至陣列330之外部(例如,傳送至一主機之功能單元電路)。
圖4A繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之若干特定階段中之一陣列之記憶體胞之狀態。該表之行496對該表之列提供參考編號(例如1至8),且該表中所展示之參考編號對應於下文所描述之偽碼之各自參考編號。在對應於參考編號1至8之各種除法運算階段中,將位元向量476(Dynamic_Mask)、478
(Static_Mask)、480(Current_Dividend)、482(Current_Compare)、488(被除數)、490(除數)、492(商數)及494(餘數)之各者之位元向量值儲存於陣列中。
可將位元向量476、478、480、482儲存於耦合至特定存取線(其可指稱暫時儲存列470(例如儲存可在一除法運算之各種階段期間更新之資料的列))之各自群組之記憶體胞中。位元向量488、490、492及494可指稱向量引數472。圖4A亦指示儲存於陣列之計算組件(例如圖3中所展示之331)中之一位元向量431(Comp_Comp)之位元向量值。
在圖4A中,以十六進位格式展示對應於暫時儲存列470及/或向量引數472之位元向量之值,但可將除法運算期間所運算之對應位元向量作為二進位位元型樣儲存於陣列中。例如,可以十六進位格式將一被除數位元向量488(例如[0111,0111,0100,0100,1000,1000,1100,1100])表示為[7,7,4,4,8,8,c,c]。為便於參考,以十六進位格式展示圖4A至圖4F中所展示之值。
在本文所使用之實例中,為便於參考,位元向量值可包含逗號及/或空格。例如,以十六進位記法表示為[7,7,4,4,8,8,c,c]之一位元向量可對應於8個4位元寬之向量元素,其中該8個元素由一各自逗號及空格分離。然而,可將相同位元向量表示為[7 7 4 4 8 8 c c](例如,無逗號)及/或[774488cc](例如,無逗號且無空格)。
在圖4A至圖4F中,以加粗字體指示對應於Comp_Comp 431之位元向量、對應於暫時儲存列470之位元向量(例如Dynamic_Mask 476、Static_Mask 478、Current_Dividend 480及Current_Compare 482)、及對應於向量引數472之位元向量(例如被除數488、除數490、商數492及餘數494)之變化。例如,在參考編號1處,以加粗字體展示被除數488、除數490、商數492及餘數494以指示各自位元向量之值在參考編
號對應於其之一運算階段期間已改變。
在圖4A至圖4F所展示之實例中,被除數488(例如一位元向量[774488cc])及除數490(例如一位元向量[33552233])之各者包括8個元素且與8個單獨除法運算相關聯。可並行地執行該8個單獨除法運算之各者。並行地執行若干除法運算包含:依單指令多資料(SIMD)方式執行該若干除法運算。如本文中所使用,將SIMD界定為對多個元素同時執行一相同運算。
例如,一第一除法運算可包含:使被除數488之一第一元素(例如7)除以除數490之一第一元素(例如3)。即,可對包含來自被除數488之第一被除數元素及來自除數490之第一除數元素的一第一元素對執行-一第一除法運算。可對包含來自被除數488之第二被除數元素(例如7)及來自除數490之第二除數元素(例如3)的一第二元素對執行一第二除法運算。可對包含來自被除數488之第三被除數元素(例如4)及來自除數490之第三除數元素(例如5)的一第三元素對執行一第三除法運算。可對包含來自被除數488之第四被除數元素(例如4)及來自除數490之第四除數元素(例如5)的一第四元素對執行一第四除法運算。可對包含來自被除數488之第五被除數元素(例如8)及來自除數490之第五除數元素(例如2)的一第五元素對執行一第五除法運算。可對包含來自被除數488之第六被除數元素(例如8)及來自除數490之第六除數元素(例如2)的一第六元素對執行一第六除法運算。可對包含來自被除數488之第七被除數元素(例如c)及來自除數490之第七除數元素(例如3)的一第七元素對執行一第七除法運算。可對包含來自被除數488之第八被除數元素(例如c)及來自除數490之第八除數元素(例如3)的一第八元素對執行一第八除法運算。
儲存被除數488之一第一群組之記憶體胞可為耦合至一特定存取線(例如圖3中之304-0)及若干感測線(例如圖3中之305-0至305-31)之記
憶體胞。儲存除數490之第二群組之記憶體胞可為耦合至一不同特定存取線(例如圖3中之304-1)及若干感測線(例如圖3中之305-0至305-31)之記憶體胞。
可將被除數488之8個元素儲存於第一群組之記憶體胞中。例如,可將被除數488之一第一元素(例如7)儲存於耦合至圖3中之存取線304-0及感測線305-0至305-3的記憶體胞中,可將被除數488之一第二元素(例如7)儲存於耦合至圖3中之存取線304-0及感測線305-4至305-7的記憶體胞中,可將被除數488之一第三元素(例如4)儲存於耦合至圖3中之存取線304-0及感測線305-8至305-11的記憶體胞中,可將被除數488之一第四元素(例如4)儲存於耦合至圖3中之存取線304-0及感測線305-12至305-15的記憶體胞中,可將被除數488之一第五元素(例如8)儲存於耦合至圖3中之存取線304-0及感測線305-16至305-19的記憶體胞中,可將被除數488之一第六元素(例如8)儲存於耦合至圖3中之存取線304-0及感測線305-20至305-23的記憶體胞中,可將被除數488之一第七元素(例如c)儲存於耦合至圖3中之存取線304-0及感測線305-24至305-27的記憶體胞中,可將被除數488之一第八元素(例如c)儲存於耦合至圖3中之存取線304-0及感測線305-28至305-31的記憶體胞中。
可將除數490之8個元素儲存於第二群組之記憶體胞中。例如,可將除數490之一第一元素(例如3)儲存於耦合至圖3中之存取線304-1及感測線305-0至305-3的記憶體胞中,可將除數490之一第二元素(例如3)儲存於耦合至圖3中之存取線304-1及感測線305-4至305-7的記憶體胞中,可將除數490之一第三元素(例如5)儲存於耦合至圖3中之存取線304-1及感測線305-8至305-11的記憶體胞中,可將除數490之一第四元素(例如5)儲存於耦合至圖3中之存取線304-1及感測線305-12至305-15的記憶體胞中,可將除數490之一第五元素(例如2)儲存於耦合
至圖3中之存取線304-1及感測線305-16至305-19的記憶體胞中,可將除數490之一第六元素(例如2)儲存於耦合至圖3中之存取線304-1及感測線305-20至305-23的記憶體胞中,可將除數490之一第七元素(例如3)儲存於耦合至圖3中之存取線304-1及感測線305-24至305-27的記憶體胞中,可將除數490之一第八元素(例如3)儲存於耦合至圖3中之存取線304-1及感測線305-28至305-31的記憶體胞中。
Dynamic_Mask 476、Static_Mask 478、Current_Dividend 480、及Current_Compare 482包含儲存於複數個群組之記憶體胞中之位元向量。例如,可將Dynamic_Mask 476、Static_Mask 478、Current_Dividend 480及Current_Compare 482儲存於耦合至各自存取線304-2至304-5及感測線305-0至305-31之記憶體胞中。
在此實例中,被除數488中之第一元素具有十進位值7,其可由二進位位元向量[0111]表示。可將該位元向量之特定位元儲存於耦合至圖3中之存取線304-0及對應各自感測線305-0至305-3的記憶體胞中(例如,可將位元向量之最高有效位元(MSB)儲存於耦合至感測線305-0之列0記憶體胞中,可將下一最低有效位元(LSB)儲存於耦合至感測線305-1之列0記憶體胞中...且可將LSB儲存於耦合至感測線305-3之列0記憶體胞中)。類似地,除數490中之第一元素具有十進位值3(其可由二進位位元向量[0011]表示),且可將該位元向量之特定位元儲存於耦合至存取線304-1及對應各自感測線305-0至305-3之記憶體胞中。因而,可將表示被除數488中之第一元素及除數490中之第一元素的4位元寬之位元向量之各自位元儲存於耦合至各自相同感測線之記憶體胞中。即,在此實例中,將該等位元向量之MSB儲存於耦合至感測線305-0之記憶體胞中,將該等位元向量之下一最低有效位元儲存於耦合至感測線305-1之記憶體胞中,等等。
在若干實例中,可將位元向量之MSB儲存於耦合至感測線305-3
之列0記憶體胞中,可將下一LSB儲存於耦合至感測線305-2之列0記憶體胞中...且可將LSB儲存於耦合至感測線305-0之列0記憶體胞中。即,將位元向量之MSB儲存於耦合至感測線305-3之記憶體胞中,將位元向量之下一最低有效位元儲存於耦合至感測線305-2之記憶體胞中,等等。
然而,實施例不受限於此實例。例如,可由具有並非4個位元之一寬度的位元向量表示根據本文中所描述之實施例而相除之元素。例如,一64位元寬之被除數位元向量可表示各由一16位元寬之位元向量表示之4個元素且可儲存於耦合至存取線304-0(及感測線305-0至305-63)之記憶體胞中,且一64位元寬之除數位元向量可表示各由一16位元寬之位元向量表示之4個元素且可儲存於耦合至存取線304-1(及感測線305-0至305-63)之記憶體胞中。根據本文中所描述之實施例,由該64位元寬之被除數位元向量表示之4個元素可除以由該64位元寬之除數位元向量表示之各自4個元素。
在若干實施例中,可將一除法運算之結果儲存於一第三群組之記憶體胞中,該第三群組之記憶體胞可為耦合至若干特定存取線(例如圖3中之304-0至304-R)之記憶體胞。該第三群組之記憶體胞可用於儲存指示該除法運算之結果的一商數位元向量及/或一餘數位元向量。該第三群組之記憶體胞可為(例如)耦合至一存取線304-6及/或存取線304-7之記憶體胞及/或耦合至存取線304-0及存取線304-1之至少一者的記憶體胞。即,該第三群組之記憶體胞可為相同於第一群組之記憶體胞(例如儲存被除數位元向量之記憶體胞群組)及/或第二群組之記憶體胞(例如儲存除數位元向量之記憶體胞群組)的一群組之記憶體胞。例如,在上述4位元寬之位元向量實例中,該第三群組之記憶體胞可為耦合至存取線304-0及感測線305-0至305-31之記憶體胞及/或耦合至存取線304-1及感測線305-0至305-31之記憶體胞。
作為一實例,可將商數492中之第一商數元素儲存於耦合至存取線304-6及感測線305-0至305-3之記憶體胞中,如圖3中所展示。例如,可將餘數494中之第一餘數元素儲存於耦合至存取線304-7及感測線305-0至305-3之記憶體胞中。在若干實例中,可將第一商數元素及/或第一餘數元素儲存於耦合至一存取線之記憶體胞中,儲存來自被除數488之第一被除數元素及/或來自除數490之第一除數元素的記憶體胞耦合至該存取線。例如,若將一被除數元素儲存於耦合至存取線304-0之一第一群組之記憶體胞中且將一除數元素儲存於耦合至存取線304-1之一第二群組之記憶體胞中,則儲存商數元素及/或餘數元素之一第三群組之記憶體胞可包括分別耦合至圖3中之存取線304-0及304-1的記憶體胞。
第三群組之記憶體胞亦可包括耦合至一特定存取線之第一若干記憶體胞及耦合至一不同特定存取線之第二若干記憶體胞。該第一若干記憶體胞及該第二若干記憶體胞可儲存一起指示除法運算之結果的兩個不同位元向量。例如,可將一商數位元向量儲存於該第一若干記憶體胞中且可將一餘數位元向量儲存於該第二若干記憶體胞中。
如下文將進一步描述,使被除數488之第一元素(例如7)除以除數490之第一元素(例如3)導致具有等於2之一值的商數492中之第一元素及具有等於1之一值的餘數494中之第一元素(例如,7除以3等於2及一餘數1)。
在若干實例中,對一被除數元素及一除數元素執行一除法運算可包含:在無需經由一輸入/輸出(I/O)線而傳送資料之情況下執行若干「及」運算、「或」運算、「移位」運算及「反相」運算。可使用與對應於互補感測線之各自行的記憶體胞依照節距之感測電路來執行該若干「及」運算、「或」運算、「反相」運算及「移位」運算。在若干實例中,該若干「及」運算、「或」運算、「移位」運算及「反相」運
算可經執行以並行地使若干被除數元素除以若干除數元素。下文將結合圖5至圖10而進一步描述與在記憶體中執行若干除法運算相關聯之執行運算(例如「及」、「或」、「反相」、「移位」)。
下列偽碼表示用於根據本發明之若干實施例而在一記憶體中執行若干除法運算之可執行指令。使用參考編號1至8來指代實例性偽碼,參考編號1至8對應於圖4A至圖4F中所展示之表之行496中所展示之各自參考編號1至8。例如,參考編號1對應於偽碼中之「載入被除數、除數」,且參考編號2對應於偽碼中之「依據向量寬度找出子陣列中之元素計數」。
1.載入被除數、除數
2.依據向量寬度找出子陣列中之元素計數
3.獲得全部暫時列
4.找到MAB且儲存於Comp_Comp、Static_Mask中
5.藉由使固定向量依Comp_Comp、Static_Mask之各向量寬度右移而找到MSB
6.儲存於Dynamic_Mask中
7.對於給定向量固定寬度:
a.將Dynamic_Mask載入Comp_Comp中
b.儲存於Current_Dividend中
c.使元素之當前位置迴圈
i.右移
ii.執行與Static_Mask之「或」運算
iii.儲存於Current_Dividend中
d.執行與被除數之「及」運算
e.將Comp_Comp儲存於Current_Dividend中
f.自當前位置右移至向量之開頭
g.執行與餘數之「或」運算
h.儲存於Current_Dividend中
i.儲存於餘數中
j.橫向地比較Current_Dividend與除數,在Current_Compare中得到大於掩碼
k.藉由應用Current_Compare而使Dynamic_Mask右移
l.將Current_Compare之反數載入至Comp_Comp中
m.執行與餘數之「及」運算
n.儲存於Row_Current_Dividend中
o.使用Current_Compare掩碼得到不同於餘數且使除數至Current_Dividend中
p.將商數載入Comp_Comp中
q.左移,儲存於商數中
r.使用Current_Compare掩碼加商數,在各固定向量之末端處之一真位元
s.將Current_Dividend載入Comp_Comp中
t.左移
u.將Comp_Comp儲存於Current_Dividend及餘數中
v.將Dynamic_Mask載入Comp_Comp中
w.應用Current_Compare中之掩碼來使Comp_Comp右移
x.將Comp_Comp儲存於Dynamic_Mask中
8.使餘數右移
為了討論,會將上述偽碼分成一設置階段、一除法階段及一移位階段。由參考編號1至6指代之偽碼及圖4A可對應於設置階段。圖4A繪示與在設置階段之後執行一除法運算相關聯之若干位元向量之值。由參考編號7a至7x指代之偽碼及圖4B至圖4E可對應於除法階
段。圖4B至圖4E繪示與在除法階段之後執行一除法運算相關聯之若干位元向量之值。由參考編號8指代之偽碼及圖4F可對應於移位階段。圖4F繪示與在移位階段之後執行一除法運算相關聯之若干位元向量之值。
在若干實例中,可在無需經由一I/O線(例如I/O線334)而傳送資料之情況下將除法運算之結果儲存於一陣列(例如圖3中之陣列330)中。在若干實例中,可將除法運算之結果傳送至除圖3中之陣列330之外的一位置。
對應於參考編號1(例如,載入被除數、除數)之偽碼與將被除數488及除數490儲存至圖3中之陣列330中相關聯。如上文所描述,被除數488及除數490可各包含若干元素。在參考編號1處,將位元向量[774488cc]儲存於儲存被除數488之一群組之記憶體胞中,將位元向量[33552233]儲存於儲存除數490之一群組之記憶體胞中,將位元向量[00000000]儲存於儲存商數492之一群組之記憶體胞中且儲存於儲存餘數494之一群組之記憶體胞中。
如本文中所使用,Dynamic_Mask 476可用於協調執行與一除法運算相關聯之邏輯運算。Static_Mask 478可用於界定被除數488及除數490中之元素之邊界(例如各自元素開始及/或結束之位元位置)。Static_Mask 478亦可用於設定Dynamic_Mask 476。在結合參考編號6而執行之運算中給出使用Static_Mask 478來設定Dynamic_Mask 476之一實例。Current_Dividend480可用於表示餘數及被除數之和。Current_Compare 482可用於儲存一掩碼,該掩碼係一比較運算之結果。
可使對應於暫時儲存列470(例如儲存位元向量476、478、480及482之列)之記憶體胞群組依促進對元素對執行除法運算之一方式定向於記憶體陣列330內。例如,對應於各自暫時儲存列之各儲存位元向
量之複數個群組之記憶體胞可耦合至圖3中之感測線305-0至305-31。該複數個群組之記憶體胞中之各群組可耦合至一不同存取線(例如不同於具有耦合至其之記憶體胞(其用於儲存位元向量488及490)之存取線的存取線)。
參考編號2(例如,依據向量寬度找出子陣列中之元素計數)處所指代之偽碼與判定被除數488及/或除數490之各者中之元素數量相關聯。例如,可基於一元素寬度而判定元素數量。在若干實例中,該元素寬度可為可由主機及/或使用者提供之一已知及/或給定數量(例如,該元素寬度可為一預定數量)。例如,在其中位元向量488及490具有32個位元之一寬度的此實例中,可基於4個位元之已知元素寬度而判定元素計數。因而,元素計數係8(例如,32個位元除以4個位元/元素等於8個元素)。因此,在此實例中,被除數488及除數490各包括8個元素。類似地。若元素計數係一已知數量(例如8),則可基於位元向量488及490之寬度而判定元素寬度(例如,32個位元除以8個元素等於每一元素4個位元)。例如,可在執行與執行除法運算相關聯之運算迭代(例如「for」迴圈)時使用元素計數及元素寬度,如下文將描述。
參考編號4至5處所指代之偽碼可經執行以產生識別被除數488及/或除數490中之元素之各者中之最高有效位元(MSB)的一位元向量。雖然在此實例中元素之各者具有一相同元素寬度,但實施例不受限於此。
參考編號4(例如,找到MAB且儲存於Comp_Comp、Static_Mask中)處所指代之偽碼與判定被除數488及/或除數490中之MSB且將指示MSB之一位元向量儲存於特定群組之記憶體胞中相關聯。可將指示最高有效位元之位元型樣(例如,作為一位元向量)儲存於用於儲存Static_Mask 478之一群組之記憶體胞中。亦可將指示MSB之位元型樣(例如,作為一鎖存位元向量)儲存於感測電路(例如圖3中之計算組
件331及/或感測放大器306)中。作為一實例,包括一MSB位置中之一「1」及剩餘位元位置中之全部「0」之一位元型樣可用於指示被除數488及/或除數490之MSB。例如,在此實例中,被除數488及除數490係32位元寬之位元向量且可儲存於耦合至感測線305-0至305-31之記憶體胞中,使得32位元寬之二進位位元向量[1000 0000 0000 0000 0000 0000 0000 0000](例如十六進位位元向量[80000000])可用作指示被除數488及除數490中之MSB的位元向量。因而,如圖4A中所展示(例如,在參考項4處),指示MSB之位元向量(例如一位元向量[1000 0000 0000 0000 0000 0000 0000 0000])儲存於儲存位元向量478之記憶體胞群組中且儲存於儲存位元向量431之計算組件中(例如,位元向量431及478具有十六進位值[80000000])。
參考編號5(例如,藉由使固定向量依Comp_Comp之各向量寬度右移而找到MSB)處所指代之偽碼與判定一位元向量相關聯,該位元向量可指示對應於由被除數488及/或除數490表示之若干元素之各者的一MSB。可藉由對儲存於計算組件(例如圖3中之331-0至331-31)中之位元向量執行若干邏輯運算(例如「移位」運算及「或」運算之若干迭代)而判定用於指示對應於該若干元素之MSB的位元向量。「移位」運算迭代及「或」運算迭代可導致二進位位元向量[1000,1000,1000,1000,1000,1000,1000,1000](例如十六進位位元向量[88888888]),其在對應於由被除數488及/或除數490表示之8個元素之各者之MSB的位元位置處包括一「1」。「移位」運算可為右「移位」運算;然而,實施例不受限於此實例。可對Comp_Comp 431執行「移位」運算。可對Static_Mask 478及Comp_Comp 431執行「或」運算。可將「移位」運算及「或」運算之結果儲存於儲存Static_Mask 478之一群組之記憶體胞及儲存Comp_Comp 431之計算組件(例如圖3中之331-0至331-31)中。因而,如圖4A中所展示(例如,在參考項5處),指
示對應於各自元素之MSB的位元向量(例如一位元向量[88888888])儲存於儲存位元向量478之記憶體胞群組中且儲存於儲存位元向量431之計算組件中。
參考編號6(例如,儲存於Dynamic_Mask中)處所指代之偽碼與將識別對應於由被除數488及/或除數490表示之若干元素之各者之MSB的位元向量儲存於儲存Dynamic_Mask 476之記憶體胞中相關聯。因而,如圖4A中所展示(例如,在參考項6處),將十六進位位元向量[88888888]儲存於儲存Dynamic_Mask 476之一群組之記憶體胞中。
圖4B繪示一表,其展示根據本發明之若干實施例之與執行一除法運算相關聯之若干特定階段中之一陣列之記憶體胞之狀態。圖4B包含行496,其包括對應於上文所展示之偽碼之參考編號的參考編號。因而,圖4B指示在與執行一除法運算相關聯之各種階段期間儲存於對應於位元向量Dynamic_Mask 476、Static_Mask 478、Current_Dividend 480、Current_Compare 482、被除數488、除數490、商數492及餘數494之記憶體胞中之位元向量之值。圖4B中所展示之表亦展示與執行該除法運算相關聯之該等各種階段期間之位元向量Comp_Comp 431之值。
參考編號7(例如,參考編號7a至7x及如「對於給定向量固定寬度」所展示)處指代之偽碼對應於執行若干運算迭代。可經由一迴圈結構而界定若干運算迭代。如本文中所使用,將一「迴圈」界定為一控制流程陳述,其允許基於一布林條件(boolean condition)而在若干迭代中執行若干運算。可經由一FOR迴圈、一WHILE迴圈及/或一DO迴圈、以及其他可行迴圈結構而表達一迴圈。與參考編號7相關聯之迴圈之各迭代可包含:執行若干運算。該若干運算可包含:執行「移位」運算、「或」運算及/或「及」運算、以及其他運算。
結合圖4A至圖4F所描述之實例包含:執行一FOR迴圈,該FOR
迴圈包含執行若干運算之若干迭代。在此實例中,該等迭代之次數等於元素寬度(例如4)。因此,在此實例中,該FOR迴圈包含:執行該若干運算四次。可由「E」註釋該FOR迴圈之一特定迭代。E可經初始化為零且可在開始該FOR迴圈之各迭代時加1,同時E小於元素寬度(例如4)。因而,一不同元素寬度可導致執行該若干運算之次數大於或小於此實例中所描述之次數。
圖4B繪示與執行與FOR迴圈之一第一迭代相關聯之若干運算相關聯之若干位元向量(例如位元向量431、476、478、480、482、488、490、492及494)之值。因而,相對於對應於參考編號7a至7x之一第一迭代(例如,E=0)而描述圖4B。圖4C繪示與執行與FOR迴圈之一第二迭代相關聯之若干運算相關聯之該若干位元向量之值。因而,相對於對應於參考編號7a至7x之一第二迭代(例如,E=1)而描述圖4C。圖4D繪示與執行與FOR迴圈之一第三迭代相關聯之若干運算相關聯之該若干位元向量之值。因而,相對於對應於參考編號7a至7x之一第三迭代(例如,E=2)而描述圖4D。圖4E繪示與執行與FOR迴圈之一第四迭代相關聯之若干運算相關聯之該若干位元向量之值。因而,相對於對應於參考編號7a至7x之一第四迭代(例如,E=3)而描述圖4E。
參考編號7a(例如,將Dynamic_Mask載入Comp_Comp中)處所指代之偽碼與將Dynamic_Mask 476(例如一位元向量[88888888])儲存於儲存Comp_Comp 431之計算組件中相關聯。即,一讀取操作可經執行以將儲存於儲存位元向量476之記憶體胞中之位元向量之值複製至儲存位元向量431之計算組件(例如圖3中所展示之331-0至331-31)。參考編號7b(例如,儲存於Current_Dividend中)處所指代之偽碼與將Comp_Comp 431儲存於儲存Current_Dividend 480之記憶體胞中相關聯。即,將儲存於儲存位元向量431之計算組件中之位元向量複製至
儲存位元向量480之記憶體胞。因而,如圖4B之列7a中所展示,位元向量431儲存[88888888],且如圖4B之列7b中所展示,位元向量480亦儲存[88888888]。
參考編號7c(例如,參考編號7ci至7ciii且展示為「使元素之當前位置迴圈」)處所指代之偽碼與執行一迴圈(其包括執行若干運算迭代)相關聯。該等迭代之次數(例如執行對應於參考編號7ci至7ciii之運算的次數)可基於上文所描述之FOR迴圈之一當前迭代(例如結合參考編號7所描述)。例如,在上文所描述之FOR迴圈之一第一迭代(例如,對於E=0且與圖4B相關聯)中,執行對應於參考編號7ci至7ciii之運算零次,在上文所描述之FOR迴圈之一第二迭代(例如,對於E=1且與圖4C相關聯)中,執行對應於參考編號7ci至7ciii之運算一次,在上文所描述之FOR迴圈之一第三迭代(例如,對於E=2且與圖4D相關聯)中,執行對應於參考編號7ci至7ciii之運算兩次,且在上文所描述之FOR迴圈之一第四迭代(例如,對於E=3且與圖4E相關聯)中,執行對應於參考編號7ci至7ciii之運算三次。
參考編號7ci(例如,右移)處所指代之偽碼與執行一右「移位」運算相關聯。可對Current_Dividend 480執行該右「移位」運算。例如,可將Current_Dividend 480儲存於(例如,讀取至)感測電路中(例如,儲存於用於儲存Comp_Comp 431之計算組件中)且可使對應於Current_Dividend 480之位元向量之位元各右移一個位元位置。因此,可對Comp_Comp 431(例如,當前儲存於儲存Comp_Comp 431之計算組件中之位元向量)執行該「移位」運算,使得該「移位」運算之結果可儲存於感測電路中。接著,可對Comp_Comp 431執行一「反相」運算,且可將該「反相」運算之結果儲存於感測電路中(例如,作為Comp_Comp 431之當前值及/或儲存於對應於儲存Comp_Comp 431之計算組件的感測放大器中)。在結合圖4A至圖4F所描述之實例
中,將儲存於感測電路中之各種運算(例如「及」、「或」、「移位」、「反相」)之結果最初儲存於對應於Comp_Comp 431之計算組件中;然而,如下文將進一步描述,可將結果最初儲存於(例如)對應於計算組件之感測放大器中。
參考編號7cii(例如,執行與Static_Mask之「或」運算)處所指代之偽碼與對Comp_Comp 431及Static_Mask 478執行一「或」運算相關聯。可將該「或」運算之結果儲存於感測電路中(例如,作為Comp_Comp 431之當前值)。可對Comp_Comp 431執行一「反相」運算。即,可使儲存於儲存Comp_Comp 431之各自計算組件中之位元之值反相。可對Comp_Comp 431及Current_Dividend 480執行一「或」運算,且可將該「或」運算之結果儲存於感測電路及/或儲存Current_Dividend 480之記憶體胞中。參考編號7ciii(例如,儲存於Current Dividend中)處所指代之偽碼與將「或」運算(例如對Comp_Comp 431及Current_Dividend 480執行之「或」運算)之結果儲存於儲存Current_Dividend 480之記憶體胞中(例如,將Comp_Comp 431之值複製至Current_Dividend 480)相關聯。
因為圖4B對應於與參考編號7相關聯之FOR迴圈之第一迭代(例如,E=0),所以執行對應於參考編號7ci至7ciii之運算零次。因而,如圖4B之列7c中所展示,位元向量Current_Dividend 480相較於其在列7b中所展示之值而未改變。即,Current_Dividend 480保持為[88888888]。
參考編號7d(例如,執行與被除數之「及」運算)處所指代之偽碼與對Comp_Comp 431及被除數488執行一「及」運算相關聯,且可將結果儲存於(例如,可保存於)對應於Comp_Comp 431之計算組件中。在此實例中,Comp_Comp 431係十六進位位元向量[88888888](其係二進位位元向量[1000 1000 1000 1000 1000 1000 1000 1000]),且被除
數488係十六進位位元向量[774488cc](其係二進位位元向量[0111 0111 0100 0100 1000 1000 1100 1100])。該「及」運算之結果係十六進位位元向量[00008888],其係二進位位元向量[0000 0000 0000 0000 1000 1000 1000 1000]。
如下文將進一步描述,對一第一位元向量及一第二位元向量執行一邏輯運算(例如「及」、「或」等等)可包含:對各自對應位元對執行該邏輯運算。例如,執行一「及」運算可包含:使各自位元向量之MSB進行「及」運算且結果係所得位元向量之MSB,使各自位元向量之下一MSB進行「及」運算且結果係所得位元向量之下一MSB...且使各自位元向量之LSB進行「及」運算且結果係所得位元向量之LSB。如圖4B之列7d中所展示,將該「及」運算之結果(例如[00008888])儲存於Comp_Comp 431中。
參考編號7e(例如,將Comp_Comp儲存於Current_Dividend中)處所指代之偽碼與將「及」運算之結果儲存於儲存Current_Dividend 480之記憶體胞中相關聯。即,可將Comp_Comp 431之值(例如一位元向量[00008888])儲存於(例如,複製至)儲存Current_Dividend 480之記憶體胞中。如下文將進一步描述,可(例如)藉由啟用(例如,啟動)一選定列使得儲存於計算組件中之值複製(例如,傳送)至耦合至該選定列之一群組之記憶體胞之各自對應記憶體胞而將儲存於對應於Comp_Comp 431之計算組件中之位元向量複製至耦合至該選定列及感測線(其耦合至對應計算組件)之該記憶體胞群組。
參考編號7f(例如,自當前位置右移至向量之開頭)處所指代之偽碼與對Comp_Comp 431執行一右「移位」運算相關聯。該右「移位」運算可使Comp_Comp 431中之位元右移若干位置(例如,自一MSB至一LSB)。經移位之位置數目可等於元素寬度減去E減去1(例如,元素寬度-E-1)。在其中元素寬度係4且E係0之此實例(例如,對於與參考編
號7相關聯且結合圖4B所描述之FOR迴圈之第一迭代)中,位元移位之位置數目係3(例如,4-0-1=3)。使位元向量431(例如[00008888])中之位元之各者右移3個位元位置導致位元向量[00001111]。因而,圖4B之列7f將Comp_Comp 431繪示為[00001111]。
參考編號7g(例如,執行與餘數之「或」運算)處所指代之偽碼與對Comp_Comp 431及餘數494執行一「或」運算且將結果儲存於Comp_Comp 431中(例如,值保存於Comp_Comp 431中)相關聯。因為Comp_Comp 431係[00001111]且餘數494係[00000000],所以圖4B中所展示之表之列7g將位元向量431繪示為[00001111](例如[00000000]與[00001111]「或」運算之結果)。
參考編號7h及7i(例如,儲存於Current_Dividend中且儲存於餘數中)處所指代之偽碼與將Comp_Comp 431儲存於儲存Current_Dividend 480之記憶體胞及儲存餘數494之記憶體胞中相關聯。即,可將Comp_Comp 431之值複製至儲存Current_Dividend 480之記憶體胞及餘數494。因而,因為Comp_Comp 431之值係[00001111],所以圖4B之列7h將Current_Dividend 480繪示為[00001111]且圖4B之列7i將餘數494繪示為[00001111]。
參考編號7j(例如,橫向地比較Current_Dividend與除數,在Current_Compare中得到大於掩碼)處所指代之偽碼與執行一「比較」運算相關聯。該「比較」運算可包含:判定Current_Dividend 480之元素是否大於或等於除數490之對應元素。比較運算之結果可儲存於用於儲存Current_Compare 482之記憶體胞中且可識別大於或等於除數490之對應元素的Current_Dividend 480中之元素及/或小於除數490之對應元素的Current_Dividend 480之元素。作為一實例,十六進位位元向量[0](例如二進位數[0000])可指示:Current_Dividend 480之一特定元素小於除數490之對應元素,且十六進位位元向量[F](例如二進位
數[1111])可指示:Current_Dividend 480之一特定元素大於或等於除數490。如圖4B之列7j中所展示,Current_Dividend 480係[00001111]且除數490係[33552233]。因此,因為除數490之元素之各者大於Current_Dividend 480之對應元素(例如,3>0,3>0,5>0,5>0,2>1,2>1,3>1,且3>1),所以「比較」運算之所得位元向量係[00000000]。因而,圖4B之列7j指示:Current_Compare 482係[00000000]。在若干實例中,「比較」運算可包含:執行若干運算。可使用感測電路(例如圖3中之感測放大器306及/或計算組件331)來執行與執行「比較」運算相關聯之該若干運算。可並行地且在無需經由一輸入/輸出(I/O)線而傳送資料之情況下執行與「比較」運算相關聯之該若干運算。該若干運算可包含若干「及」運算、「或」運算、「移位」運算及「反相」運算。
參考編號7k(例如,藉由應用Current_Compare而使Dynamic_Mask右移)處所指代之偽碼與若E大於0(例如,E>0)則執行一右「移位」運算相關聯。因而,因為E=0(結合圖4B),所以不執行右「移位」運算且Comp_Comp 431保持為[00000000](例如,如圖4B之列7k中所展示)。
如下文將結合圖4C至圖4E而描述,執行右「移位」運算之次數係基於E(例如,若E=1,則執行右「移位」運算一次;若E=2,則執行右「移位」運算兩次;等等)。右「移位」運算包含:將Dynamic_Mask 476儲存於對應於Comp_Comp 431之計算組件中,且對Comp_Comp 431之特定元素(如由Current_Compare 482(其用作一掩碼)所識別)執行一右「移位」運算。即,如下文將進一步描述,Current_Compare 482可指示Comp_Comp 431之元素之何者將被移位。
參考編號71(例如,將Current_Compare之反數載入至Comp_Comp中)處所指代之偽碼與下列操作相關聯:將Current_Compare 482儲存
於對應於Comp_Comp 431之計算組件中且對Comp_Comp 431執行一「反相」運算,使得在該「反相」運算之後,Comp_Comp 431儲存Current_Compare 482之反數。因而,因為Current_Compare 482具有一值[00000000],所以圖4B之列71將Comp_Comp 431繪示為[FFFFFFFF](例如[00000000]之反數)。
參考編號7m(例如,執行與餘數之「及」運算)處所指代之偽碼與執行一「及」運算相關聯。可對Comp_Comp 431及餘數494執行該「及」運算,且可將結果儲存於Comp_Comp 431中。如圖4B之列7m中所展示,Comp_Comp 431係[00001111],其係[FFFFFFFF](例如「及」運算之前之Comp_Comp 431之值)與[00001111](例如「及」運算之前之餘數494之值)「及」運算之結果。
參考編號7n(例如,儲存於Row_Current_Dividend中)處所指代之偽碼與將與參考編號7m相關聯之「及」運算之結果儲存於儲存Current_Dividend 480之記憶體胞中相關聯。因而,圖4B中之列7n將Current_Dividend 480繪示為[00001111]。參考編號7o(例如,使用Current_Compare 482掩碼得到不同於餘數且使除數至Current_Dividend中)處所指代之偽碼與執行一「減法」運算且將結果儲存為Current_Dividend 480相關聯。一「減法」運算可包含:自餘數494中之對應元素減去除數490中之選定元素。可基於Current_Compare 482而選擇自餘數494中之對應元素減去之來自除數490之元素。即,Current_Compare 482可用作一掩碼以判定元素之何者將被減去。因而,Current_Compare 482可識別將自餘數494之對應元素減去之除數490中之元素。作為一實例,十六進位位元向量[0](例如二進位數[0000])可指示不自餘數494之對應元素減去除數490之一特定元素,且十六進位位元向量[F](例如二進位數[1111])可指示將自餘數494之對應元素減去除數490之一特定元素。如圖4B之列7o中所展
示,Current_Compare 482係一位元向量[00000000],其指示將自餘數494(例如[00001111])之對應8個元素減去除數490(例如[33552233])之8個元素之零者(例如,無減法)。因而,列7o亦指示:Current_Dividend之值係[00001111],其相同於餘數494之值(例如,因為「減法」運算之結果儲存於Current_Dividend 480中且「減法」運算之結果使餘數494保存不變)。然而,若Current_Compare 482係一位元向量[0000000F],則「減法」運算將自餘數494中之第八元素減去除數490中之第八元素。
在若干實例中,「減法」運算可包含:執行若干運算。可使用感測電路(例如圖3中之感測放大器306及/或計算組件331)來執行與執行「減法」運算相關聯之該若干運算。可在無需經由一輸入/輸出(I/O)線而傳送資料之情況下執行與「減法」運算相關聯之該若干運算。該若干運算可包含若干「及」運算、「或」運算、「移位」運算及「反相」運算。與「減法」運算相關聯之該若干運算可包含:並行地執行若干「減法」運算。下文將結合圖4C至圖4F而給出執行「減法」運算之實例。
參考編號7p(例如,將商數載入Comp_Comp中)處所指代之偽碼與將商數492儲存於感測電路中相關聯。因而,將商數492(例如[00000000])之值複製至Comp_Comp 431(例如,如圖4B之列7p中所展示)。參考編號7q(例如,左移,儲存於商數中)處所指代之偽碼與對Comp_Comp 431執行一左「移位」運算相關聯。可將該左「移位」運算之結果儲存於儲存商數492之記憶體胞中。在此實例中,使Comp_Comp 431(例如[00000000])左移導致位元向量[00000000]。
參考編號7r(例如,使用Current_Compare掩碼加商數,在各固定向量之末端處之一真位元)處所指代之偽碼與執行一「加法」運算相關聯。該「加法」運算可使來自商數492之若干選定元素遞增。可基
於Current_Compare 482而選定來自商數492之該若干元素(例如,Current_Compare 482可用作一掩碼,其指示何種元素將被遞增)。在與參考編號7相關聯之迴圈之第一迭代(例如,E=0)中,Current_Compare 482係[00000000](例如,如圖4B之列7r中所展示)。因而,由Current_Compare 482提供之該掩碼指示:未選擇來自商數492之元素。因此,在此實例中,商數492不變(例如,列7r將商數492繪示為[00000000])。作為一實例,為[ff000000]之Current_Compare 482可指示:選擇來自商數492之一第一元素及一第二元素,其將導致商數492之該第一元素及該第二元素加1。
在若干實例中,「加法」運算可包含:執行若干運算。可使用感測電路(例如圖3中之感測放大器306及/或計算組件331)來執行與執行「加法」運算相關聯之該若干運算。可在無需經由一輸入/輸出(I/O)線而傳送資料之情況下執行與「加法」運算相關聯之該若干運算。該若干運算可包含若干「及」運算、「或」運算、「移位」運算及「反相」運算。與「加法」運算相關聯之該若干運算可包含:並行地執行若干「加法」運算。下文將結合圖4C至圖4F而給出實施「加法」運算之進一步實例。
參考編號7s(例如,將Current_Dividend載入Comp_Comp中)處所指代之偽碼與將Current_Dividend 480儲存於感測電路中(例如,儲存於對應於Comp_Comp 431之計算組件中及/或儲存於對應於Comp_Comp 431之感測放大器中)相關聯。因而,圖4B之列7s繪示儲存於Comp_Comp 431中之Current_Dividend 480(例如[00001111])之值。參考編號7t(例如,左移)處所指代之偽碼與對Comp_Comp 431執行一左「移位」運算相關聯。在此實例中,在該左「移位」運算之前,Comp_Comp 431之值係[00001111]。因而,圖4B之列7t將該左「移位」運算之後之Comp_Comp之值繪示為[00002222]。參考編號7u
(例如,將Comp_Comp儲存於Current_Dividend及餘數中)處所指代之偽碼與將該左「移位」運算之結果儲存於儲存Current_Dividend 480之記憶體胞、儲存餘數494之記憶體胞、及感測電路中相關聯。在此實例中,在該左「移位」運算之後,Comp_Comp係[00002222],且將此值複製至Current_Dividend 480及餘數494(例如,如圖4B之列7u中所展示)。
參考編號7v(例如,將Dynamic_Mask載入Comp_Comp中)處所指代之偽碼與將Dynamic_Mask 476儲存於感測電路中相關聯。例如,可將Dynamic_Mask 476之值複製至Comp_Comp 431。因而,圖4B之列7v繪示儲存於Comp_Comp 431中之Dynamic_Mask 476(例如[88888888])之值。
參考編號7w(例如,應用Current_Compare中之掩碼來使Comp_Comp右移)處所指代之偽碼與下列操作相關聯:對Comp_Comp 431執行一右「移位」運算,將該右「移位」運算之結果儲存於Comp_Comp 431中,對Comp_Comp 431及Current_Compare 482執行一「及」運算,將該「及」運算之結果儲存於Comp_Comp 431及儲存Current_Dividend 480之記憶體胞中。在參考編號7w中所執行之該等運算中,Current_Compare 431用作一掩碼以識別將被右移之元素。接著,將Current_Compare 482儲存於(例如,複製至)Comp_Comp 431中,對Comp_Comp 431執行一「反相」運算(例如,使得Comp_Comp 431儲存Current_Compare 482之反相值),對該「反相」運算之結果及Dynamic_Mask 476執行一「及」運算(例如,使Comp_Comp 431與Dynamic_Mask 476進行「及」運算),對該「及」運算之結果及Current_Dividend 480執行一「或」運算(例如,使Comp_Comp 431與Current_Dividend 480進行「或」運算),且將該「或」運算之結果儲存於Comp_Comp 431中。
例如,對Comp_Comp 431(例如一位元向量[88888888])執行右「移位」運算,將結果[44444444]儲存於Comp_Comp 431中。對[44444444](例如Comp_Comp 431)及[00000000](例如Current_Compare 482)執行「及」運算且將結果[00000000]儲存於感測電路及儲存Current_Dividend 480之記憶體胞中。在此實例中,Current_Compare 482係[00000000]且因而無元素右移。將一位元向量[00000000]儲存於感測電路中,對[00000000](例如Comp_Comp 431)執行一「反相」運算,對該「反相」運算之結果[ffffffff]及[88888888](例如Dynamic_Mask 476)執行一「及」運算。對[88888888](例如該「及」運算之結果)及[00000000](例如Current_Dividend 480)執行一「或」運算且將結果[88888888]儲存於感測電路中。
參考編號7x(例如,將Comp_Comp儲存於Dynamic_Mask中)處所指代之偽碼與將「或」運算之結果儲存於儲存Dynamic_Mask 476之記憶體胞中相關聯。即,將Comp_Comp 431儲存於儲存Dynamic_Mask 476之記憶體胞中。因此,如圖4B之列7x中所展示,Dynamic_Mask 476係[88888888]。
圖4C繪示一表,其展示與執行與FOR迴圈(其與參考編號7相關聯)之一第二迭代相關聯之若干運算相關聯之若干位元向量(例如431、476、478、480、482、488、490、492及494)之值。因而,相對於對應於參考編號7a至7x之一第二迭代(例如,E=1)而描述圖4C。
圖4C之列7a繪示將Dynamic_Mask 476(例如一位元向量[88888888])儲存於對應於Comp_Comp 431之計算組件(例如圖3中之計算組件331)中之結果。因而,在列7a中,Comp_Comp係[88888888]。圖4C之列7b繪示將Comp_Comp 431之值複製至Current_Dividend 480之後之Current_Dividend 480(例如[88888888])之值。
參考編號7c與基於E等於1而執行一迴圈相關聯。參考編號7c處
所指代之偽碼可包含:將位元向量[CCCCCCCC]儲存於儲存Current_Dividend 480之記憶體胞中。
圖4C之列7d繪示對Comp_Comp 431(例如一位元向量[CCCCCCCC])及被除數488(例如一位元向量[774488CC])執行一「及」運算之結果。因而,在列7d中,Comp_Comp 431係[444488CC]。圖4C之列7e繪示將該「及」運算之結果(例如一位元向量[444488CC])儲存於儲存Current_Dividend 480之記憶體胞中。
圖4C之列7f繪示對Comp_Comp 431(例如一位元向量[444488cc])執行一右「移位」運算之結果。因而,在列7f中,Comp_Comp 431係[11112233]。
圖4C之列7g繪示對Comp_Comp 431(例如一位元向量[11112233])及餘數494(例如一位元向量[00002222])執行一「或」運算之結果。因而,在列7g中,Comp_Comp 431係[11112233]。圖4C之列7h至7i繪示將Comp_Comp 431(例如一位元向量[11112233])儲存於儲存Current_Dividend 480之記憶體胞及儲存餘數494之記憶體胞中。
圖4C之列7j繪示對Current_Dividend 480(例如一位元向量[11112233])及除數490(例如一位元向量[33552233])執行一「比較」運算之結果。因而,在列7j中,Current_Compare 482係[0000FFFF]。
圖4C之列7k繪示在與參考編號7相關聯之迴圈結構之一第二迭代期間基於E大於零而執行一右「移位」運算之結果。即,將Dynamic_Mask 476(例如一位元向量[88888888])儲存於感測電路中,基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[88888888])執行一右「移位」運算,且將Comp_Comp 431儲存於儲存Dynamic_Mask 476之記憶體胞中。基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[88888888])執行一右「移位」運算包含:使用Current_Compare 482(例如一位元向量[0000FFFF])作為一
掩碼以識別來自Comp_Comp 431之元素。在此實例中,由Current_Compare 482提供之掩碼指示(例如,經由十六進位數[F]):Comp_Comp 431中之第五元素、第六元素、第七元素及第八元素將被右移。因為執行右「移位」運算之次數係基於E,所以在此情況中,執行右「移位」運算一次(例如,E=1)。因而,使Comp_Comp 431之經識別元素右移一個位元位置,且將結果(例如一位元向量[88884444])儲存於儲存Dynamic_Mask 476之記憶體胞中(例如,如圖4C之列7k中所展示)。
圖4C之列71繪示將Current_Compare 482(例如一位元向量[0000FFFF])儲存於感測電路中且對Comp_Comp 431(例如一位元向量[0000FFFF])執行一「反相」運算之結果。因而,在列71中,Comp_Comp 431係[FFFF0000]。
圖4C之列7m繪示對Comp_Comp 431(例如一位元向量[FFFF0000])及餘數494(例如一位元向量[11112233])執行一「及」運算之結果。因而,在列7m中,Comp_Comp 431係[11110000]。
圖4C之列7n繪示將與參考編號7m相關聯之「及」運算之結果(例如一位元向量[11110000])儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7n中,Current_Dividend 480係[11110000]。
圖4C之列7o繪示執行一「減法」運算之結果。在圖4C所給出之實例中,Current_Compare 482係一位元向量[0000FFFF],其指示:自餘數494中之相關聯元素(例如一位元向量[2233])減去來自除數490之第五元素、第六元素、第七元素及第八元素(例如一位元向量[2233])。將該「減法」運算之結果(例如一位元向量[11110000])儲存於儲存Current_Dividend 480之記憶體胞中。因而,在列7o中,Current_Dividend 480係[11110000]。
圖4C之列7p繪示將商數492(例如一位元向量[00000000])儲存於
感測電路中之結果。因而,在列7p中,Comp_Comp 431係[00000000]。
圖4C之列7q繪示對Comp_Comp 431(例如一位元向量[00000000])執行一左「移位」運算之結果。因而,在列7q中,商數492係[00000000]。
圖4C之列7r繪示執行一「加法」運算之結果。該「加法」運算使來自商數492之若干元素遞增。可基於Current_Compare 482而選擇來自商數492之該若干元素。在與參考編號7相關聯之一迴圈結構之第二迭代中,Current_Compare 482等於一位元向量[0000FFFF]。基於Current_Compare 482而選擇來自商數492之第五元素、第六元素、第七元素及第八元素。該「加法」運算使來自商數492之第五元素、第六元素、第七元素及第八元素加1。因而,在列7r中,商數492係[00001111]。
圖4C之列7s繪示將Current_Dividend 480(例如一位元向量[11110000])儲存於感測電路中之結果。因而,在列7s中,Comp_Comp 431係[11110000]。
圖4C之列7t繪示對Comp_Comp 431(例如一位元向量[11110000])執行一左「移位」運算之結果。因而,在列7t中,Comp_Comp 431係[22220000]。
圖4C之列7u繪示將左「移位」運算之結果(例如一位元向量[22220000])儲存於儲存Current_Dividend 480之記憶體胞、儲存餘數494之記憶體胞、及感測電路中之結果。因而,在列7u中,Current_Dividend 480、餘數494及Comp_Comp 431係[22220000]。
圖4C之列7v繪示將Dynamic_Mask 476(例如一位元向量[88884444])儲存於感測電路中之結果。因而,在列7v中,Comp_Comp 431係[88884444]。
圖4C之列7w繪示對Comp_Comp 431(例如一位元向量[88884444])執行一右「移位」運算之結果。將該右「移位」運算之結果(例如一位元向量[44442222])儲存於Comp_Comp 431中。對Comp_Comp 431(例如一位元向量[44442222])及Current_Compare 482(例如一位元向量[0000ffff])執行一「及」運算。將該「及」運算之結果(例如一位元向量[00002222])儲存於感測電路及儲存Current_Dividend 480之記憶體胞中。將Current_Compare 482(例如一位元向量[0000ffff])儲存於感測電路中。對Comp_Comp 431(例如一位元向量[0000ffff])執行一「反相」運算。對該「反相」運算之結果(例如一位元向量[ffff0000])及Dynamic_Mask 476(例如一位元向量[88884444])執行一「及」運算。對該「及」運算之結果(例如一位元向量[88880000])及Current_Dividend 480(例如一位元向量[00002222])執行一「或」運算。將該「或」運算之結果(例如一位元向量[88882222])儲存於感測電路中。因而,在列7w中,Comp_Comp 431係[88882222]。
圖4C之列7x繪示將「或」運算之結果儲存於儲存Dynamic_Mask 476之記憶體胞中之結果。因而,在列7x中,Dynamic_Mask 476係[88882222]。
圖4D繪示一表,其展示與執行與FOR迴圈(其與參考編號7相關聯)之一第二迭代相關聯之若干運算相關聯之若干位元向量(例如431、476、478、480、482、488、490、492及494)之值。因而,相對於對應於參考編號7a至7x之一第二迭代(例如,E=2)而描述圖4D。
圖4D之列7a繪示將Dynamic_Mask 476(例如一位元向量[88882222])儲存於圖3中之計算組件331中之結果。因而,在列7a中,Comp_Comp 431係[88882222]。
圖4D之列7b繪示將Comp_Comp 431儲存於儲存Current_Dividend
480之記憶體胞中之結果。因而,在列7b中,Current_Dividend 480係[88882222]。
圖4D之列7c繪示執行一迴圈(其執行E次迭代)之結果。即,與參考編號7c相關聯之該迴圈將基於E等於2而執行該迴圈之兩次迭代。參考編號7c中之該迴圈參考之各迭代執行若干運算。參考編號7c處所指代之偽碼可包含:將位元向量[EEEE3333]儲存於儲存Current_Dividend 480之記憶體胞中。因而,在列7c中,Current_Dividend 480係[EEEE3333]。
圖4D之列7d繪示對Comp_Comp 431(例如一位元向量[eeee3333])及被除數488(例如一位元向量[774488cc])執行一「及」運算之結果。因而,在列7d中,Comp_Comp 431係[66440000]。
圖4D之列7e繪示將Comp_Comp 431(例如一位元向量[66440000])儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7e中,Current_Dividend 480係[66440000]。
圖4D之列7f繪示對Comp_Comp 431(例如一位元向量[66440000])執行一右「移位」運算之結果。該右「移位」運算可使Comp_Comp 431中之位元移位若干位置。該等位置之數目可等於元素寬度減去E減去1(例如,元素寬度-E-1)。例如,在與參考編號7相關聯之迴圈結構之一第三迭代期間,該等位置之數目可等於1。將該右「移位」運算之結果(例如一位元向量[33220000])儲存於感測電路中。因而,在列7f中,Comp_Comp 431係[33220000]。
圖4D之列7g繪示對Comp_Comp 431(例如一位元向量[33220000])及餘數494(例如一位元向量[22220000])執行一「或」運算之結果。因而,在列7g中,Comp_Comp 431係[33220000]。
圖4D之列7h至7i繪示將Comp_Comp 431(例如一位元向量[33220000])儲存於儲存Current_Dividend 480之記憶體胞及儲存餘數
494之記憶體胞中之結果。因而,在列7i中,餘數494係[33220000]。
圖4D之列7j繪示執行一「比較」運算之結果。該「比較」運算比較Current_Dividend 480(例如一位元向量[33220000])與除數490(例如一位元向量[33552233])。因而,在列7j中,Current_Compare 482係[FF000000]。
圖4B之列7k繪示在與參考編號7相關聯之迴圈結構之一第三迭代期間基於E大於零而執行一右「移位」運算之結果。即,將Dynamic_Mask 476(例如一位元向量[88882222])儲存於感測電路中,基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[88882222])執行一右「移位」運算,且將Comp_Comp 431儲存於儲存Dynamic_Mask 476之記憶體胞中。基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[88882222])執行一右「移位」運算包含:使用Current_Compare 482(例如一位元向量[ff000000])作為一掩碼以識別來自Comp_Comp 431之元素。Current_Compare 482可用於識別Comp_Comp 431中之第一元素及第二元素。可對來自Comp_Comp 431之經識別元素執行該右「移位」運算。可對經識別元素執行該右「移位」運算若干次。該右「移位」運算之迭代可基於E。即。可歸因於E等於2而對經識別元素執行一右「移位」運算。因而,在列7k中,Dynamic_Mask 476係[22882222]。
圖4D之列71繪示將Current_Compare 482(例如一位元向量[FF000000])儲存於感測電路中且對Comp_Comp 431(例如一位元向量[FF000000])執行一「反相」運算之結果。因而,在列71中,Comp_Comp 431係[00FFFFFF]。
圖4D之列7m繪示執行一「及」運算之結果。可對Comp_Comp 431(例如一位元向量[00FFFFFF])及餘數494(例如一位元向量[33220000])執行該「及」運算。因而,在列7m中,Comp_Comp 431
係[00220000]。
圖4D之列7n繪示將「及」運算之結果(例如一位元向量[00220000])儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7n中,Current_Dividend 480係[00220000]。
圖4D之列7o繪示執行一「減法」運算之結果。Current_Compare 482係一位元向量[ff000000],其指示:自餘數494中之相關聯元素(例如一位元向量[33])減去來自除數490之第一元素及第二元素(例如一位元向量[33])。因而,在列7o中,Current_Dividend 480係[00220000]。
圖4D之列7p繪示將商數492(例如一位元向量[00001111])儲存於感測電路中之結果。因而,在列7p中,Comp_Comp 431係[00001111]。
圖4D之列7q繪示對Comp_Comp 431(例如一位元向量[00001111])執行一左「移位」運算之結果。因而,在列7q中,商數492係[00002222]。
圖4D之列7r繪示執行一「加法」運算之結果。該「加法」運算使來自商數492之若干元素遞增。可基於Current_Compare 482而選擇來自商數492之該若干元素。在與參考編號7相關聯之一迴圈結構之第三迭代中,Current_Compare 482等於一位元向量[FF000000]。基於Current_Compare 482而選擇來自商數492之第一元素及第二元素。該「加法」運算使來自商數492之第一元素及第二元素加1。因而,在列7r中,商數492係[11002222]。
圖4D之列7s繪示將Current_Dividend 480(例如一位元向量[00220000])儲存於感測電路中之結果。因而,在列7s中,Comp_Comp 431係[00220000]。
圖4D之列7t繪示對Comp_Comp 431(例如一位元向量[00220000])執行一左「移位」運算之結果。因而,在列7t中,Comp_Comp 431係
[00440000]。圖4D之列7u繪示將該左「移位」運算之結果(例如一位元向量[00440000])儲存於儲存Current_Dividend 480之記憶體胞、儲存餘數494之記憶體胞、及感測電路中之結果。因而,在列7u中,Comp_Comp 431、Current_Dividend 480及餘數494係[00440000]。
圖4D之列7v繪示將Dynamic_Mask 476(例如一位元向量[22882222])儲存於感測電路中之結果。因而,在列7v中,Comp_Comp 431係[22882222]。
圖4D之列7w繪示對Comp_Comp 431(例如一位元向量[22884444])執行一右「移位」運算之結果。將該右「移位」運算之結果(例如一位元向量[11441111])儲存於Comp_Comp 431中。對Comp_Comp 431(例如一位元向量[11441111])及Current_Compare 482(例如一位元向量[ff000000])執行一「及」運算。將該「及」運算之結果(例如一位元向量[11000000])儲存於感測電路及儲存Current_Dividend 480之記憶體胞中。將Current_Compare 482(例如一位元向量[ff000000])儲存於感測電路中。對Comp_Comp 431(例如一位元向量[00ffffff])執行一「反相」運算。對該「反相」運算之結果(例如一位元向量[00ffffff])及Dynamic_Mask 476(例如一位元向量[22882222])執行一「及」運算。對該「及」運算之結果(例如一位元向量[00882222])及Current_Dividend 480(例如一位元向量[11000000])執行一「或」運算。將該「或」運算之結果(例如一位元向量[11882222])儲存於感測電路中。因而,在列7w中,Comp_Comp 431係[11882222]。
圖4D之列7x繪示將「或」運算之結果儲存於儲存Dynamic_Mask 476之記憶體胞中之結果。因而,在列7x中,Dynamic_Mask 476係[11882222]。
圖4E繪示一表,其展示與執行與FOR迴圈(其與參考編號7相關
聯)之一第三迭代相關聯之若干運算相關聯之若干位元向量(例如431、476、478、480、482、488、490、492及494)之值。因而,相對於對應於參考編號7a至7x之一第二迭代(例如,E=3)而描述圖4E。
圖4E之列7a繪示將Dynamic_Mask 476(例如一位元向量[11882222])儲存於圖3中之計算組件331中之結果。因而,在列7a中,Dynamic_Mask 476係[11882222]。
圖4E之列7b繪示將Comp_Comp 431儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7b中,Current_Dividend 480係[11882222]。
圖4E之列7c繪示執行一迴圈(其執行E次迭代)之結果。即,與參考編號7c相關聯之該迴圈將基於E等於3而執行該迴圈之三次迭代。參考編號7c中之該迴圈參考之各迭代執行若干運算。參考編號7c處所指代之偽碼可包含:將位元向量[11FF3333]儲存於儲存Current_Dividend 480之記憶體胞中。因而,在列7c中,Current_Dividend 480係[11FF3333]。
圖4E之列7d繪示對Comp_Comp 431(例如一位元向量[11FF3333])及被除數488(例如一位元向量[774488cc])執行一「及」運算之結果。因而,在列7d中,Comp_Comp 431係[11440000]。圖4E之列7e繪示將該「及」運算之結果儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7e中,Current_Dividend 480係[11440000]。
圖4E之列7f繪示對Comp_Comp 431(例如一位元向量[11440000])執行一右「移位」運算之結果。該右「移位」運算可使Comp_Comp 431中之位元移位若干位置。該等位置之數目可等於元素寬度減去E減去1(例如,元素寬度-E-1)。在與參考編號7相關聯之迴圈結構之第四迭代期間,該等位置之數目可等於0。將該右「移位」運算之結果(例如一位元向量[11440000])儲存於感測電路中。因而,在列7f中,
Comp_Comp 431係[11440000]。
圖4E之列7g繪示對Comp_Comp 431(例如一位元向量[11440000])及餘數494(例如一位元向量[00440000])執行一「或」運算之結果。因而,在列7g中,Comp_Comp 431係[11440000]。
圖4E之列7h至7i繪示將Comp_Comp 431(例如一位元向量[11440000])儲存於儲存Current_Dividend 480之記憶體胞及儲存餘數494之記憶體胞中之結果。因而,在列7h至7i中,Current_Dividend 480及餘數494係[11440000]。
圖4E之列7j繪示執行一「比較」運算之結果。該「比較」運算比較Current_Dividend 480(例如一位元向量[11440000])與除數490(例如一位元向量[33552233])。可將該「比較」運算之結果(例如一位元向量[00000000])儲存於儲存Current_Compare 482之記憶體胞中。因而,在列7j中,Current_Compare 482係[00000000]。
圖4E之列7k繪示在與參考編號7相關聯之迴圈結構之一第四迭代期間基於E大於零而執行一右「移位」運算之結果。即,將Dynamic_Mask 476(例如一位元向量[11882222])儲存於感測電路中,基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[11882222])執行一右「移位」運算,且將Comp_Comp 431儲存於儲存Dynamic_Mask 476之記憶體胞中。基於Current_Compare 482而對Comp_Comp 431(例如一位元向量[11882222])執行一右「移位」運算包含:使用Current_Compare 482(例如一位元向量[00000000])作為一掩碼以識別來自Comp_Comp 431之元素。歸因於Current_Compare 482具有等於一位元向量[00000000]之一值,所以無元素被識別。可將該右「移位」運算之迭代之結果(例如一位元向量[11882222])儲存於儲存Dynamic_Mask 476之記憶體胞中。因而,在列7k中,Dynamic_Mask 476係[11882222]。
圖4E之列71繪示將Current_Compare 482(例如一位元向量[00000000])儲存於感測電路中且對Comp_Comp 431(例如一位元向量[00000000])執行一「反相」運算之結果。因而,在列71中,Comp_Comp 431係[FFFFFFFF]。
圖4E之列7m繪示執行一「及」運算之結果。可對Comp_Comp 431(例如一位元向量[FFFFFFFF])及餘數494(例如一位元向量[11440000])執行該「及」運算。因而,在列7m中,Comp_Comp 431係[11440000]。圖4E之列7n繪示將該「及」運算之結果(例如一位元向量[11440000])儲存於儲存Current_Dividend 480之記憶體胞中之結果。因而,在列7n中,Current_Dividend 480係[11440000]。
圖4E之列7o繪示執行一「減法」運算之結果。Current_Compare 482係一位元向量[00000000],其指示:無元素自餘數494被減去。因而,在列7o中,Current_Dividend 480係[11440000]。
圖4E之列7p繪示將商數492(例如一位元向量[11002222])儲存於感測電路中之結果。因而,在列7p中,Comp_Comp 431係[11002222]。
圖4E之列7q繪示對Comp_Comp 431(例如一位元向量[11002222])執行一左「移位」運算之結果。因而,在列7q中,商數492係[22004444]。
圖4E之列7r繪示執行一「加法」運算之結果。該「加法」運算可使來自商數492之若干元素遞增。可基於Current_Compare 482而選擇來自商數492之該若干元素。在與參考編號7相關聯之一迴圈結構之第四迭代中,Current_Compare 482等於一位元向量[00000000]。基於Current_Compare 482而不選擇元素。因而,在列7r中,商數492係[22004444]。
圖4E之列7s繪示將Current_Dividend 480(例如一位元向量
[11440000])儲存於感測電路中之結果。因而,在列7s中,Comp_Comp 431係[11440000]。
圖4E之列7t繪示對Comp_Comp 431(例如一位元向量[11440000])執行一左「移位」運算之結果。因而,在列7t中,Comp_Comp 431係[22880000]。
圖4E之列7u繪示將左「移位」運算之結果(例如一位元向量[22880000])儲存於儲存Current_Dividend 480之記憶體胞、儲存餘數494之記憶體胞、及感測電路中之結果。因而,在列7u中,Current_Dividend 480、餘數494及Comp_Comp係[22880000]。
圖4E之列7v繪示將Dynamic_Mask 476(例如一位元向量[11882222])儲存於感測電路中之結果。因而,在列7v中,Comp_Comp 431係[11882222]。
圖4E之列7w繪示對Comp_Comp 431(例如一位元向量[11884444])執行一右「移位」運算之結果。將該右「移位」運算之結果(例如一位元向量[00442222])儲存於Comp_Comp 431中。對Comp_Comp 431(例如一位元向量[00442222])及Current_Compare 482(例如一位元向量[00000000])執行一「及」運算。將該「及」運算之結果(例如一位元向量[00000000])儲存於感測電路及儲存Current_Dividend 480之記憶體胞中。將Current_Compare 482(例如一位元向量[00000000])儲存於感測電路中。對Comp_Comp 431(例如一位元向量[FFFFFFFF])執行一「反相」運算。對該「反相」運算之結果(例如一位元向量[FFFFFFFF])及Dynamic_Mask 476(例如一位元向量[11882222])執行一「及」運算。對該「及」運算之結果(例如一位元向量[11882222])及Current_Dividend 480(例如一位元向量[00000000])執行一「或」運算。因而,在列7w中,Comp_Comp 431係[11882222]。
圖4E之列7x繪示將「或」運算之結果儲存於儲存Dynamic_Mask 476之記憶體胞中之結果。因而,在列7x中,Dynamic_Mask 476係[11882222]。
圖4F繪示一表,其展示與執行與參考編號8相關聯之若干運算相關聯之若干位元向量(例如431、476、478、480、482、488、490、492及494)之值。圖4F之列8繪示對餘數494(例如一位元向量[22880000])執行一右「移位」運算之結果。因而,在列8中,餘數494係[11440000]。
商數492(例如一位元向量[22004444])及餘數494(例如一位元向量[11440000])係使被除數488(例如一位元向量[774488cc])除以除數490(例如一位元向量[33552233])之一除法運算之一結果。例如,來自被除數488(例如一位元向量[774488cc])之第一元素(例如一位元向量[77])除以來自除數490(例如一位元向量[33552233])之一第一元素(例如一位元向量[33])等於來自商數492(例如一位元向量[22004444])之一第一元素(例如一位元向量[22]),餘數係來自餘數494(例如一位元向量[11440000])之一第一元素(例如一位元向量[11])。然而,實施例不受限於此實例中之偽碼中之指令序列之順序。
下文描述圖2A之感測電路250之功能性且下文在表1中相對於執行邏輯運算且將一結果最初儲存於感測放大器206中而概述圖2A之感測電路250之功能性。將一特定邏輯運算之結果最初儲存於感測放大器206之初級鎖存器中可提供比先前方法(其中結果可最初駐存於一計算組件231之一次級鎖存器(例如累加器),且接著隨後被傳送至(例如)感測放大器206)改良之多功能性。
將一特定運算之結果最初儲存於感測放大器206中(例如,不必執行一額外操作來將結果自計算組件231(例如累加器)移動至感測放大器206)係有利的,此係因為(例如)可在不執行一預充電週期(例如,不對互補資料線205-1(D)及/或205-2(D_)執行一預充電週期)之情況下將結果寫入至一列(記憶體胞陣列之一列)或寫回至累加器中。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖5繪示與對一第一運算元及一第二運算元初始化一「及」邏輯運算相關聯之一時序圖。在此實例中,將該第一運算元儲存於耦合至一第一存取線(例如列X)之一記憶體胞中且將該第二運算元儲存於耦合至一第二存取線(例如列Y)之一記憶體胞中。雖然實例涉及對儲存於對應於一特定行之記憶體胞中之資料執行一「及」運算,但實施例不受限於此。例如,可使整列之資料值與一不同列之資料值進行並行「及」運算。例如,若一陣列包括2,048個行,則可並行執行2,048個「及」運算。
圖5繪示與操作感測電路(例如250)來執行「及」邏輯運算相關聯之若干控制信號。「EQ」對應於施加至感測放大器206之一平衡信號,「列X」對應於施加至存取線204-X之一啟動信號,「列Y」對應於施加至存取線204-Y之一啟動信號,「Act」及「RnIF」對應於施加至感測放大器206之一各自主動正控制信號及主動負控制信號,「LOAD」對應於一負載控制信號(例如圖2A中所展示之LOAD/PASSD及LOAD/PASSDb),且「AND」對應於圖2A中所展示之AND控制信號。圖5亦繪示波形圖,其展示列X資料值及列Y資料值之各種資料值組合之一「及」邏輯運算期間之對應於感測放大器206之
數位線D及D_上及對應於計算組件231(例如累加器)之節點S1及S2上之信號(例如電壓信號)(例如,圖式對應於各自資料值組合00、10、01、11)。下文相對於與圖2A中所展示之電路之一「及」運算相關聯之偽碼而討論特定時序圖波形。
可將與將儲存於耦合至列204-X之一記憶體胞中之一第一資料值載入(例如,複製)至累加器中相關聯之偽碼之一實例概述如下:將列X複製至累加器中:撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中)啟動LOAD(感測放大器資料(列X)被傳送至累加器之節點S1及S2且動態地駐存於節點S1及S2上);撤銷LOAD;關閉列X;預充電。
在上述偽碼中,「撤銷EQ」指示:在t1處停用對應於感測放大器206之一平衡信號(圖5中所展示之EQ信號),如圖5中所展示(例如,使得互補資料線(例如205-1(D)及205-2(D_))不再短接至VDD/2)。在停用平衡之後,啟用(例如,選擇、打開,諸如,藉由啟動一信號來選擇一特定列)一選定列(例如列X),如由偽碼中之「打開列X」所指示且如圖5之信號列X之t2處所展示。當施加至列X之電壓信號達到對應於選定記憶體胞之存取電晶體(例如202-2)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如205-2(D_))耦合至選定記憶體胞(例如,耦合至電容器203-2),其在資料線之間產生一差動電壓信號。
在啟用(例如,啟動)列X之後,上述偽碼中之「起動感測放大器」指示:感測放大器206經啟用以設定初級鎖存器,且隨後被停
用。例如,如圖5中之t3處所展示,ACT正控制信號(例如圖2B中所展示之265)升至高態且RnIF負控制信號(例如如圖2B中所展示之228)降為低態,其放大205-1(D)與D_205-2之間的差動信號以導致對應於一邏輯1之一電壓(例如VDD)或對應於一邏輯0之一電壓(例如GND)作用於資料線205-1(D)上(且對應於另一邏輯狀態之電壓作用於互補資料線205-2(D_)上)。將所感測之資料值儲存於感測放大器206之初級鎖存器中。主要能量消耗發生於將資料線(例如205-1(D)或205-2(D_))自平衡電壓VDD/2充電至導軌電壓VDD時。
圖5中所繪示之四組可行感測放大器及累加器信號(例如列X資料值及列Y資料值之各組合之一組信號)展示資料線D及D_上之信號之行為。將列X資料值儲存於感測放大器之初級鎖存器中。應注意,圖2A展示:對應於列X之記憶體胞(其包含儲存元件203-2及存取電晶體202-2)耦合至互補資料線D_,同時對應於列Y之記憶體胞(其包含儲存元件203-1及存取電晶體202-1)耦合至資料線D。然而,如圖2A中可見,對應於一「0」資料值之儲存於包括存取電晶體202-2之記憶體胞(其對應於列X)中之電荷致使資料線D_(存取電晶體202-2耦合至其)上之電壓升至高態且對應於一「1」資料值之儲存於包括存取電晶體202-2之記憶體胞中之電荷致使資料線D_上之電壓降為低態,其與資料狀態與儲存於對應於列Y之包括存取電晶體202-1之記憶體胞(其耦合至資料線D)中之電荷之間的對應性相反。當將資料值寫入至各自記憶體胞時,適當地解釋在耦合至不同資料線之記憶體胞中儲存電荷的此等差異。
在起動感測放大器之後,上述偽碼中之「啟動LOAD」指示:LOAD控制信號升至高態(如圖5中之t4處所展示)以致使負載/通路電晶體218-1及218-2導通。依此方式,啟動LOAD控制信號以啟用計算組件231之累加器中之次級鎖存器。將儲存於感測放大器206中之所感測
資料值傳送(例如,複製)至次級鎖存器。如圖5中所繪示之四組可行感測放大器及累加器信號之各者所展示,累加器之次級鎖存器之輸入處之行為指示:次級鎖存器載入有列X資料值。如圖5中所展示,累加器之次級鎖存器可根據先前儲存於動態鎖存器中之資料值而翻轉(例如,參閱列X=「0」且列Y=「0」及列X=「1」且列Y=「0」時之累加器信號)或不翻轉(例如,參閱列X=「0」且列Y=「1」及列X=「1」且列Y=「1」時之累加器信號)。
在自儲存於感測放大器中(且呈現於資料線205-1(D)及205-2(D_)上)之資料值設定次級鎖存器之後,上述偽碼中之「撤銷LOAD」指示:LOAD控制信號變回為低態(如圖5中之t5處所展示)以致使負載/通路電晶體218-1及218-2停止導通且藉此使動態鎖存器與互補資料線隔離。然而,資料值保持動態地儲存於累加器之次級鎖存器中。
在將資料值儲存於次級鎖存器上之後,停用(例如,不選、關閉,諸如,藉由撤銷一特定列之一選擇信號)選定列(例如列X),如由「關閉列X」所指示且如圖5中之t6處所指示,其可藉由存取電晶體切斷以使選定記憶體胞與對應資料線解耦合而完成。一旦關閉選定列且使記憶體胞與資料線隔離,則可對資料線預充電,如由上述偽碼中之「預充電」所指示。可藉由一平衡操作而完成資料線之一預充電,如圖5中藉由EQ信號在t7處升至高態所指示。如圖5中之t7處所繪示之四組可行感測放大器及累加器信號之各者所展示,平衡操作致使資料線D及D_上之電壓各恢復至VDD/2。平衡可發生於(例如)一記憶體胞感測操作或邏輯運算(如下文將描述)之前。
與對第一資料值(現儲存於感測放大器206及計算組件231之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞202-1中)執行「及」或「或」運算相關聯之一隨後操作階段包含:執行取決於是否將執行一「及」運算或一「或」運算之特定步驟。下文概述
與對駐存於累加器中之資料值(例如儲存於耦合至列X 204-X之記憶體胞202-2中之第一資料值)及第二資料值(例如儲存於耦合至列Y 204-Y之記憶體胞202-1中之資料值)進行「及」運算及「或」運算相關聯之偽碼之實例。與對資料值進行「及」運算相關聯之實例性偽碼可包含:撤銷EQ;打開列Y;起動感測放大器(此後,列Y資料駐存於感測放大器中);關閉列Y;在下一操作中,邏輯運算之結果將被放置於感測放大器上,其將覆寫啟用之任何列;即使當關閉列Y時,感測放大器仍含有列Y資料值;啟動「及」運算;此導致感測放大器被寫入函數(例如列X「及」列Y)之值;若累加器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料被寫入一「0」;若累加器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則感測放大器資料保持不變(列Y資料);此操作使累加器中之資料不變;撤銷「及」運算;預充電。
在上述偽碼中,「撤銷EQ」指示:停用對應於感測放大器206之一平衡信號(例如,使得互補資料線205-1(D)及205-2(D_)不再短接至VDD/2),如圖5中之t8處所繪示。在停用平衡後,啟用一選定列(例如
列Y),如由上述偽碼中之「打開列Y」所指示且如圖5中之t9處所展示。當施加至列Y之電壓信號達到對應於選定記憶體胞之存取電晶體(例如202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如D205-1)耦合至選定記憶體胞(例如,耦合至電容器203-1),其在資料線之間產生一差動電壓信號。
在啟用列Y之後,上述偽碼中之「起動感測放大器」指示:感測放大器206經啟用以放大205-1(D)與205-2(D_)之間的差動信號以導致對應於一邏輯1之一電壓(例如VDD)或對應於一邏輯0之一電壓(例如GND)作用於資料線205-1(D)上(且對應於另一邏輯狀態之電壓作用於互補資料線205-2(D_)上)。如圖5中之t10處所展示,ACT正控制信號(例如圖2B中所展示之265)升至高態且RnIF負控制信號(例如圖2B中所展示之228)降為低態以起動感測放大器。將來自記憶體胞202-1之所感測資料值儲存於感測放大器206之初級鎖存器中,如先前所描述。次級鎖存器仍對應於來自記憶體胞202-2之資料值,此係因為動態鎖存器未被改變。
在將自耦合至列Y之記憶體胞202-1感測之第二資料值儲存於感測放大器206之初級鎖存器中之後,上述偽碼中之「關閉列Y」指示:若不期望將「及」邏輯運算之結果儲存回對應於列Y之記憶體胞中,則可停用選定列(例如列Y)。然而,圖5展示:列Y經保持啟用使得邏輯運算之結果可儲存回對應於列Y之記憶體胞中。可藉由存取電晶體切斷以使選定記憶體胞202-1與資料線205-1(D)解耦合而完成使對應於列Y之記憶體胞隔離。在選定列Y經組態(例如,以隔離記憶體胞或不隔離記憶體胞)之後,上述偽碼中之「啟動「及」運算」指示:AND控制信號升至高態(如圖5中之t11處所展示)以致使下拉電晶體207-1導通。依此方式,啟動AND控制信號致使函數(例如列X「及」列Y)之值寫入至感測放大器。
在第一資料值(例如列X)儲存於累加器231之動態鎖存器中且第二資料值(例如列Y)儲存於感測放大器206中之後,若計算組件231之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料被寫入一「0」(不管先前儲存於感測放大器中之資料值如何),此係因為節點S1上對應於一「1」之電壓致使電晶體209-1導通,藉此透過電晶體209-1、下拉電晶體207-1及資料線205-1(D)而將感測放大器206耦合至接地。當一「及」運算之任一資料值係「0」時,結果係一「0」。此處,當第二資料值(在動態鎖存器中)係一「0」時,不管第一資料值之狀態如何,「及」運算之結果係一「0」,因此,感測電路之組態致使「0」結果被寫入且最初儲存於感測放大器206中。此操作使累加器中之資料值保持不變(例如,來自列X)。
若累加器之次級鎖存器含有一「1」(例如,來自列X),則「及」運算之結果取決於儲存於感測放大器206中之資料值(例如,來自列Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「1」,則「及」運算之結果應為一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「0」,則「及」運算之結果應為一「0」。感測電路250經組態使得若累加器之動態鎖存器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則電晶體209-1不導通,感測放大器不耦合至接地(如上文所描述),且先前儲存於感測放大器206中之資料值保持不變(例如列Y資料值,因此,若列Y資料值係一「1」,則「及」運算結果係一「1」,且若列Y資料值係一「0」,則「及」運算結果係一「0」)。此操作使累加器中之資料值保持不變(例如,來自列X)。
在將「及」運算之結果最初儲存於感測放大器206中之後,上述偽碼中之「撤銷「及」運算」指示:AND控制信號降為低態(如圖5中
之t12處所展示)以致使下拉電晶體207-1停止導通以使感測放大器206(及資料線205-1(D))與接地隔離。若先前未撤銷「及」運算,則可關閉列Y(如圖5中之t13處所展示)且可停用感測放大器(如在圖5中之t14處藉由ACT正控制信號降為低態且RnIF負控制信號升至高態所展示)。在使資料線隔離之後,上述偽碼中之「預充電」可藉由一平衡操作而致使資料線之一預充電,如先前所描述(例如,開始於圖5中所展示之t14處)。
替代地,圖5展示針對一「及」邏輯運算(其涉及運算元之可行組合(例如列X/列Y資料值00、10、01及11)之各者)之耦合至感測放大器(例如圖2A中所展示之206)之資料線(例如圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件(例如圖2A中所展示之231)之次級鎖存器之節點S1及S2上之電壓信號之行為。
雖然圖5中所繪示之時序圖及上文所描述之偽碼指示在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化「及」邏輯運算,但可藉由在開始將第二運算元(例如列Y資料值)載入至感測放大器中之前初始化「及」邏輯運算而成功地操作圖2A中所展示之電路。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖6繪示與在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化一「或」邏輯運算相關聯之一時序圖。圖6繪示用於第一運算元資料值及第二運算元資料值之各種組合的感測放大器信號及累加器信號。下文相對於與圖2A中所展示之電路之一「及」邏輯運算相關聯之偽碼而討論特定時序圖信號。
一隨後操作階段可交替地與對第一資料值(現儲存於感測放大器206及計算組件231之次級鎖存器中)及第二資料值(儲存於耦合至列Y204-Y之一記憶體胞202-1中)執行「或」運算相關聯。未相對於圖6而
重複先前相對於圖5中所展示之時間t1至t7所描述之將列X資料載入至感測放大器及累加器中之操作。與對資料值進行「或」運算相關聯之實例性偽碼可包含:撤銷EQ;打開列Y;起動感測放大器(此後,列Y資料駐存於感測放大器中);關閉列Y;當關閉列Y時,感測放大器仍含有列Y資料值;啟動「或」運算;此導致感測放大器被寫入至函數(例如列X「或」列Y)之值,其可如下所述般覆寫來自先前儲存於感測放大器中之列Y之資料值:若累加器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料保持不變(列Y資料);若累加器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則感測放大器資料被寫入一「1」;此操作使累加器中之資料保持不變;撤銷「或」運算;預充電。
上述偽碼中所展示之「撤銷EQ」(圖6中之t8處所展示)、「打開列Y」(圖6中之t9處所展示)、「起動感測放大器」(圖6中之t10處所展示)及「關閉列Y」(圖6中之t13處所展示,且其可發生於初始化特定邏輯函數控制信號之前)指示相同於先前相對於「及」運算偽碼所描述之功能性的功能性。一旦適當地組態選定列Y之組態(例如,若邏輯運算
結果將儲存於對應於列Y之記憶體胞中,則啟用選定列Y,或若邏輯運算結果將不儲存於對應於列Y之記憶體胞中,則關閉選定列Y以隔離記憶體胞),則上述偽碼中之「啟動「或」運算」指示:OR控制信號升至高態,如圖6中之t11處所展示,其致使下拉電晶體207-2導通。依此方式,啟動OR控制信號致使函數(例如列X「或」列Y)之值寫入至感測放大器。
在第一資料值(例如列X)儲存於計算組件231之次級鎖存器中且第二資料值(例如列Y)儲存於感測放大器206中之後,若累加器之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則「或」運算之結果取決於儲存於感測放大器206中之資料值(例如,來自列Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)係一「1」,則「或」運算之結果應為一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「0」,則「或」運算之結果應為一「0」。感測電路250經組態使得若累加器之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之電壓),則電晶體209-2切斷且不導通(且下拉電晶體207-1亦切斷,此係因為未確證AND控制信號),因此感測放大器206不耦合至接地(任一側),且先前儲存於感測放大器206中之資料值保持不變(例如列Y資料值,使得若列Y資料值係一「1」,則「或」運算結果係一「1」,且若列Y資料值係一「0」,則「或」運算結果係一「0」)。
若累加器之動態鎖存器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則電晶體209-2導通(下拉電晶體207-2亦導通,此係因為已確證OR控制信號),且耦合至資料線205-2(D_)之感測放大器206之輸入耦合至接地,此係因為節點S2上對應於一「1」之電壓致使電晶體209-2與下拉電晶體207-2(其因為已確證OR控制信號而亦導通)一起導通。依此方式,不管先前
儲存於感測放大器中之資料值如何,當累加器之次級鎖存器含有一「1」時,將一「1」最初儲存於感測放大器206中作為「或」運算之一結果。此操作使累加器中之資料保持不變。替代地,圖6展示針對一「或」邏輯運算(其涉及運算元之可行組合(例如列X/列Y資料值00、10、01及11)之各者)之耦合至感測放大器(例如圖2A中所展示之206)之資料線(例如圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件231之次級鎖存器之節點S1及S2上之電壓信號之行為。
在將「或」運算之結果最初儲存於感測放大器206中之後,上述偽碼中之「撤銷「或」運算」指示:OR控制信號降為低態(如圖6中之t12處所展示)以致使下拉電晶體207-2停止導通以使感測放大器206(及資料線D_205-2)與接地隔離。若先前未撤銷「或」運算,則可關閉列Y(如圖6中之t13處所展示)且可停用感測放大器(如圖6中之t14處藉由ACT正控制信號降為低態且RnIF負控制信號升至高態所展示)。在隔離資料線之後,上述偽碼中之「預充電」可藉由一平衡操作而致使資料線之一預充電,如先前所描述且如圖6中之t14處所展示。
圖2A中所繪示之感測電路250可提供如下額外邏輯運算靈活性。藉由在上文所描述之「及」運算及「或」運算中用AND控制信號之操作替代ANDinv控制信號之操作及/或用OR控制信號之操作替代ORinv控制信號之操作,邏輯運算可自{列X「及」列Y}改變至{~列X「及」列Y}(其中「~列X」指示列X資料值之一相反者,例如「非」列X)且可自{列X「或」列Y}改變至{~列X「或」列Y}。例如,在涉及反相資料值之一「及」運算期間,可確證ANDinv控制信號而非AND控制信號,且在涉及反相資料值之一「或」運算期間,可確證ORInv控制信號而非OR控制信號。啟動ORInv控制信號致使電晶體214-1導通且啟動ANDinv控制信號致使電晶體214-2導通。在各情況中,確證適當
反相控制信號可翻轉感測放大器且致使最初儲存於感測放大器206中之結果成為使用反相列X資料值及真列Y資料值之「及」運算之結果或使用反相列X資料值及真列Y資料值之「或」運算之結果。一資料值之一真或互補版本可用於累加器中以(例如)藉由首先載入待反相之一資料值且接著載入不被反相之一資料值而執行邏輯運算(例如「及」、「或」)。
在類似於上文相對於使上文所描述之「及」運算及「或」運算之資料值反相所描述之方法的一方法中,圖2A中所展示之感測電路可藉由將未反相資料值放置至累加器之動態鎖存器中且使用該資料來使感測放大器206中之資料值反相而執行一「非」(例如反相)運算。如先前所提及,啟動ORinv控制信號致使電晶體214-1導通且啟動ANDinv控制信號致使電晶體214-2導通。ORinv及/或ANDinv控制信號用於實施「非」函數,如下文將進一步描述:將列X複製至累加器中;撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中);啟動LOAD(感測放大器資料(列X)被傳送至累加器之節點S1及S2且動態地駐存於節點S1及S2上);撤銷LOAD;啟動ANDinv及ORinv(其將互補資料值放置於資料線上);此導致感測放大器中之資料值反相(例如,感測放大器鎖存器翻轉);此操作使累加器中之資料保持不變;撤銷ANDinv及ORinv;關閉列X;
預充電。
上述偽碼中所展示之「撤銷EQ」、「打開列X」、「起動感測放大器」、「啟動LOAD」及「撤銷LOAD」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。然而,並非在將列X資料載入至感測放大器206中且複製至動態鎖存器中之後關閉列X且預充電,而是累加器之動態鎖存器中之資料值之一互補版本可放置於資料線上且因此藉由啟用(例如,致使電晶體導通)及停用反相電晶體(例如ANDinv及ORinv)而傳送至感測放大器206。此導致感測放大器206自先前儲存於感測放大器中之真資料值翻轉至儲存於感測放大器中之一互補資料值(例如反相資料值)。即,可藉由啟動及撤銷ANDinv及ORinv而將累加器中之資料值之一真或互補版本傳送至感測放大器。此操作使累加器中之資料保持不變。
因為圖2A中所展示之感測電路250將「及」、「或」及「非」邏輯運算之結果最初儲存於感測放大器206中(例如,儲存於感測放大器節點上),所以可將此等邏輯運算結果容易且快速地傳達至任何啟用列,傳達至邏輯運算完成之後啟動之任何列,及/或傳達至計算組件231之次級鎖存器中。亦可藉由在感測放大器206起動之前適當起動AND、OR、ANDinv及/或ORinv控制信號(且操作使一閘極耦合至特定控制信號之對應電晶體)而使「及」、「或」及/或「非」邏輯運算之感測放大器206及定序互換。
當依此方式執行邏輯運算時,可使感測放大器206預接種有來自累加器之動態鎖存器之一資料值以減小所利用之總電流,此係因為:當將累加器函數複製至感測放大器206時,感測放大器206不具有全導軌電壓(例如供應電壓或接地/參考電壓)。使用一預接種感測放大器206之一操作序列迫使資料線之一者達到參考電壓(使互補資料線處於
VDD/2)或使互補資料線保持不變。當感測放大器206起動時,感測放大器206將各自資料線拉至全導軌。使用此操作序列將覆寫一啟用列中之資料。
可藉由使用一傳統DRAM隔離(ISO)方案來多工化(「muxing」)兩個相鄰資料線互補對而完成一「移位」運算。根據本發明之實施例,移位電路223可用於使儲存於耦合至一對特定互補資料線之記憶體胞中之資料值移位至對應於一對不同互補資料線之感測電路250(例如感測放大器206)(例如(諸如)對應於一對左邊或右邊相鄰互補資料線之一感測放大器206)。如本文中所使用,一感測放大器206對應於當隔離電晶體221-1及221-2導通時該感測放大器耦合至其之互補資料線對。「移位」運算(右移或左移)不將列X資料值預複製至累加器中。可將使列X右移之運算概述如下:撤銷常態且啟動移位;撤銷EQ;打開列X;起動感測放大器(此後,經移位之列X資料駐存於感測放大器中);啟動常態且撤銷移位;關閉列X;預充電。
在上述偽碼中,「撤銷常態且啟動移位」指示:一NORM控制信號降為低態以致使移位電路223之隔離電晶體221-1及221-2不導通(例如,使感測放大器與對應互補資料線對隔離)。SHIFT控制信號升至高態以致使隔離電晶體221-3及221-4導通,藉此將感測放大器206耦合至左邊相鄰互補資料線對(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。
在組態移位電路223之後,上述偽碼中所展示之「撤銷EQ」、「打開列X」及「起動感測放大器」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。在此等操作之後,耦合至左邊相鄰互補資料線對之記憶體胞之列X資料值右移且儲存於感測放大器206中。
在上述偽碼中,「啟動常態且撤銷移位」指示:一NORM控制信號升至高態以致使移位電路223之隔離電晶體221-1及221-2導通(例如,將感測放大器耦合至對應互補資料線對),且SHIFT控制信號降為低態以致使隔離電晶體221-3及221-4不導通且使感測放大器206與左邊相鄰互補資料線對隔離(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。因為仍啟用列X,所以透過隔離電晶體221-1及221-2而將已右移之列X資料值傳送至對應互補資料線對之列X。
在使列X資料值右移至對應互補資料線對之後,停用選定列(例如列X),如由上述偽碼中之「關閉列X」所指示,其可藉由存取電晶體切斷以使選定記憶體胞與對應資料線解耦合而完成。一旦關閉選定列且使記憶體胞與資料線隔離,則可對資料線預充電,如由上述偽碼中之「預充電」所指示。可藉由一平衡操作而完成資料線之一預充電,如上文所描述。可將使列X左移之操作概述如下:啟動常態且撤銷移位;撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中);撤銷常態且啟動移位;將感測放大器資料(經左移之列X)傳送至列X;
關閉列X;預充電。
在上述偽碼中,「啟動常態且撤銷移位」指示:一NORM控制信號升至高態以致使移位電路223之隔離電晶體221-1及221-2導通,且SHIFT控制信號降為低態以致使隔離電晶體221-3及221-4不導通。此組態將感測放大器206耦合至一對對應互補資料線且使感測放大器與右邊相鄰互補資料線對隔離。
在組態移位電路之後,上述偽碼中所展示之「撤銷EQ」、「打開列X」及「起動感測放大器」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。在此等操作之後,將耦合至對應於感測電路250之互補資料線對的記憶體胞之列X資料值儲存於感測放大器206中。
在上述偽碼中,「撤銷常態且啟動移位」指示:一NORM控制信號降為低態以致使移位電路223之隔離電晶體221-1及221-2不導通(例如,使感測放大器與對應互補資料線對隔離),且SHIFT控制信號升至高態以致使隔離電晶體221-3及221-4導通以將感測放大器耦合至左邊相鄰互補資料線對(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。因為仍啟用列X,所以將已左移之列X資料值傳送至左邊相鄰互補資料線對之列X。
在使列X資料值左移至左邊相鄰互補資料線對之後,停用選定列(例如列X),如由「關閉列X」所指示,其可藉由存取電晶體切斷以使選定記憶體胞與對應資料線解耦合而完成。一旦關閉選定列且使記憶體胞與資料線隔離,則可對資料線預充電,如由上述偽碼中之「預充電」所指示。可藉由一平衡操作而完成資料線之一預充電,如上文所描述。
根據各種實施例,可在一記憶體中處理器(PIM)器件之一記憶體陣列核心中實現一般計算,諸如(例如)6F2或4F2記憶體胞大小之一DRAM每記憶體胞一個晶體(例如1T1C)組態。本文中所描述之裝置及方法之一潛在優點無法由單一指令速率實現,而是可由累加速率實現,該累加速率可藉由在決不自記憶體陣列(例如DRAM)傳送出資料或決不起動一行解碼之情況下並行計算整個資料庫而達成。換言之,可消除資料傳送時間。例如,本發明之裝置可使用耦合至一資料線之記憶體胞(例如一行之16K個記憶體胞)中之資料值來同時執行「及」或「或」運算。
在先前方法之感測電路(其中移出用於邏輯運算處理之資料(例如,使用32或64位元暫存器))中,可並行執行比本發明之裝置少之操作。依此方式,有效地提供比涉及一中央處理單元(CPU)(其與記憶體分立,使得資料必須傳送於CPU與記憶體之間)之習知組態顯著更高之產量。根據本發明之一裝置及/或方法亦可使用比其中CPU與記憶體分立之組態少之能量/面積。此外,本發明之一裝置及/或方法可基於較少能量/面積優點而改良,此係因為記憶體陣列中邏輯運算藉由消除某些資料值傳送而節約能量。
圖7繪示根據本發明之若干實施例之與使用感測電路250來執行若干邏輯運算相關聯之一時序圖。下文將相對於執行邏輯運算且將一結果最初儲存於計算組件231(例如累加器之次級鎖存器)中而描述圖2A之感測電路250之功能性。圖7中所展示之時序圖繪示與使用圖2A中所繪示之感測電路來執行一邏輯運算(例如一R輸入邏輯運算)之一第一操作階段相關聯之信號(例如電壓信號)。相對於圖7所描述之第一操作階段可為(例如)一「及」、「反及」、「或」或「反或」運算之一第一操作階段。執行圖7中所繪示之操作階段可涉及:消耗比先前處理方法(其可涉及:在導軌電壓之間(例如,在一供應電壓與接地之間)
提供一全擺動)顯著更少之能量(例如,約一半)。
在圖7所繪示之實例中,對應於互補邏輯值(例如「1」及「0」)之導軌電壓係一供應電壓(VDD)及一參考電壓(例如接地(Gnd))。在執行一邏輯運算之前,一平衡可發生,使得互補資料線D及D_在一平衡電壓(VDD/2)處短接在一起,如先前所描述。
下文將描述之一邏輯運算之第一操作階段涉及:將該邏輯運算之一第一運算元載入至累加器中。圖7中所展示之時間參考(例如t1等等)未必表示相同於其他時序圖中之類似時間參考的一絕對或相對時間。
在時間t1處,撤銷平衡信號726,且接著啟用一選定列(例如對應於一記憶體胞(其資料值將被感測且用作一第一輸入)之列)。信號704-0表示施加至選定列(例如圖2A中所展示之列Y 204-Y)之電壓信號。當列信號704-0達到對應於選定記憶體胞之存取電晶體(例如圖2A中所展示之202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞(例如,若記憶體胞係一1T1C DRAM記憶體胞,則耦合至圖2A中所展示之電容器203-1),其在時間t2與t3之間產生資料線D與D_之間的一差動電壓信號(例如,如分別由資料線上之信號705-1及705-2所指示)。由信號703表示選定記憶體胞之電壓。歸因於能量守恆,在資料線D與D_之間產生差動信號(例如,藉由將記憶體胞耦合至資料線D)不消耗能量,此係因為可將與啟用/停用列信號704-0相關聯之能量攤銷於耦合至列之複數個記憶體胞上。
在時間t3處,啟動感測放大器(例如圖2A中所展示之206)(例如,一正控制信號765(例如,對應於圖2B中所展示之ACT 265)升至高態且負控制信號728(例如,對應於圖2B中所展示之RnIF 228)降為低態),該感測放大器放大資料線D與D_之間的差動信號以導致對應於一邏輯「1」之一電壓(例如VDD)或對應於一邏輯「0」之一電壓(例如
接地)作用於資料線D上(且另一電壓作用於互補資料線D_上),使得所感測之資料值儲存於感測放大器206之初級鎖存器中。主要能量消耗發生於將資料線D(205-1)自平衡電壓VDD/2充電至導軌電壓VDD時。在實例中,圖7展示對應於資料線D上之一邏輯「1」的資料線電壓705-1及705-2。
根據一些實施例,感測放大器206之初級鎖存器可透過各自通路電晶體(圖2B中未展示,但依類似於鎖存器264透過圖2A中所展示之負載/通路電晶體218-1及218-2而耦合至資料線D及D_之方式的一組態)而耦合至互補資料線D及D_。Passd控制信號711控制一通路電晶體。Passdb控制信號控制另一通路電晶體,此處,Passdb控制信號可表現為相同於Passd控制信號。
在時間t4處,可啟用通路電晶體(若存在)(例如,經由各自Passd及Passdb控制信號711(其施加至耦合至通路電晶體之各自閘極的控制線)升至高態)。在時間t5處,經由圖2A中所展示之各自控制線212-1及212-2而啟動累加器正控制信號712-1(例如Accumb)及累加器正控制信號712-2(例如Accum)。如下文將描述,累加器控制信號ACCUMB 712-1及ACCUM 712-2可保持啟動以用於隨後操作階段。因而,在此實例中,啟動控制信號ACCUMB 712-1及ACCUM 712-2以啟用圖2A中所展示之計算組件231之次級鎖存器(例如累加器)。將儲存於感測放大器206中之所感測資料值傳送(例如,複製)至包含動態鎖存器及鎖存器264之次級鎖存器。
在時間t6處,Passd控制信號711(及Passdb控制信號)降為低態,藉此切斷通路電晶體(若存在)。然而,因為累加器控制信號ACCUMB 712-1及ACCUM 712-2保持啟動,所以將一累加結果儲存(例如,鎖存)於次級鎖存器(例如累加器)中。在時間t7處,撤銷列信號704-0,且在時間t8處,停用陣列感測放大器(例如,撤銷感測放大器控制信號
728及765)。
在時間t9處,平衡資料線D及D_(例如,啟動平衡信號726),如藉由資料線電壓信號705-1及705-2自其各自導軌值移動至平衡電壓(VDD/2)所繪示。平衡歸因於能量守恆定律而幾乎不消耗能量。如上文結合圖2B所描述,平衡可涉及:在一平衡電壓(在此實例中,其係VDD/2)處將互補資料線D及D_短接在一起。平衡可發生於(例如)一記憶體胞感測操作之前。
圖8及圖9分別繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之時序圖。圖8及圖9中所展示之時序圖繪示與執行一邏輯運算(例如一R輸入邏輯運算)之若干中間操作階段相關聯之信號(例如電壓信號)。例如,圖8中所展示之時序圖對應於一R輸入「反及」運算或一R輸入「及」運算之若干中間操作階段,且圖9中所展示之時序圖對應於一R輸入「反或」運算或一R輸入「或」運算之若干中間操作階段。例如,執行一「及」或「反及」運算可包含:在一初始操作階段(諸如相對於圖7所描述之初始操作階段)之後一或多次執行圖8中所展示之操作階段。類似地,執行一「或」或「反或」運算可包含:在一初始操作階段(諸如相對於圖7所描述之初始操作階段)之後一或多次執行相對於圖9中所展示及所描述之操作階段。
如圖8及圖9中所繪示之時序圖中所展示,在時間t1處,停用平衡(例如,撤銷平衡信號826/926),且接著啟用一選定列(例如對應於一記憶體胞(其資料值將被感測且用作一輸入,諸如一第二輸入、第三輸入等等)之列)。信號804-1/904-1表示施加至選定列(例如圖2A中所展示之列Y 204-Y)之電壓信號。當列信號804-1達到對應於選定記憶體胞之存取電晶體(例如圖2A中所展示之202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞(例如,若記憶體胞係
一1T1C DRAM記憶體胞,則耦合至電容器203-1),其在時間t2與t3之間產生資料線D與D_之間的一差動電壓信號(例如分別由信號805-1/905-1及805-2/905-2所指示)。由信號803/903表示選定記憶體胞之電壓。歸因於能量守恆,在D與D_之間產生差動信號(例如,藉由將記憶體胞耦合至資料線D)不消耗能量,此係因為可將與啟用/停用列信號804-1/904-1相關聯之能量攤銷於耦合至列之複數個記憶體胞上。
在時間t3處,啟用感測放大器(例如圖2A中所展示之206)(例如,一正控制信號865/965(例如,對應於圖2B中所展示之ACT 265)升至高態,且負控制信號828/928(例如圖2B中所展示之RnIF 228)降為低態),該感測放大器放大D與D_之間的差動信號以導致對應於一邏輯1之一電壓(例如VDD)或對應於一邏輯0之一電壓(例如接地)作用於資料線D上(且另一電壓作用於互補資料線D_上),使得所感測之資料值儲存於感測放大器206之初級鎖存器中。主要能量消耗發生於將資料線D(205-1)自平衡電壓VDD/2充電至導軌電壓VDD時。
如圖8及圖9中所繪示之時序圖中所展示,在時間t4處(例如,在感測選定記憶體胞之後),根據特定邏輯運算而啟動圖8中所展示之控制信號811-1(Passd)及圖9中所展示之控制信號911-2(Passdb)之僅一者(例如,啟用通路電晶體(若存在)之僅一者)。例如,因為圖8中所繪示之時序圖對應於一「反及」或「及」運算之一中間階段,所以在時間t4處啟動控制信號811-1(Passd)以接通將初級鎖存器耦合至資料線D之通路電晶體且Passdb控制信號保持撤銷以使將初級鎖存器耦合至資料線D_之通路電晶體保持切斷。相反地,因為圖9中所繪示之時序圖對應於一「反或」或「或」運算之一中間階段,所以在時間t4處啟動控制信號911-2(Passdb)以接通將初級鎖存器耦合至資料線D_之通路電晶體且控制信號Passd保持撤銷以使將初級鎖存器耦合至資料線D之通路電晶體保持切斷。自上文回想到,在相對於圖7所描述之最初操
作階段期間啟動累加器控制信號712-1(Accumb)及712-2(Accum),且累加器控制信號712-1(Accumb)及712-2(Accum)在(若干)中間操作階段期間保持啟動。
因為先前已啟用累加器,所以僅啟動Passd(如圖8中所展示之811-1)導致對應於圖8中所展示之電壓信號805-1(其對應於資料線D)之資料值累加。類似地,僅啟動Passdb(如圖9中所展示之911-2)導致對應於電壓信號905-2(其對應於資料線D_)之資料值累加。例如,在圖8中所繪示之時序圖中所展示之一實例性「及」/「反及」運算(其中僅啟動Passd 811-1)中,若儲存於第二選定記憶體胞中之資料值係一邏輯「0」,則與次級鎖存器相關聯之累加值被確證為低態,使得次級鎖存器儲存邏輯「0」。若儲存於第二選定記憶體胞中之資料值並非為一邏輯「0」,則次級鎖存器保持其儲存之第一選定記憶體胞資料值(例如一邏輯「1」或一邏輯「0」)。因而,在此「及」/「反及」運算實例中,次級鎖存器用作一「零(0)」累加器。
類似地,在圖9中所繪示之時序圖中所展示之一實例性「或」/「反或」運算(其中僅啟動Passdb 911-2)中,若儲存於第二選定記憶體胞中之資料值係一邏輯「1」,則與次級鎖存器相關聯之累加值被確證為高態,使得次級鎖存器儲存邏輯「1」。若儲存於第二選定記憶體胞中之資料值並非為一邏輯「1」,則次級鎖存器保持其儲存之第一選定記憶體胞資料值(例如一邏輯「1」或一邏輯「0」)。因而,在此「或」/「反或」運算實例中,次級鎖存器有效地用作一「一(1)」累加器,此係因為D_上之電壓信號905-2設定累加器之真資料值。
在一中間操作階段(諸如圖8或圖9中所展示之中間操作階段)結束時,撤銷Passd信號811-1(例如,用於「及」/「反及」運算)或Passdb信號911-2(例如,用於「或」/「反或」運算)(例如,在時間t5處),停用選定列(例如,在時間t6處),停用感測放大器(例如,在時間t7
處),且平衡發生(例如,在時間t8處)。一中間操作階段(諸如圖8或圖9中所繪示之中間操作階段)可經重複以累加來自若干額外列之結果。作為一實例,可在一隨後(例如,第二)時間對一第三記憶體胞執行圖8及/或圖9中所繪示之時序圖之序列,在一隨後(例如,第三)時間對一第四記憶體胞執行圖8及/或圖9中所繪示之時序圖之序列,等等。例如,對於一10輸入「反或」運算,圖9中所展示之中間階段可發生9次以提供10輸入邏輯運算之9個輸入,其中在初始操作階段(例如相對於圖7所描述)期間判定第十輸入。
圖10繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖10中所繪示之時序圖展示與執行一邏輯運算(例如一R輸入邏輯運算)之一最後操作階段相關聯之信號(例如電壓信號)。例如,圖10中所繪示之時序圖對應於一R輸入「及」運算或一R輸入「或」運算之一最後操作階段。
例如,執行一R輸入之一最後操作階段可包含:在結合圖8及/或圖9所描述之(若干)中間操作階段之若干迭代之後,執行圖10中所展示之操作階段。下文所展示之表2指示對應於與根據本文中所描述之若干實施例執行若干R輸入邏輯運算相關聯之操作階段之序列的圖。
可(例如)藉由下列操作而實施一「反及」運算:將一「及」運算之R-1次迭代之結果儲存於感測放大器中,接著在進行儲存結果之最後操作階段之前使感測放大器反相(如下文將描述)。可(例如)藉由下
列操作而實施一「反或」運算:將一「或」運算之R-1次迭代之結果儲存於感測放大器中,接著在進行儲存結果之最後操作階段之前使感測放大器反相(如下文將描述)。
結合將一R輸入邏輯運算之一結果儲存至陣列(例如圖2A中所展示之陣列230)之一列而描述圖10之時序圖中所繪示之最後操作階段。然而,如上文所描述,在若干實施例中,可將結果儲存至一適合位置而非儲存回至陣列(例如,經由I/O線而儲存至與一控制器及/或主機處理器相關聯之一外部暫存器,儲存至一不同記憶體器件之一記憶體陣列,等等)。
如圖10中所繪示之時序圖中所展示,在時間t1處,平衡經停用(例如,平衡信號1026經撤銷)使得資料線D及D_浮動。在時間t2處,Passd控制信號1011(及Passdb信號)經啟動以用於一「及」或「或」運算。
啟動Passd控制信號1011(及Passdb信號)(例如,與一「及」或「或」運算相關聯)以將儲存於圖2A中所展示之計算組件231-6之次級鎖存器中之累加輸出傳送至感測放大器206之初級鎖存器。例如,對於一「及」運算,若先前操作階段(例如圖7中所繪示之第一操作階段及圖8中所繪示之中間操作階段之一或多個迭代)中所感測之記憶體胞之任何者儲存一邏輯「0」(例如,若「及」運算之R輸入之任何者係一邏輯「0」),則資料線D_將攜載對應於邏輯「1」之一電壓(例如VDD)且資料線D將攜載對應於邏輯「0」之一電壓(例如接地)。對於此「及」運算實例,若先前操作階段中所感測之全部記憶體胞儲存一邏輯「1」(例如,若「及」運算之全部R輸入係邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓且資料線D將攜載對應於邏輯「1」之一電壓。接著,在時間t3處,啟用感測放大器206之初級鎖存器(例如,一正控制信號1065(例如,對應於圖2B中所展示之ACT
265)升至高態且負控制信號1028(例如,對應於圖2B中所展示之RnIF 228)降為低態),感測放大器206放大資料線D與D_之間的差動信號,使得資料線D此時攜載各自輸入資料值之「及」運算結果,如自先前操作階段期間所感測之記憶體胞所判定。因而,若輸入資料值之任何者係一邏輯「0」,則資料線D將處於接地,且若全部輸入資料值係一邏輯「1」,則資料線D將處於VDD。
對於一「或」運算,若先前操作階段(例如圖7之第一操作階段及圖9中所展示之中間操作階段之一或多個迭代)中所感測之記憶體胞之任何者儲存一邏輯「1」(例如,若「或」運算之R輸入之任何者係一邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓(例如接地)且資料線D將攜載對應於邏輯「1」之一電壓(例如VDD)。對於此「或」運算實例,若先前操作階段中所感測之全部記憶體胞儲存一邏輯「0」(例如,若「或」運算之全部R輸入係邏輯「0」),則資料線D將攜載對應於邏輯「0」之一電壓且資料線D_將攜載對應於邏輯「1」之一電壓。接著,在時間t3處,啟用感測放大器206之初級鎖存器且資料線D此時攜載各自輸入資料值之「或」運算結果,如自先前操作階段期間所感測之記憶體胞所判定。因而,若輸入資料值之任何者係一邏輯「1」,則資料線D將處於VDD,且若全部輸入資料值係一邏輯「0」,則資料線D將處於接地。
接著,可將R輸入「及」或「或」邏輯運算之結果儲存回至圖2A中所展示之陣列230之一記憶體胞。在圖10所展示之實例中,將R輸入邏輯運算之結果儲存至耦合至最後啟用列(例如最後邏輯運算運算元之列)之一記憶體胞。將邏輯運算之結果儲存至一記憶體胞僅涉及:藉由啟用特定列而啟用相關聯之列存取電晶體。將記憶體胞之電容器驅動至資料線D上對應於資料值(例如邏輯「1」或邏輯「0」)之一電壓,其本質上覆寫先前儲存於選定記憶體胞中之任何資料值。應
注意,選定記憶體胞可為一相同記憶體胞,其儲存用作邏輯運算之一輸入的一資料值。例如,可將邏輯運算之結果儲存回至儲存邏輯運算之一運算元的一記憶體胞。
圖10中所繪示之時序圖展示:在時間t7處,正控制信號1065及負控制信號1028經撤銷(例如,信號1065降為低態且信號1028升至高態)以停用圖2A中所展示之感測放大器206。在時間t4處,撤銷在時間t2處啟動之Passd控制信號1011(及Passdb信號)。實施例不受限於此實例。例如,在若干實施例中,可在時間t4之後(例如,在撤銷Passd控制信號1011(及Passdb信號)之後)啟用圖2A中所展示之感測放大器206。
如圖10中所展示,在時間t5處,啟用一選定列(例如,藉由列啟動信號1004升至高態,其將選定記憶體胞之電容器驅動至對應於儲存於累加器中之邏輯值的電壓)。在時間t6處,停用選定列。在時間t7處,停用圖2A中所展示之感測放大器206(例如,撤銷正控制信號1028及負控制信號1065),且在時間t8處,平衡發生(例如,啟動信號1026且使互補資料線1005-1(D)及1005-2(D_)上之電壓達到平衡電壓)。
雖然上文相對於用於執行「及」及「或」邏輯運算之圖10而討論執行一R輸入之一最後操作階段的實例,但實施例不受限於此等邏輯運算。例如,「反及」及「反或」運算亦可涉及儲存回至陣列230之一記憶體胞的一R輸入之一最後操作階段,其使用控制信號來操作圖2A中所繪示之感測電路。
圖11係繪示根據本發明之若干實施例之具有可選邏輯運算選擇邏輯之感測電路的一示意圖。圖11展示耦合至一對互補感測線1105-1及1105-2之一感測放大器1106、及經由通閘1193-1及1193-2而耦合至感測放大器1106之一計算組件1131。通閘1193-1及1193-2之閘極可由可
自邏輯運算選擇邏輯1113-5輸出之一邏輯運算選擇邏輯信號PASS控制。圖11展示標記為「A」之計算組件1131及標記為「B」之感測放大器1106以指示:儲存於計算組件1131中之資料值係「A」資料值且儲存於感測放大器1106中之資料值係「B」資料值,如相對於圖12所繪示之邏輯表中所展示。
圖11中所繪示之感測電路1150包含邏輯運算選擇邏輯1113-5。在此實例中,邏輯1113-5包括由一邏輯運算選擇邏輯信號PASS*控制之交換閘1142。邏輯運算選擇邏輯1113-5亦包括四個邏輯選擇電晶體:邏輯選擇電晶體1162,其耦合於交換電晶體1142之閘極與一TF信號控制線之間;邏輯選擇電晶體1152,其耦合於通閘1193-1及1193-2之閘極與一TT信號控制線之間;邏輯選擇電晶體1154,其耦合於通閘1193-1及1193-2之閘極與一FT信號控制線之間;及邏輯選擇電晶體1164,其耦合於交換電晶體1142之閘極與一FF信號控制線之間。邏輯選擇電晶體1162及1152之閘極透過隔離電晶體1150-1(其具有耦合至一ISO信號控制線之一閘極)而耦合至真感測線(例如1105-1),且邏輯選擇電晶體1164及1154之閘極透過隔離電晶體1150-2(其亦具有耦合至一ISO信號控制線之一閘極)而耦合至互補感測線(例如1105-2)。
依分別類似於電晶體507-1(其耦合至一AND信號控制線)及電晶體507-2(其耦合至一OR信號控制線)之方式配置邏輯選擇電晶體1152及1154,如圖5中所展示。邏輯選擇電晶體1152及1154之操作係類似地基於TT及FT選擇信號之狀態及確證ISO信號時各自互補感測線上之資料值。邏輯選擇電晶體1162及1164亦依類似於控制(例如,藉由接通而啟用或藉由切斷而停用)交換電晶體1142之一方式操作。即,為啟用(例如,接通)交換電晶體1142,啟動TF控制信號(例如,呈高態)(其中真感測線上之資料值係「1」),或啟動FF控制信號(例如,呈高態)(其中互補感測線上之資料值係「1」)。若各自控制信號或對應
感測線(例如特定邏輯選擇電晶體之閘極耦合至其之感測線)上之資料值不呈高態,則不會由一特定邏輯選擇電晶體啟用交換電晶體1142。
PASS*控制信號未必與PASS控制信號互補。例如,可同時啟動PASS控制信號及PASS*控制信號兩者或可同時撤銷啟動PASS控制信號及PASS*控制信號兩者。然而,同時啟動PASS控制信號及PASS*控制信號兩者使互補感測線對DIGIT(n)/DIGIT(n)_短接在一起,其可為待避免之一破壞性組態。圖12中所繪示之邏輯表中匯總圖11中所繪示之感測電路之邏輯運算結果。
圖12係繪示根據本發明之若干實施例之可由圖11中所展示之感測電路實施之可選邏輯運算結果的一邏輯表。四個邏輯選擇控制信號(例如TF、TT、FT及FF)可與呈現於互補感測線上之一特定資料值一起用於選擇實施涉及儲存於感測放大器1106及計算組件1131中之起始資料值的複數邏輯運算之一者。四個控制信號(例如TF、TT、FT及FF)與呈現於互補感測線上之一特定資料值一起控制通閘1193-1及1193-2及交換電晶體1142,其繼而影響起動之前/起動之後之計算組件1131及/或感測放大器1106中之資料值。可選地控制交換電晶體1142之能力尤其促進實施涉及反相資料值(例如反相運算元及/或反相結果)之邏輯運算。
圖12中所繪示之邏輯表展示1244處之行A中所展示之儲存於計算組件1131中之起始資料值及1245處之行B中所展示之儲存於感測放大器1106中之起始資料值。圖12之邏輯表中之其他3個頂部行標頭(「不打開」1256、「打開真」1270及「打開反相」1271)係指通閘1193-1及1193-2及交換電晶體1142之狀態,通閘1193-1及1193-2及交換電晶體1142可根據四個邏輯選擇控制信號(例如TF、TT、FT及FF)之狀態以及確證ISO控制信號時呈現於互補感測線對1105-1及1105-2上之一特定資料值而分別被控制為「打開」或「關閉」。「不打開」行對應於通
閘1193-1及1193-2及交換電晶體1142兩者處於一非導通(例如,切斷)條件中,「打開真」對應於通閘1193-1及1193-2處於一導通(例如,接通)條件中,且「打開反相」對應於交換電晶體1142處於一導通條件中。圖12之邏輯表中未反映對應於通閘1193-1及1193-2及交換電晶體1142兩者處於一導通條件中之組態,此係因為此導致感測線短接在一起。
經由通閘1193-1及1193-2及交換電晶體1142之選擇性控制,圖12之邏輯表之上部分之第一組之兩列之三行之各者可與第一組下方之第二組之兩列之三行之各者結合以提供3×3=9個不同結果組合以對應於9個不同邏輯運算,如由1275處所展示之各種連接路徑所指示。圖12中所繪示之邏輯表中匯總可由感測電路1150實施之9個不同可選邏輯運算。
圖12中所繪示之邏輯表之下部分之行展示包含邏輯選擇控制信號之狀態的一標頭1280。例如,將一第一邏輯選擇控制信號(例如FF)之狀態提供於列1276中,將一第二邏輯選擇控制信號(例如FT)之狀態提供於列1277中,將一第三邏輯選擇控制信號(例如TF)之狀態提供於列1278中,且將一第四邏輯選擇控制信號(例如TT)之狀態提供於列1279中。列1247中匯總對應於結果之特定邏輯運算。
因而,圖11中所展示之感測電路可用於執行如圖12中所展示之各種邏輯運算。例如,感測電路1150可經操作以執行與根據本發明之若干實施例判定總數計數相關聯之各種邏輯運算(例如「及」及「或」邏輯運算)。
本發明包含與在記憶體中執行除法運算有關之裝置及方法。一實例性裝置可包含一第一群組之記憶體胞,其耦合至一第一存取線且經組態以儲存一被除數元素。一實例性裝置可包含一第二群組之記憶體胞,其耦合至一第二存取線且經組態以儲存一除數元素。一實例性
裝置亦可包含感測電路,其經組態以在無需經由一輸入/輸出(I/O)線而傳送資料之情況下藉由執行若干「及」運算、「或」運算、「移位」運算及「反相」運算而使該被除數元素除以該除數元素。
雖然本文中已繪示及描述特定實施例,但一般技術者應瞭解,可用經計算以達成相同結果之一配置替代所展示之特定實施例。本發明意欲涵蓋本發明之一或多個實施例之調適或變動。應瞭解,已依一繪示性方式而非一限制性方式進行以上描述。熟習技術者將在檢視以上描述之後明白上述實施例之組合及本文中未明確描述之其他實施例。本發明之一或多個實施例之範疇包含其中使用上述結構及方法之其他應用。因此,應參考隨附申請專利範圍以及此等申請專利範圍授權之等效物之全範圍來判定本發明之一或多個實施例之範疇。
在[實施方式]中,為簡化本發明,將一些特徵一起群組於一單一實施例中。本發明之方法不應被解譯為反映下列意圖:本發明之所揭示實施例必須使用比各請求項中清楚敘述之特徵多之特徵。確切而言,如下列隨附申請專利範圍所反映,發明標的傾向於少於一單一所揭示實施例之全部特徵。因此,隨附申請專利範圍特此併入至[實施方式]中,其中各請求項自身作為一單獨實施例。
202-1‧‧‧電晶體/儲存元件
202-2‧‧‧電晶體/儲存元件
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線/存取線/列X
204-Y‧‧‧字線/存取線/列Y
205-1‧‧‧資料線(D)
205-2‧‧‧資料線(D_)
206‧‧‧感測放大器
207-1‧‧‧下拉電晶體
207-2‧‧‧下拉電晶體
208-1‧‧‧負載/通路電晶體
208-2‧‧‧負載/通路電晶體
209-1‧‧‧n通道電晶體(NMOS電晶體)
209-2‧‧‧n通道電晶體(NMOS電晶體)
212-1‧‧‧主動負控制信號線(ACCUMB)
212-2‧‧‧主動正控制信號線(ACCUM)
213-1‧‧‧ANDinv控制信號線
213-2‧‧‧ORinv控制信號線
214-1‧‧‧下拉電晶體
214-2‧‧‧下拉電晶體
216-1‧‧‧電晶體
216-2‧‧‧電晶體
217-1‧‧‧鎖存器輸入
217-2‧‧‧鎖存器輸入
218-1‧‧‧負載/通路電晶體
218-2‧‧‧負載/通路電晶體
219‧‧‧控制信號(SHIFT)
221-1‧‧‧隔離電晶體
221-2‧‧‧隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號(NORM)
223‧‧‧移位電路
230‧‧‧記憶體陣列
231‧‧‧計算組件/累加器
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧靜態鎖存器/次級鎖存器
291-1‧‧‧參考電壓線
Claims (29)
- 一種裝置,其包括:一第一群組之記憶體胞(memory cell),其耦合至一第一存取線且經組態以儲存一被除數(dividend)元素;一第二群組之記憶體胞,其耦合至一第二存取線且經組態以儲存一除數(divisor)元素;及一控制器,其經組態以在無需經由一輸入/輸出(I/O)線而傳送資料之情況下藉由控制感測電路執行若干運算而致使該被除數元素除以該除數元素,其中執行該若干運算包括:將指示包括該被除數元素之一被除數位元向量及包括該除數元素之一除數位元向量中之至少一者之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第一掩碼(mask)位元向量;將指示該被除數位元向量及該除數位元向量中之至少一者之多個元素之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第二掩碼位元向量;及針對該第一掩碼位元向量及儲存於該感測電路中之一位元向量執行一邏輯運算。
- 如請求項1之裝置,其中該若干運算包括若干「及」運算、「或」運算及「移位」運算。
- 如請求項2之裝置,其中該感測電路包括與該等記憶體胞依照節距形成之若干電晶體。
- 如請求項3之裝置,其中該感測電路包括一感測放大器及一計算組件。
- 如請求項4之裝置,其中該感測放大器包括一初級鎖存器且該計算組件包括一次級鎖存器。
- 一種用於執行除法運算之方法,其包括:並行地且在無需經由一輸入/輸出(I/O)線而傳送資料之情況下對下列各者執行複數個除法運算:複數個被除數元素,其等儲存於耦合至一記憶體陣列之一第一存取線及若干感測線的一第一群組之記憶體胞中;及複數個除數元素,其等儲存於耦合至該記憶體陣列之一第二存取線及該若干感測線的一第二群組之記憶體胞中;且提供複數個商數元素及複數個餘數元素,其中執行該複數個除法運算包括:將指示包括該複數個被除數元素之一被除數位元向量及包括該複數個除數元素之一除數位元向量中之至少一者之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第一掩碼位元向量;將指示該被除數位元向量及該除數位元向量中之至少一者之各自元素之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第二掩碼位元向量;及針對該第一掩碼位元向量及儲存於耦合至該記憶體陣列之感測電路中之一位元向量執行一邏輯運算。
- 如請求項6之方法,其中該複數個被除數元素係複數個第一值且該複數個除數元素係複數個第二值。
- 如請求項6之方法,其中用於並行地執行該複數個除法運算之運算之一數目相同於用於執行該複數個除法運算之任何者的運算之一數目。
- 一種裝置,其包括: 一記憶體陣列,其包括:一第一群組之記憶體胞,其耦合至一第一存取線且經組態以將複數個被除數元素儲存為一被除數位元向量;一第二群組之記憶體胞,其耦合至一第二存取線且經組態以將複數個除數元素儲存為一除數位元向量;及一控制器,其經組態以控制感測電路:藉由並行地使該複數個被除數元素中之每一者除以該複數個除數元素中之一相應者而執行複數個除法運算;在無需經由一輸入/輸出(I/O)線而傳送資料之情況下將該複數個除法運算之複數個結果儲存於一第三群組之記憶體胞中;及其中執行該複數個除法運算包括:將指示該被除數位元向量及該除數位元向量中之至少一者之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第一掩碼位元向量;將指示該被除數位元向量及該除數位元向量中之至少一者之各自元素之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第二掩碼位元向量;及針對該第一掩碼位元向量及儲存於耦合至該記憶體陣列之感測電路中之一位元向量執行一邏輯運算。
- 如請求項9之裝置,其中該複數個結果包括複數個位元向量,該複數個位元向量表示複數個商數元素及複數個餘數元素之至少一者。
- 如請求項9之裝置,其中該第三群組之記憶體胞係相同於下列之至少一者的一群組之記憶體胞:該第一群組之記憶體胞,其耦合至該第一存取線;及 該第二群組之記憶體胞,其耦合至該第二存取線。
- 如請求項9之裝置,其中對包含來自該複數個被除數元素及該複數個除數元素之對應元素的一不同元素對執行該複數個除法運算之各者。
- 一種用於使元素相除之方法,其包括:對下列各者並行地執行複數個除法運算:複數個(M個)被除數元素,其等儲存於耦合至一第一存取線及若干(X個)感測線之一第一群組之記憶體胞中;及複數個(M個)除數元素,其等儲存於耦合至一第二存取線及該X個感測線之一第二群組之記憶體胞中;其中在無需經由一輸入/輸出(I/O)線而傳送資料之情況下藉由執行若干「及」運算、「或」運算及「移位」運算而執行該複數個除法運算;且並行地且在無需經由該I/O線而傳送資料之情況下將該等除法運算之複數個結果儲存於下列各者中:一第三群組之記憶體胞,其耦合至一第三存取線及該X個感測線;及一第四群組之記憶體胞,其耦合至一第四存取線及該X個感測線;且其中執行該複數個除法運算包括:將指示包括該複數個被除數元素之一被除數位元向量及包括該複數個除數元素之一除數位元向量中之至少一者之一最高有效位元(MSB)及一最低有效位元(LSB)中之至少一者之一位元型樣儲存為一第一掩碼位元向量;將指示該被除數位元向量及該除數位元向量中之至少一者之各自元素之一最高有效位元(MSB)及一最低有效位元(LSB) 中之至少一者之一位元型樣儲存為一第二掩碼位元向量;及針對該第一掩碼位元向量及儲存於耦合至該記憶體陣列之感測電路中之一位元向量執行一邏輯運算。
- 如請求項13之方法,其中該複數個結果包含儲存於該第三群組之記憶體胞中之複數個(M個)商數元素及儲存於該第四群組之記憶體胞中之複數個(M個)餘數元素。
- 如請求項14之方法,其中該M個被除數元素及該M個除數元素之各者由N個位元組成。
- 如請求項15之方法,其中該M個被除數元素及該M個除數元素之各者中之該N個位元之各者與一指數相關聯,且其中與一相同指數相關聯之來自對應元素之位元儲存於耦合至來自該X個感測線之一相同感測線的記憶體胞中。
- 如請求項16之方法,並行地執行該複數個除法運算包括:使用耦合至該X個感測線之感測電路來並行地執行該複數個除法運算。
- 如請求項16之方法,其進一步包括:產生識別該M個被除數元素及該M個除數元素之各者之一最高有效位元(MSB)的一靜態掩碼位元向量及一動態掩碼位元向量。
- 如請求項18之方法,其中將該M個被除數元素儲存為一被除數位元向量,將該M個除數元素儲存為一除數位元向量,將該M個商數元素儲存為一商數位元向量,且將該M個餘數元素儲存為一餘數位元向量。
- 如請求項19之方法,其中執行該複數個除法運算包含:執行若干(E次)運算迭代。
- 如請求項20之方法,其中該E次運算迭代之各者包括:將該動態掩碼位元向量儲存於該感測電路及儲存一當前被除 數位元向量之一群組之記憶體胞中;執行若干(P次)運算迭代,該P次運算迭代包括:使儲存於該感測電路中之該當前位元向量右移;使該感測電路中之該右移位元向量反相;對該感測電路中之該反相位元向量及該靜態掩碼位元向量執行一「或」運算;將該「或」運算之結果儲存於該感測電路中;使該感測電路中之該「或」運算之結果反相;對該感測電路中之該反相結果及該當前被除數位元向量執行一「或」運算;將對該反相結果及該當前被除數位元向量執行之該「或」運算之結果儲存於儲存該當前被除數位元向量之該群組之記憶體胞中。
- 如請求項21之方法,其中該E次運算迭代之各者進一步包括:對該感測電路中之對該反相結果及該當前被除數位元向量執行之該「或」運算之結果及該被除數位元向量執行一「及」運算;將該「及」運算之結果儲存於該感測電路及儲存該當前被除數位元向量之該群組之記憶體胞中;使該感測電路中之該「及」運算之結果右移;對該感測電路中之該右移位元向量及一餘數位元向量執行一「或」運算;且將對該感測電路中之該右移位元向量及該餘數位元向量之該「或」運算之結果儲存於儲存該當前被除數位元向量之該群組之記憶體胞及儲存於儲存該餘數之一群組之記憶體胞中。
- 如請求項22之方法,其中該E次運算迭代之各者進一步包括: 對該當前被除數位元向量及該除數位元向量執行一比較運算以判定該當前被除數位元向量是否大於或等於該除數位元向量;且將該比較運算之結果儲存於儲存當前比較位元向量之記憶體胞群組中。
- 如請求項23之方法,其中該N次運算迭代之各者進一步包括:若來自該P次運算迭代之當前迭代係一第二或更高迭代,則使該動態掩碼位元向量右移。
- 如請求項24之方法,其中該N次運算迭代之各者進一步包括:使該感測電路中之該當前比較位元向量反相;對該感測電路中之該反相位元向量及該餘數位元向量執行一「及」運算;將該「及」運算之結果儲存於該當前被除數位元向量中;且將該餘數位元向量與該除數位元向量之間的一差儲存於儲存該當前被除數位元向量之該等記憶體胞中。
- 如請求項25之方法,其中該N次運算迭代之各者進一步包括:使該感測電路中之該商數位元向量左移;基於應用作為一掩碼之該當前比較位元向量而使該商數位元向量中之元素遞增。
- 如請求項26之方法,其中該N次運算迭代之各者包括:使該感測電路中之該當前被除數位元向量左移;將該感測電路中之該左移位元向量儲存於儲存該當前被除數位元向量之該群組之記憶體胞及儲存該餘數位元向量之一群組之記憶體胞中。
- 如請求項27之方法,其中該N次運算迭代之各者進一步包括:使該感測電路中之該動態掩碼位元向量右移; 對該感測電路中之該移位位元向量及該當前比較位元向量執行一「及」運算;且將該「及」運算之結果儲存於儲存該當前被除數位元向量之該群組之記憶體胞及該感測電路中。
- 如請求項28之方法,其中該N次運算迭代之各者進一步包括:使該感測電路中之該當前比較位元向量反相;對該感測電路中之該反相位元向量及該動態掩碼位元向量執行一「及」運算;對該「及」運算之結果及該當前被除數位元向量執行一「或」運算;且將該「或」運算之結果儲存於儲存該動態掩碼位元向量之該群組之記憶體胞中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462045175P | 2014-09-03 | 2014-09-03 | |
US14/836,673 US9747961B2 (en) | 2014-09-03 | 2015-08-26 | Division operations in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201633139A TW201633139A (zh) | 2016-09-16 |
TWI609264B true TWI609264B (zh) | 2017-12-21 |
Family
ID=55402526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104129202A TWI609264B (zh) | 2014-09-03 | 2015-09-03 | 記憶體中之除法運算 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9747961B2 (zh) |
TW (1) | TWI609264B (zh) |
WO (1) | WO2016036906A1 (zh) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8971124B1 (en) * | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9430191B2 (en) * | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
EP3268965A4 (en) | 2015-03-12 | 2018-10-03 | Micron Technology, INC. | Apparatuses and methods for data movement |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10241757B2 (en) * | 2016-09-30 | 2019-03-26 | International Business Machines Corporation | Decimal shift and divide instruction |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10402165B2 (en) * | 2017-08-30 | 2019-09-03 | Gsi Technology Inc. | Concurrent multi-bit adder |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
CN107766031B (zh) * | 2017-11-14 | 2020-06-19 | 京东方科技集团股份有限公司 | 分段式除法器、分段式除法运算方法、以及电子设备 |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
WO2020066375A1 (ja) * | 2018-09-25 | 2020-04-02 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
CN114360609A (zh) * | 2020-10-13 | 2022-04-15 | 长鑫存储技术有限公司 | 数据写入方法 |
EP4012711A4 (en) * | 2020-10-13 | 2022-11-16 | Changxin Memory Technologies, Inc. | DATA WRITING METHOD |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110013442A1 (en) * | 2009-07-16 | 2011-01-20 | Avidan Akerib | Using storage cells to perform computation |
TW201337558A (zh) * | 2008-11-06 | 2013-09-16 | Silicon Motion Inc | 用來管理一記憶裝置之方法以及其相關之記憶裝置 |
Family Cites Families (272)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
US6173305B1 (en) | 1993-11-30 | 2001-01-09 | Texas Instruments Incorporated | Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US5953738A (en) * | 1997-07-02 | 1999-09-14 | Silicon Aquarius, Inc | DRAM with integral SRAM and arithmetic-logic units |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | Method and apparatus for building a memory image |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
CN1307647C (zh) | 2000-07-07 | 2007-03-28 | 睦塞德技术公司 | 动态随机存取存储器、存储器器件及其执行读命令的方法 |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
WO2002017262A2 (en) | 2000-08-21 | 2002-02-28 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US7058880B1 (en) | 2001-12-26 | 2006-06-06 | Altera Corporation | Techniques for programming and verifying data in a programmable circuit |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) * | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
US7142464B2 (en) | 2003-04-29 | 2006-11-28 | Saifun Semiconductors Ltd. | Apparatus and methods for multi-level sensing in a memory array |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
KR100821616B1 (ko) | 2006-12-14 | 2008-04-16 | 한국과학기술원 | 반도체 집적회로의 두 숫자 비교기 |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
US8156299B2 (en) | 2007-10-19 | 2012-04-10 | Virident Systems Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
EP2319244A1 (en) | 2008-08-19 | 2011-05-11 | Thomson Licensing | Cabac/avc compliant watermarking of syntax elements in compressed video |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
WO2011022114A1 (en) * | 2009-08-20 | 2011-02-24 | Rambus Inc. | Atomic memory device |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
WO2011048522A2 (en) | 2009-10-21 | 2011-04-28 | Zikbit Ltd. | Neighborhood operations for parallel processing |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
WO2011137189A1 (en) | 2010-04-27 | 2011-11-03 | Cornell Research Foundation | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8478969B2 (en) | 2010-09-24 | 2013-07-02 | Intel Corporation | Performing a multiply-multiply-accumulate instruction |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
KR20140085468A (ko) | 2011-10-28 | 2014-07-07 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 행 시프팅 시프트가능 메모리 |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
WO2013078085A1 (en) | 2011-11-22 | 2013-05-30 | Mips Technologies, Inc. | Processor with kernel mode access to user space virtual addresses |
US9665371B2 (en) | 2011-11-30 | 2017-05-30 | Intel Corporation | Providing vector horizontal compare functionality within a vector register |
CN104115115B (zh) | 2011-12-19 | 2017-06-13 | 英特尔公司 | 用于多精度算术的simd整数乘法累加指令 |
WO2013095592A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Apparatus and method for vector compute and accumulate |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9424031B2 (en) * | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9639458B2 (en) * | 2013-09-26 | 2017-05-02 | Emu Solutions, Inc. | Reducing memory accesses for enhanced in-memory parallel operations |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
KR102068101B1 (ko) | 2014-05-08 | 2020-01-20 | 마이크론 테크놀로지, 인크. | 하이브리드 메모리 큐브 시스템 상호 접속 디렉토리-기반 캐시 일관성 방법론 |
KR101887797B1 (ko) | 2014-05-08 | 2018-09-10 | 마이크론 테크놀로지, 인크. | 메모리 내 가벼운 일관성 |
-
2015
- 2015-08-26 US US14/836,673 patent/US9747961B2/en active Active
- 2015-09-03 WO PCT/US2015/048229 patent/WO2016036906A1/en active Application Filing
- 2015-09-03 TW TW104129202A patent/TWI609264B/zh active
-
2017
- 2017-08-28 US US15/688,348 patent/US9940981B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201337558A (zh) * | 2008-11-06 | 2013-09-16 | Silicon Motion Inc | 用來管理一記憶裝置之方法以及其相關之記憶裝置 |
US20110013442A1 (en) * | 2009-07-16 | 2011-01-20 | Avidan Akerib | Using storage cells to perform computation |
Also Published As
Publication number | Publication date |
---|---|
US9940981B2 (en) | 2018-04-10 |
TW201633139A (zh) | 2016-09-16 |
US20160062673A1 (en) | 2016-03-03 |
WO2016036906A1 (en) | 2016-03-10 |
US9747961B2 (en) | 2017-08-29 |
US20170358333A1 (en) | 2017-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI609264B (zh) | 記憶體中之除法運算 | |
TWI596619B (zh) | 記憶體中之比較運算 | |
TWI620058B (zh) | 記憶體中之交換運算 | |
TWI575449B (zh) | 用於比較多個元素之裝置及方法 | |
TWI601149B (zh) | 用於執行乘法運算之方法及裝置 | |
TWI576761B (zh) | 記憶體中之乘法運算 | |
TWI615850B (zh) | 判定記憶體中最長元素長度 | |
TWI602191B (zh) | 藉由記憶體中向量之元素之資料移位 | |
US9990967B2 (en) | Apparatuses and methods for performing corner turn operations using sensing circuitry | |
US10699756B2 (en) | Apparatuses and methods for performing corner turn operations using sensing circuitry | |
US9898253B2 (en) | Division operations on variable length elements in memory | |
TWI545498B (zh) | 用於判定總數計數之裝置及方法 | |
JP6216878B2 (ja) | メモリ用の除算演算 | |
TW201732795A (zh) | 記憶體中的資料收集 | |
US10622034B2 (en) | Element value comparison in memory |