CN111314075B - 一种基于运算装置的汉明重量计算方法 - Google Patents
一种基于运算装置的汉明重量计算方法 Download PDFInfo
- Publication number
- CN111314075B CN111314075B CN202010128185.XA CN202010128185A CN111314075B CN 111314075 B CN111314075 B CN 111314075B CN 202010128185 A CN202010128185 A CN 202010128185A CN 111314075 B CN111314075 B CN 111314075B
- Authority
- CN
- China
- Prior art keywords
- transistor
- memory
- state
- resistance state
- controller
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/405—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay binary
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Electromagnetism (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请实施例公开了一种基于运算装置的汉明重量计算方法。本申请中运算装置包括控制器和第一运算单元,控制器与第一运算单元信号连接,第一运算单元包括第一存储器和第一晶体管,第一晶体管的漏极与第一存储器的负极相连,第一晶体管的源极接地。汉明重量计算方法由控制器执行。具体地,将所述第一存储器的初始阻态设置为低阻状态。根据输入的第一二进制序列中的第一比特数据确定所述第一晶体管的第一栅极电压,并根据所述第一栅极电压控制所述第一晶体管的通断状态。根据所述第一晶体管的通断状态控制所述第一存储器的目标阻态。根据所述第一晶体管的源极上的第一输出电流确定所述第一比特数据的汉明重量。
Description
技术领域
本申请涉及数字电路领域,尤其涉及一种基于运算装置的汉明重量计算方法。
背景技术
在当今的信息化时代,编码理论得到了广泛的研究与应用,在编码论中,我们常常需要计算一组码的容错率,这时候就需要计算这串数据的汉明重量(Hamming Weight,HW)。汉明重量是一种特殊的汉明距离,即一串数据“A”的汉明重量等于这串数据与同长度的全“0”数据串之间的汉明距离。即数据“A”内所含的“1”的个数。例如:数据A=00110101,HW(A)=4。
除在编码论中具有重要作用,在数字滤波、分段多元线性函数、二进制矩阵的覆盖、布尔可适性、图像着色等领域中,均需要频繁地计算数据汉明重量。传统计算机架构实现汉明重量计算的一种方式是在处理器中引入位1计算(population count,POPCNT)指令。然而,POPCNT指令的实现需要大量的全加器和半加器,导致电路规模较大,功耗较高。
发明内容
本申请实施例提供了一种基于运算装置的汉明重量计算方法,基于单存储器和单晶体管(One Transistor One Resistor,1T1R)结构的运算装置无需大量的全加器和半加器,电路规模更小,有效降低了功耗。
第一方面,本申请实施例提供的运算装置包括控制器和第一运算单元,控制器与第一运算单元信号连接,第一运算单元包括第一存储器和第一晶体管,第一晶体管的漏极与第一存储器的负极相连,第一晶体管的源极接地。
汉明重量的计算方法由控制器执行。具体地,控制器首先将第一存储器的初始阻态设置为低阻状态。之后,控制器根据输入的第一二进制序列中的第一比特数据调节第一晶体管的第一栅极电压,以实现控制第一晶体管的通断状态,其中,当第一比特数据为0时,第一晶体管为导通状态;当第一比特数据为1时,第一晶体管为断开状态。接下来,控制器根据第一晶体管的通断状态控制第一存储器的目标阻态,其中,当第一晶体管为导通状态,第一存储器的目标阻态为高阻状态;当第一晶体管为断开状态,第一存储器的目标阻态为低阻状态。进而,控制器根据第一晶体管的源极上的第一输出电流确定第一比特数据的汉明重量。
在该实施方式中,以1T1R结构为基本的运算单元来计算二进制序列的汉明重量。具体的,根据二进制序列改变晶体管的栅极电压以控制晶体管的导通和断开,并通过调节存储器上加载的电压以改变存储器的阻态,以此相互配合实现汉明重量的计算。基于1T1R结构的运算装置无需大量的全加器和半加器,电路规模更小,有效降低了功耗。
可选地,在一些可能的实施方式中,运算装置还包括第二运算单元,控制器与第二运算单元信号连接,第二运算单元包括第二存储器和第二晶体管,第二晶体管的漏极与第二存储器的负极相连,第二晶体管的源极与第一晶体管的源极相连,第二存储器的正极和第一存储器的正极相连。
控制器控制第二运算单元实现汉明重量的计算与控制第一运算单元的方式类似。具体地,控制器首先将第二存储器的初始阻态设置为低阻状态。之后,控制器根据输入的第一二进制序列中的第二比特数据调节第二晶体管的第二栅极电压,以实现控制第二晶体管的通断状态,其中,当第二比特数据为0时,第二晶体管为导通状态;当第二比特数据为1时,第二晶体管为断开状态。接下来,控制器根据第二晶体管的通断状态控制第二存储器的目标阻态,其中,当第二晶体管为导通状态,第二存储器的目标阻态为高阻状态;当第二晶体管为断开状态,第二存储器的目标阻态为低阻状态。进而,控制器根据第二晶体管的源极上的第二输出电流确定第二比特数据的汉明重量。
在该实施方式中,运算装置可以包括多个运算单元,每个运算单元用于计算二进制序列中的一个比特数据的汉明重量,以此实现对一串比特数据的汉明重量的计算,提高了本方案的扩展性。
可选地,在一些可能的实施方式中,根据第一晶体管的源极上的输出电流确定第一比特数据的汉明重量包括:首先控制第一晶体管导通。接下来,通过调节加载在第一存储器上的电压获取第一输出电流。进而,根据第一输出电流和预置电流确定第一比特数据的汉明重量。
在该实施方式中,提供了获取第一输出电流的具体方式,以及根据第一输出电流计算汉明重量的具体方式,提高了本方案的可实现性。
可选地,在一些可能的实施方式中,根据第一晶体管的通断状态控制第一存储器的目标阻态包括:通过调节加载在第一存储器上的电压控制第一存储器的目标阻态。需要说明的是,在第一晶体管导通的状态下,基于第一存储器的特性,可以通过调节加载在第一存储器上的电压调节第一存储器的阻态。在第一晶体管断开的状态下,即使改变加载在第一存储器上的电压也无法改变第一存储器的阻态。
可选地,在一些可能的实施方式中,将第一存储器的初始阻态设置为低阻状态包括:首先控制第一晶体管导通。进而,通过调节加载在第一存储器上的电压将第一存储器的初始阻态设置为低阻状态。
在该实施方式中,提供了将第一存储器设置为低阻状态的具体实现方式,进一步提高了本方案的可实现性。
可选地,在一些可能的实施方式中,运算装置还包括第三运算单元,控制器与第三运算单元信号连接,第三运算单元包括第三存储器和第三晶体管,第三晶体管的漏极与第三存储器的负极相连,第三晶体管的源极接地,第三晶体管的栅极与第一晶体管的栅极相连。
控制器控制第三运算单元实现汉明重量的计算与控制第一运算单元的方式类似。具体地,控制器首先将第三存储器的初始阻态设置为低阻状态。之后,控制器根据输入的第二二进制序列中的第三比特数据调节第三晶体管的第三栅极电压,以实现控制第三晶体管的通断状态,其中,当第三比特数据为0时,第三晶体管为导通状态;当第三比特数据为1时,第三晶体管为断开状态。接下来,控制器根据第三晶体管的通断状态控制第三存储器的目标阻态,其中,当第三晶体管为导通状态,第三存储器的目标阻态为高阻状态;当第三晶体管为断开状态,第三存储器的目标阻态为低阻状态。进而,控制器根据第三晶体管的源极上的第三输出电流确定第三比特数据的汉明重量。
在该实施方式中,第一比特数据和第二比特数据属于第一二进制序列,第三比特数据属于第二二进制序列。该运算装置可以是包括多行多列的运算单元阵列,例如,第一列的多个运算单元用于计算第一二进制序列的汉明重量,第二列的多个运算单元用于计算第二二进制序列的汉明重量。从而基于该运行装置可以依次对多个不同的二进制序列计算汉明重量,进一步提高了本方案的扩展性。
可选地,在一些可能的实施方式中,第一存储器的类型包括非易失性存储器,第一晶体管的类型包括金氧半场效晶体管。
第二方面,本申请实施例提供了一种控制器,控制器与第一运算单元信号连接,第一运算单元包括第一存储器和第一晶体管,第一晶体管的漏极与第一存储器的负极相连,第一晶体管的源极接地;
控制器包括:
控制单元,用于将第一存储器的初始阻态设置为低阻状态;
根据输入的第一二进制序列中的第一比特数据确定第一晶体管的第一栅极电压,并根据第一栅极电压控制第一晶体管的通断状态,其中,当第一比特数据为0时,第一晶体管为导通状态;当第一比特数据为1时,第一晶体管为断开状态;
根据第一晶体管的通断状态控制第一存储器的目标阻态,其中,当第一晶体管为导通状态,第一存储器的目标阻态为高阻状态;当第一晶体管为断开状态,第一存储器的目标阻态为低阻状态;
计算单元,用于根据第一晶体管的源极上的第一输出电流确定第一比特数据的汉明重量。
可选地,在一些可能的实施方式中,控制器还与第二运算单元信号连接,第二运算单元包括第二存储器和第二晶体管,第二晶体管的漏极与第二存储器的负极相连,第二晶体管的源极与第一晶体管的源极相连,第二存储器的正极和第一存储器的正极相连;
控制单元还用于:
将第二存储器的初始阻态设置为低阻状态;
根据第一二进制序列中的第二比特数据确定第二晶体管的第二栅极电压,并根据第二栅极电压控制第二晶体管的通断状态,其中,当第二比特数据为0时,第二晶体管为导通状态;当第二比特数据为1时,第二晶体管为断开状态;
根据第二晶体管的通断状态控制第二存储器的目标阻态,其中,当第二晶体管为导通状态,第二存储器的目标阻态为高阻状态;当第二晶体管为断开状态,第二存储器的目标阻态为低阻状态;
计算单元还用于:根据第二晶体管的源极上的第二输出电流确定第二比特数据的汉明重量。
可选地,在一些可能的实施方式中,控制单元具体用于:控制第一晶体管导通;
计算单元具体用于:
通过调节加载在第一存储器上的电压获取第一输出电流;
根据第一输出电流和预置电流确定第一比特数据的汉明重量。
可选地,在一些可能的实施方式中,控制单元具体用于:通过调节加载在第一存储器上的电压控制第一存储器的目标阻态。
可选地,在一些可能的实施方式中,控制单元具体用于:控制第一晶体管导通;
通过调节加载在第一存储器上的电压将第一存储器的初始阻态设置为低阻状态。
可选地,在一些可能的实施方式中,控制器还与第三运算单元信号连接,第三运算单元包括第三存储器和第三晶体管,第三晶体管的漏极与第三存储器的负极相连,第三晶体管的源极接地,第三晶体管的栅极与第一晶体管的栅极相连;
控制单元还用于:
将第三存储器的初始阻态设置为低阻状态;
根据输入的第二二进制序列中的第三比特数据确定第三晶体管的第三栅极电压,并根据第三栅极电压控制第三晶体管的通断状态,其中,当第三比特数据为0时,第三晶体管为导通状态;当第三比特数据为1时,第三晶体管为断开状态;
根据第三晶体管的通断状态控制第三存储器的目标阻态,其中,当第三晶体管为导通状态,第三存储器的目标阻态为高阻状态;当第三晶体管为断开状态,第三存储器的目标阻态为低阻状态;
计算单元还用于:根据第三晶体管的源极上的第三输出电流确定第三比特数据的汉明重量。
可选地,在一些可能的实施方式中,第一存储器的类型包括非易失性存储器,第一晶体管的类型包括金氧半场效晶体管。
第三方面,本申请实施例提供了一种运算装置,包括控制器和第一运算单元,控制器与第一运算单元信号连接,第一运算单元包括第一存储器和第一晶体管,第一晶体管的漏极与第一存储器的负极相连,第一晶体管的源极接地;
控制器用于将第一存储器的初始阻态设置为低阻状态;
控制器用于根据输入的第一二进制序列中的第一比特数据确定第一晶体管的第一栅极电压;
第一晶体管的栅极用于输入第一栅极电压,其中,当第一比特数据为0时,第一晶体管为导通状态;当第一比特数据为1时,第一晶体管为断开状态;
控制器用于根据第一晶体管的通断状态控制第一存储器的目标阻态,其中,当第一晶体管为导通状态,第一存储器的目标阻态为高阻状态;当第一晶体管为断开状态,第一存储器的目标阻态为低阻状态;
第一晶体管的源极用于输出第一输出电流;
控制器用于根据第一输出电流确定第一比特数据的汉明重量。
可选地,在一些可能的实施方式中,运算装置还包括第二运算单元,控制器与第二运算单元信号连接,第二运算单元包括第二存储器和第二晶体管,第二晶体管的漏极与第二存储器的负极相连,第二晶体管的源极与第一晶体管的源极相连,第二存储器的正极和第一存储器的正极相连;
控制器用于将第二存储器的初始阻态设置为低阻状态;
控制器用于根据第一二进制序列中的第二比特数据确定第二晶体管的第二栅极电压;
第二晶体管的栅极用于输入第二栅极电压,其中,当第二比特数据为0时,第二晶体管为导通状态;当第二比特数据为1时,第二晶体管为断开状态;
控制器用于根据第二晶体管的通断状态控制第二存储器的目标阻态,其中,当第二晶体管为导通状态,第二存储器的目标阻态为高阻状态;当第二晶体管为断开状态,第二存储器的目标阻态为低阻状态;
晶体管的源极用于输出第二输出电流;
控制器用于根据第二输出电流确定第二比特数据的汉明重量。
可选地,在一些可能的实施方式中,控制器具体用于:
控制第一晶体管导通;
通过调节加载在第一存储器上的电压获取第一输出电流;
根据第一输出电流和预置电流确定第一比特数据的汉明重量。
可选地,在一些可能的实施方式中,控制器具体用于:通过调节加载在第一存储器上的电压控制第一存储器的目标阻态。
可选地,在一些可能的实施方式中,控制器具体用于:
控制第一晶体管导通;
通过调节加载在第一存储器上的电压将第一存储器的初始阻态设置为低阻状态。
可选地,在一些可能的实施方式中,运算装置还包括第三运算单元,控制器与第三运算单元信号连接,第三运算单元包括第三存储器和第三晶体管,第三晶体管的漏极与第三存储器的负极相连,第三晶体管的源极接地,第三晶体管的栅极与第一晶体管的栅极相连;
控制器用于将第三存储器的初始阻态设置为低阻状态;
控制器用于根据输入的第二二进制序列中的第三比特数据确定第三晶体管的第三栅极电压;
第三晶体管的栅极用于输入第三栅极电压,其中,当第三比特数据为0时,第三晶体管为导通状态;当第三比特数据为1时,第三晶体管为断开状态;
控制器用于根据第三晶体管的通断状态控制第三存储器的目标阻态,其中,当第三晶体管为导通状态,第三存储器的目标阻态为高阻状态;当第三晶体管为断开状态,第三存储器的目标阻态为低阻状态;
第三晶体管的源极用于输出第三输出电流;
控制器用于根据第三输出电流确定第三比特数据的汉明重量。
可选地,在一些可能的实施方式中,第一存储器的类型包括非易失性存储器,第一晶体管的类型包括金氧半场效晶体管。
在本申请实施例中,以1T1R结构为基本的运算单元来计算二进制序列的汉明重量。具体的,根据二进制序列改变晶体管的栅极电压以控制晶体管的导通和断开,并通过调节存储器上加载的电压以改变存储器的阻态,以此相互配合实现汉明重量的计算。基于1T1R结构的运算装置无需大量的全加器和半加器,电路规模更小,有效降低了功耗。
附图说明
图1为本申请实施例中运算装置的第一种结构示意图;
图2为本申请实施例中运算装置的第二种结构示意图;
图3为本申请中汉明重量计算方法的实施例示意图;
图4为一种晶体管的源漏伏安特性曲线与栅极电压的对应关系图;
图5为一种存储器的伏安特性曲线示意图;
图6为本申请实施例中运算装置的第三种结构示意图;
图7为本申请实施例中控制器的一种结构示意图。
具体实施方式
本申请实施例提供了一种基于运算装置的汉明重量计算方法,基于1T1R结构的运算装置无需大量的全加器和半加器,电路规模更小,有效降低了功耗。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本申请实施例中运算装置的第一种结构示意图。该运算装置包括控制器10和第一运算单元20,控制器10与第一运算单元20信号相连。下面对第一运算单元20的结构进行介绍。第一运算单元20包括晶体管201和存储器202。即第一运算单元20可以通过单个晶体管201和单个存储器202串联构成的1T1R结构来实现。具体地,晶体管201的漏极与存储器202的负极相连,晶体管201的源极接地。
需要说明的是,第一运算单元20具体用于计算二进制序列中一位比特数据的汉明重量,那么对于包含多位比特数据的二进制序列,需要多个与第一运算单元20结构相同的运算单元来计算其汉明重量。图2为本申请实施例中运算装置的第二种结构示意图。运算装置包括第一运算单元20和第二运算单元30等多个运算单元。控制器10与每个运算单元信号连接。每个运算单元的存储器的正极相连。每个运算单元的晶体管的源极相连并接地。每个运算单元中晶体管的漏极与存储器的负极相连。
可选地,存储器的类型包括非易失性存储器,例如阻变存储器。在不同操作电压作用下可发生电阻状态的改变,且电压撤去后信息不会丢失,即该存储器的阻态包括低阻状态和高阻状态。阻变存储器具有操作速度快、功耗低、尺寸缩小性好以及与互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)兼容等优点,因此备受半导体产业界的关注。
可选地,晶体管的类型包括金氧半场效晶体管(Metal-Oxide-SemiconductorField-Effect Transistor,MOSFET)。MOSFET依照其通道(工作载流子)的极性不同,可分为“N型”与“P型”的两种类型,通常又称为N-MOSFET与P-MOSFET,其他简称上包括NMOS、PMOS等。即NMOS晶体管需要施加极性为正的栅极电压和漏源电压与PMOS晶体管不同。
需要说明的是,根据汉明重量的定义,计算未知数据或字符串“A”的汉明重量可通过与等长度的全“0”序列进行逻辑“异或”运算来完成,同时根据逻辑运算特性,同“0”进行“异或”运算,等价于同“1”进行“与”运算,因此可以通过将未知数据或字符串“A”进行按位“与”的操作来完成汉明重量的计算。
本申请所提供的汉明重量计算方法基于上述运算装置的结构,该汉明重量计算方法由控制器10执行,控制器10对各运算单元进行控制以实现汉明重量的计算。其中,晶体管201通过栅极电压的改变实现导通和断开,以此控制串联电流。存储器202则在外加操作电压和晶体管的共同控制下发生阻态变化。具体来讲,将晶体管201的栅极电压与待测二进制数据进行匹配,如二进制数据“0”和“1”分别对应晶体管201的开启电压和零电压。其中,二进制数据也称为比特数据。将存储器202的高阻状态和低阻状态分别与逻辑“0”和“1”匹配。在存储器202处于低阻状态,即“1”状态时,若输入二进制数据为“0”,晶体管201导通,存储器202在外加电压的作用下转变为高阻,即“0”状态,完成0AND1=0的操作。若输入二进制数据为“1”,晶体管201断开,外加电压无法使存储器202的阻态发生变化,存储器202保持“1”状态,实现1AND 1=1的操作。由于存储器202的高阻状态对应的电流远远小于低阻状态对应的电流,因此,若存储器保持低阻状态,则晶体管的源极上的输出电流近似等于预置低阻态电流,若存储器转变为高阻状态,则晶体管的源极上的输出电流远远小于预置低阻态电流。那么,通过比较晶体管的源极上的输出电流和预置低阻态电流即可确定二进制数据的汉明重量。若是0AND 1=0的操作,则汉明重量为0;若是1AND 1=1的操作,则汉明重量为1。此外,若计算的是二进制序列的汉明重量,那么各运算单元的晶体管源极上输出的总电流近似等于预置低阻态电流的整数倍,若倍数为n,则输入二进制序列汉明重量的十进制表示为n。例如,输入的二进制序列为“00110101”,通过操作可以实现00110101AND 1111111=00110101,对于运算结果“00110101”,其输出电流近似等于四倍的预置低阻态读取电流,因此输出的十进制结果为4,正好是输入序列“00110101”的汉明重量。
下面以第一运算单元20为例对本申请实施例中的汉明重量计算方法进行详细介绍。图3为本申请中汉明重量计算方法的实施例示意图。
301、将存储器的初始阻态设置位低阻状态。
本实施例中,首先需要将运算单元的存储器的初始阻态设置为低阻状态,即逻辑“1”的状态,以便于后续实现二进制序列同“1”进行“与”的运算。具体地,控制运算单元中的晶体管导通,并通过调节加载在运算单元中的存储器上的电压将存储器的初始阻态设置为低阻状态。
需要说明的是,控制晶体管的导通或断开可以通过改变晶体管的栅极电压来实现。图4为一种晶体管的源漏伏安特性曲线与栅极电压的对应关系图。图4以PMOS晶体管为例,当栅极电压比较大,接近于零时(仍是负值),即使源漏电压(横坐标表示)很大,也难以检测到源漏电流(纵坐标表示),对应着晶体管的断开状态。随着栅极电压减小至晶体管开启电压,在很小的源漏电压下,就能获得较大的源漏电流,对应着晶体管的导通状态。栅极电压继续减小,源漏电流会逐渐饱和,不会明显增大,所以选取合适的栅极电压即可控制晶体管的导通和断开,该使晶体管导通的栅极电压称为晶体管的开启电压。需要注意的是,与NMOS管不同,PMOS管的开启电压为负值,且正常工作状态下,PMOS管的栅极电压为负值,当栅极电压大于等于0电压时,PMOS管的源漏电流很小,无法被检测到。目前常用的PMOS管的开启电压为-1.5V。当实际晶体管的开启电压具有更大的值时,实际施加在栅极的操作电压也可以随之增大。
下面通过举例介绍具体如何调节存储器的阻态。图5为一种存储器的伏安特性曲线示意图。由图5可知,存储器为单极性阻变存储器,单极性阻变存储器在正电压或负电压下均可发生阻变,所以阻变的决定因素不是电压极性,而是电压幅值的绝对值。当加在存储器两端的正向电压大于或等于第一阈值时(如图5中Vset处),存储器从高阻状态变为低阻状态。当加在存储器的反向电压小于或等于第二阈值时(如图5中Vreset处),存储器从低阻状态变为高阻状态。基于上述阻变存储器的特性,通过控制加载在存储器上的电压并结合晶体管的导通特性,即可达到控制存储器的阻态的目的。
可选地,还可以通过获取晶体管的源极上的输出电流确定运算单元的存储器的阻态是否已设置为低阻状态。请参阅图5,晶体管开启后,导通电阻可忽略不计,当加载在存储器两端的电压位于第一阈值和第二阈值之间时(如图5中Vread处),则可以在晶体管的源极上获取输出电流。例如,单个运算单元中存储器为低阻状态时其输出电流为已知的预置电流,那么若获取到的输出电流与该预置电流相同,则说明运算单元中存储器的阻态已设置为低阻状态。
可以理解的是,上述图5所列举的改变存储器阻态的方式只是一种示例,在实际应用中,也可以根据存储器的实际特性采用不同的方式调节存储器的阻态,具体此处不做限定。
302、根据输入的二进制序列控制运算单元的晶体管的通断状态。
本实施例中,控制器10首先获取输入的二进制序列,其中,该二进制序列中的每个比特都有对应的运算单元。例如,该二进制序列一共有8位,那么相应的运算装置中也需要至少有对应的8各运算单元,第一运算单元20用于计算第一位比特数据的汉明重量,第二运算单元30用于计算第二位比特数据的汉明重量,以此类推,结合8个运算单元即可计算该8位二进制序列的汉明重量。
接下来,控制器10可以根据输入的二进制序列控制与其对应的每个运算单元中晶体管的通断状态。其中,比特为0所对应的运算单元的晶体管为导通状态,比特为1所对应的运算单元的晶体管为断开状态。具体地,控制器根据输入的二进制序列中的比特数据确定晶体管的栅极电压,根据栅极电压来控制晶体管的通断,与图4所对应的描述类似,此处不再赘述。
303、根据晶体管的通断状态控制运算单元的存储器的目标阻态。
本实施例中,存储器的初始阻态在外加操作电压和晶体管的共同作用下变化为目标阻态。并且由于比特数据是0和1分别对应的晶体管的通断状态不同,目标阻态可能与初始阻态保持一致,也可能不同于初始阻态。具体地,控制器10可以在运算单元的存储器上加载如图5所示的Vreset电压。那么若运算单元中晶体管为导通状态,则该运算单元中存储器由低阻状态变为高阻状态,即目标阻态为高阻状态。若运算单元中晶体管为断开状态,外加电压无法改变存储器的阻态,则运算单元中存储器仍保持低阻状态,即目标阻态为低阻状态。其中,调整存储器阻态的方式与图5所对应的描述类似,此处不再赘述。
需要说明的是,运算单元中存储器由初始阻态变化为目标阻态的过程,也就是二进制序列与全“1”序列(初始阻态均为低阻状态)按位进行“与”的操作,输出结果就是各存储器的目标阻态。
304、根据晶体管源极上的输出电流确定二进制序列的汉明重量。
本实施例中,在确定了运算单元中存储器的目标阻态后,下一步即可根据各晶体管的源极上的总输出电流确定二进制序列的汉明重量。具体地,首先将各运算单元中的晶体管调节为导通状态。然后,调节各运算单元中存储器上的电压(如图5所示的Vread),以获取各晶体管的源极上的总输出电流。进而,通过该总输出电流与预置电流的比较确定二进制序列的汉明重量。由于存储器处于低阻状态的输出电流远大于高阻状态的输出电流,因此上述的总输出电流主要由低阻状态的电流决定。其中,单个运算单元中存储器为低阻状态时其输出电流为已知的预置电流,那么总输出电流相对于预置电流的倍数即为汉明重量结果。例如,输入的二进制序列为“00110101”,通过操作可以实现00110101AND 1111111=00110101,对于运算结果“00110101”,其输出电流近似等于四倍的预置电流,因此输出的十进制结果为4,正好是输入序列“00110101”的汉明重量。
可选地,本申请所提供的运算装置还可以对多个二进制序列的汉明重量进行计算。图6为本申请实施例中运算装置的第三种结构示意图。该运算装置可以包括多列运算单元,每一列运算单元用于计算一个二进制序列的汉明重量。其中,每一列的运算单元的晶体管的栅极与其他列对应位置处的运算单元的晶体管的栅极相连。例如,每一列包括10个运算单元依次排列,那么每一列的第一个运算单元的晶体管的栅极相连,每一列的第二个运算单元的晶体管的栅极相连,以此类推。在计算第一个二进制序列的汉明重量时,控制器控制每一行的栅极电压和第一列各运算单元的存储器上加载的电压。在计算第二个二进制序列的汉明重量时,控制器控制每一行的栅极电压和第二列各运算单元的存储器上加载的电压,依次类推,即可依次完成多个二进制序列的汉明重量计算。
可以理解的是,每一列运算单元的数量应大于或等于需要计算的二进制序列的位数。通过控制器依次控制每一列运算单元执行上述301至304的操作即可计算出多个二进制序列的汉明重量。
另外,若二进制序列的长度较长,其位数多于一列运算单元的数量,也可以利用多列运算单元来计算该二进制序列的汉明重量。具体地,将该二进制序列拆分位多个位数小于或等于m(每一列运算单元的数量)的序列,再分别利用不同列的运算单元对拆分后的各二进制序列进行汉明重量计算。例如,运算装置包括m*n个运算单元,m=10且n=10,即运算装置包括10列运算单元,且每一列运算单元共包括10个运算单元。如果一个位数为21的二进制序列(21>m)待计算,那么可以把它顺次拆分成10+10+1三个新的二进制序列。然后任意选择3列运算单元,进而按照上述方法依次得到三个计算结果。最后将三个计算结果相加,即可得到21位的完整序列的汉明重量。
本申请实施例中,以1T1R结构为基本的运算单元来计算二进制序列的汉明重量。具体的,根据二进制序列改变晶体管的栅极电压以控制晶体管的导通和断开,并通过调节存储器上加载的电压以改变存储器的阻态,以此相互配合实现汉明重量的计算。基于1T1R结构的运算装置无需大量的全加器和半加器,电路规模更小,有效降低了功耗。
下面对本申请实施例所提供的一种控制器进行介绍:
图7为本申请实施例中控制器的一种结构示意图。控制器的外部与一个或多个运算单元信号连接,具体可以如图1、图2和图6中任意一种运算装置的结构所示。本实施例中的运算单元与上述如图1、图2和图6所示实施例中的运算单元类似,此处不再赘述。如图7所示,控制器的内部包括控制单元701和计算单元702。其中,控制单元701用于执行上述图3所示实施例的步骤301-步骤303。计算单元702用于执行上述图3所示实施例的步骤304。
应理解,本申请实施例中提及的控制器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
需要说明的是,以上实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (18)
1.一种基于运算装置的汉明重量计算方法,其特征在于,所述运算装置包括控制器和第一运算单元,所述控制器与所述第一运算单元信号连接,所述第一运算单元包括第一存储器和第一晶体管,所述第一晶体管的漏极与所述第一存储器的负极相连,所述第一晶体管的源极接地;
所述方法由所述控制器执行,所述方法包括:
将所述第一存储器的初始阻态设置为低阻状态;
根据输入的第一二进制序列中的第一比特数据确定所述第一晶体管的第一栅极电压,并根据所述第一栅极电压控制所述第一晶体管的通断状态,其中,当所述第一比特数据为0时,所述第一晶体管为导通状态;当所述第一比特数据为1时,所述第一晶体管为断开状态;
根据所述第一晶体管的通断状态控制所述第一存储器的目标阻态,其中,当所述第一晶体管为导通状态,所述第一存储器的目标阻态为高阻状态;当所述第一晶体管为断开状态,所述第一存储器的目标阻态为低阻状态;
控制第一晶体管导通;
通过调节加载在所述第一存储器上的电压获取第一输出电流;
根据所述第一输出电流和预置电流确定所述第一比特数据的汉明重量。
2.根据权利要求1所述的方法,其特征在于,所述运算装置还包括第二运算单元,所述控制器与所述第二运算单元信号连接,所述第二运算单元包括第二存储器和第二晶体管,所述第二晶体管的漏极与所述第二存储器的负极相连,所述第二晶体管的源极与所述第一晶体管的源极相连,所述第二存储器的正极和所述第一存储器的正极相连;所述方法还包括:
将所述第二存储器的初始阻态设置为低阻状态;
根据所述第一二进制序列中的第二比特数据确定所述第二晶体管的第二栅极电压,并根据所述第二栅极电压控制所述第二晶体管的通断状态,其中,当所述第二比特数据为0时,所述第二晶体管为导通状态;当所述第二比特数据为1时,所述第二晶体管为断开状态;
根据所述第二晶体管的通断状态控制所述第二存储器的目标阻态,其中,当所述第二晶体管为导通状态,所述第二存储器的目标阻态为高阻状态;当所述第二晶体管为断开状态,所述第二存储器的目标阻态为低阻状态;
根据所述第二晶体管的源极上的第二输出电流确定所述第二比特数据的汉明重量。
3.根据权利要求1至2中任一项所述的方法,其特征在于,根据所述第一晶体管的通断状态控制所述第一存储器的目标阻态包括:
通过调节加载在所述第一存储器上的电压控制所述第一存储器的目标阻态。
4.根据权利要求1至2中任一项所述的方法,其特征在于,将所述第一存储器的初始阻态设置为低阻状态包括:
控制所述第一晶体管导通;
通过调节加载在所述第一存储器上的电压将所述第一存储器的初始阻态设置为低阻状态。
5.根据权利要求1至2中任一项所述的方法,其特征在于,所述运算装置还包括第三运算单元,所述控制器与所述第三运算单元信号连接,所述第三运算单元包括第三存储器和第三晶体管,所述第三晶体管的漏极与所述第三存储器的负极相连,所述第三晶体管的源极接地,所述第三晶体管的栅极与所述第一晶体管的栅极相连;所述方法还包括:
将所述第三存储器的初始阻态设置为低阻状态;
根据输入的第二二进制序列中的第三比特数据确定所述第三晶体管的第三栅极电压,并根据所述第三栅极电压控制所述第三晶体管的通断状态,其中,当所述第三比特数据为0时,所述第三晶体管为导通状态;当所述第三比特数据为1时,所述第三晶体管为断开状态;
根据所述第三晶体管的通断状态控制所述第三存储器的目标阻态,其中,当所述第三晶体管为导通状态,所述第三存储器的目标阻态为高阻状态;当所述第三晶体管为断开状态,所述第三存储器的目标阻态为低阻状态;
根据所述第三晶体管的源极上的第三输出电流确定所述第三比特数据的汉明重量。
6.根据权利要求1至2中任一项所述的方法,其特征在于,所述第一存储器的类型包括非易失性存储器,所述第一晶体管的类型包括金氧半场效晶体管。
7.一种控制器,其特征在于,所述控制器与第一运算单元信号连接,所述第一运算单元包括第一存储器和第一晶体管,所述第一晶体管的漏极与所述第一存储器的负极相连,所述第一晶体管的源极接地;
所述控制器包括:
控制单元,用于将所述第一存储器的初始阻态设置为低阻状态;
根据输入的第一二进制序列中的第一比特数据确定所述第一晶体管的第一栅极电压,并根据所述第一栅极电压控制所述第一晶体管的通断状态,其中,当所述第一比特数据为0时,所述第一晶体管为导通状态;当所述第一比特数据为1时,所述第一晶体管为断开状态;
根据所述第一晶体管的通断状态控制所述第一存储器的目标阻态,其中,当所述第一晶体管为导通状态,所述第一存储器的目标阻态为高阻状态;当所述第一晶体管为断开状态,所述第一存储器的目标阻态为低阻状态;
所述控制单元用于:控制第一晶体管导通;
计算单元用于:通过调节加载在所述第一存储器上的电压获取第一输出电流;根据所述第一输出电流和预置电流确定所述第一比特数据的汉明重量。
8.根据权利要求7所述的控制器,其特征在于,所述控制器还与第二运算单元信号连接,所述第二运算单元包括第二存储器和第二晶体管,所述第二晶体管的漏极与所述第二存储器的负极相连,所述第二晶体管的源极与所述第一晶体管的源极相连,所述第二存储器的正极和所述第一存储器的正极相连;
所述控制单元还用于:
将所述第二存储器的初始阻态设置为低阻状态;
根据所述第一二进制序列中的第二比特数据确定所述第二晶体管的第二栅极电压,并根据所述第二栅极电压控制所述第二晶体管的通断状态,其中,当所述第二比特数据为0时,所述第二晶体管为导通状态;当所述第二比特数据为1时,所述第二晶体管为断开状态;
根据所述第二晶体管的通断状态控制所述第二存储器的目标阻态,其中,当所述第二晶体管为导通状态,所述第二存储器的目标阻态为高阻状态;当所述第二晶体管为断开状态,所述第二存储器的目标阻态为低阻状态;
所述计算单元还用于:根据所述第二晶体管的源极上的第二输出电流确定所述第二比特数据的汉明重量。
9.根据权利要求7至8中任一项所述的控制器,其特征在于,所述控制单元具体用于:通过调节加载在所述第一存储器上的电压控制所述第一存储器的目标阻态。
10.根据权利要求7至8中任一项所述的控制器,其特征在于,所述控制单元具体用于:控制所述第一晶体管导通;
通过调节加载在所述第一存储器上的电压将所述第一存储器的初始阻态设置为低阻状态。
11.根据权利要求7至8中任一项所述的控制器,其特征在于,所述控制器还与第三运算单元信号连接,所述第三运算单元包括第三存储器和第三晶体管,所述第三晶体管的漏极与所述第三存储器的负极相连,所述第三晶体管的源极接地,所述第三晶体管的栅极与所述第一晶体管的栅极相连;
所述控制单元还用于:
将所述第三存储器的初始阻态设置为低阻状态;
根据输入的第二二进制序列中的第三比特数据确定所述第三晶体管的第三栅极电压,并根据所述第三栅极电压控制所述第三晶体管的通断状态,其中,当所述第三比特数据为0时,所述第三晶体管为导通状态;当所述第三比特数据为1时,所述第三晶体管为断开状态;
根据所述第三晶体管的通断状态控制所述第三存储器的目标阻态,其中,当所述第三晶体管为导通状态,所述第三存储器的目标阻态为高阻状态;当所述第三晶体管为断开状态,所述第三存储器的目标阻态为低阻状态;
所述计算单元还用于:根据所述第三晶体管的源极上的第三输出电流确定所述第三比特数据的汉明重量。
12.根据权利要求7至8中任一项所述的控制器,其特征在于,所述第一存储器的类型包括非易失性存储器,所述第一晶体管的类型包括金氧半场效晶体管。
13.一种运算装置,其特征在于,包括控制器和第一运算单元,所述控制器与所述第一运算单元信号连接,所述第一运算单元包括第一存储器和第一晶体管,所述第一晶体管的漏极与所述第一存储器的负极相连,所述第一晶体管的源极接地;
所述控制器用于将所述第一存储器的初始阻态设置为低阻状态;
所述控制器用于根据输入的第一二进制序列中的第一比特数据确定所述第一晶体管的第一栅极电压;
所述第一晶体管的栅极用于输入所述第一栅极电压,其中,当所述第一比特数据为0时,所述第一晶体管为导通状态;当所述第一比特数据为1时,所述第一晶体管为断开状态;
所述控制器用于根据所述第一晶体管的通断状态控制所述第一存储器的目标阻态,其中,当所述第一晶体管为导通状态,所述第一存储器的目标阻态为高阻状态;当所述第一晶体管为断开状态,所述第一存储器的目标阻态为低阻状态;
所述第一晶体管的源极用于输出第一输出电流;
所述控制器具体用于:
控制第一晶体管导通;
通过调节加载在所述第一存储器上的电压获取所述第一输出电流;
根据所述第一输出电流和预置电流确定所述第一比特数据的汉明重量。
14.根据权利要求13所述的运算装置,其特征在于,所述运算装置还包括第二运算单元,所述控制器与所述第二运算单元信号连接,所述第二运算单元包括第二存储器和第二晶体管,所述第二晶体管的漏极与所述第二存储器的负极相连,所述第二晶体管的源极与所述第一晶体管的源极相连,所述第二存储器的正极和所述第一存储器的正极相连;
所述控制器用于将所述第二存储器的初始阻态设置为低阻状态;
所述控制器用于根据所述第一二进制序列中的第二比特数据确定所述第二晶体管的第二栅极电压;
所述第二晶体管的栅极用于输入所述第二栅极电压,其中,当所述第二比特数据为0时,所述第二晶体管为导通状态;当所述第二比特数据为1时,所述第二晶体管为断开状态;
所述控制器用于根据所述第二晶体管的通断状态控制所述第二存储器的目标阻态,其中,当所述第二晶体管为导通状态,所述第二存储器的目标阻态为高阻状态;当所述第二晶体管为断开状态,所述第二存储器的目标阻态为低阻状态;
所述晶体管的源极用于输出第二输出电流;
所述控制器用于根据所述第二输出电流确定所述第二比特数据的汉明重量。
15.根据权利要求13至14中任一项所述的运算装置,其特征在于,所述控制器具体用于:通过调节加载在所述第一存储器上的电压控制所述第一存储器的目标阻态。
16.根据权利要求13至14中任一项所述的运算装置,其特征在于,所述控制器具体用于:
控制所述第一晶体管导通;
通过调节加载在所述第一存储器上的电压将所述第一存储器的初始阻态设置为低阻状态。
17.根据权利要求13至14中任一项所述的运算装置,其特征在于,所述运算装置还包括第三运算单元,所述控制器与所述第三运算单元信号连接,所述第三运算单元包括第三存储器和第三晶体管,所述第三晶体管的漏极与所述第三存储器的负极相连,所述第三晶体管的源极接地,所述第三晶体管的栅极与所述第一晶体管的栅极相连;
所述控制器用于将所述第三存储器的初始阻态设置为低阻状态;
所述控制器用于根据输入的第二二进制序列中的第三比特数据确定所述第三晶体管的第三栅极电压;
所述第三晶体管的栅极用于输入所述第三栅极电压,其中,当所述第三比特数据为0时,所述第三晶体管为导通状态;当所述第三比特数据为1时,所述第三晶体管为断开状态;
所述控制器用于根据所述第三晶体管的通断状态控制所述第三存储器的目标阻态,其中,当所述第三晶体管为导通状态,所述第三存储器的目标阻态为高阻状态;当所述第三晶体管为断开状态,所述第三存储器的目标阻态为低阻状态;
所述第三晶体管的源极用于输出第三输出电流;
所述控制器用于根据所述第三输出电流确定所述第三比特数据的汉明重量。
18.根据权利要求13至14中任一项所述的运算装置,其特征在于,所述第一存储器的类型包括非易失性存储器,所述第一晶体管的类型包括金氧半场效晶体管。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128185.XA CN111314075B (zh) | 2020-02-27 | 2020-02-27 | 一种基于运算装置的汉明重量计算方法 |
PCT/CN2021/074765 WO2021169743A1 (zh) | 2020-02-27 | 2021-02-02 | 一种基于运算装置的汉明重量计算方法 |
EP21760009.7A EP4087181A4 (en) | 2020-02-27 | 2021-02-02 | WORK EQUIPMENT BASED PROCEDURE FOR HAMMING WEIGHT CALCULATION |
US17/895,466 US11817880B2 (en) | 2020-02-27 | 2022-08-25 | Hamming weight calculation method based on operation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128185.XA CN111314075B (zh) | 2020-02-27 | 2020-02-27 | 一种基于运算装置的汉明重量计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314075A CN111314075A (zh) | 2020-06-19 |
CN111314075B true CN111314075B (zh) | 2021-07-16 |
Family
ID=71162067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010128185.XA Active CN111314075B (zh) | 2020-02-27 | 2020-02-27 | 一种基于运算装置的汉明重量计算方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11817880B2 (zh) |
EP (1) | EP4087181A4 (zh) |
CN (1) | CN111314075B (zh) |
WO (1) | WO2021169743A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314075B (zh) * | 2020-02-27 | 2021-07-16 | 华为技术有限公司 | 一种基于运算装置的汉明重量计算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542334A (zh) * | 2012-01-14 | 2012-07-04 | 中国人民解放军国防科学技术大学 | 基于忆阻器的汉明网电路 |
CN102820063A (zh) * | 2011-06-09 | 2012-12-12 | 夏普株式会社 | 半导体存储装置 |
CN109509495A (zh) * | 2017-09-14 | 2019-03-22 | 清华大学 | 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法 |
CN109994139A (zh) * | 2019-03-15 | 2019-07-09 | 北京大学 | 一种基于单极性忆阻器的完备非易失逻辑实现方法及其应用 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015549A1 (en) * | 2004-07-13 | 2006-01-19 | Chren William A | Method and apparatus for generation of gaussian deviates |
US8214414B2 (en) | 2008-09-30 | 2012-07-03 | Intel Corporation | Combined set bit count and detector logic |
US9501276B2 (en) * | 2012-12-31 | 2016-11-22 | Intel Corporation | Instructions and logic to vectorize conditional loops |
EP3125248A4 (en) * | 2014-04-22 | 2017-04-05 | Huawei Technologies Co., Ltd. | Latch and d trigger |
KR102292643B1 (ko) * | 2015-02-17 | 2021-08-23 | 삼성전자주식회사 | 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법 |
JP6794297B2 (ja) * | 2016-05-25 | 2020-12-02 | ヌヴォトンテクノロジージャパン株式会社 | 認証装置および認証方法 |
CN107919375B (zh) * | 2016-10-06 | 2020-08-21 | 财团法人工业技术研究院 | 可变电阻装置、物理性不可复制功能电路与控制方法 |
US10396821B2 (en) * | 2017-06-30 | 2019-08-27 | Seagate Technologies Llc | Generating Hamming weights for data |
CN108092658B (zh) * | 2017-12-12 | 2020-05-19 | 华中科技大学 | 一种逻辑电路操作方法 |
CN111314075B (zh) * | 2020-02-27 | 2021-07-16 | 华为技术有限公司 | 一种基于运算装置的汉明重量计算方法 |
US11782090B2 (en) * | 2020-12-11 | 2023-10-10 | PUFsecurity Corporation | Built-in self-test circuit and built-in self-test method for physical unclonable function quality check |
-
2020
- 2020-02-27 CN CN202010128185.XA patent/CN111314075B/zh active Active
-
2021
- 2021-02-02 EP EP21760009.7A patent/EP4087181A4/en active Pending
- 2021-02-02 WO PCT/CN2021/074765 patent/WO2021169743A1/zh unknown
-
2022
- 2022-08-25 US US17/895,466 patent/US11817880B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102820063A (zh) * | 2011-06-09 | 2012-12-12 | 夏普株式会社 | 半导体存储装置 |
CN102542334A (zh) * | 2012-01-14 | 2012-07-04 | 中国人民解放军国防科学技术大学 | 基于忆阻器的汉明网电路 |
CN109509495A (zh) * | 2017-09-14 | 2019-03-22 | 清华大学 | 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法 |
CN109994139A (zh) * | 2019-03-15 | 2019-07-09 | 北京大学 | 一种基于单极性忆阻器的完备非易失逻辑实现方法及其应用 |
Non-Patent Citations (4)
Title |
---|
《An efficient analog Hamming distance comparator realized with a unipolar memristor array: a showcase of physical computing》;Ning Ge et al.;《Scientific Reports 7》;20170105;全文 * |
《Hamming Distance Computation in Unreliable Resistive Memory》;Zehun Chen et al.;《IEEE Transactions on Communications》;20180525;全文 * |
《In-Memory Hamming Weight Calculation in a 1T1R Memristive Array》;Long Cheng et al.;《Advanced Electronic Materials》;20200806;全文 * |
《基于忆阻器的存储与计算融合理论与实现》;李祎等;《国防科技》;20161231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP4087181A4 (en) | 2023-06-21 |
US20220407540A1 (en) | 2022-12-22 |
US11817880B2 (en) | 2023-11-14 |
EP4087181A1 (en) | 2022-11-09 |
CN111314075A (zh) | 2020-06-19 |
WO2021169743A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230082240A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
Kvatinsky et al. | MRL—Memristor ratioed logic | |
US10497442B1 (en) | Memristor arrays in crossbars | |
US10262733B2 (en) | Memristive dot product engine for vector processing | |
US10496374B2 (en) | Crossbar array operations using ALU modified signals | |
CN108921290A (zh) | 神经突触单元电路、神经网络电路和信息处理系统 | |
CN102709306B (zh) | 基于忆阻器和晶体管的存储器及实现多阻态的方法 | |
CN110383282A (zh) | 用于混合信号计算的系统和方法 | |
US20230410872A1 (en) | Code comparators with nonpolar dynamical switches | |
CN108023594B (zh) | 电阻分段式数模转换器的控制系统 | |
CN111314075B (zh) | 一种基于运算装置的汉明重量计算方法 | |
KR102342627B1 (ko) | 매트릭스 장치와 그 특성의 측정 방법, 구동 방법 | |
US20210056398A1 (en) | Integrate-and-fire neuron circuit using single-gated feedback field-effect transistor | |
US9449688B2 (en) | Device and method for writing data to a resistive memory | |
US12063052B2 (en) | Analog error detection and correction in analog in-memory crossbars | |
US20090128120A1 (en) | Reference voltage generation circuit, ad converter, da converter, and image processor | |
ATE389930T1 (de) | Video-daten-signalkorrektur | |
CN114496030A (zh) | 一种忆阻器阵列及其进行逻辑运算的方法 | |
CN113129966A (zh) | 汉明距离计算方法、芯片和设备 | |
CN116382636A (zh) | 产生相关性随机比特流的方法及系统 | |
US20230177319A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
CN111611535A (zh) | 抗工艺偏差的模拟向量-矩阵乘法运算电路 | |
RU2714105C1 (ru) | Триггерный сумматор по модулю два на полевых транзисторах | |
CN110855294A (zh) | 电路模块以及数模转换器 | |
KR102476478B1 (ko) | 출력 전압/전류 적응형 기준 전압/전류를 갖는 확률론적 비트 소자 |
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 |