CN107783783A - 与微代码指令有关的设备及方法 - Google Patents
与微代码指令有关的设备及方法 Download PDFInfo
- Publication number
- CN107783783A CN107783783A CN201710729456.5A CN201710729456A CN107783783A CN 107783783 A CN107783783 A CN 107783783A CN 201710729456 A CN201710729456 A CN 201710729456A CN 107783783 A CN107783783 A CN 107783783A
- Authority
- CN
- China
- Prior art keywords
- instruction
- microcode
- type
- several
- microcode instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明包含与微代码指令有关的设备及方法。一种实例设备包括存储微代码指令集合的存储器。所述集合中的每一微代码指令可包括第一字段及第二字段,第一字段包括数个控制数据单元,第二字段包括数个类型选择数据单元。所述集合中的每一微代码指令可具有由所述数个类型选择数据单元的值定义的特定指令类型,且对应于所述数个控制数据单元的特定功能可基于所述特定指令类型而改变。
Description
技术领域
本发明大体上涉及半导体存储器及方法,且更特定来说涉及与微代码指令有关的设备及方法。
背景技术
存储器装置通常提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,其包含易失性存储器及非易失性存储器。易失性存储器可需要电力以维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在未被供电时留存所存储数据而提供永久性数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM))等。
计算系统通常包含可检索及执行指令的数个处理资源(例如,一或多个处理器)。执行指令可涉及各种操作的执行,例如,可包含将结果存储到合适的位置。指令可为微代码指令的形式,其可存储在可由处理资源存取的存储器(例如,只读存储器(ROM)、RAM等)中。处理器可包括数个功能单元,举例来说,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及组合逻辑块,所述功能单元可用于执行微代码指令以执行各种操作。作为实例,每一微代码指令可包括用于控制计算系统(例如,ALU、寄存器、I/O电路等)内的各种组件的数个数据单元(例如,位)。例如,微代码指令可将较高级机器代码转化为电路级操作序列。在各种实例中,单个微代码指令可指定数个特定操作。例如,单个微代码指令的位可指示ALU的数个设置(例如,ALU的进位输入是否被设置为零、是否针对二进制补码函数设置ALU等)、ALU内的更新状态旗标,指示要存储结果的特定寄存器,可指示下一个微代码指令的位置,指示微代码指令的奇偶校验,及/或可指示寄存器集合中的哪个特定寄存器耦合到ALU等以及各种其它功能。以此方式,可执行微代码指令集合的各种序列来执行数个基本操作,其可包含(例如)经由例如AND、OR、NOT、NAND、NOR及XOR的数个逻辑运算以及反相(例如,二进制反相)对数据(例如,操作数)执行例如算术运算(例如,加法、减法、乘法、除法等)的操作。
例如,微代码指令的大小(例如,位数)可取决于特定计算系统而变化。例如,为了使微代码指令控制计算系统(或其特定部分)内的所有期望功能,每一微代码指令可包括特定数目的控制数据单元(例如,90位、108位、160位等)。因而,微代码指令大小可影响在计算系统内存储及/或执行微代码所需的存储器的总量。
发明内容
附图说明
图1A是根据本发明的数个实施例的呈包含存储器装置的计算系统的形式的设备的框图。
图1B是根据本发明的数个实施例的图1A中所示的控制器的更多细节的框图。
图1C是根据本发明的数个实施例的图1A中所示的主机的更多细节的框图。
图2A说明根据先前方法的微代码指令。
图2B说明根据本发明的数个实施例的微代码指令。
图3说明根据本发明的数个实施例的具有不同数目的类型选择数据单位的数个微代码指令。
图4是说明根据本发明的数个实施例的感测电路的示意图。
图5是说明根据本发明的数个实施例的感测电路的示意图。
图6是说明根据本发明的数个实施例的由感测电路实施的可选逻辑运算结果的逻辑表。
具体实施方式
本发明包含与微代码指令有关的设备及方法。一种实例设备包括存储微代码指令集合的存储器。所述集合中的每一微代码指令可包括第一字段及第二字段,第一字段包括数个控制数据单元,第二字段包括数个类型选择数据单元。所述集合中的每一微代码指令具有由所述数个类型选择数据单元的值指示的特定指令类型,且对应于所述数个控制数据单元的特定功能可基于所述特定指令类型而改变。
本发明的实施例可提供诸多益处,例如减小单个微代码指令(例如,微代码字)的大小。作为实例,考虑其中(例如,从存储器)检索数个微代码指令(例如,微代码指令序列)以供(例如,通过处理资源)执行的系统。存储器通常可提供有限的空间来存储数个微代码指令。本发明的数个实施例可提供诸多益处,例如与先前方法相比减小微代码指令的大小(例如,数据单元的数量),而不牺牲微代码指令的功能能力,以及各种其它益处。在维持功能能力的同时减小微代码指令的大小可提供诸多益处,例如减小存储微代码所需的存储器容量的总量及/或可增加在可能具有有限的存储容量的给定位置(例如,高速缓冲存储器)中可存储的微代码指令的数目。
如本文中进一步描述,数个实施例包含具有控制数据单元及类型选择数据单元的微代码指令。控制数据单元可用于基于它们的值来(例如,经由提供给系统组件的控制信号)控制计算系统的各种功能。类型选择数据单元的值指示对应于微代码指令的特定指令类型。在数个实施例中,由微代码指令的组成控制数据单元控制的特定功能取决于类型选择数据单元的值(例如,取决于特定指令类型)。例如,如果第一微代码指令的类型选择数据单元具有第一值,那么可使用对应于第一微代码指令的第一组控制数据单元(例如,最低有效8位)来控制特定寄存器的选择。然而,如果第二(例如,不同的)微代码指令的类型选择数据单元具有不同值,那么可使用对应于第二微代码指令的第一组控制数据单元(例如,相同的最低有效8位)来控制一或多个不同的存储器功能(例如,程序计数器操作,而非寄存器选择)。
在本发明的以下详细描述中,参考形成本发明的一部分且其中通过说明展示本发明的一或多个实施例可如何实践的附图。足够详细描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可在不脱离本发明的范围的情况下利用其它实施例且做出过程、电及/或结构改变。如本文中所使用,例如“N”的标示符(尤其关于图式中的元件符号)指示可包含如此指定的数个特定特征。如本文中所使用,“数个”特定事物指代一或多个此类事物(例如,数个存储器阵列可指代一或多个存储器阵列)。“多个”特定事物意在指代超过一个此类事物。
本文中的图遵循编号惯例,其中首位或前几位数字对应于图式图号且剩余数字识别图式中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。例如,130可参考图1中的元件“30”,且类似元件可在图4中表示为430。将明白的是,可添加、更换及/或删除本文各种实施例中所展示的元件,以便提供本发明的数个额外实施例。另外,如将了解,在图中提供的元件的比例及相对尺度意在说明本发明的某些实施例,且不应视为限制意义。
图1A是根据本发明的数个实施例的呈包含存储器装置120的计算系统100的形式的设备的框图。如本文中所使用,存储器装置120、控制器140、存储器阵列130、感测电路150、逻辑电路170及/或高速缓冲存储器171也可单独被视为“设备”。
系统100包含耦合(例如,连接)到存储器装置120的主机110,存储器装置120包含存储器阵列130。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、智能电话或存储卡读取器以及各种其它类型的主机。主机110可包含系统主板及/或背板且可包含数个处理资源(例如,一或多个处理器、微处理器等)。结合图1C描述主机110的一个实例的更详图。
系统100可包含单独集成电路,或主机110及存储器装置120两者均可位于相同集成电路上。例如,系统100可为服务器系统及/或高性能计算(HPC)系统及/或其部分。虽然图1中所示的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但是本发明的实施例可以非冯·诺依曼架构(其可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等))来实施。
为清楚起见,系统100已经简化以集中于与本发明特定相关的特征。例如,存储器阵列130可为DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成通过存取线(在本文中可称为字线及/或选择线)耦合的行及通过感测线(在本文中可称为数据线及/或数字线)耦合的列的存储器单元。虽然图1中展示单个阵列130,但是实施例并不限于此。例如,存储器装置120可包含数个阵列130(例如,数个DRAM单元库、NAND快闪单元等)。另外,虽然未展示,但是多个存储器装置120可经由相应的多个存储器通道耦合到主机110。
存储器装置120包含地址电路111以锁存通过I/O电路173提供于总线156(例如,数据总线)上的地址信号。总线156可充当数据总线(例如,I/O总线)及地址总线;然而,实施例不限于此。状态及/或异常信息可通过可包含带外总线157的高速接口(HSI)从存储器装置120上的控制器140提供到主机110。通过地址电路111接收地址信号且由行解码器146及列解码器185对地址信号进行解码以存取存储器阵列130。可通过使用感测电路150感测数据线上的电压及/或电流改变而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取及锁存一页(例如,行)数据。I/O电路173可用于经由数据总线156与主机110进行双向数据通信。写入电路148可用于将数据写入到存储器阵列130。
控制器140对通过控制总线154从主机110提供的信号进行解码。这些信号可包含用于控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制器140负责执行来自主机110的指令及将对阵列130的存取进行定序以及其它功能。例如,执行来自主机110的指令可包含使用对应于感测电路150及/或逻辑170的处理资源来执行操作(例如,通过执行微代码指令),如本文中进一步描述。控制器140可包含状态机(例如,专用集成电路(ASIC)形式的固件及/或硬件)、定序器及/或某种其它类型的控制电路。在图1A中所示的实例中,控制器140包含高速缓冲存储器171,其可存储(例如,至少暂时地存储)根据本文中描述的数个实施例的可执行(例如,通过与控制器140及/或主机110相关联的处理资源)以执行存储器操作的微代码指令。结合图1B描述控制器140的一个实例的更详图。
如下文进一步描述,在数个实施例中,感测电路150可包括数个感测放大器及数个计算组件,其可用作且在本文中被称为累加器,且可用于执行各种存储器操作(例如,对与互补感测线相关联的数据执行逻辑运算)。在数个实施例中,对应于计算组件的存储位置(例如,锁存器)可用作移位寄存器级。例如,可将时钟信号施加到计算组件以将数据从一个计算组件移位到相邻的计算组件。
在数个实施例中,感测电路150可用于使用存储于阵列130中的数据作为输入来执行逻辑运算且将逻辑运算的结果存储回到阵列130,而无需经由感测线地址存取传送数据(例如,无需触发列解码信号)。因而,可使用感测电路150且在其内执行各种计算功能,而非(或与之结合)通过感测电路外部的处理资源(例如,通过与主机110相关联的处理器及/或定位于装置120上(例如,在控制电路140上或别处)的其它处理电路,例如ALU电路)来执行。
在各种先前方法中,例如,与操作数相关联的数据将经由感测电路从存储器读取且经由I/O线(例如,经由局部I/O线及/或全局I/O线)提供到外部ALU电路。外部ALU电路可包含数个寄存器且将使用操作数执行计算功能,且结果将经由I/O线传送回到阵列。相比之下,在本发明的数个实施例中,感测电路150经配置以对存储于存储器阵列130中的数据执行逻辑运算且将结果存储回到存储器阵列130,而无需启用耦合到感测电路150的I/O线(例如,局部I/O线)。感测电路150可依照与所述阵列的感测线相同的间距形成。例如,存储器阵列的单元可具有特定单元大小(例如,4F2或6F2,其中“F”为对应于单元的特征大小)。如下文进一步描述,在数个实施例中,对应于感测电路150的感测组件(例如,相应的感测放大器及计算组件对)是依照与阵列的感测线相同的间距形成且可经操作以执行各种计算功能。例如,如果感测线间距为3F,那么感测组件的晶体管可配合在相同的3F间距内。相比之下,与各种存储器中内置处理器(PIM)系统的ALU电路相关联的装置(例如,逻辑门)可能无法依照与感测线相同的间距形成,(例如)与本发明的数个实施例相比,这可增加芯片大小及/或存储器密度。额外的逻辑电路170可耦合到感测电路150且可用于存储(例如,缓存及/或缓冲)本文中描述的操作的结果。
因而,在数个实施例中,不需要阵列130及感测电路150外部的电路来执行计算功能,这是因为感测电路150可在不使用外部处理资源的情况下执行适当逻辑运算以执行此类计算功能。在数个实施例中,感测电路150可作为数个1位处理资源进行操作,而耦合到阵列130的相应列的感测组件充当相应的1位处理元件。因此,感测电路150可用于(至少在一定程度上)补充及/或替换外部处理资源,例如主机的ALU电路。
启用I/O线可包含启用(例如,接通)具有耦合到解码信号(例如,列解码信号)的栅极及耦合到I/O线的源极/漏极的晶体管。然而,实施例不限于在不启用阵列的列解码线的情况下使用感测电路(例如,150)执行逻辑运算。无论局部I/O线是否与经由感测电路150执行逻辑运算结合使用,局部I/O线均可经启用以将结果传送到除回到阵列130之外的合适位置(例如,外部寄存器)。
图1B是根据本发明的数个实施例的图1A中所示的控制器140的更多细节的框图。在图1B中所示的实例中,控制器140被示为包含控制逻辑131、定序器132及定时电路133。
作为实例,控制逻辑131可包括经配置以控制提取及执行指令(例如,微代码指令172)的数个组件(例如,程序计数器、寄存器、ALU、分支逻辑、状态机等)。例如,可从存储器阵列(例如,130)及/或从主机(例如,110)提取微代码指令172,且可将其存储在高速缓冲存储器(例如,高速缓冲存储器171)中以供执行。在数个实施例中,控制逻辑131可对微代码指令进行解码以供定序器132执行。
定序器132还可包括经配置以执行微代码指令(例如,微代码172)的数个组件(例如,数个FIFO缓冲器、程序计数器逻辑、分支逻辑、寄存器、微代码指令高速缓冲存储器、ALU、状态机等),且可报告状态信息,例如微代码指令中检测到的错误状况、无效电路状态等。微代码指令172(例如,微代码字)可包括数个位,其值控制控制器140内的特定组件(例如,各种ALU、寄存器等)以及控制器140外部的组件(例如,感测电路150、逻辑170、解码电路146/185等)以执行各种存储器操作。
定时电路133可包括数个组件(例如,状态机、FIFO缓冲器、行地址选通链接口等)以提供定时来协调对存储器(例如阵列130)的无冲突存取。作为实例,定时电路133可在关联于使用感测电路150执行逻辑运算的微代码指令的执行与关联于将数据从阵列130传送到外部处理资源(例如,控制器140及/或主机110)的微代码指令的执行之间作出定时协调。
例如,控制器140可执行微代码指令172以控制存储器阵列130上的常规操作(例如,写入、读取、复制、擦除等)。另外,控制器140可执行微代码指令172以结合使用相应的感测组件作为处理资源(例如下文进一步描述)执行各种操作(例如,数学运算(例如加法、乘法等),例如,通过执行布尔AND运算、OR运算、反相运算、移位运算等)来控制感测电路150。
因而,控制器140(例如,控制逻辑131、定序器132及定时电路133)可操作以执行微代码指令172的集合(例如,序列)以(例如,对阵列130)执行各种存储器操作。作为实例,可(例如,由控制器140)执行微代码指令的特定集合以并行地对阵列130中存储(例如,作为向量)的数据元素执行数个数学运算。
图1C是根据本发明的数个实施例的图1A中所示的主机110的更多细节的框图。主机110可为例如处理器(例如,CPU),其可包括各种功能单元电路。在此实例中,主机110包含程序计数器134,其可提取指令(例如微代码指令138)以供执行单元135执行。微代码指令138可包括数个微代码指令集合,其可(例如,以特定顺序)执行以(例如,结合执行程序)执行各种存储器操作。
例如,微代码指令138的执行可控制程序计数器134的各种功能(例如,使程序计数器递增)以及主机110的其它功能单元电路的各种功能。例如,在此实例中,执行单元135包括数个寄存器136及ALU 137,其功能可由微代码指令138的控制数据单元来控制。还可执行微代码指令138以(例如,经由例如图1A中所示的总线156的总线)控制数个存储器装置(例如,存储器装置120)与主机110之间的I/O操作。例如,微代码指令138可为例如下文结合图2B描述的微代码指令。微代码指令138可存储在主机110上的存储器中及/或可从位于存储器装置(例如,存储器装置120)上的存储器(例如,存储器130)检索以在主机110本地执行。
图2A说明根据先前方法的微代码指令291。图2B说明根据本发明的数个实施例的微代码指令。
图2A中所说明的实例微代码指令291可被称为微代码字291,且包括数个数据单元(例如,位)。在此实例中,微代码字291包含字段292及字段294(全局),字段292包括数个控制数据单元,字段294包括数个全局数据单元。微代码字291可包括例如160位,其中32个全局位及128个控制位292。字291的位的数量(例如,其大小)及/或全局位的特定数量(例如,字段294的大小)及控制位292的特定数量(例如,字段292的大小)可取决于特定系统。例如,一个特定系统可经配置以执行90位微代码指令,其可包含或可不包含任何全局位,而另一系统可经配置以执行包括92个控制位及16个全局位的108位微代码指令。在各种情况下,系统的微代码字291的大小取决于对用于执行存储器操作的期望集合的所有可能指令进行编码所需的位的数量。例如,为了执行与执行程序相关联的给定集合操作(例如,算术运算、位移等),可能需要例如128位以便对所有可能的微代码指令进行编码(例如,以便控制与执行存储器操作的期望集合相关联的所有系统组件)。如上文提及,微代码字(例如,字291)的每一位或多组位可用于控制不同的系统组件(例如,寄存器、ALU、I/O线、程序计数器、驱动器等)。
字段294的全局位可包含例如对应于字291的数个奇偶校验位及/或纠错码(ECC)位、与微代码错误消息相关联的数个位,及/或与微代码调试相关联的数个位。字段292的控制位用于结合执行操作来控制计算系统内的各种组件。
在各种实例中,某些类型(例如,类别)的微代码指令不是或不能被同时执行。例如,与系统复位(或数个特定系统组件复位)相关联的微代码指令291不能在与执行算术运算相关联的微代码指令291相同的时间执行。另外,虽然每一微代码指令291包括相同数量的控制位(例如,字段292的大小一致),但是取决于由特定微代码字291实施的操作的类型,各种控制位保持未被使用。例如,第一类型的第一操作(例如,I/O操作)可经由第一组控制位292来控制,而第二类型的第二操作(例如,算术运算)可经由不同组的控制位292来控制。
在图2A中所示的实例中,微代码字291的控制位字段292包括与执行不同类型的操作相关联的数个字段295-1(类型1)、295-2(类型2)、295-3(类型3)及295-4(类型4)。作为实例,字段295-1的位可与执行数学(例如,算术)运算相关联,字段295-2的位可与执行程序计数器控制操作相关联,字段295-3的位可与执行I/O操作相关联,且字段295-4的位可与使用感测电路(例如,150)作为处理组件执行布尔运算相关联。因为执行不同的操作类型可与控制系统(例如,100)及/或装置(120)内相应的不同电路(例如,硬件组件)相关联,所以对应于相应字段295-1、295-2、295-3及295-4的多组位可对应于不同的相应组的电路的控制。
虽然字段295-1、295-2、295-3及295-4在图2A中被说明为按顺序组织,但是字段及/或其组成位可处于控制位292之间的非顺序位位置处。虽然图2A中未展示,但是字段295-1、295-2、295-3及295-4中的每一者可包括对应于它们不同的组成控制位的数个字段(例如,子字段)(例如,包括对应于特定组件的控制的位的字段,例如对应于操作数地址、寄存器地址、程序计数器地址的地址字段以及各种其它字段)。另外,虽然在图2A中将字段292的控制位组织成四种不同的操作类型,但是本发明的实施例不限于特定数目的操作类型。例如,控制位292可被组织成对应于相应不同操作类型的多于或少于四个“类型”的字段。
如上文提及,字段292的大小可对应于用于执行操作集合中的任一者(例如,与特定操作类型无关的任何期望操作)的位的数量。然而,仅控制位292的子集(例如,295-1、295-2、295-3及295-4)可与执行选定操作相关联。例如,在各种先前方法中,执行每一操作涉及提取及执行整个字291,即使位292中的若干位不影响与执行特定操作相关联的组件(例如,受字段295-1、295-2及295-3的控制位影响的组件不同于受与执行对应于类型4的操作相关联的字段295-4的控制位影响的组件)。
图2B说明根据本发明的数个实施例的微代码指令201。类似于图2A中所说明的微代码指令291,微代码指令201可被称为微代码字201,且包括数个数据单元(例如,位)。在此实例中,微代码字201包含字段295(类型X)、字段293(类型选择)及字段294(全局),字段295包括数个控制数据位,字段293包括数个类型选择位,字段294包括数个全局位。微代码字201中的字段294的全局位的功能可类似于微代码字291的全局位的功能(例如,奇偶校验、ECC、调试、错误消息等)。
不同于图2A中所示的微代码字291(其中对应于字段292内的控制位的特定功能不可变(例如,它们保持静态)),对应于微代码字201的字段295内的控制位的特定功能是可变的。例如,对应于字段295的控制位的特定功能可基于字段293的类型选择位而变化。根据数个实施例,字段293的类型选择位指示由字段295的控制位实施的数个操作类型中的特定操作类型。例如,类型选择位可用于在可经由单个微代码字201实施的不同操作类型之间进行选择,这可减小微代码字的大小(例如,与先前的微代码字(例如图2A中描述的字291)的大小相比)。为了进一步说明微代码字201的字段295的控制位的可变性质(与微代码字291的字段292的控制位的静态性质相比),考虑以下内容。如果考虑字291的字段292内的十六个相应位位置处的十六位,那么所述十六位的功能(例如,对应于位值的相应控制信号及/或由此控制的相应硬件组件)保持相同,与字291经配置以实施何种操作类型(例如,类型1、类型2、类型3及类型4)无关。相比之下,如果考虑字201的字段295内的十六个相应位位置处的十六位,那么所述十六位的功能(例如,对应于位值的相应控制信号及/或由此控制的相应硬件组件)取决于字段293的类型选择位的值而改变。例如,如果类型选择位具有第一值(例如,“00”),那么十六位可对应于控制一或多个特定寄存器,且如果类型选择位具有第二值(例如,“11”),那么相同的十六位可对应于控制一或多个程序计数器。
在图2B中所示的实例中,类型选择字段293包括两个类型选择位,其值可用于指示对应于字段295的四种不同操作类型中的一者。例如,如图2B中所示,字段295的控制位可取决于字段293的位的值而对应于四种不同操作类型(例如,类型1、类型2、类型3及类型4)中的一者。在此实例中,具有值“00”(例如,如字段293-1中所示)的字段293的类型选择位指示字段295的控制位对应于类型1的操作(例如,如字段295-1中所示)。具有值“01”(例如,如字段293-2中所示)的字段293的类型选择位指示字段295的控制位对应于类型2的操作(例如,如字段295-2中所示)。具有值“10”(例如,如字段293-3中所示)的字段293的类型选择位指示字段295的控制位对应于类型3的操作(例如,如字段295-3中所示)。另外,具有值“11”(例如,如字段293-4中所示)的字段293的类型选择位指示字段295的控制位对应于类型4的操作(例如,如字段295-4中所示)。
使用类型选择位来指示控制位所对应的特定操作类型可提供诸多益处,例如与先前微代码字(例如,291)的大小相比,减小微代码字(例如,201)的大小。例如,如果微代码字291的字段292的大小是128位(例如,字段295-1到295-4中的每一者包括32位),那么执行每一类型(例如,类型1、类型2、类型3及类型4)的单个微代码操作将涉及提取及执行各自包括128个控制位(加上数个全局位)的四个微代码字291。相比之下,字段293的两个选择位可用于在四种不同的操作类型之间进行选择,使得执行每一类型的单个微代码操作将涉及提取及执行各自包括32个控制位及2个类型选择位(加上数个全局位)的四个微代码字201。因为包含类型选择字段293减小微代码字的大小,所以与微代码字291相比,特定存储器位置(例如,高速缓冲存储器)可存储更多的微代码字201,这可提高计算系统的速度及/或效率以及提供其它益处。
实施例不限于图2B中所示的实例。例如,类型选择字段293可包括多于或少于两个位。例如,如结合图3进一步描述,类型选择字段293可包括单个位,其值(例如,“1”或“0”)可用于在两种不同的操作类型之间进行选择,或可使用多于两个位来在多个(例如,2N,其中N是类型选择位的数量)不同的操作类型之间进行选择。
图3说明展示根据本发明的数个实施例的具有特定大小的微代码指令的不同数目的类型选择位及控制位的表。图3中所示的表假设为10位的微代码指令大小。因此,如图2中所示,假设10位均不用作类型选择位,微代码字301包括零个类型选择位。然而,如果10位中的一者用作类型选择位(例如,字段393-1包括一位),那么可使用类型选择位来在对应于操作类型字段395-1的两种不同的操作类型之间进行选择,操作类型字段395-1包括9位(例如,总共10位-1个类型选择位)。如果10位中的两者用作类型选择位(例如,字段393-2包括两位),那么类型选择位可代表四个不同值,且因而可用于在对应于操作类型字段395-2的四种不同的操作类型之间进行选择,操作类型字段395-2包括8位(例如,总共10位-2个类型选择位)。如果10位中的三者用作类型选择位(例如,字段393-3包括三位),那么类型选择位可代表八个不同值,且因而可用于在对应于操作类型字段395-3的多达八种不同的操作类型之间进行选择,操作类型字段395-3包括7位(例如,总共10位-3个类型选择位)。
以此方式,包括零个类型选择位的10位微代码指令(例如,指令301)可包括经配置以执行10个不同功能(例如,控制10个不同硬件组件)的10个控制位。相比之下,对于包括2位类型选择字段(例如,393-2)的10位微代码指令,8个剩余控制位可经配置以取决于类型选择位的值执行多达32个不同的功能(例如,取决于所述两个类型选择位的特定值,8个控制位中的每一者可对应于不同的硬件组件或其部分)。类似地,对于包括3位类型选择字段(例如,393-3)的10位微代码指令,7个剩余控制位可经配置以取决于类型选择位的值执行多达56个不同的功能(例如,取决于所述三个类型选择位的特定值,7个控制位中的每一者可对应于不同的硬件组件或其部分)。如结合图2B所描述,在数个实施例中,类型选择字段(例如,393-1、393-2及393-3)内的位的不同值可对应于相应的不同操作类型。例如,第一值可对应于算术函数,第二值可对应于程序计数器操作,第三值可对应于I/O操作,第四值可对应于布尔运算。然而,实施例不限于特定操作类型。
根据本文中描述的实施例在微代码指令内包含类型选择位可提供诸多益处,例如减少与执行特定操作相关联的微代码字的大小。例如,现有技术的微代码指令集合可包括含用于执行四种不同操作类型的128个控制位的微代码字。作为实例,128个控制位(例如,四组32位)的四个不同组中的每一者可对应于四种不同的操作类型。因而,执行来自四种不同的操作类型中的每一者的操作将包含提取及执行各自包括128个控制位(加上额外全局位)的四个不同的微代码字。相比之下,根据本发明的微代码指令集合可包括含32个控制位及用于在四种不同操作类型之间进行选择的两个类型选择位的微代码字。因此,在此实例中,执行来自四种不同的操作类型中的每一者的操作将包含提取及执行各自包括32个控制位(加上额外全局位及所述两个类型选择位)的四个不同的微代码字。因此,与现有技术的微代码字相比,微代码字的大小减小可促成在给定总量的存储器中存储更多微代码字的能力以及其它益处。
图4是说明根据本发明的数个实施例的感测电路450的示意图。感测电路450可对应于图1中所示的感测电路150,且可经由根据本文中描述的实施例的微代码指令予以控制。
在图4中所示的实例中,存储器单元可包含存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,第一存储器单元可包含晶体管402-1及电容器403-1,且第二存储器单元可包含晶体管402-2及电容器403-2等。在此实施例中,存储器阵列430是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列,但是也可使用其它单元配置(例如,每个存储器单元具有两个晶体管及两个电容器的2T2C)。在数个实施例中,存储器单元可为破坏性读取存储器单元(例如,读取存储于单元中的数据会破坏数据,使得最初存储于单元中的数据在读取之后被刷新)。
存储器阵列430的单元可被布置成由存取(字)线404-X(行X)、404-Y(行Y)等耦合的行,及由数对互补感测线(例如,图4中所示的数字线DIGIT(D)及DIGIT(D)_,以及图5中所示的DIGIT(n)及DIGIT(n)_)耦合的列。对应于每一对互补感测线的个别感测线也可分别称为DIGIT(D)的数字线405-1及DIGIT(D)_的数字线405-2。虽然在图4中仅展示一对互补数字线,但是本发明的实施例不限于此,且存储器单元阵列可包含存储器单元及数字线的额外列(例如,4,096、8,192、16,384等)。
虽然行及列被说明为彼此正交,但是实施例不限于此。例如,行及列可相对于彼此以各种其它二维或三维配置定向。
存储器单元可耦合到不同的数字线及字线。例如,晶体管402-1的第一源极/漏极区域可耦合到数字线405-1(D),晶体管402-1的第二源极/漏极区域可耦合到电容器403-1,且晶体管402-1的栅极可耦合到字线404-Y。晶体管402-2的第一源极/漏极区域可耦合到数字线405-2(D)_,晶体管402-2的第二源极/漏极区域可耦合到电容器403-2,且晶体管402-2的栅极可耦合到字线404-X。如图4中所示,单元板可耦合到电容器403-1及403-2中的每一者。单元板可为可在各种存储器阵列配置中将参考电压(例如,接地)施加到其的公共节点。
根据本发明的数个实施例,存储器阵列430经配置以耦合到感测电路450。在此实施例中,感测电路450包括对应于存储器单元的相应列(例如,耦合到相应对的互补数字线)的感测放大器406及计算组件431。感测放大器406可耦合到成对互补数字线405-1及405-2。计算组件431可经由选通门(pass gate)407-1及407-2耦合到感测放大器406。选通门407-1及407-2的栅极可耦合到运算选择逻辑413。
运算选择逻辑413可经配置以包含用于控制选通门的选通门逻辑及用于控制交换门的交换门逻辑,所述选通门将未转置的成对互补数字线耦合在感测放大器406与计算组件431之间,所述交换门将已转置的成对互补数字线耦合在感测放大器406与计算组件431之间。运算选择逻辑413也可耦合到成对互补数字线405-1及405-2。运算选择逻辑413可经配置以基于选定运算来控制选通门407-1及407-2。
感测放大器406可经操作以确定存储在选定存储器单元中的数据值(例如,逻辑状态)。感测放大器406可包括交叉耦合锁存器,其在本文中可被称为主锁存器。在图4中所说明的实例中,对应于感测放大器406的电路包括锁存器415,锁存器415包含耦合到一对互补数字线405-1(D)及405-2(D)_的四个晶体管。然而,实施例不限于此实例。锁存器415可为交叉耦合锁存器(举例来说,一对晶体管(例如n通道晶体管(例如,NMOS晶体管)427-1及427-2)的栅极与另一对晶体管(例如p通道晶体管(例如,PMOS晶体管)429-1及429-2)的栅极交叉耦合)。
在操作中,当感测(例如,读取)存储器单元时,数字线405-1(D)或405-2(D)_中的一者上的电压将略大于数字线405-1(D)或405-2(D)_的另一者上的电压。ACT信号及RNL*信号可被驱动为低以启用(例如,触发)感测放大器406。具有较低电压的数字线405-1(D)或405-2(D)_会将PMOS晶体管429-1或429-2中的一者接通到比PMOS晶体管429-1或429-2中的另一者更大的程度,由此将具有较高电压的数字线405-1(D)或405-2(D)_驱动为高到比另一数字线405-1(D)或405-2(D)_被驱动为高时更大的程度。
类似地,具有较高电压的数字线405-1(D)或405-2(D)_会将NMOS晶体管427-1或427-2中的一者接通到比NMOS晶体管427-1或427-2中的另一者更大的程度,由此将具有较低电压的数字线405-1(D)或405-2(D)_驱动为低到比另一数字线405-1(D)或405-2(D)_被驱动为低时更大的程度。因此,在短暂的延迟之后,具有稍大电压的数字线405-1(D)或405-2(D)_通过源晶体管被驱动到电源电压VCC的电压,且另一数字线405-1(D)或405-2(D)_通过吸收晶体管被驱动到参考电压(例如,接地)的电压。因此,交叉耦合的NMOS晶体管427-1及427-2以及PMOS晶体管429-1及429-2充当感测放大器对,其放大数字线405-1(D)及405-2(D)_上的差分电压且操作以锁存从选定存储器单元感测的数据值。
实施例不限于图4中所说明的感测放大器406的配置。作为实例,感测放大器406可为电流模式感测放大器及单端感测放大器(例如,耦合到一条数字线的感测放大器)。另外,本发明的实施例不限于例如图4中所示的折叠数字线架构。
感测放大器406可结合计算组件431操作以使用来自阵列的数据作为输入来执行各种运算。在数个实施例中,可将运算结果存储回到阵列,而无需经由数字线地址存取传送数据(例如,无需触发列解码信号使得数据经由局部I/O线传送到阵列及感测电路外部的电路)。因而,与各种先前方法相比,本发明的数个实施例可能能够使用更少的电力执行操作。另外,因为数个实施例无需跨局部及全局I/O线及/或外部数据总线传送数据以便执行计算功能(例如,在存储器与离散处理器之间),所以与先前方法相比,数个实施例可实现增大(例如,更快)的处理能力。
感测放大器406可进一步包含平衡电路414,其可经配置以使数字线405-1(D)及405-2(D)_平衡。在此实例中,平衡电路414包括耦合在数字线405-1(D)与405-2(D)_之间的晶体管424。平衡电路414还包括晶体管425-1及425-2,晶体管425-1及425-2各自具有耦合到平衡电压(例如,VDD/2)的第一源极/漏极区域,其中VDD是与阵列相关联的电源电压。晶体管425-1的第二源极/漏极区域可耦合到数字线405-1(D),且晶体管425-2的第二源极/漏极区域可耦合到数字线405-2(D)_。晶体管424、425-1及425-2的栅极可耦合在一起,且耦合到平衡(EQ)控制信号线426。因此,激活EQ启用晶体管424、425-1及425-2,其有效地将数字线405-1(D)及405-2(D)_短接在一起且短接到平衡电压(例如,VDD/2)。
如下文进一步描述,在数个实施例中,感测电路450(例如,感测放大器406及计算组件431)可经操作以执行选定运算,且最初将结果存储在感测放大器406或计算组件431中的一者中,而无需经由局部或全局I/O线从感测电路传送数据(例如,无需经由激活例如列解码信号执行感测线地址存取)。
如图4中所示,计算组件431还可包括锁存器,其在本文中可被称为辅助锁存器464。辅助锁存器464可以与上文关于主锁存器415描述的方式类似的方式进行配置及操作,例外之处在于:包含在辅助锁存器中的成对交叉耦合p通道晶体管(例如,PMOS晶体管)可使它们相应的源极耦合到电源电压(例如,VDD),且辅助锁存器的成对交叉耦合n通道晶体管(例如,NMOS晶体管)可使它们相应的源极选择性地耦合到参考电压(例如,接地)使得辅助锁存器被连续地启用。计算组件431的配置不限于图4中所示的配置,且各种其它实施例是可行的。
图5是说明根据本发明的数个实施例的感测电路的示意图。图5说明阵列的数个列,每一列包括耦合到对应的感测放大器506及计算组件531的一对互补感测线505-1及505-2。计算组件531可经由选通门507-1及507-2耦合到感测放大器506。图5中所示的感测放大器506可对应于图4中所示的感测放大器406。图5中所示的感测电路例如可对应于图1A中所示的感测电路150。图5中所示的逻辑运算选择逻辑513可对应于图4中所示的逻辑运算选择逻辑413。
选通门507-1及507-2的栅极可通过逻辑运算选择逻辑信号Pass来控制。例如,逻辑运算选择逻辑的输出可耦合到选通门507-1及507-2的栅极。计算组件531可锁存相应的数据值,且可经由将数据值进行移位(例如,右及/或左)来作为移位寄存器操作。
作为实例,计算组件531可包括经配置以将数据值进行左及/或右移位的移位寄存器的相应级(例如,移位单元)。例如,如图5中所说明,移位寄存器的每一计算组件531(例如,级)包括一对右移晶体管581及586、一对左移晶体管589及590以及一对反相器587及588。根据本文中描述的实施例,信号PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L可被施加到相应的控制线582、583、541及543,以结合执行逻辑运算及/或将数据进行移位来启用/禁用对应计算组件531的锁存器上的反馈。
图5中所示的感测电路还展示耦合到数个逻辑选择控制输入控制线(包含ISO、TF、TT、FT及FF)的逻辑运算选择逻辑513。根据逻辑选择控制输入控制线上的逻辑选择控制信号的条件以及当隔离晶体管550-1及550-2经由ISO控制信号被断言而启用时成对互补感测线505-1及505-2上存在的数据值来确定从多个逻辑运算中选择一个逻辑运算。
根据各种实施例,逻辑运算选择逻辑513可包含四个逻辑选择晶体管:耦合在交换晶体管542的栅极与TF信号控制线之间的逻辑选择晶体管562、耦合在选通门507-1及507-2的栅极与TT信号控制线之间的逻辑选择晶体管552、耦合在选通门507-1及507-2的栅极与FT信号控制线之间的逻辑选择晶体管554,及耦合在交换晶体管542的栅极与FF信号控制线之间的逻辑选择晶体管564。逻辑选择晶体管562及552的栅极通过隔离晶体管550-1(其栅极耦合到ISO信号控制线)耦合到真感测线。逻辑选择晶体管564及554的栅极通过隔离晶体管550-2(其栅极也耦合到ISO信号控制线)耦合到互补感测线。
成对互补感测线505-1及505-2上存在的数据值可经由选通门507-1及507-2而加载到计算组件531中。当选通门507-1及507-2开启(例如,导通)时,成对互补感测线505-1及505-2上的数据值被传递到计算组件531(例如,加载到移位寄存器中)。成对互补感测线505-1及505-2上的数据值可为当感测放大器被触发时存储于感测放大器506中的数据值。逻辑运算选择逻辑信号Pass为高以开启选通门507-1及507-2。
ISO、TF、TT、FT及FF控制信号可操作以基于感测放大器506中的数据值(“B”)及计算组件531中的数据值(“A”)来选择逻辑函数进行实施。特定来说,ISO、TF、TT、FT及FF控制信号经配置以选择逻辑函数进行实施而与成对互补感测线505-1及505-2上存在的数据值无关(但是所实施的逻辑运算的结果可取决于成对互补感测线505-1及505-2上存在的数据值)。即,ISO、TF、TT、FT及FF控制信号直接选择逻辑运算进行实施,因为成对互补感测线505-1及505-2上存在的数据值并不被传递通过逻辑来操作选通门507-1及507-2的栅极。
另外,图5展示交换晶体管542,其经配置以在感测放大器506与计算组件531之间交换成对互补感测线505-1及505-2的定向。当交换晶体管542开启时,交换晶体管542的感测放大器506侧上的成对互补感测线505-1及505-2上的数据值被反向耦合到交换晶体管542的计算组件531侧上的成对互补感测线505-1及505-2,且由此被加载到计算组件531的可加载移位寄存器中。
当ISO控制信号线被激活且TT控制信号被激活(例如,高)且真感测线上的数据值为“1”或FT控制信号被激活(例如,高)且互补感测线上的数据值为“1”时,逻辑运算选择逻辑信号Pass可被激活(例如,高)以开启选通门507-1及507-2。
真感测线上的数据值是“1”则开启逻辑选择晶体管552及562。互补感测线上的数据值是“1”则开启逻辑选择晶体管554及564。如果ISO控制信号或相应的TT/FT控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极所耦合到的感测线)上的数据值不为高,那么选通门507-1及507-2将不会被特定逻辑选择晶体管开启。
当ISO控制信号线被激活且TF控制信号被激活(例如,高)且真感测线上的数据值为“1”或FF控制信号被激活(例如,高)且互补感测线上的数据值为“1”时,逻辑运算选择逻辑信号Pass*可被激活(例如,高)以开启(例如,导通)交换晶体管542。如果相应的控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极所耦合到的感测线)上的数据值不为高,那么交换晶体管542将不会被特定逻辑选择晶体管开启。
Pass*控制信号不一定与Pass控制信号互补。Pass及Pass*控制信号可同时被激活或同时被停用。然而,Pass及Pass*控制信号两者同时激活会将成对互补感测线短接在一起,这可能是要避免的破坏性配置。
图5中所说明的感测电路经配置以根据四个逻辑选择控制信号直接选择多个逻辑运算中的一个进行实施(例如,逻辑运算选择不取决于成对互补感测线上存在的数据值)。逻辑选择控制信号的一些组合可导致选通门507-1及507-2以及交换晶体管542同时开启,这将成对互补感测线505-1及505-2短接在一起。根据本发明的数个实施例,可由图5中所说明的感测电路实施的逻辑运算可为图6中所示的逻辑表中概述的逻辑运算。
图6是说明根据本发明的数个实施例的由图5中所示的感测电路实施的可选逻辑运算结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)结合互补感测线上存在的特定数据值可用于选择多个逻辑运算中的一个来实施,这涉及存储在感测放大器506及计算组件531中的起始数据值。四个控制信号结合互补感测线上存在的特定数据值控制选通门507-1及507-2以及交换晶体管542的状态,这继而影响在触发之前/之后计算组件531及/或感测放大器506中的数据值。可选择地控制交换晶体管542的状态的能力有利于实施涉及反相数据值(例如,反相操作数及/或反相结果)的逻辑运算等等。
图6中所说明的逻辑表6-1展示存储在计算组件531中的起始数据值(“A”)(在列644中展示)及存储在感测放大器506中的起始数据值(“B”)(在列645中展示)。逻辑表6-1中的其它3列标头是指选通门507-1及507-2以及交换晶体管542的状态,选通门507-1及507-2以及交换晶体管542可取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态、结合成对互补感测线505-1及505-2上存在的特定数据值而分别被控制为开启(例如,导通)或关闭(例如,不导通)。“未开启”列对应于选通门507-1及507-2以及交换晶体管542均处于不导通状态,“开启真”对应于选通门507-1及507-2处于导通条件中,且“开启反相”对应于交换晶体管542处于导通条件中。对应于选通门507-1及507-2以及交换晶体管542均处于导通条件中的配置未反映在逻辑表6-1中,因为这导致感测线短接在一起。
经由对选通门507-1及507-2以及交换晶体管542进行选择性控制,逻辑表6-1上部的三列中的每一者可与逻辑表6-1下部的三列中的每一者组合以提供3×3=9个不同的结果组合,对应于九个不同的逻辑运算,如由675处所示的各种连接路径所指示。可由感测电路(例如,图1A中的150)实施的九个不同的可选逻辑运算在图6中所说明的逻辑表6-2中予以概述,包含XOR逻辑运算。
图6中所说明的逻辑表6-2的列展示包含逻辑选择控制信号(FF、FT、TF及TT)的状态的标头680。例如,在行676中提供第一逻辑选择控制信号的状态,在行677中提供第二逻辑选择控制信号的状态,在行678中提供第三逻辑选择控制信号的状态,且在行679中提供第四逻辑选择控制信号的状态。在行647中概述对应于结果的特定逻辑运算。
虽然已在本文中说明及描述特定实施例,但是所属领域的技术人员将了解,经计算以实现相同结果的布置可取代展示的特定实施例。本发明希望涵盖本发明的一或多个实施例的调适或变化。应理解,已以说明性方式而非限制性方式做出上述描述。所属领域的技术人员在检视上文描述后将明白在本文中未具体描述的上述实施例的组合及其它实施例。本发明的一或多个实施例的范围包含其中使用上述结构及方法的其它应用。因此,应参考所附权利要求书以及权利要求书有权拥有的等效物的全范围确定本发明的一或多个实施例的范围。
在前述实施方式中,出于简化本发明的目的,将一些特征集中于单一实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确叙述更多的特征的意图。而是,如所附权利要求书反映,本发明的主题在于少于单一所揭示实施例的所有特征。因此,特此将所附权利要求书并入实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (20)
1.一种设备,其包括:
存储器(130、430),其存储微代码指令集合(138、172),所述集合(138、172)中的每一微代码指令包括:
数个控制数据单元;及
数个类型选择数据单元(293-1、…、293-4、393-1、…、393-4);
其中所述集合(138、172)中的每一微代码指令具有由所述数个类型选择数据单元的值指示的特定指令类型(295-1、…、295-4、395-1、…、395-4);及
其中对应于所述数个控制数据单元的特定功能可基于所述特定指令类型(295-1、…、295-4、395-1、…、395-4)而改变。
2.根据权利要求1所述的设备,其中所述集合(138、172)中的每一微代码指令包括能够指示2N个不同指令类型(295-1、…、295-4、395-1、…、395-4)中的特定者的N个类型选择数据单元(293-1、…、293-4、393-1、…、393-4)。
3.根据权利要求1到2中任一权利要求所述的设备,其中所述数个类型选择数据单元(293-1、…、293-4、393-1、…、393-4)包括至少两位。
4.根据权利要求1到2中任一权利要求所述的设备,其中所述数个类型选择数据单元(293-1、…、293-4、393-1、…、393-4)能够指示多个不同指令类型(295-1、…、295-4、395-1、…、395-4),且其中:
所述多个不同指令类型(295-1、…、295-4、395-1、…、395-4)中的一者与执行布尔运算相关联;且
所述多个不同指令类型(295-1、…、295-4、395-1、…、395-4)中的另一者与执行输入/输出I/O操作相关联。
5.根据权利要求1到2中任一权利要求所述的设备,其中所述数个类型选择数据单元(293-1、…、293-4、393-1、…、393-4)能够指示多个不同指令类型(295-1、…、295-4、395-1、…、395-4),且其中所述多个不同指令类型(295-1、…、295-4、395-1、…、395-4)中的一者与执行以下中的一项相关联:
复位操作;及
程序计数器操作。
6.一种设备,其包括:
存储器(130、430),其存储微代码指令集合(138、172);及
控制器(140),其耦合到所述存储器(130、430)且经配置以:
基于所述微代码指令(138、172)内的数个类型选择数据单元的值来确定对应于所述集合(138、172)的微代码指令的指令类型(295-1、…、295-4、395-1、…、395-4);及
根据所述经确定指令类型(295-1、…、295-4、395-1、…、395-4)执行所述微代码指令(138、172)以基于所述微代码指令(138、172)内的数个控制数据单元的值来执行存储器操作的至少一部分;
其中对应于所述数个控制数据单元的功能取决于所述经确定指令类型(295-1、…、295-4、395-1、…、395-4)。
7.根据权利要求6所述的设备,其中所述控制器(140)包括经配置以对所述微代码指令(138、172)进行解码的控制逻辑(131)。
8.根据权利要求6所述的设备,其中所述控制器(140)包括经配置以存储所述微代码指令(138、172)的高速缓冲存储器(171)。
9.根据权利要求6所述的设备,其中所述控制器(140)包括经配置以执行所述微代码指令(138、172)的定序器(132)。
10.根据权利要求6到9中任一权利要求所述的设备,其中所述设备包括存储器装置(120)且所述控制器(140)包括所述存储器装置(120)的计算组件(431、531)。
11.根据权利要求6到9中任一权利要求所述的设备,其中所述控制器(140)经配置以从位于包含所述控制器(140)的主机(110)上的所述存储器(130、430)检索所述微代码指令(138、172)。
12.根据权利要求6到9中任一权利要求所述的设备,其进一步包括耦合到所述控制器(140)的存储器装置(120),其中所述控制器(140)经配置以从位于所述存储器装置(120)上的所述存储器(130、430)检索所述微代码指令(138、172)。
13.一种操作计算系统(100)的方法,其包括:
执行微代码指令(138、172)以控制所述计算系统(100)中的数个组件;
其中所述微代码指令(138、172)包括:
数个控制数据单元;及
数个类型选择数据单元(293-1、…、293-4、393-1、…、393-4);及
其中所述微代码指令(138、172)是各自具有相关联的指令类型(295-1、…、295-4、395-1、…、395-4)的多个微代码指令(138、172)中的一者,且其中对应于所述数个控制数据单元的特定功能可基于所述相关联的指令类型(295-1、…、295-4、395-1、…、395-4)而改变。
14.根据权利要求13所述的方法,其进一步包括执行微代码指令序列(138、172)以执行特定存储器操作,且其中所述序列(138、172)的至少两个微代码指令具有不同的相关联的指令类型(295-1、…、295-4、395-1、…、395-4)。
15.根据权利要求14所述的方法,其中所述至少两个微代码指令(138、172)包括至少一个算术运算及至少一个程序计数器操作。
16.根据权利要求13所述的方法,其中所述微代码指令(138、172)包括功能与所述相关联的指令类型(295-1、…、295-4、395-1、…、395-4)无关的数个全局数据单元(294)。
17.根据权利要求16所述的方法,其中所述数个全局数据单元(294)包括以下至少一者:
奇偶校验位;及
调试位。
18.一种用于执行微代码指令(138、172)的方法,其包括:
基于所述微代码指令(138、172)内的数个类型选择数据单元的值来确定微代码指令的指令类型(295-1、…、295-4、395-1、…、395-4);及
根据所述经确定指令类型(295-1、…、295-4、395-1、…、395-4)执行所述微代码指令(138、172)以基于所述微代码指令(138、172)内的数个控制数据单元的值来执行至少一部分存储器操作;
其中对应于所述数个控制数据单元的功能取决于所述经确定指令类型(295-1、…、295-4、395-1、…、395-4)。
19.根据权利要求18所述的方法,其中确定所述指令类型(295-1、…、295-4、395-1、…、395-4)包括确定至少两个类型选择数据单元的值。
20.根据权利要求18到19中任一权利要求所述的方法,其进一步包括执行微代码指令序列(138、172),其中所述微代码指令序列(138、172)包括:
所述集合(138、172)中的第一微代码指令,且其中所述第一微代码指令的所述类型选择数据单元的值是第一值;及
所述集合(138、172)中的第二微代码指令,且其中所述第二微代码指令的所述类型选择数据单元的值不同于所述第一值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/245,776 | 2016-08-24 | ||
US15/245,776 US10606587B2 (en) | 2016-08-24 | 2016-08-24 | Apparatus and methods related to microcode instructions indicating instruction types |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107783783A true CN107783783A (zh) | 2018-03-09 |
CN107783783B CN107783783B (zh) | 2021-11-16 |
Family
ID=59686721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710729456.5A Active CN107783783B (zh) | 2016-08-24 | 2017-08-23 | 与微代码指令有关的设备及方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10606587B2 (zh) |
EP (1) | EP3287893B1 (zh) |
CN (1) | CN107783783B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900710A (zh) * | 2020-06-19 | 2022-01-07 | 美光科技公司 | 扩展存储器组件 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US11720352B2 (en) * | 2019-12-10 | 2023-08-08 | Micron Technology, Inc. | Flexible command pointers to microcode operations |
US11237907B2 (en) * | 2020-05-29 | 2022-02-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Processing-in-memory instruction set with homomorphic error correction |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
CN114579078A (zh) * | 2022-02-25 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 一种加速器、加速方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185670B1 (en) * | 1998-10-12 | 2001-02-06 | Intel Corporation | System for reducing number of opcodes required in a processor using an instruction format including operation class code and operation selector code fields |
WO2008039908A2 (en) * | 2006-09-28 | 2008-04-03 | 3Dlabs Inc., Ltd. | Processing architectures with typed instruction sets |
CN103827817A (zh) * | 2011-08-01 | 2014-05-28 | 微软公司 | 减少字体指令 |
CN104679478A (zh) * | 2009-12-17 | 2015-06-03 | 英特尔公司 | 用于在单个指令中执行移位和异或运算的方法和装置 |
Family Cites Families (307)
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 |
EP0446721B1 (en) | 1990-03-16 | 2000-12-20 | Texas Instruments Incorporated | Distributed processing memory |
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 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
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 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
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 |
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 |
US5922065A (en) | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
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 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
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 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
AU2000224587A1 (en) | 2000-02-04 | 2001-08-14 | Hitachi Ltd. | Semiconductor device |
US7062526B1 (en) * | 2000-02-18 | 2006-06-13 | Texas Instruments Incorporated | Microprocessor with rounding multiply instructions |
US20010042069A1 (en) | 2000-02-29 | 2001-11-15 | Petrov Peter D. | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
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 |
WO2002005281A2 (en) | 2000-07-07 | 2002-01-17 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
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 |
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 |
AU2002353406A1 (en) | 2002-12-27 | 2004-07-22 | Solid State System Co., Ltd. | 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 |
GB2399901B (en) | 2003-03-27 | 2005-12-28 | Micron Technology Inc | System and method for encoding processing element commands in an active memory device |
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 |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
CN1846278B (zh) | 2003-09-04 | 2010-04-28 | Nxp股份有限公司 | 集成电路和高速缓冲存储器的重新映射方法 |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
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 |
US7873812B1 (en) * | 2004-04-05 | 2011-01-18 | Tibet MIMAR | Method and system for efficient matrix multiplication in a SIMD processor architecture |
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 | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
TWI256560B (en) * | 2004-06-15 | 2006-06-11 | Sunplus Technology Co Ltd | A system with dynamic adjustable coprocessor numbers |
US7831804B2 (en) * | 2004-06-22 | 2010-11-09 | St Microelectronics S.R.L. | Multidimensional processor architecture |
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 |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual 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 |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
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 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
US20070150671A1 (en) | 2005-12-23 | 2007-06-28 | Boston Circuits, Inc. | Supporting macro memory instructions |
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 |
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 |
US8200932B2 (en) | 2007-10-19 | 2012-06-12 | 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 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
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 |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
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 |
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 |
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 |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
EP2467133B1 (en) | 2009-08-18 | 2014-01-22 | Dow Corning Corporation | Multi-layer transdermal patch |
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 |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | 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 |
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 |
WO2013062596A1 (en) | 2011-10-28 | 2013-05-02 | Hewlett-Packard Development Company, L.P. | Row shifting shiftable memory |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
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 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US9229722B2 (en) * | 2012-01-31 | 2016-01-05 | International Business Machines Corporation | Major branch instructions with transactional memory |
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 |
US9507603B2 (en) * | 2013-03-09 | 2016-11-29 | Gerald George Pechanek | Methods and apparatus for signal flow graph pipelining that reduce storage of temporary variables |
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 |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
KR101887797B1 (ko) | 2014-05-08 | 2018-09-10 | 마이크론 테크놀로지, 인크. | 메모리 내 가벼운 일관성 |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9678749B2 (en) * | 2014-12-22 | 2017-06-13 | Intel Corporation | Instruction and logic for shift-sum multiplier |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
WO2016126478A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for memory device as a store for program instructions |
US10108487B2 (en) * | 2016-06-24 | 2018-10-23 | Qualcomm Incorporated | Parity for instruction packets |
-
2016
- 2016-08-24 US US15/245,776 patent/US10606587B2/en active Active
-
2017
- 2017-08-23 EP EP17020379.8A patent/EP3287893B1/en active Active
- 2017-08-23 CN CN201710729456.5A patent/CN107783783B/zh active Active
-
2020
- 2020-03-30 US US16/834,794 patent/US11061671B2/en active Active
-
2021
- 2021-07-12 US US17/372,841 patent/US11842191B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185670B1 (en) * | 1998-10-12 | 2001-02-06 | Intel Corporation | System for reducing number of opcodes required in a processor using an instruction format including operation class code and operation selector code fields |
WO2008039908A2 (en) * | 2006-09-28 | 2008-04-03 | 3Dlabs Inc., Ltd. | Processing architectures with typed instruction sets |
CN104679478A (zh) * | 2009-12-17 | 2015-06-03 | 英特尔公司 | 用于在单个指令中执行移位和异或运算的方法和装置 |
CN103827817A (zh) * | 2011-08-01 | 2014-05-28 | 微软公司 | 减少字体指令 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900710A (zh) * | 2020-06-19 | 2022-01-07 | 美光科技公司 | 扩展存储器组件 |
Also Published As
Publication number | Publication date |
---|---|
US11061671B2 (en) | 2021-07-13 |
EP3287893A1 (en) | 2018-02-28 |
US10606587B2 (en) | 2020-03-31 |
US20180060069A1 (en) | 2018-03-01 |
CN107783783B (zh) | 2021-11-16 |
US20210342148A1 (en) | 2021-11-04 |
US20200225946A1 (en) | 2020-07-16 |
EP3287893B1 (en) | 2022-04-06 |
US11842191B2 (en) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783783A (zh) | 与微代码指令有关的设备及方法 | |
US11775296B2 (en) | Mask patterns generated in memory from seed vectors | |
TWI615707B (zh) | 用於錯誤碼計算之設備及方法 | |
US10593377B2 (en) | Multiple endianness compatibility | |
CN111052099B (zh) | 存储器内处理 | |
US10236037B2 (en) | Data transfer in sensing components | |
CN108713196B (zh) | 使用位向量运算装置进行的数据传送 | |
US20190378558A1 (en) | Apparatuses and methods to reverse data stored in memory | |
US10061590B2 (en) | Generating and executing a control flow | |
US10971214B2 (en) | Apparatuses and methods to perform logical operations using sensing circuitry | |
CN109003640B (zh) | 存储器中子阵列之间的数据传送 | |
US10854247B2 (en) | Apparatuses and methods to selectively perform logical operations | |
CN109478170A (zh) | 存取状态信息 | |
CN110574108A (zh) | 存取存储器中的数据 | |
TW201835906A (zh) | 用於在資料路徑中計算之裝置及方法 | |
US11514957B2 (en) | Bank to bank data transfer | |
US10600475B2 (en) | Method and apparatus for storing and accessing matrices and arrays by columns and rows in a processing unit | |
US10496310B2 (en) | Shift skip | |
CN109003635A (zh) | 数据复制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |