一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种芯片和服务器的制作方法

2022-03-05 04:51:30 来源:中国专利 TAG:


1.本发明涉及芯片领域,具体涉及一种芯片和服务器。


背景技术:

2.在ai应用中,尤其是当前主流的深度学习和神经网络算法中,最显著的特点就是大量的并行和分层的计算,反映到硬件需求上,一是大量的并行计算核心,二是大量的数据暂存和不同在计算核心间的传输。后者对应到数据存储上,特点就是需要对高位宽的数据进行反复的读写、更新。
3.在目前绝大部分的ai芯片中都采取了多个计算核心单元的并行架构,最出名的可能就是nvidia的gpu(用上千个cuda核心搭建阵列)和google的tpu(数个由128*128的矩阵单元构成tensor core)。但应用的方式都有所区别,大体可分为两类,一种是类似cuda,每一个计算核心都是一个独立的可编程的小系统,可以提供强大的计算能力和灵活性,缺点就是能效比不占优势,而且软件栈会非常复杂;另一种是类似tensor core,用矩阵计算单元构成阵列,每个矩阵单元只完成某一个特定的功能,由整个矩阵的控制器来分配任务和控制数据流,这样可以实现最高的能效比,但是矩阵的组成和规模一旦确定,芯片的适用场景基本就确定了。虽然可以通过控制器的调度来实现对更多场景的适配,但是往往会出现资源浪费,效率肯定会降低,缺乏灵活性。
4.无论是哪种架构,当前的ai应用绝大部分都有大量的数据暂存和在不同计算核心间的传输的需求,为了缓解数据反复读写带来的性能瓶颈,往往采取片上的缓存暂存马上需要使用的数据(一条或少数几条数据),用片外存储器件存放其它数据的二级存储结构。而片上缓存一般采用分布式的方案,即每个计算核心,或者数个计算核心,使用一小块独立的缓存。这是因为计算核心数量太多,集中式的缓存会造成数据访问的拥塞。
5.现有的二级存储结构,优化空间有限,现有的大量的分布式的缓存,给每块缓存增加一条数据的容量,所需资源总量就会增加很多;而如果只给部分缓存增加容量,在优化这部分计算核心性能的同时,又会造成新的性能瓶颈。因此,很难通过增加缓存容量的方式的降低访问外部存储的频率,进而提升整体性能。


技术实现要素:

