CN110737612A - 一种含有存储内计算的处理器 - Google Patents
一种含有存储内计算的处理器 Download PDFInfo
- Publication number
- CN110737612A CN110737612A CN201910881707.0A CN201910881707A CN110737612A CN 110737612 A CN110737612 A CN 110737612A CN 201910881707 A CN201910881707 A CN 201910881707A CN 110737612 A CN110737612 A CN 110737612A
- Authority
- CN
- China
- Prior art keywords
- memory
- unit
- instruction
- computation
- processor
- 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
- 230000015654 memory Effects 0.000 claims abstract description 90
- 238000004364 calculation method Methods 0.000 claims description 40
- 230000006870 function Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000004148 unit process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明属于处理器技术领域,具体为一种含有存储内计算的处理器。本发明的基于存储器内计算的处理器包括:存储单元、控制运算单元和存储内计算单元。所述存储单元包括指令存储器和数据存储器;所述控制运算单元包括取指令单元、算术逻辑单元、存储器控制单元和总线接口单元;所述存储内计算单元包括存储内计算控制单元和具有存储内计算的存储单元。本发明提供改进的处理器架构,在现有处理器中引入存储内计算单元,具有功耗低、高性能的特点。
Description
技术领域
本发明属于处理器技术领域,具体涉及一种含有存储内计算的处理器。
背景技术
伴随着电子学和集成电路技术的发展、智能电子设备的普及,使用电池供电的物联网设备逐渐得到广泛应用。为了保证数据传输时的隐私性和安全性,物联网设备除基础功能外,对其产生的数据进行加密变得十分必要。传统方法一般基于通用处理器和软件,将数据从存储器中取出、运算、存入。在数据大量传输的过程中,时间成本和功耗代价都比较大,此影响对由电池供电的微型设备尤其关键。
针对传统软件方法的问题,利用由专用集成电路或协处理器担任的加速器可以起到一定作用,但它们仍存在着问题,具体表现在:
协处理器结构复杂,会带来较大的面积代价,且能够带来的功耗降低不够显著;专用集成电路只能实现特定算法,缺乏灵活性。此外,两种方法都无法避免数据在总线上的搬运。
存储内计算能在保持灵活性的同时有效减少数据在总线上的搬运,从而降低功耗并提升性能,而且不会有很大的面积代价。但存储内计算不同于能够直接完成复杂逻辑功能的专用集成电路或协处理器,需要和通用处理器的协同使用,而现有的处理器在与存储内计算协同工作下的技术仍不完善,无法高效工作。
发明内容
本发明的目的是提供一种低功耗、高性能,并能实现复杂算法的含有存储内计算的处理器。
本发明提供的含有存储器内计算的处理器,包括存储单元、控制运算单元和存储内计算单元;其中,控制运算单元第一端与存储单元第一端相连,控制运算单元第二端与存储内计算单元第一端相连,控制运算单元第三端与存储单元相连第二端相连,控制运算单元第四端与系统总线相连。
所述的存储内计算单元,包括存储内计算控制单元和具有存储内计算的存储单元,存储内计算控制单元用于存储器内计算单元的时序控制,具有存储内计算的存储单元用于需要进行存储内计算的数据存储和存储内计算逻辑。
存储内计算控制单元的第一端与算术逻辑单元相连,第二端与具有存储内计算的存储单元相连。
所述存储内计算单元与控制运算单元直接相连,不以总线的形式相连。
所述具有存储内计算的存储单元包括存储阵列、存储内计算电路和数字辅助逻辑,存储内计算电路用于对从存储阵列中取出的数据进行计算和读写逻辑,包括加法、异或、与、或运算和读写逻辑,数字辅助逻辑用于存储阵列的行列选择和从存储阵列中取出的数据的移位运算。
所述控制运算单元包括取指令单元、算术逻辑单元、存储器控制单元、总线接口单元;取指令单元的第一端与存储单元第一端相连,第二端与算术逻辑单元第一端相连,第三端与总线接口单元第一端相连;算术逻辑单元第二端与存储器控制单元第一端相连,第三端与存储内计算单元相连;存储器控制单元第二端与存储单元第二端相连,第三端与总线接口单元第二端相连,第四端与写回线相连;所述总线接口单元第三端与系统总线相连。
所述取指令单元用于从存储单元中取出指令并送往算术逻辑单元;算术逻辑单元判断指令为算术逻辑运算、存储器访问指令或存储内计算指令;若为算术逻辑运算,则算术逻辑单元完成对应运算;若为存储器访问指令,则算术逻辑单元处理指令并将数据送往存储器控制单元;若为存储内计算指令,则算术逻辑单元处理指令并将数据送往存储内计算单元;存储器控制单元用于处理存储单元的存储器访问指令;总线接口单元用于处理器和外部总线信号的连接。
所述存储单元包括数据存储器和指令存储器,数据存储器用于存储处理器运行时需要和产生的数据,指令存储器用于存储处理器运行时需要的指令。数据存储器与存储器控制单元相连,指令存储器第一端与取指令单元相连,第二端与存储器控制单元相连。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的基于存储器内计算的处理器架构,在处理器运行时不需要运算模块和存储模块之间进行大量数据搬运,一方面减小了处理器完成特定算法所需的功耗,另一方面提升了处理器的性能,并且无需过大的电路面积开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的基于存储器内计算的处理器结构示意图。
图2为本发明实施例的具有存储内计算的存储单元的结构示意图。
图3为本发明实施例的带存储内计算电路的存储阵列结构示意图。
图4为本发明实施例的具有存储内计算的存储器中的数据分配示意图。
图5为本发明实施例处理器指令集架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一个实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种含有存储内计算的高性能低功耗的处理器,如图1所示。其中,具有存储内计算的存储单元包括:控制运算单元121、存储内计算单元122和存储单元123。控制运算单元121包括总线接口单元101、取指令单元102、算术逻辑单元103、存储器控制单元104,并与系统总线111和写回线112连接;所述存储内计算单元122包括存储内计算控制单元105和具有存储内计算的存储单元106;存储单元123包括指令存储器107和数据存储器108。总线接口单元101和系统总线111用于处理器和外部总线信号的连接;取指令单元102用于从指令存储器107取指令送入算术逻辑单元103处理;算术逻辑单元103首先进行指令译码,若指令为通用处理器需完成的运算指令则由算术逻辑单元103一并完成,若指令为存储内计算指令则将指令交给存储内计算控制单元105处理,若指令为通用处理器需完成的访存指令则交给存储器控制单元104处理;存储器控制单元104完成数据的存取、通过写回线112写回寄存器;存储内计算控制单元105控制存储内计算指令的时序逻辑;具有存储内计算的存储单元106完成存储内计算相关指令;指令存储器107用于存储处理器运行时需要的指令;和数据存储器108用于存储处理器运行时需要和产生的数据。
本发明实施例的具有存储内计算的存储单元的结构如图2所示。包括:第一地址线201、第二地址线202、有效地址线数指示线203、功能选择线204、移位位数线205、写入数据线206、读出数据线207、二地址输入行译码器210、写入缓冲器211、带存储内计算电路的存储阵列212、移位器213、模式选择器214;带存储内计算电路的存储阵列212分别与二地址输入行译码器210、写入缓冲器211、64位移位器213相连,移位器213与模式选择器214相连,模式选择器214与写入缓冲器211相连。二地址输入行译码器210根据第一地址线201、第二地址线202和有效地址线数指示线203选择带存储内计算电路的存储阵列212中存储阵列的行地址;写入缓冲器211完成带存储内计算电路的存储阵列212中存储阵列的读写操作;带存储内计算电路的存储阵列212中的存储内计算电路根据功能选择线204完成需要的存储内计算逻辑;移位器213根据移位位数线205完成循环逻辑移位功能;模式选择器214选择当前单元需要进行的操作,如读操作或写操作。
本发明实施例的带存储内计算电路的存储阵列结构,如图3所示。包括:1S1R存储阵列331、存储内计算电路332。1S1R存储阵列331包括选择器321、323、325、327等,忆阻器322、324、326、328等,字线301、302等,位线303、304等。字线301、302等为选通线,根据忆阻器内存“1”和“0”的不同,在位线 303、304等上产生不同大小的电流。同时使两个位线有效,则在对应字线上产生的电流为两个位线上的独立产生的电流的和。将位线303、304等上产生的电流和参考电流305、306、307、308比较,并在根据功能选择线311、312选择不同的门的输出信号,在输出线309、310上将得到对应的逻辑输出。
本发明实施例的具有存储内计算的存储器中的数据分配示意图,如图4所示。在同一列地址401、402、403、404、405中存放相互运算频率高的数据,在同一行地址411、412、413、414、415中存放相互运算频率低的数据。在数据行411、412、413、414、415之后,无需存放数据的行地址421等可用于存放数据缓存,使用专用的存储内计算指令将其它位置的数据复制至缓存行地址。存储数据应遵循的基本原则如表1所示。
表1
本发明实施例的处理器指令集架构图,如图5所示。所述处理器指令集架构包括2.2版RISC-V指令集定义的32位基础整数集501、乘法标准扩展502、原子指令扩展503、压缩指令扩展504和自定义的存储内计算指令集的算术指令511、存储内计算读取指令512、存储内计算写入指令513、存储内计算随机拷贝指令514。其中32位基础整数集501、乘法标准扩展502、原子指令扩展503和压缩指令扩展504用于完成通用处理器基础操作,存储内计算算术指令511、存储内计算读取指令512、存储内计算写入指令513和存储内计算随机拷贝指令514用于完成于存储内计算相关的扩展操作。存储内计算算术指令511完成存储内计算中的异或运算、或运算、与运算和移位运算;存储内计算读取指令512用于从具有存储内计算的存储器中向处理器读取数据;存储内计算写入指令513用于从处理器向具有存储内计算的存储器中写入数据;存储内计算随机拷贝指令514用于在具有存储内计算的存储器内的不同的地址互相搬运数据。其他需要的存储内运算均能通过上述运算组合实现。自定义的存储内计算的相关指令其具体实现如表2所示,表中A1为第一地址偏移量,A2为第二地址偏移量,BA为基地址,I/R为地址偏移量来源指示位(地址或立即数),A0为第三地址偏移量,SA为移位位数,Imm为立即数,F为搬运数指示位,Col为搬运目标列地址,Res为保留位。
表2
。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种含有存储内计算的处理器,其特征在于,包括存储单元、控制运算单元和存储内计算单元;所述控制运算单元第一端与存储单元第一端相连;所述控制运算单元第二端与存储内计算单元第一端相连;所述控制运算单元第三端与存储单元第二端相连;所述控制运算单元第四端与系统总线相连。
2.如权利要求1所述的含有存储内计算的处理器,其特征在于,所述控制运算单元包括取指令单元、算术逻辑单元、存储器控制单元、总线接口单元;
所述取指令单元的第一端与存储单元第一端相连,第二端与算术逻辑单元第一端相连,第三端与总线接口单元第一端相连;所述算术逻辑单元第二端与存储器控制单元第一端相连,第三端与存储内计算单元相连;所述存储器控制单元第二端与存储单元第二端相连,第三端与总线接口单元第二端相连,第四端与写回线相连;所述总线接口单元第三端与系统总线相连;
所述取指令单元用于从存储单元中取出指令并送往算术逻辑单元;
所述算术逻辑单元判断指令为算术逻辑运算、存储器访问指令或存储内计算指令;若为算术逻辑运算,则算术逻辑单元完成对应运算;若为存储器访问指令,则算术逻辑单元处理指令并将数据送往存储器控制单元;若为存储内计算指令,则算术逻辑单元处理指令并将数据送往存储内计算单元;
所述存储器控制单元用于处理存储单元的存储器访问指令;
所述总线接口单元用于连接处理器和外部总线信号。
3.如权利要求2所述的含有存储内计算的处理器,其特征在于,所述存储内计算单元包括存储内计算控制单元和具有存储内计算的存储单元;
所述存储内计算控制单元用于存储器内计算单元的时序控制,所述具有存储内计算的存储单元用于需要进行存储内计算的数据存储和存储内计算逻辑;
所述存储内计算控制单元的第一端与算术逻辑单元相连,存储内计算控制单元的第二端与具有存储内计算的存储单元相连。
4.如权利要求1、2或3所述的含有存储内计算的处理器,其特征在于,所述存储内计算单元与控制运算单元直接相连,不以总线的形式相连。
5.如权利要求4所述的含有存储内计算的处理器,其特征在于,所述具有存储内计算的存储单元包括存储阵列、存储内计算电路和数字辅助逻辑;
所述存储内计算电路用于对从存储阵列中取出的数据进行计算和读写逻辑,包括加法、异或、与、或运算和读写逻辑;所述数字辅助逻辑用于存储阵列的行列选择和从存储阵列中取出的数据的移位运算;所述存储阵列用于存储数据。
6.如权利要求1所述的含有存储内计算的处理器,其特征在于,所述存储单元包括数据存储器和指令存储器;
所述数据存储器用于存储处理器运行时需要和产生的数据,所述指令存储器用于存储处理器运行时需要的指令;
所述数据存储器与存储器控制单元相连;所述指令存储器第一端与取指令单元相连,第二端与存储器控制单元相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881707.0A CN110737612A (zh) | 2019-09-18 | 2019-09-18 | 一种含有存储内计算的处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910881707.0A CN110737612A (zh) | 2019-09-18 | 2019-09-18 | 一种含有存储内计算的处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737612A true CN110737612A (zh) | 2020-01-31 |
Family
ID=69267644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910881707.0A Pending CN110737612A (zh) | 2019-09-18 | 2019-09-18 | 一种含有存储内计算的处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737612A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564769A (zh) * | 2020-11-30 | 2021-03-26 | 东方红卫星移动通信有限公司 | 多速率分级调节的低轨卫星高速通信方法、发射端、接收端及系统 |
CN113157638A (zh) * | 2021-01-27 | 2021-07-23 | 浙江大学 | 一种低功耗存储器内计算处理器和处理运算方法 |
CN117235003A (zh) * | 2023-09-26 | 2023-12-15 | 海光信息技术(苏州)有限公司 | 存储器读出电路,存储器内的数据运算方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150234606A1 (en) * | 2014-02-17 | 2015-08-20 | Samsung Electronics Co., Ltd. | Storage device for performing in-storage computing operations, method of operation the same, and system including the same |
CN109860389A (zh) * | 2019-01-23 | 2019-06-07 | 西南大学 | 一种光电双控柔性蛋清忆阻器在数据存算一体化中的应用 |
-
2019
- 2019-09-18 CN CN201910881707.0A patent/CN110737612A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150234606A1 (en) * | 2014-02-17 | 2015-08-20 | Samsung Electronics Co., Ltd. | Storage device for performing in-storage computing operations, method of operation the same, and system including the same |
CN109860389A (zh) * | 2019-01-23 | 2019-06-07 | 西南大学 | 一种光电双控柔性蛋清忆阻器在数据存算一体化中的应用 |
Non-Patent Citations (1)
Title |
---|
滕宇: "基于RISC-V指令集处理器的控制器研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564769A (zh) * | 2020-11-30 | 2021-03-26 | 东方红卫星移动通信有限公司 | 多速率分级调节的低轨卫星高速通信方法、发射端、接收端及系统 |
CN113157638A (zh) * | 2021-01-27 | 2021-07-23 | 浙江大学 | 一种低功耗存储器内计算处理器和处理运算方法 |
CN113157638B (zh) * | 2021-01-27 | 2022-06-21 | 浙江大学 | 一种低功耗存储器内计算处理器和处理运算方法 |
CN117235003A (zh) * | 2023-09-26 | 2023-12-15 | 海光信息技术(苏州)有限公司 | 存储器读出电路,存储器内的数据运算方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701476B (zh) | 用于针对拐角转变的经修改解码的设备和方法 | |
KR101862956B1 (ko) | 메모리에 대한 나눗셈 연산들 | |
US6243732B1 (en) | Data processor and data processing system | |
US10878856B2 (en) | Data transfer between subarrays in memory | |
US7567996B2 (en) | Vector SIMD processor | |
CN110597484B (zh) | 基于存内计算的多比特全加器、多比特全加运算控制方法 | |
CN110737612A (zh) | 一种含有存储内计算的处理器 | |
US20060101231A1 (en) | Semiconductor signal processing device | |
US8145804B2 (en) | Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor | |
JPS5977574A (ja) | ベクトル・プロセツサ | |
US11922133B2 (en) | Processor and method for processing mask data | |
US5053986A (en) | Circuit for preservation of sign information in operations for comparison of the absolute value of operands | |
EP4318275A1 (en) | Matrix multiplier and method for controlling matrix multiplier | |
US5119324A (en) | Apparatus and method for performing arithmetic functions in a computer system | |
US9990160B2 (en) | Methods and apparatus for smart memory interface | |
EP4394623A1 (en) | Data processing method, apparatus and device, and storage medium | |
EP4022520A1 (en) | Artificial intelligence accelerator | |
US5363322A (en) | Data processor with an integer multiplication function on a fractional multiplier | |
JP5231949B2 (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
CN110750300A (zh) | 一种基于忆阻器存储器内处理的混合计算装置 | |
US11961420B2 (en) | Efficient squaring with loop equalization in arithmetic logic units | |
US5751999A (en) | Processor and data memory for outputting and receiving data on different buses for storage in the same location | |
US20230047801A1 (en) | Method and device for the conception of a computational memory circuit | |
US20220060315A1 (en) | Sign-based partial reduction of modular operations in arithmetic logic units | |
JP3441847B2 (ja) | データメモリを有するプロセッサ |
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: 20200131 |