CN107357551A - 用于实现至少两类函数的处理器 - Google Patents

用于实现至少两类函数的处理器 Download PDF

Info

Publication number
CN107357551A
CN107357551A CN201710327118.9A CN201710327118A CN107357551A CN 107357551 A CN107357551 A CN 107357551A CN 201710327118 A CN201710327118 A CN 201710327118A CN 107357551 A CN107357551 A CN 107357551A
Authority
CN
China
Prior art keywords
processor
ltc
dimensional
lut
array
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
Application number
CN201710327118.9A
Other languages
English (en)
Other versions
CN107357551B (zh
Inventor
张国飙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haicun IP Technology LLC
Original Assignee
Chengdu Haicun IP Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Haicun IP Technology LLC filed Critical Chengdu Haicun IP Technology LLC
Publication of CN107357551A publication Critical patent/CN107357551A/zh
Application granted granted Critical
Publication of CN107357551B publication Critical patent/CN107357551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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 for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/08Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements
    • G11C17/10Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements in which contents are determined during manufacturing by a predetermined arrangement of coupling elements, e.g. mask-programmable ROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Semiconductor Memories (AREA)
  • Image Processing (AREA)

Abstract

本发明提出一种用于实现至少两类函数的处理器。在第一实施例中,该处理器含有一固定查找表电路(LTC)和一可写LTC。其中,固定LTC实现常用函数,可写LTC实现非常用函数。在第二实施例中,该处理器含有一二维LTC和一三维LTC。其中,二维LTC实现高速函数,三维LTC实现非高速函数。

Description

用于实现至少两类函数的处理器
技术领域
本发明涉及集成电路领域,更确切地说,涉及处理器。
背景技术
传统处理器采用基于逻辑的计算(logic-based computation,简称为LBC),它主要通过逻辑电路(如与非门等)来实现数学函数。纯逻辑电路适合实现算术运算(如加法、减法和乘法),但不适合非算术函数(如初等函数、特殊函数等)的实现。
传统处理器支持数量有限的基本非算术函数(如基本代数函数、基本超越函数)。这些函数通过算术运算和查找表(look-up table,简称为LUT)的组合来实现,它们被称为内置函数。例如:美国专利US 5,954,787(发明人:Eun;授权日:1999年9月21日)披露了一种利用LUT实现正弦/余弦(sine/cosine)函数的方法;美国专利US 9,207,910(发明人:Azadet;授权日:2015年12月8日)披露了一种利用LUT实现幂函数的方法。
图1列出英特尔公司的Itanium处理器(IA-64)能实现的所有内置函数(参考Harrison等所著《The Computation of Transcendental Functions on the IA-64Architecture》, Intel Technical Journal, Q4, 1999年)。IA-64处理器共支持7种内置函数,每种内置函数均使用相对较小的LUT(从0到24kb),并需要进行相对较多的泰勒级数(5阶到22阶)计算。
传统处理器有一个问题:它们均使用同一类存储器(如mask-ROM)来存储不同函数的LUT。在一些应用中,部分函数属于常用函数,另一部分函数属于非常用函数,用mask-ROM来存储非常用函数的LUT过于浪费。在另一些应用中,部分函数需要高速实现,另一部分函数不需要高速实现,采用高速存储器来存储非高速函数的LUT也过于浪费。
发明内容
本发明的主要目的是提出一种根据复用度、成本和速度要求优化数学函数的实现。
本发明的另一目的是在一处理器中同时实现常用函数和非常用函数。
本发明的另一目的是在一处理器中同时实现高速函数和非高速函数。
为了实现这些以及别的目的,本发明提出一种能实现至少两类函数的处理器,它采用“基于存储的计算”(memory-based computation,简称为MBC)。MBC主要通过查表来实现计算。虽然大多数MBC仍需要进行算术运算,由于MBC使用的查找表(LUT)比LBC更大,MBC仅需使用较少的多项式展开(如泰勒级数)。在MBC中,大部分计算通过查表完成,少部分计算通过算术运算实现。
为了增加复用度、降低成本和提高性能,数学函数可以进一步细分,每种细分法对应于一种处理器。这些处理器用不同种类的存储器来存储与不同种类函数相关的LUT。
在第一种细分法中,数学函数被分为常用函数和非常用函数。其中,常用函数经常使用,如基本代数函数和/或基本超越函数等;非常用函数指使用频繁度低于常用函数的函数,如特殊函数等。与第一种细分法对应的第一种处理器含有一固定LTC和一可写LTC:与常用函数存储相关的LUT存储在固定LTC中,固定LTC含有至少一印录存储阵列,印录存储阵列存储的LUT是在处理器生产过程中写入的;与非常用函数相关的LUT存储在可写LTC中,可写LTC含有至少一可写存储阵列,可写存储阵列存储的LUT是在处理器出厂后写入的。由于可写存储阵列中的LUT可以在使用现场写入、甚至可以被擦除后重新写入,处理器在出厂后也可以根据用户需求实现所需函数,故具有较大适用范围。
相应地,本发明提出一用于实现至少常用函数和非常用函数的第一种处理器(300),其特征在于包括:一固定查找表电路(LTC)(170A),该固定LTC (170A) 含有至少一印录存储阵列并存储与一第一函数相关的第一查找表(LUT),该第一LUT是在该处理器(300)生产过程中写入的;一可写LTC (170B),该可写LTC (170B) 含有至少一可写存储阵列并存储与一第二函数相关的第二LUT,该第二LUT是在该处理器(300)出厂后写入的。
在第二种细分法中,函数被分为高速函数和非高速函数。其中,高速函数要求以较高速度实现,而非高速函数不要求以较高速度实现。与第二种细分法对应的第二种处理器含有一二维LTC和一三维LTC:与高速函数相关的LTC存储在二维LTC中,二维LTC含有至少一二维存储阵列,二维存储阵列中的存储元位于半导体衬底表面,它们分布在一个二维平面上;与非高速函数相关的LTC存储在三维LTC中,三维LTC含有至少一三维存储阵列,三维存储阵列中的存储元相互堆叠,它们分布在一个三维空间中。由于二维存储阵列基于单晶半导体材料,其读延迟较低,它适合实现高速函数。另一方面,由于三维存储阵列不占衬底、其单位存储容量的成本低于二维存储阵列,故用三维存储阵列实现非高速函数成本较低。将与函数相关的LUT分别存储在二维存储阵列和三维存储阵列中可以在保证性能的前提下降低成本。
相应地,本发明还提出一用于实现至少高速函数和非高速函数的第二种处理器,其特征在于包括:一半导体衬底(0);一二维LTC (170C),该二维LTC (170C) 含有一二维存储阵列并存储一与第一函数相关的第一查找表(LUT),该二维存储阵列位于该衬底(0)中;一三维LTC (170C),该三维LTC (170C) 含有一三维存储阵列并存储一与第二函数相关的第二LUT,该三维存储阵列堆叠于该衬底(0)上方。
附图说明
图1列出英特尔Itanium(IA-64)处理器支持的所有超越函数(现有技术)。
图2比较各种存储器的特性。
图3A是一种典型的、基于MBC的处理器之简要电路框图;图3B是一种实现一单精度函数、基于MBC的处理器之电路框图;图3C列出实现各种精度函数所需的查找表容量和泰勒级数展开项。
图4是一实现至少一常用函数和一非常用函数的第一种处理器之电路框图。
图5是一实现至少一高速函数和一非高速函数的第二种处理器之电路框图。
图6A-图6D是第二种处理器的四个例子之电路框图。
图7A-图7B是第二种处理器的两个例子之顶视图;图7C是其截面图。
注意到,这些附图仅是概要图,它们不按比例绘图。为了显眼和方便起见,图中的部分尺寸和结构可能做了放大或缩小。在不同实施例中,相同的符号一般表示对应或类似的结构。符号“/”表示“和/或”的关系。
具体实施方式
本发明提出一种能实现至少两类函数的处理器,它采用“基于存储的计算”(memory-based computation,简称为MBC)。MBC主要通过查表来实现计算。虽然大多数MBC仍需要进行算术运算,由于MBC使用的查找表(LUT)比LBC更大,MBC仅需使用较少的多项式展开(如泰勒级数)。在MBC中,大部分计算通过查表完成,少部分计算通过算术运算实现。
查找表电路(LTC)可以含有各种存储阵列。基于其存储元的编程机制,存储阵列可以分为印录存储阵列和可写存储阵列。印录存储阵列存储的信息是在工厂生产过程中采用印刷的方式录入的。这些信息是永久固定的,出厂后不能改变。其数据录入机制可以是掩膜编程(以形成mask-ROM)、纳米压印法(nano-imprint)、电子束扫描曝光(e-beamlithography)、DUV扫描曝光、激光扫描曝光(laser programming)等。可写存储阵列存储的信息采用电方式编程录入,它包括OTP、SRAM、DRAM、EPRROM、EEPROM和闪存等。其中,OTP为一次编程,SRAM、DRAM、EPROM、EEPROM和闪存为多次编程。
基于其存储元的分布方式,存储阵列可以分为二维存储阵列(又称为平面存储阵列)和三维存储阵列。二维存储阵列的存储元位于半导体衬底表面,它们分布在一个二维平面上,即存储元的晶体管和/或二极管都形成在同一衬底中。三维存储阵列的存储元相互堆叠,它们分布在一个三维空间中,即存储元的晶体管和/或二极管都形成在衬底上方,不占用衬底面积。二维存储阵列含有二维印录存储阵列和二维可写存储阵列;三维存储阵列含有三维印录存储阵列(3-D Printed Memory,简称为3D-P)(参见中国专利201280042212.5)和三维可写存储阵列(3-D Writable Memory,简称为3D-W)(又称为三维电编程只读存储器3D-EPROM,参见中国专利98119572.5)。三维可写存储阵列的例子包括3D-OTP、3D-XPoint和3D-NAND等。
图2比较各种存储器的速度和存储元面积等特性。SRAM为一种二维可写存储器,其读延迟~1ns,存其储元占有~120F2的面积。Mask-ROM为一种印录存储器,其读延迟~2ns,存其储元占有~30F2的面积。eDRAM(嵌入式DRAM)为一种可写存储器,其读延迟~6ns,存其储元占有~60F2的面积。NOR闪存为一种可写存储器,其读延迟~30ns,存其储元占有~10F2的面积。NAND闪存是一种可写存储器,其读延迟~1us,其存储元占有~5F2的面积。上述五种存储器(SRAM、mask-ROM、DRAM、 NOR和NAND)为二维存储器。3D-P为印录存储器,其读延迟~10ns,其存储元占有~4F2的面积;3D-W为可写存储器,其读延迟~50ns,其存储元占有~4F2的面积。这两种存储器(3D-P和3D-W)为三维存储器。
图3A表示一种典型的、基于MBC的处理器300,它含有一逻辑电路100和一存储电路200。逻辑电路100包括一预处理电路180R和一后处理电路180T,存储电路200包括至少一LTC 170。LTC 170含有至少一存储阵列,它存储与至少部分该函数相关的LUT。预处理电路180R将函数的自变量X 150转换为LTC 170的地址A 160A;后处理器180T将从LTC 170中的读出数据D 160D转换为函数值Y的输出 190。自变量X的一部分R可以在被预处理电路180R处理之前送至后处理电路180T作为后端处理的一个输入,也可以在被预处理电路180R处理之后(即地址A的一部分)送至后处理器180T。
图3B表示一种实现一单精度函数Y=f(X)的、基于MBC的处理器300。LTC 170含有两个LTC 170Q、170R,其容量均为2Mb(16位输入、32位输出),并分别存储函数值D1=f(A)和函数的一阶导数值D2=f’(A)。算术逻辑电路(ALC)180含有预处理电路180R(主要含有一地址缓冲区)和后处理电路180T(含有一加法器180A和一乘法器180M)。在计算时,该处理器300的输入为32位自变量X 150(x31… x0);预处理电路180R将其前16位(x31… x16)提取出来作为LTC 170Q、170R的16位地址输入A,再将其后16位(x15… x0)提取出来作为16位地址余量R送到后处理电路180T;后处理电路180T通过多项式插值计算32位输出值Y 190。在本实施例中,多项式插值是一阶泰勒级数:Y(X)=D1+D2*R=f(A)+f’(A)*R。很明显,采用更高阶的多项式插值(如更高阶的泰勒级数)能进一步提高计算精度。
在实现函数时,将LUT和多项式插值结合起来可以用较小的LUT实现较高的计算精度。假如仅用LUT(无多项式插值)来实现上述的单精度函数(32位输入、32位输出),LUT的容量需要达到232*32=128Gb。用这么大的LUT来实现一个函数是不现实的。通过多项式插值,LUT容量可极大降低。在上述实施例中,在采用一阶泰勒级数后,LUT只需4Mb(函数值LUT需要2Mb、一阶导数值LUT需要2Mb)。这比仅用LUT的方式(128Gb)少很多。
图3C列出实现各种精度函数所需的LUT容量和泰勒级数。该实施例采用定义域缩小法并将LUT容量限制在Mb级(参考Harrison等所著《The Computation ofTranscendental Functions on the IA-64 Architecture》, Intel Technical Journal,Q4, 1999年)。半精度(16位)计算使用的LUT容量为216×16=1Mb,这时不需要计算任何泰勒级数;单精度(32位)计算使用的LUT容量为216×32×2=4Mb,这时需要计算1阶泰勒级数;双精度(64位)计算使用的LUT容量为216×64×3=12Mb,这时需要计算2阶泰勒级数;扩展双精度(80位)计算使用的LUT的容量为216×80×4=20Mb,这时需要计算3阶泰勒级数。很明显,为了降低LUT容量,还可以采用其它LUT和泰勒级数的组合。
除了初等函数以外,图3A-图3B中的实施例还能实现各种高等函数,如特殊函数等。特殊函数在数学分析、泛函分析、物理研究、工程应用中有着举足轻重的地位。许多特殊函数是微分方程的解或基本函数的积分。特殊函数的例子包括伽玛函数、贝塔函数、贝塞尔函数、勒让德函数、椭圆函数、Lame函数、Mathieu函数、黎曼泽塔函数、菲涅耳积分等。计算单元300的出现将简化特殊函数的计算,助推其在科学计算中的应用。
为了增加复用度、降低成本和提高性能,数学函数可以进一步细分,每种细分法对应于一种处理器。这些处理器用不同种类的存储器来存储与不同种类函数相关的LUT。
在第一种细分法中,数学函数被分为常用函数和非常用函数。其中,常用函数经常使用,如基本代数函数和/或基本超越函数等;非常用函数指使用频繁度低于常用函数的函数,如特殊函数等。图4表示一与第一种细分法对应的、实现至少一常用函数和一非常用函数的第一种处理器300。它包括一存储电路200和一逻辑电路100。存储电路200含有一固定LTC 170A(含输入150A和输出160A)和一可写LTC 170B(含输入150B和输出160B);逻辑电路100包括一ALC 180。固定LTC 170A用于实现一常用函数,它存储与该常见函数相关的LUT,并含有一印录存储阵列,印录存储阵列存储的LUT是在处理器300生产过程中写入的。可写LTC 170B实现一非常用函数,它存储与该非常见函数相关的LUT,并含有一可写存储阵列,可写存储阵列存储的LUT是在处理器300出厂后写入的。由于可写存储阵列中的LUT可以在使用现场写入、甚至可以擦除后重新写入,处理器300在出厂后可以根据用户需求实现所需函数,故具有较大适用范围。ALC 180与LTC 170A、170B耦合,并对其结果 160A、160B做算术运算(如进行多项式插值),再将结果送到输出190。
第一处理器300的一个例子含有一二维固定LTC和一二维可写LTC,其存储元均位于半导体衬底表面。其中,二维固定LTC存储与常用函数相关的LUT,二维可写LTC存储与非常用函数相关的LUT。第一处理器300的另一个例子含有一三维固定LTC和一三维可写LTC,其存储元均相互堆叠。其中,三维固定LTC存储与常用函数相关的LUT,三维可写LTC存储与非常用函数相关的LUT。
在第二种细分法中,函数被分为高速函数和非高速函数。其中,高速函数要求以较高速度实现,而非高速函数不要求以较高速度实现。图5表示一种与第二种细分法对应的、实现至少一高速函数和一非高速函数的第二种处理器300。它包括一存储电路200和一逻辑电路100。存储电路200含有一二维LTC 170C(含输入150C和输出160C)和一三维LTC 170D(含输入150D和输出160D);逻辑电路100包括一ALC 180。二维LTC 170C用于实现一高速函数,它含有一二维存储阵列(基于单晶材料),该二维LTC 170C存储与该高速函数相关的LUT。三维LTC 170C实现一非高速函数,它含有一三维存储阵列(基于非单晶材料),该三维LTC 170C存储与该非高速函数相关的LUT。由于二维存储阵列基于单晶半导体材料,其读延迟较低,它适合实现高速函数。另一方面,由于三维存储阵列的存储元不占衬底面积,它适合与ALC 180等实现三维集成,从而降低处理器300的整体成本。ALC 180与LTC 170C、170D耦合,它对其结果160C、160D做算术运算(如进行多项式插值),并将结果送到输出190。
图6A-图6D披露了第二处理器300的四个例子。在图6A中,二维LTC 170C为一二维固定LTC 170AA,它用于实现高速、常用函数;三维LTC 170D为一三维印录LTC 170AB,它用于实现非高速、常用函数。在图6B中,二维LTC 170C为一二维固定LTC 170BA,它用于实现高速、常用函数;三维LTC 170D为一三维可写LTC 170BB,它用于实现非高速、非常用函数。在图6C中,二维LTC 170C为一二维可写LTC 170CA,它用于实现高速、非常用函数;三维LTC170D为一三维固定LTC 170CB,它用于实现非高速、常用函数。在图6D中,二维LTC 170C为一二维可写LTC 170DA,它用于实现高速、非常用函数;三维LTC 170D为一三维可写LTC170DB,它用于实现非高速、非常用函数。很明显,处理器300可以含有更多LTC,以实现各种函数的组合。
相对于二维存储阵列,三维存储阵列具有一显著优势:由于其存储元不占衬底面积,三维存储阵列可以集成在逻辑电路或二维存储阵列上,形成三维集成。图7A-图7B表示三维集成的两个实施例。在图7A的实施例中,三维存储阵列170D堆叠在ALC 180之上。在图7B的实施例中,三维存储阵列170D堆叠在二维存储阵列170C之上。在图7A-图7B中,由于三维存储阵列170D堆叠在衬底上,它不是衬底的一部分,在此仅用虚线表示其边界。图7C的截面图进一步揭示的三维存储阵列170D与衬底0的关系。二维存储阵列170C和/或ALC 180是衬底电路0K的一部分,三维存储阵列170D是第一存储层16A的一部分,第一存储160A堆叠在衬底电路0K上方。三维集成能减少芯片面积,并增加处理器300能实现的函数数目。
处理器300具有极强的科学计算能力,它可以应用到各种处理器中,包括:中央处理器(CPU)、现场编程门阵列(FPGA)、数码信号处理器(DSP)、图像处理器(GPU)、视频处理器(video processor)、加密/解密处理器、虚拟现实(VR)处理器、增强现实(AR)处理器、混合现实(MR)处理器、和/或人工智能(AI)处理器等。
应该了解,在不远离本发明的精神和范围的前提下,可以对本发明的形式和细节进行改动,这并不妨碍它们应用本发明的精神。因此,除了根据附加的权利要求书的精神,本发明不应受到任何限制。

Claims (10)

1.一种用于实现至少两类函数的处理器(300),其特征在于包括:
一固定查找表电路(LTC)(170A),该固定LTC (170A) 含有一印录存储阵列并存储与一第一函数相关的第一查找表(LUT),该第一LUT是在该处理器(300)生产过程中写入的;
一可写LTC (170B),该可写LTC (170B) 含有一可写存储阵列并存储与一第二函数相关的第二LUT,该第二LUT是在该处理器(300)出厂后写入的。
2.根据权利要求1所述的处理器(300),其特征还在于:可根据用户需求,在该可写LTC(170B)中写入与一所需函数相关的LUT。
3.根据权利要求1所述的处理器(300),其特征还在于:该印录存储阵列包括掩膜编程只读存储器阵列。
4.根据权利要求1所述的处理器(300),其特征还在于:该可写存储阵列包括电编程存储器阵列。
5.一种用于实现至少两类函数的处理器(300),其特征在于包括:
一半导体衬底(0);
一二维查找表电路(LTC)(170C),该二维LTC (170C)含有一二维存储阵列并存储一与第一函数相关的第一查找表(LUT),该二维存储阵列位于该衬底(0)中;
一三维LTC (170C),该三维LTC (170C) 含有一三维存储阵列并存储一与第二函数相关的第二LUT,该三维存储阵列堆叠于该衬底(0)上方。
6.根据权利要求5所述的处理器(300),其特征还在于:该二维存储阵列的读速度快于该三维存储阵列。
7.根据权利要求5所述的处理器(300),其特征还在于:该二维存储阵列为一二维印录阵列或一二维可写存储阵列。
8.根据权利要求5所述的处理器(300),其特征还在于:该三维存储阵列为一三维印录阵列或一三维可写存储阵列。
9.根据权利要求1或5所述的处理器(300),其特征在于还含有:一预处理电路(180R)和一后处理电路(180T)。
10.根据权利要求1或5所述的处理器(300),其特征还在于:该处理器为中央处理器(CPU)、现场编程门阵列(FPGA)、数码信号处理器(DSP)、图像处理器(GPU)、视频处理器(video processor)、加密/解密处理器、虚拟现实(VR)处理器、增强现实(AR)处理器、混合现实(MR)处理器、或人工智能(AI)处理器。
CN201710327118.9A 2016-05-10 2017-05-10 用于实现至少两类函数的处理器 Active CN107357551B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2016103073501 2016-05-10
CN201610307350 2016-05-10
CN2017103158716 2017-05-08
CN201710315871 2017-05-08

Publications (2)

Publication Number Publication Date
CN107357551A true CN107357551A (zh) 2017-11-17
CN107357551B CN107357551B (zh) 2021-01-26

Family

ID=60271671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710327118.9A Active CN107357551B (zh) 2016-05-10 2017-05-10 用于实现至少两类函数的处理器

Country Status (2)

Country Link
US (1) US10372359B2 (zh)
CN (1) CN107357551B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111326191A (zh) * 2018-12-13 2020-06-23 杭州海存信息技术有限公司 含有三维纵向存储阵列的处理器
CN112734654A (zh) * 2020-12-23 2021-04-30 中国科学院苏州纳米技术与纳米仿生研究所 一种图像处理方法、装置、设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055606B2 (en) * 2016-03-21 2021-07-06 HangZhou HaiCun Information Technology Co., Ltd. Vertically integrated neuro-processor
US10445067B2 (en) * 2016-05-06 2019-10-15 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor with in-package look-up table

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167829A1 (en) * 2000-08-14 2002-11-14 Friedman David R. Three-dimensional memory cache system
US20050071401A1 (en) * 2001-07-30 2005-03-31 Ati Technologies, Inc. Method and system for approximating sine and cosine functions
CN101124843A (zh) * 2004-12-20 2008-02-13 高通股份有限公司 使用自适应阈值进行的信令位检测
US20080117710A1 (en) * 2006-11-20 2008-05-22 Elpida Memory, Inc. Look-up table cascade circuit, look-up table cascade array circuit and a pipeline control method thereof
US20100017559A1 (en) * 2008-04-11 2010-01-21 Richard Matthew Fruin Memory device operable in read-only and write-once, read-many (WORM) modes of operation
CN102354304A (zh) * 2011-09-22 2012-02-15 青岛海信信芯科技有限公司 数据传输方法、数据传输装置和soc芯片
CN102436427A (zh) * 2011-11-07 2012-05-02 华为技术有限公司 一种数据读写方法和存储设备
CN102831140A (zh) * 2012-05-18 2012-12-19 浙江大学 一种fpga中mac地址查找表的实现方法
CN103094249A (zh) * 2011-10-31 2013-05-08 台湾积体电路制造股份有限公司 三维集成电路连接结构和方法
CN103594471A (zh) * 2012-08-17 2014-02-19 成都海存艾匹科技有限公司 三维可写印录存储器
CN103633048A (zh) * 2012-08-22 2014-03-12 成都海存艾匹科技有限公司 含有读/写电压产生器芯片的三维存储器
CN103875059A (zh) * 2011-09-01 2014-06-18 杭州海存信息技术有限公司 三维印录存储器
CN104536702A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种存储阵列系统及数据写请求处理方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US5046038A (en) 1989-07-07 1991-09-03 Cyrix Corporation Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5060182A (en) 1989-09-05 1991-10-22 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5604499A (en) 1993-12-28 1997-02-18 Matsushita Electric Industrial Co., Ltd. Variable-length decoding apparatus
US5901274A (en) 1994-04-30 1999-05-04 Samsung Electronics Co. Ltd. Method for enlargement/reduction of image data in digital image processing system and circuit adopting the same
US5835396A (en) 1996-10-17 1998-11-10 Zhang; Guobiao Three-dimensional read-only memory
KR100202956B1 (ko) 1996-12-26 1999-06-15 전주범 디지털 신호 처리 시스템에서의 삼각 합수 룩업 테이블 액세스 방법 및 장치
US6263470B1 (en) 1998-02-03 2001-07-17 Texas Instruments Incorporated Efficient look-up table methods for Reed-Solomon decoding
US6181355B1 (en) 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
US7366748B1 (en) 2000-06-30 2008-04-29 Intel Corporation Methods and apparatus for fast argument reduction in a computing system
US7206410B2 (en) 2001-10-10 2007-04-17 Stmicroelectronics S.R.L. Circuit for the inner or scalar product computation in Galois fields
US20040044710A1 (en) 2002-08-28 2004-03-04 Harrison John R. Converting mathematical functions to power series
US7028247B2 (en) 2002-12-25 2006-04-11 Faraday Technology Corp. Error correction code circuit with reduced hardware complexity
JP4199100B2 (ja) 2003-12-12 2008-12-17 富士通株式会社 関数演算方法及び関数演算回路
JP3845636B2 (ja) 2004-01-21 2006-11-15 株式会社東芝 関数近似値の演算器
US20060106905A1 (en) 2004-11-17 2006-05-18 Chren William A Jr Method for reducing memory size in logarithmic number system arithmetic units
US7512647B2 (en) 2004-11-22 2009-03-31 Analog Devices, Inc. Condensed Galois field computing system
US7574468B1 (en) 2005-03-18 2009-08-11 Verisilicon Holdings (Cayman Islands) Co. Ltd. Digital signal processor having inverse discrete cosine transform engine for video decoding and partitioned distributed arithmetic multiply/accumulate unit therefor
US7539927B2 (en) 2005-04-14 2009-05-26 Industrial Technology Research Institute High speed hardware implementation of modified Reed-Solomon decoder
US8203564B2 (en) 2007-02-16 2012-06-19 Qualcomm Incorporated Efficient 2-D and 3-D graphics processing
US8106918B2 (en) 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation
US7962543B2 (en) 2007-06-01 2011-06-14 Advanced Micro Devices, Inc. Division with rectangular multiplier supporting multiple precisions and operand types
US9207910B2 (en) 2009-01-30 2015-12-08 Intel Corporation Digital signal processor having instruction set with an xK function using reduced look-up table
US9015452B2 (en) 2009-02-18 2015-04-21 Texas Instruments Incorporated Vector math instruction execution by DSP processor approximating division and complex number magnitude
WO2013095463A1 (en) 2011-12-21 2013-06-27 Intel Corporation Math circuit for estimating a transcendental function
US20160027790A1 (en) * 2012-08-08 2016-01-28 Chengdu Haicun Ip Technology Llc Three-Dimensional Printed Memory
US9753695B2 (en) * 2012-09-04 2017-09-05 Analog Devices Global Datapath circuit for digital signal processors
US9813223B2 (en) 2013-04-17 2017-11-07 Intel Corporation Non-linear modeling of a physical system using direct optimization of look-up table values
US9606796B2 (en) 2013-10-30 2017-03-28 Texas Instruments Incorporated Computer and methods for solving math functions
US9768022B2 (en) * 2016-01-27 2017-09-19 Taiwan Semiconductor Manufacturing Company, Ltd. Advanced cross-linkable layer over a substrate

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167829A1 (en) * 2000-08-14 2002-11-14 Friedman David R. Three-dimensional memory cache system
US20050071401A1 (en) * 2001-07-30 2005-03-31 Ati Technologies, Inc. Method and system for approximating sine and cosine functions
CN101124843A (zh) * 2004-12-20 2008-02-13 高通股份有限公司 使用自适应阈值进行的信令位检测
US20080117710A1 (en) * 2006-11-20 2008-05-22 Elpida Memory, Inc. Look-up table cascade circuit, look-up table cascade array circuit and a pipeline control method thereof
US20100017559A1 (en) * 2008-04-11 2010-01-21 Richard Matthew Fruin Memory device operable in read-only and write-once, read-many (WORM) modes of operation
CN103875059A (zh) * 2011-09-01 2014-06-18 杭州海存信息技术有限公司 三维印录存储器
CN102354304A (zh) * 2011-09-22 2012-02-15 青岛海信信芯科技有限公司 数据传输方法、数据传输装置和soc芯片
CN103094249A (zh) * 2011-10-31 2013-05-08 台湾积体电路制造股份有限公司 三维集成电路连接结构和方法
CN102436427A (zh) * 2011-11-07 2012-05-02 华为技术有限公司 一种数据读写方法和存储设备
CN102831140A (zh) * 2012-05-18 2012-12-19 浙江大学 一种fpga中mac地址查找表的实现方法
CN103594471A (zh) * 2012-08-17 2014-02-19 成都海存艾匹科技有限公司 三维可写印录存储器
CN103633048A (zh) * 2012-08-22 2014-03-12 成都海存艾匹科技有限公司 含有读/写电压产生器芯片的三维存储器
CN104536702A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种存储阵列系统及数据写请求处理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111326191A (zh) * 2018-12-13 2020-06-23 杭州海存信息技术有限公司 含有三维纵向存储阵列的处理器
CN112734654A (zh) * 2020-12-23 2021-04-30 中国科学院苏州纳米技术与纳米仿生研究所 一种图像处理方法、装置、设备和存储介质
CN112734654B (zh) * 2020-12-23 2024-02-02 中国科学院苏州纳米技术与纳米仿生研究所 一种图像处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20170329548A1 (en) 2017-11-16
CN107357551B (zh) 2021-01-26
US10372359B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
CN107357551A (zh) 用于实现至少两类函数的处理器
CN109328343B (zh) 具有用以加速大数据应用的计算引擎的非易失性存储系统
US20190295228A1 (en) Image in-painting for irregular holes using partial convolutions
US20180293174A1 (en) Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
CN109840223A (zh) 存储器装置、包括其的电子装置和电子装置的操作方法
CN107305594B (zh) 含有三维存储阵列的处理器
US11961001B2 (en) Parallel forward and backward propagation
US11397886B2 (en) Vertical mapping and computing for deep neural networks in non-volatile memory
CN102541749B (zh) 多粒度并行存储系统
Yavits et al. GIRAF: General purpose in-storage resistive associative framework
CN114341802A (zh) 用于执行存储器内处理操作的方法及相关存储器装置和系统
US20210056446A1 (en) Inference accelerator using logarithmic-based arithmetic
Mishty et al. Designing efficient and high-performance ai accelerators with customized stt-mram
Bhattacharjee et al. Crossbar-constrained technology mapping for ReRAM based in-memory computing
Ghaffar et al. A low power in-DRAM architecture for quantized CNNs using fast Winograd convolutions
Soliman et al. A ferroelectric fet based in-memory architecture for multi-precision neural networks
Rybalkin et al. Efficient hardware architectures for 1D-and MD-LSTM networks
Sudarshan et al. A novel DRAM-based process-in-memory architecture and its implementation for CNNs
US20210056399A1 (en) Asynchronous accumulator using logarithmic-based arithmetic
CN109545783A (zh) 含有三维存储阵列的三维计算芯片
Huai et al. Performance-aware wear leveling for block RAM in nonvolatile FPGAs
CN112328535B (zh) 含有三维存储阵列的处理器
Zhou et al. Bring memristive in-memory computing into general-purpose machine learning: A perspective
Choong et al. Hardware-software co-exploration with racetrack memory based in-memory computing for CNN inference in embedded systems
CN110244933B (zh) 一种基于cuda的矩阵转置方法

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
CP02 Change in the address of a patent holder

Address after: No.16, 34th floor, building 2, No.88, Jitai fifth road, high tech Zone, Chengdu, Sichuan, 640041

Patentee after: ChengDu HaiCun IP Technology LLC

Address before: B-36, 6 Yongfeng Road, Chengdu, Sichuan 610041

Patentee before: ChengDu HaiCun IP Technology LLC

CP02 Change in the address of a patent holder