CN110750300A - 一种基于忆阻器存储器内处理的混合计算装置 - Google Patents
一种基于忆阻器存储器内处理的混合计算装置 Download PDFInfo
- Publication number
- CN110750300A CN110750300A CN201910881699.XA CN201910881699A CN110750300A CN 110750300 A CN110750300 A CN 110750300A CN 201910881699 A CN201910881699 A CN 201910881699A CN 110750300 A CN110750300 A CN 110750300A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- processing
- basic computer
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
Images
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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明属于处理器技术领域,具体一种基于忆阻器存储器内处理的混合计算装置。本发明的混合计算装置包括通用处理核、指令存储器、基于忆阻器的具有存储器内处理的数据存储器、输入设备和输出设备;通用处理核包括基本计算机控制器和基本计算机运算器;指令存储器为一个用于存放程序指令的常规存储器;基于忆阻器的具有存储器内处理的数据存储器为一个能够实现特定逻辑功能的数据存储器;输入输出设备为系统所需的输入和输出设备。本发明的混合计算装置重新设计了系统数据通路和控制逻辑,可在存储器阵列或存储器阵列附近中处理一些数据,显著减少通过总线传输的数据,从而降低功耗并提高性能。
Description
技术领域
本发明属于处理器技术领域,具体涉及一种基于忆阻器存储器内处理的高性能低功耗混合计算装置。
背景技术
在现代计算机系统中,处理大量数据的能力被认为是计算机性能的关键指标,它与中央处理器的计算能力和从存储器获取数据的速度直接相关。然而,由于中央处理器计算能力远高于存储器的数据传输能力,传统冯·诺依曼计算架构在数据密集型应用中有着显著障碍,这种现象被称为存储墙。
针对存储墙问题,利用由专用集成电路或协处理器担任的加速器可以起到一定作用,但它们仍具有较大优化空间,具体表现在:
协处理器结构复杂,会带来较大的面积代价,且能够带来的功耗降低不够显著;专用集成电路只能实现特定算法,缺乏灵活性。此外,两种方法都无法避免数据在总线上的搬运。
存储内处理是一种解决存储墙问题的有效方法,存储内处理允许存储器执行一些简单的算术和逻辑运算,从而在保持灵活性的同时有效减少数据在总线上的搬运,能够降低能耗、提升速度,且不会有很大的面积代价。许多现有的工作试图在存储器中执行全部或大部分计算,但由于存储内处理能够实现的逻辑功能过于简单,这导致在面积、速度和能耗方面效率低下;将通用处理器与存储内处理相结合,采用一种混合计算策略将更为合适,但现有的混合计算架构仍不完善,计算效率有很大优化空间。
发明内容
本发明的目的是提供一种低功耗、高性能,并能实现复杂算法的同时具有通用处理器与存储内处理的混合计算架构。
本发明提供的同时具有通用处理器与存储内处理的混合计算装置,是基于忆阻器存储器内处理的,包括一个通用处理核、一个指令存储器、一个基于忆阻器的具有存储器内处理的数据存储器、输入设备和输出设备;其中,通用处理核第一端与输入设备以总线相连;通用处理核第二端与指令存储器以总线相连;通用处理核第三端与基于忆阻器的具有存储器内处理的数据存储器以总线相连;通用处理核第四端与输出设备以总线相连。
本发明中,所述基于忆阻器的具有存储器内处理的数据存储器包括存储器控制电路、一个必须的忆阻存储阵列、必须的存储器内处理电路和可选的近存储计算电路;所述忆阻存储阵列为一个基于忆阻器的存储阵列,用于存储数据;存储器内处理电路用于对忆阻存储阵列中的数据进行逻辑与、逻辑或、逻辑异或、逻辑与非、逻辑或非和加法等简单运算,以及常规读写操作;近存储计算电路用于对忆阻存储阵列中的数据进行减法等较复杂运算,在不需要完成较复杂的运算时可不用。存储器控制电路用于控制忆阻存储阵列、存储器内处理电路和近存储计算电路的工作。
本发明中,所述通用处理核包括基本计算机控制器和基本计算机运算器。基本计算机控制器用通用处理器核的逻辑控制,从指令存储器中取出指令并按照指令访问对应存储器位置;基本计算机运算器用于完成处理器基本运算,参与运算的操作数位于其中的寄存器中。
基本计算机控制器从指令存储器中取出程序指令并判断指令为算术逻辑运算、存储器访问指令或存储器内处理指令;若为算术逻辑运算,则基本计算机控制器将指令发往基本计算机运算器,基本计算机运算器完成相应运算;若为存储器访问指令,则基本计算机控制器将指令发往基本计算机运算器,基本计算机运算器计算对应的存储器地址并将计算结果交还给基本计算机控制器,基本计算机控制器访问对应地址;若为存储器内处理指令,基本计算机控制器将指令交给基于忆阻器的具有存储器内处理的数据存储器,基于忆阻器的具有存储器内处理的数据存储器完成相应操作。
本发明中,所述指令存储器为一块常规静态随机访问存储器,用于存储计算系统的程序指令,与处理器核以总线形式相连。
本发明中,所述输入设备和输出设备分别以总线与通用处理核的第一端和第四端相连。输入设备用于向提供用户输入手段;输出设备用于向用户提供系统输出。
本发明的技术效果:本发明提供的基于忆阻器存储器内处理的混合计算架构,在处理器运行时无需在处理器核和存储器之间进行大量数据搬运,减小了处理器完成数据密集型应用所需的功耗,提升了处理器的性能,并且无需过大的电路面积开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的基于忆阻器存储器内处理的混合计算架构示意图。
图2为本发明实施例的基于忆阻器的具有存储器内处理的数据存储器的结构示意图。
图3为本发明实施例的部分忆阻存储阵列和存储内处理电路结构图。
图4为本发明实施例的近存储计算电路结构图。
图5为本发明实施例的流水线结构示意图。
具体实施方式
下面将结合本发明实施例及附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一个实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的基于忆阻器存储器内处理的混合计算装置架构示意图,如图1所示,基于忆阻器存储器内处理的混合计算架构包括:通用处理核101、指令存储器102、基于忆阻器的具有存储器内处理的数据存储器103、输入设备104和输出设备105。通用处理核101包括基本计算机控制器111和基本计算机运算器112。通用处理核101第一端与输入设备104以总线相连;通用处理核101第二端与指令存储器102以总线相连;通用处理核101第三端与基于忆阻器的具有存储器内处理的数据存储器103以总线相连;通用处理核101第四端与输出设备104以总线相连。通用处理核101用于混合计算架构系统的逻辑控制和非存储内处理计算,其中基本计算机控制器111用于混合计算架构系统的逻辑控制,基本计算机运算器112用于非存储内处理计算功能;指令存储器102用于存储计算系统的程序指令;基于忆阻器的具有存储器内处理的数据存储器103用于实现存储内处理功能;输入设备用于向提供用户输入手段;输出设备用于向用户提供系统输出。
图2为本发明实施例的基于忆阻器的具有存储器内处理的数据存储器结构示意图,如图2所示,具有存储内处理的数据存储器包括:存储器控制电路201、忆阻存储阵列202、存储内处理电路203、可选的近存储计算电路204。在存储内处理电路203已经足以完成所需要的运算时,可不使用近存储计算电路204。若使用近存储计算电路204,存储器控制电路201第一端与忆阻存储阵列202第一端相连, 忆阻存储阵列202第二端与存储内处理电路203第一端相连,存储内处理电路203第二端与近存储计算电路204第一端相连,近存储计算电路204第二端与存储器控制电路201第二端相连;若不使用近存储计算电路204,存储器控制电路201第一端与忆阻存储阵列202第一端相连, 忆阻存储阵列202第二端与存储内处理电路203第一端相连,存储内处理电路203第二端与存储器控制电路201第二端直接相连。
存储器控制电路201控制存储器的时序、逻辑、使能和其他逻辑信号等;忆阻存储阵列202为数据的物理存储介质;存储内处理电路203完成逻辑与、逻辑或、逻辑异或、逻辑与非、逻辑或非和加法等运算及常规读写操作;近存储计算电路204完成减法等运算。
图3为本发明实施例的部分忆阻存储阵列和存储内处理电路结构图,如图3所示,包括部分忆阻存储阵列321和存储内处理电路322。部分忆阻存储阵列321中参与运算的两个被选中的行根据忆阻器存储的“1”和“0”的不同,在源线301中产生不同大小的电流,其值为分别单独选中这两个行产生的电流的和。源线电流被引入302中,分别和或参考电流303和与参考电流304比较,并得到或非信号305、与非信号306、或信号307、与信号308、异或信号309。异或信号309和低位的加法进位信号310共同产生加法和信号311和加法进位信号312。
图4为本发明实施例的近存储计算电路结构图,如图4所示,近存储计算电路包括数据分离器402、数据选择器403、被减数寄存器404、减数寄存器405、减法器406。从存储内处理电路得到的数据401被送入数据分离器402;数据分离器402将参与减法运算的被减数放入被减数寄存器404,数据分离器402将参与减法运算的减数放入减数寄存器405;减法器406执行减法运算,将结果送往数据选择器403;数据选择器403选择需要输出的数据。
图5为本发明实施例的流水线结构示意图,如图5所示,流水线包括取指令501、指令译码和寄存器访问502、计算执行503、存储器操作504、写回505;其中指令译码和寄存器访问502主要涉及到通用寄存器511,计算执行503主要涉及到算术逻辑单元512,存储器操作504主要涉及到具有存储器内处理的数据存储器513。对于非存储内处理相关指令,寄存器运算指令将使系统在存储器操作504阶段空闲;对于存储内处理相关指令,在指令译码和寄存器访问502阶段之后,系统计算执行503阶段空闲,而在存储器操作504阶段执行运算。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种基于忆阻器存储器内处理的混合计算装置,其特征在于,包括一个通用处理核、一个指令存储器、一个基于忆阻器的具有存储器内处理的数据存储器、输入设备和输出设备;其中,所述通用处理核第一端与输入设备以总线相连;所述通用处理核第二端与指令存储器以总线相连;所述通用处理核第三端与基于忆阻器的具有存储器内处理的数据存储器以总线相连;所述通用处理核第四端与输出设备以总线相连;
所述基于忆阻器的具有存储器内处理的数据存储器包括存储器控制电路、忆阻存储阵列、存储器内处理电路和可选的近存储计算电路;
所述忆阻存储阵列为一个基于忆阻器的存储阵列,用于存储数据;所述存储器内处理电路用于对忆阻存储阵列中的数据进行逻辑与、逻辑或、逻辑异或、逻辑与非、逻辑或非和加法运算,以及常规读写操作;所述近存储计算电路用于对忆阻存储阵列中的数据进行减法运算;所述存储器控制电路用于控制忆阻存储阵列、存储器内处理电路和近存储计算电路的工作。
2.如权利要求1所述的混合计算装置,其特征在于,所述通用处理核包括基本计算机控制器和基本计算机运算器;
所述基本计算机控制器用通用处理器核的逻辑控制,从指令存储器中取出指令并按照指令访问对应存储器位置;所述基本计算机运算器用于完成处理器基本运算,参与运算的操作数位于其中的寄存器中;
所述基本计算机控制器从指令存储器中取出程序指令并判断指令为算术逻辑运算、存储器访问指令或存储器内处理指令;若为算术逻辑运算,则基本计算机控制器将指令发往基本计算机运算器,基本计算机运算器完成相应运算;若为存储器访问指令,则基本计算机控制器将指令发往基本计算机运算器,基本计算机运算器计算对应的存储器地址,并将计算结果交还给基本计算机控制器,基本计算机控制器访问对应地址;若为存储器内处理指令,基本计算机控制器将指令交给基于忆阻器的具有存储器内处理的数据存储器,基于忆阻器的具有存储器内处理的数据存储器完成相应操作。
3.如权利要求1所述的混合计算装置,其特征在于,所述指令存储器为一块静态随机访问存储器,用于存储计算系统的程序指令。
4.如权利要求1所述的混合计算装置,其特征在于,所述输入设备用于向提供用户输入手段;所述输出设备用于向用户提供系统输出。
5.如权利要求2、3或4所述的混合计算装置,其特征在于,当使用近存储计算电路时,存储器控制电路第一端与忆阻存储阵列第一端相连, 忆阻存储阵列第二端与存储内处理电路第一端相连,存储内处理电路第二端与近存储计算电路第一端相连,近存储计算电路第二端与存储器控制电路第二端相连;当不使用近存储计算电路时,存储器控制电路第一端与忆阻存储阵列第一端相连, 忆阻存储阵列第二端与存储内处理电路第一端相连,存储内处理电路第二端与存储器控制电路第二端直接相连。
6.如权利要求5所述的混合计算装置,其特征在于,所述近存储计算电路包括数据分离器、数据选择器、被减数寄存器、减数寄存器、减法器;从存储内处理电路得到的数据被送入数据分离器;数据分离器将参与减法运算的被减数放入被减数寄存器,数据分离器将参与减法运算的减数放入减数寄存器;减法器执行减法运算,将结果送往数据选择器;数据选择器选择需要输出的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881699.XA CN110750300A (zh) | 2019-09-18 | 2019-09-18 | 一种基于忆阻器存储器内处理的混合计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881699.XA CN110750300A (zh) | 2019-09-18 | 2019-09-18 | 一种基于忆阻器存储器内处理的混合计算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110750300A true CN110750300A (zh) | 2020-02-04 |
Family
ID=69276693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910881699.XA Pending CN110750300A (zh) | 2019-09-18 | 2019-09-18 | 一种基于忆阻器存储器内处理的混合计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750300A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454507A (zh) * | 2022-11-10 | 2022-12-09 | 统信软件技术有限公司 | 多任务并行执行的方法、装置、计算设备及可读存储介质 |
CN115617717A (zh) * | 2022-11-21 | 2023-01-17 | 上海亿铸智能科技有限公司 | 一种基于忆阻器的协处理器设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017136A1 (en) * | 2010-07-14 | 2012-01-19 | Erik Ordentlich | Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory |
US8959420B1 (en) * | 2012-12-19 | 2015-02-17 | Datadirect Networks, Inc. | Data storage system and method for data migration between high-performance computing architectures and data storage devices using memory controller with embedded XOR capability |
US20160224465A1 (en) * | 2015-01-08 | 2016-08-04 | Technion Research And Development Foundation Ltd. | Hybrid processor |
WO2016137437A1 (en) * | 2015-02-24 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Determining a state of a memristor cell |
CN106128503A (zh) * | 2016-06-20 | 2016-11-16 | 北京大学 | 基于忆阻器的运算存储阵列设备及其操作方法 |
CN109542391A (zh) * | 2018-11-09 | 2019-03-29 | 复旦大学 | 基于忆阻器的存储器内计算架构 |
-
2019
- 2019-09-18 CN CN201910881699.XA patent/CN110750300A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017136A1 (en) * | 2010-07-14 | 2012-01-19 | Erik Ordentlich | Systems and methods for encoding information for storage in an electronic memory and for decoding encoded information retrieved from an electronic memory |
US8959420B1 (en) * | 2012-12-19 | 2015-02-17 | Datadirect Networks, Inc. | Data storage system and method for data migration between high-performance computing architectures and data storage devices using memory controller with embedded XOR capability |
US20160224465A1 (en) * | 2015-01-08 | 2016-08-04 | Technion Research And Development Foundation Ltd. | Hybrid processor |
WO2016137437A1 (en) * | 2015-02-24 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Determining a state of a memristor cell |
CN106128503A (zh) * | 2016-06-20 | 2016-11-16 | 北京大学 | 基于忆阻器的运算存储阵列设备及其操作方法 |
CN109542391A (zh) * | 2018-11-09 | 2019-03-29 | 复旦大学 | 基于忆阻器的存储器内计算架构 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454507A (zh) * | 2022-11-10 | 2022-12-09 | 统信软件技术有限公司 | 多任务并行执行的方法、装置、计算设备及可读存储介质 |
CN115617717A (zh) * | 2022-11-21 | 2023-01-17 | 上海亿铸智能科技有限公司 | 一种基于忆阻器的协处理器设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107315574B (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
CN109661647B (zh) | 数据处理装置和方法 | |
JP5883462B2 (ja) | 範囲検出を行うための命令及びロジック | |
CN111176727A (zh) | 计算装置以及计算方法 | |
US8356160B2 (en) | Pipelined multiple operand minimum and maximum function | |
US20090172355A1 (en) | Instructions with floating point control override | |
CN110750300A (zh) | 一种基于忆阻器存储器内处理的混合计算装置 | |
JP3573506B2 (ja) | 述語、及びブール式を解くためのコンピュータ・システム、及び方法 | |
CN112784970A (zh) | 一种硬件加速器、数据处理方法、系统级芯片及介质 | |
CN110737612A (zh) | 一种含有存储内计算的处理器 | |
WO2019141160A1 (zh) | 一种数据处理的方法及装置 | |
CN113591031A (zh) | 低功耗矩阵运算方法及装置 | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
CN112906876A (zh) | 一种实现激活函数的电路和包含该电路的处理器 | |
CN115809043A (zh) | 一种乘法器及其相关产品和方法 | |
TWI294572B (en) | Dsp and operand selection circuit thereof | |
CN117370721A (zh) | 具有矢量归约方法与元素归约方法的矢量处理器 | |
JP3773033B2 (ja) | データ演算処理装置及びデータ演算処理プログラム | |
CN113934678A (zh) | 一种计算装置、集成电路芯片、板卡、设备和计算方法 | |
JPS63229566A (ja) | 疎行列用計算機 | |
JPH02294873A (ja) | ベクトルデータ処理方式 | |
JPH02208774A (ja) | アドレス生成装置 | |
JPH04360235A (ja) | 超並列計算機のalu構成方式 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200204 |