6.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种芯片,包括:
7.多组计算单元,每一组计算单元均包括多个计算核心;
8.多个片上分布式缓存,每一个所述分布式缓存与其中一组计算单元连接;
9.片上集中式缓存,每一个所述分布式缓存均与所述集中式缓存连接;
10.片外存储,所述片上存储与所述片上集中式缓存连接;
11.其中,多个计算核心利用所述片上分布式缓存、所述片上集中式缓存以及片外存储进行数据读写和更新。
12.在一些实施例中,所述片上分布式缓存配置为:
13.响应于接收到计算核心的数据读取请求,根据所述数据读取请求中携带的地址判断待读取的数据是否存在;
14.响应于存在,直接将所述待读取的数据返回给相应的计算核心;
15.响应于不存在,访问所述集中式缓存获取并缓存所述待读取的数据,并将所述待读取的数据返回给相应的计算核心。
16.在一些实施例中,所述片上集中式缓存配置为:
17.响应于接收到所述分布式缓存的访问请求,根据所述访问请求中携带的地址判断所述待读取的数据是否存在;
18.响应于存在,直接将所述待读取的数据返回给所述分布式缓存;
19.响应于不存在,访问所述片外存储获取并缓存所述待读取的数据,并将所述待读取的数据返回给所述分布式缓存。
20.在一些实施例中,所述片上集中式缓存还配置为:
21.对从所述片外存储获取到所述待读取的数据设置脏态标志位,并将所述脏态标志位置为第一预设值。
22.在一些实施例中,所述片上分布式缓存配置为:
23.响应于接收到计算核心的数据写请求,根据所述数据写请求中携带的地址确定待写入数据的写入位置以将所述待写入数据写入到相应的位置。
24.在一些实施例中,所述片上分布式缓存还配置为响应于接收到计算核心的数据更新请求,访问所述片上集中式缓存;
25.所述片上集中式缓存还配置为响应于接收到所述片上分布式缓存的访问请求,根据所述访问请求中携带的地址判断待更新的数据是否存在;
26.响应于存在,利用所述访问请求对应的新数据更新所述待更新的数据。
27.在一些实施例中,所述片上集中式缓存还配置为:
28.判断所述待更新的数据是否存在脏态标志位;
29.响应于存在脏态标志位,将所述脏态标志位置为第二预设值。
30.在一些实施例中,所述片上集中式缓存还配置为:
31.响应于不存在,访问所述片外存储获取并缓存所述待更新的数据;
32.对从所述片外存储获取到所述待更新的数据设置脏态标志位,并将所述脏态标志位置为第一预设值;
33.利用所述访问请求对应的新数据更新所述待更新的数据并将所述脏态标志位置为第二预设值。
34.在一些实施例中,所述片上集中式缓存还配置为:
35.响应于触发回写操作,将脏态标志位为第二预设值的数据写入到所述片外存储。
36.基于同一发明构思,本发明的实施例还提出一种服务器,包括如上述任一项实施例所述的芯片。
37.本发明具有以下有益技术效果之一:本发明提出的方案考虑到了大规模并行计算的特点,采用三级存储的结构以及分布式的缓存设计降低了集中式缓存会带来的数据拥塞等问题,用集中式缓存增强了缓存容量对性能的优化作用,实现减少访问片外存储,尤其是
减少对片外存储写操作的目的,从而提升整体性能。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
39.图1为本发明的实施例提供的芯片的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
41.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
42.根据本发明的一个方面,本发明的实施例提出一种芯片,如图1所示,芯片可以包括多组计算单元、多个片上分布式缓存、片上集中式缓存以及片外存储,其中,每一组计算单元均包括多个计算核心,每一个所述分布式缓存与其中一组计算单元连接,每一个所述分布式缓存均与所述集中式缓存连接,所述片上存储与所述片上集中式缓存连接。从而使得多个计算单元利用所述片上分布式缓存、所述片上集中式缓存以及片外存储进行数据读写和更新。
43.在一些实施例中,片上分布式缓存有多块,每块与一组计算核心相连,所有的分布式缓存与集中式缓存相连,集中式缓存连接片外存储接口。其中,集中式缓存和片外存储的数据由全芯片统一地址编址和访问,而分布式缓存不需要统一编址,只支持对应连接的计算核心访问,不支持其他的计算核心访问,这样能提高分布式缓存的利用效率。而且计算核心也只有分布式缓存连接,并不与其他存储连接。
44.在一些实施例中,计算核心对于存储的访问可以分为三类:随机写、读和更新。其中随机写和更新的区别在于:随机写的目的就是存数据,对于存的位置没有要求,这样的数据往往是新建的一段数据或者是作为阶段性结果输出的数据,随机写的数据一般存储到片上分布式缓存中,由于分布式缓存不需要统一编址,因此数据的存储更快。更新是对指定位置的数据进行写,往往出现在计算迭代过程中,比卷积计算中上一层的计算完成后产生的数据,会在下一层的计算后在原有数据上更新,依此往下迭代操作。另外,随机写一般优先将数据存在分布式缓存中,当容量不够时才会依次写入集中式缓存和片外存储,而更新操作是需要全芯片统一地址编址和访问的,不能在分布式缓存中进行。
45.对于随机写,本发明的三级存储和原有的“片上缓存 片外存储”的二级存储相比,区别在于在分布式缓存空间满了之后,会替换出数据写入集中式缓存,集中式缓存满了之后才会替换出数据写入片外存储。这样的好处是分布式缓存和集中式缓存协作的方式,可以减轻分布式缓存不容易扩展容量和集中式缓存容易拥塞的问题。
46.在一些实施例中,所述片上分布式缓存配置为:
47.响应于接收到计算核心的数据读取请求,根据所述数据读取请求中携带的地址判断待读取的数据是否存在;
48.响应于存在,直接将所述待读取的数据返回给相应的计算核心;
49.响应于不存在,访问所述集中式缓存获取并缓存所述待读取的数据,并将所述待读取的数据返回给相应的计算核心。
50.具体的,当分布式缓存接收到计算核心的读取请求,可以根据请求中携带的地址判断该数据是否存在于分布式缓存中,如果存在,则直接返回即可,如果不存在,则需要访问集中式缓存,从集中式缓存中获取到相应的数据。
51.在一些实施例中,所述片上集中式缓存配置为:
52.响应于接收到所述分布式缓存的访问请求,根据所述访问请求中携带的地址判断所述待读取的数据是否存在;
53.响应于存在,直接将所述待读取的数据返回给所述分布式缓存;
54.响应于不存在,访问所述片外存储获取并缓存所述待读取的数据,并将所述待读取的数据返回给所述分布式缓存。
55.具体的,当集中式缓存接收到分布式缓存的访问请求后,可以根据请求中的地址确定待读取的数据是否存在于集中式缓存中,如果存在则直接返回即可,然后再由分布式缓存返回给计算核心。如果不存在,则访问片外存储,从片外存储中获取到相应的数据。
56.需要说明的是,若计算核心读取随机写入到分布式缓存中数据,则读请求中携带的地址可以直接是通过随机写存入到分布式缓存中的数据对应的地址,分布式缓存可以根据该地址找到对应的数据。如果计算核心读取其他数据,可以根据地址的映射关系,找到对应的数据,例如读取位于集中式缓存中的数据,读请求中携带的地址可以是集中式缓存中的地址,若之间已将该数据读取到了分布式缓存,则建立了该数据在集中式缓存中的地址和在分布式缓存中的地址的映射,通过读请求中携带的地址以及映射即可在分布式缓存中读取到相应的数据。如果未将数据读取到分布式缓存中,则可以由分布式缓存访问集中式缓存以根据读请求中携带的地址获取到数据。
57.在一些实施例中,所述片上集中式缓存还配置为:
58.对从所述片外存储获取到所述待读取的数据设置脏态标志位,并将所述脏态标志位置为第一预设值。
59.具体的,为了减少片外存储的写操作,集中式缓存的每条数据除了通常的有效位标志之外,还会额外设置一个脏态标志位,用于标识该数据和片外存储对应位置的数据是不是一致。当集中式缓存第一次从片外存储读取出该数据放入自身缓存的时候,脏态标志位置为“0”,即该数据为未被修改的干净数据。
60.在一些实施例中,所述片上分布式缓存配置为:
61.响应于接收到计算核心的数据写请求,根据所述数据写请求中携带的地址确定待写入数据的写入位置以将所述待写入数据写入到相应的位置。
62.具体的,如果分布式缓存接收到计算核心发出的写请求且写请求中携带的地址为分布式缓存中的地址,则直接将数据写入到分布式缓存中即可。
63.在一些实施例中,所述片上分布式缓存还配置为响应于接收到计算核心的数据更新请求,访问所述片上集中式缓存;
64.所述片上集中式缓存还配置为响应于接收到所述片上分布式缓存的访问请求,根据所述访问请求中携带的地址判断待更新的数据是否存在;
65.响应于存在,利用所述访问请求对应的新数据更新所述待更新的数据。
66.具体的,当分布式缓存接收到计算核心发出的更新请求,由于分布式缓存不支持更新操作,则访问集中式缓存,在集中式缓存中根据更新请求中携带的地址以及新数据更新所述待更新的数据。
67.在一些实施例中,所述片上集中式缓存还配置为:
68.判断所述待更新的数据是否存在脏态标志位;
69.响应于存在脏态标志位,将所述脏态标志位置为第二预设值。
70.具体的,如果该数据为之前从片外存储读取到的数据,则在更新后需要将脏态标志位由第一预设值置为第二预设值,表示该数据和片外存储的数据不一致。
71.在一些实施例中,所述片上集中式缓存还配置为:
72.响应于不存在,访问所述片外存储获取并缓存所述待更新的数据;
73.对从所述片外存储获取到所述待更新的数据设置脏态标志位,并将所述脏态标志位置为第一预设值;
74.利用所述访问请求对应的新数据更新所述待更新的数据并将所述脏态标志位置为第二预设值。
75.具体的,如果集中式缓存中当前并不存在待更新的数据,则先从片外存储中获取到该数据,然后对其进行更新,同样的将脏态标志位由第一预设值置为第二预设值,表示该数据和片外存储的数据不一致。
76.在一些实施例中,所述片上集中式缓存还配置为:
77.响应于触发回写操作,将脏态标志位为第二预设值的数据写入到所述片外存储。
78.具体的,当计算单元需要更新该数据时,如果该数据仍在集中式缓存中,那就会直接修改缓存数据,并将脏态数据置为“1”,表明该数据和片外存储的数据不一致,但并不会同步更新到片外存储中去,直到该数据因为长期不被使用被替换出集中式缓存,或者芯片发出特定的写回命令(计算结束要输出结果到片外存储或者设计时定义的其它意外中止情况),该数据才会被更新到片外存储中。
79.本发明提出的芯片,考虑到了大规模并行计算的特点,采用三级存储的结构,用分布式的缓存设计降低了集中式缓存会带来的数据拥塞等问题,用集中式缓存增强了缓存容量对性能的优化作用,并且通过优化的两级片上缓存的分布和工作方式,实现减少访问片外存储,尤其是减少对片外存储写操作的目的,从而提升整体性能。同时,写操作的减少,也能提供片外高性能存储器件更长的使用寿命,提升芯片的可用性。并且通过在集中式缓存设置脏态数据位,用缓存对片外存储的读操作和对缓存的数据访问,替代部分直接对片外存储的写操作,从而优化存储性能和提高芯片的可用性。
80.基于同一发明构思,本发明的实施例还提出一种服务器,本发明的实施例还提出一种服务器,包括如上述任一项实施例所述的芯片。
81.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
82.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
83.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
84.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献