CN110297779A - 一种内存难解性算法的解决方法 - Google Patents
一种内存难解性算法的解决方法 Download PDFInfo
- Publication number
- CN110297779A CN110297779A CN201810246896.XA CN201810246896A CN110297779A CN 110297779 A CN110297779 A CN 110297779A CN 201810246896 A CN201810246896 A CN 201810246896A CN 110297779 A CN110297779 A CN 110297779A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- chip
- algorithm process
- sram
- process chip
- 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
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000008901 benefit Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 abstract description 7
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明公开一种内存难解性算法的解决方法,首先MCU分配SRAM地址空间,将一块大的SRAM分布到不同的算法处理芯片中,算法处理芯片接收到业务数据,对数据寻址进行分析,如果属于本芯片SRAM地址空间段内的地址则直接访问,如果不属于本芯片SRAM地址空间段内的地址则将数据传输到互联网络上,通过互联网络传输到其他含有该数据寻址的地址空间段的算法处理芯片中,最后算法处理芯片返回处理结果给MCU或者直接从算法处理芯片输出口的存储方法,有效的减少了DDR的外接储存外设,同时采用SRAM的输出,本发明采用内置大容量SRAM的存储方法,来代替外接DDR方式对随机读写不敏感,不会因为算法的随机读写降低接口性能,同时多个芯片连接起来形成一个大容量SRAM,可以根据容量需求设计对应的芯片连接数。
Description
技术领域
本发明涉及计算机内存难解性算法技术领域,尤其涉及一种内存难解性算法的解决方法。
背景技术
随着ASIC的制程越来越先进,对于绝大部分算法来说,ASIC解决方法具备了最优的能耗比,但依然存在一部分算法,用ASIC难以实现高效计算,这些算法归类于内存难解性算法。内存难解性算法一个显著的特征就是,算法需要大容量的数据存储空间和高性能的数据读写的带宽。大容量数据存储空间有两种常用的解决方法:1)采用外接DDR的存储方法,ASIC可以集成多个DDR控制器来外接DDR存储外设,但这种方法虽然可以把存储空间设计得很大,但是接口带宽难以满足一些算法的需求,特别当算法需要随机访问存储空间时,接口带宽又会大打折扣;2)采用内置大容量SRAM的存储方法,这种方法的优势是能把大块的SRAM切分成很多小块的SRAM,这样就从一个存储接口变成多个存储接口,接口带宽大幅度提高,而且SRAM对随机访问不敏感,但大容量SRAM对于ASIC来说成本是比较昂贵的,对于几个Gb甚至更大的SRAM成本非常高。
相对于ASIC,GPU对这种内存难解性算法具有天然的优势,GPU的显存具备非常高的接口带宽,并且显存容量也可以做的比较大,因此大部分ASIC解决不了的内存难解性算法就会采用GPU的解决方法。
GPU虽然可以很好的解决了内存难解性算法的实现问题,但GPU毕竟不是专用的算法芯片,没法针对某个算法在硬件上做优化。因此为了实现更高的能耗比,需要寻求一种ASIC解决方法。
现有的大容量存储和高性能存储接口需求的内存难解性算法的ASIC解决方法大多采用大量的DDR存储外设,假设采用DDR3以1600的主频,那么需要16片DDR3才能具备中端显卡的显存带宽,但ASIC一次流片的成本非常高,如果只得到跟显卡差不多的性能是不划算的,必然会集成更多的DDR存储外设,这样一个PCB上面就可以集成了几十片的DDR,这并不是一个理想的解决方法,因此,解决这一类的问题显得尤为重要。
发明内容
针对上述问题,本发明采用内置大容量SRAM的存储方法,来代替外接DDR的存储方法,有效的减少了DDR的外接储存外设,同时采用SRAM的方式对随机读写不敏感,不会因为算法的随机读写降低接口性能,在方法中当算法处理芯片访问其他算法处理芯片的地址空间时,会存在一定的延时,为了提高算法处理性能,将算法的做成了流水,多个任务进行流水处理,提高了存储访问时的算法性能,而且采用DDR作为存储的方式转化用一大块SRAM进行存储,而大块的SRAM被分割成多个部分,分布到各个芯片上,将多个芯片连接起来形成一个大容量SRAM,可以根据容量需求设计对应的芯片连接数。
本发明提出一种内存难解性算法的解决方法,其特征在于:包括以下步骤:
步骤一:MCU下发芯片配置
首先MCU分配SRAM地址空间,将一块大的SRAM分布到不同的算法处理芯片中;
步骤二:数据传输至算法处理芯片
通过MCU或算法处理芯片输入端将数据传输到算法处理芯片内部;
步骤三:算法处理芯片进行数据分析
算法处理芯片进行数据分析,如果属于本芯片SRAM地址空间段内的地址则直接访问,如果不属于本芯片SRAM地址空间段内的地址则将数据传输到互联网络上,通过互联网络传输到其他含有该数据寻址的地址空间段的算法处理芯片中;
步骤四:处理数据输出
最后算法处理芯片返回处理结果给MCU或者直接从算法处理芯片输出口输出。
进一步改进在于:所述在算法处理芯片接收到数据后进行寻址分析,如果不在本芯片的地址范围内则可通过互联网络将数据转发至目的地址范围的算法处理芯片。
进一步改进在于:所述步骤三中各个算法处理芯片均与互联网络连接,所述各个算法处理芯片数据储存空间共享。
进一步改进在于:所述算法处理芯片与互联网络的连接方式可以是点到点互联、也可以是基于交换的互联、或者其他拓补方式,主要取决于实现的难易程度和性能要求,点对点连接可以达到最高的性能,但是布线复杂实现难度也最大。
进一步改进在于:MCU负责SRAM地址空间分配、每个算法处理芯片的寻址转发规则配置和算法处理芯片的计算结果的提交。
本发明的有益效果是:
1. 采用内置大容量SRAM的存储方法,来代替外接DDR的存储方法,有效的减少了DDR的外接储存外设;
2. 采用SRAM的方式对随机读写不敏感,不会因为算法的随机读写降低接口性能;
3. 方法中当算法处理芯片访问其他算法处理芯片的地址空间时,会存在一定的延时,为了提高算法处理性能,将算法的做成了流水,多个任务进行流水处理,提高了存储访问时的算法性能;
4. 采用DDR作为存储的方式转化用一大块SRAM进行存储,而大块的SRAM被分割成多个部分,分布到各个芯片上,将多个芯片连接起来形成一个大容量SRAM,可以根据容量需求设计对应的芯片连接数。
附图说明
图1为本发明的系统结构示意图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例对本发明做进一步详述,本实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
根据图1所示的一种内存难解性算法的解决方法,包括以下步骤:
步骤一:MCU下发芯片配置
首先MCU分配SRAM地址空间,将一块大的SRAM分布到不同的算法处理芯片中;
步骤二:数据传输至算法处理芯片
通过MCU或算法处理芯片输入端将数据传输到算法处理芯片内部;
步骤三:算法处理芯片进行数据分析
算法处理芯片进行数据分析,如果属于本芯片SRAM地址空间段内的地址则直接访问,如果不属于本芯片SRAM地址空间段内的地址则将数据传输到互联网络上,通过互联网络传输到其他含有该数据寻址的地址空间段的算法处理芯片中;
步骤四:处理数据输出
最后算法处理芯片返回处理结果给MCU或者直接从算法处理芯片输出口输出。
所述在算法处理芯片接收到数据后进行寻址分析,如果不在本芯片的地址范围内则可通过互联网络将数据转发至目的地址范围的算法处理芯片,所述步骤三中各个算法处理芯片均与互联网络连接,所述各个算法处理芯片数据储存空间共享,所述算法处理芯片与互联网络的连接方式可以是点到点互联、也可以是基于交换的互联、或者其他拓补方式,主要取决于实现的难易程度和性能要求,点对点连接可以达到最高的性能,但是布线复杂实现难度也最大,MCU负责SRAM地址空间分配、每个算法处理芯片的寻址转发规则配置和算法处理芯片的计算结果的提交。
本发明采用内置大容量SRAM的存储方法,来代替外接DDR的存储方法,有效的减少了DDR的外接储存外设,同时采用SRAM的方式对随机读写不敏感,不会因为算法的随机读写降低接口性能,在方法中当算法处理芯片访问其他算法处理芯片的地址空间时,会存在一定的延时,为了提高算法处理性能,将算法的做成了流水,多个任务进行流水处理,提高了存储访问时的算法性能,而且采用DDR作为存储的方式转化用一大块SRAM进行存储,而大块的SRAM被分割成多个部分,分布到各个芯片上,将多个芯片连接起来形成一个大容量SRAM,可以根据容量需求设计对应的芯片连接数。
工作原理:将一块大的SRAM分布在多个芯片中,然后通过互联网络将所有芯片连接起来共享SRAM,即MCU分配SRAM的地址空间,不同的算法处理芯片的内嵌SRAM属于不同的地址空间段,然后MCU配置寻址转发表,即当算法处理芯片需要访问的地址不在本芯片的地址空间段内,需要查找寻址转发表来确认往哪一个算法处理芯片发送访问请求,随即算法处理芯片开始执行算法计算,处理芯片在计算过程中访问SRAM,首先根据预先分配好的SRAM地址空间段判断是否访问的是本芯片SRAM,如果是则直接访问,否则查询寻址转发表来该地址所对应的目的算法处理芯片,当目的算法处理芯片接收到来自其他算法处理芯片的SRAM访问请求时,响应其请求操作。
Claims (5)
1.一种内存难解性算法的解决方法,其特征在于:包括以下步骤:
步骤一:MCU下发芯片配置
首先MCU分配SRAM地址空间,将一块大的SRAM分布到不同的算法处理芯片中;
步骤二:数据传输至算法处理芯片
通过MCU或算法处理芯片输入端将数据传输到算法处理芯片内部;
步骤三:算法处理芯片进行数据分析
算法处理芯片进行数据分析,如果属于本芯片SRAM地址空间段内的地址则直接访问,如果不属于本芯片SRAM地址空间段内的地址则将数据传输到互联网络上,通过互联网络传输到其他含有该数据寻址的地址空间段的算法处理芯片中;
步骤四:处理数据输出
最后算法处理芯片返回处理结果给MCU或者直接从算法处理芯片输出口输出。
2.根据权利要求1所述的一种内存难解性算法的解决方法,其特征在于:所述在算法处理芯片接收到数据后进行寻址分析,如果不在本芯片的地址范围内则可通过互联网络将数据转发至目的地址范围的算法处理芯片。
3.根据权利要求1所述的一种内存难解性算法的解决方法,其特征在于:所述步骤三中各个算法处理芯片均与互联网络连接,所述各个算法处理芯片数据储存空间共享。
4.根据权利要求1所述的一种内存难解性算法的解决方法,其特征在于:所述算法处理芯片与互联网络的连接方式可以是点到点互联、也可以是基于交换的互联、或者其他拓补方式,主要取决于实现的难易程度和性能要求,点对点连接可以达到最高的性能,但是布线复杂实现难度也最大。
5.根据权利要求1所述的一种内存难解性算法的解决方法,其特征在于:MCU负责SRAM地址空间分配、每个算法处理芯片的寻址转发规则配置和算法处理芯片的计算结果的提交。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246896.XA CN110297779A (zh) | 2018-03-23 | 2018-03-23 | 一种内存难解性算法的解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810246896.XA CN110297779A (zh) | 2018-03-23 | 2018-03-23 | 一种内存难解性算法的解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110297779A true CN110297779A (zh) | 2019-10-01 |
Family
ID=68026184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810246896.XA Pending CN110297779A (zh) | 2018-03-23 | 2018-03-23 | 一种内存难解性算法的解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297779A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220625A (zh) * | 2021-05-12 | 2021-08-06 | 北京汇智诚芯科技有限公司 | 一种基于流式处理芯片的计算量证明系统的设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441615A (zh) * | 2008-11-24 | 2009-05-27 | 中国人民解放军信息工程大学 | 面向任务流的高效能立体并行柔性可重构计算架构模型 |
CN103020002A (zh) * | 2012-11-27 | 2013-04-03 | 中国人民解放军信息工程大学 | 可重构多处理器系统 |
CN106462939A (zh) * | 2014-06-30 | 2017-02-22 | 英特尔公司 | 可缩放gpu中的数据分布组构 |
CN107688853A (zh) * | 2016-08-05 | 2018-02-13 | 北京中科寒武纪科技有限公司 | 一种用于执行神经网络运算的装置及方法 |
-
2018
- 2018-03-23 CN CN201810246896.XA patent/CN110297779A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441615A (zh) * | 2008-11-24 | 2009-05-27 | 中国人民解放军信息工程大学 | 面向任务流的高效能立体并行柔性可重构计算架构模型 |
CN103020002A (zh) * | 2012-11-27 | 2013-04-03 | 中国人民解放军信息工程大学 | 可重构多处理器系统 |
CN106462939A (zh) * | 2014-06-30 | 2017-02-22 | 英特尔公司 | 可缩放gpu中的数据分布组构 |
CN107688853A (zh) * | 2016-08-05 | 2018-02-13 | 北京中科寒武纪科技有限公司 | 一种用于执行神经网络运算的装置及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220625A (zh) * | 2021-05-12 | 2021-08-06 | 北京汇智诚芯科技有限公司 | 一种基于流式处理芯片的计算量证明系统的设计方法 |
CN113220625B (zh) * | 2021-05-12 | 2024-05-14 | 北京汇智诚芯科技有限公司 | 一种基于流式处理芯片的计算量证明系统的设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996491B2 (en) | Network interface controller with direct connection to host memory | |
US9256545B2 (en) | Shared memory access using independent memory maps | |
US20070143546A1 (en) | Partitioned shared cache | |
US9996498B2 (en) | Network memory | |
US7765366B2 (en) | Memory micro-tiling | |
US11989143B2 (en) | Composable infrastructure enabled by heterogeneous architecture, delivered by CXL based cached switch SoC | |
US20200201573A1 (en) | Memory system and operation method thereof | |
CN109564562B (zh) | 大数据运算加速系统和芯片 | |
US10162522B1 (en) | Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode | |
CN101630303A (zh) | 请求信息的处理方法、装置以及多处理器存储系统 | |
CN113791822B (zh) | 多内存通道的内存存取装置、方法和数据处理设备 | |
US8527684B2 (en) | Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC | |
CN107643881A (zh) | 一种大容量可扩展全闪存阵列控制节点的方法及系统 | |
CN110297779A (zh) | 一种内存难解性算法的解决方法 | |
CN117389914B (zh) | 缓存系统、缓存写回方法、片上系统及电子设备 | |
EP3907624A1 (en) | Memory and storage controller with integrated memory coherency interconnect | |
US11113211B2 (en) | Memory device supporting rank-level parallelism and memory system including the same | |
US10031884B2 (en) | Storage apparatus and method for processing plurality of pieces of client data | |
CN110399314B (zh) | 一种cpu、一种电子设备以及一种cpu缓存控制方法 | |
CN209784995U (zh) | 大数据运算加速系统和芯片 | |
US20190311517A1 (en) | Data processing system including an expanded memory card | |
US20230195368A1 (en) | Write Request Buffer | |
US20220197545A1 (en) | Data access system and method | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN104407367B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191001 |
|
RJ01 | Rejection of invention patent application after publication |