System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于硬件系统架构领域,尤其涉及一种面向高算力应用的流水处理器架构。
技术介绍
1、随着人工智能,大模型的飞速发展,其推理计算在场景应用中大量存在,同时由于该计算过程中伴随着大量的逻辑计算,对于处理器的算力提出了较高的要求,因而对于一款处理器,能否高效的运行该场景下的大规模计算成为了该处理器衡量性能的标准之一。
2、在多核处理器中,每一个处理器均可以进行各种类型的计算,但各个处理器的算术逻辑单元仍然相对独立,对于一个复杂的计算,当需要各个处理器同时处理时,数据在各个处理器之间传递时仍需要较大的指令开销,导致各个处理器的算术逻辑单元无法最大程度的利用,极大影响了处理器的计算效率。因此,如何让各个处理器在处理同一组计算时最高效率的进行数据传递成为提高处理器算力的重中之重。
技术实现思路
1、本专利技术提供一种面向高算力应用的流水处理器架构,该架构将各处理器流水级设计,按照流水线顺序增加算术逻辑单元与寄存器之间的数据接口,并增加指令锁定单元,以实现数据的高效计算。实现多个cpu可以以流水线形式同时进行一个完整计算的各部分内容。
2、本专利技术采用如下技术方案:一种面向高算力应用的流水处理器架构,包括:
3、n个cpu按照流水结构依次排列,第i个cpu为第i级流水处理器,i=0,…,n-1;cpu0为第一级流水处理器,用于读取数据以及向下一级处理器发送数据;对于最后一级处理器,用于处理来自上一级处理器过来的数据,并将数据写回主存中;
5、所述cpu包括:
6、控制单元,用于控制cpu指令运行进程;
7、算数逻辑单元,用于执行运算指令的运算逻辑;
8、数据寄存器,用于存储cpu运行过程中产生的数据;
9、数据访存单元,用于cpu与片外存储器进行访问。
10、所述控制单元,包括:
11、指令寄存器,用于存储cpu运行过程中的指令;
12、指令锁定单元,用于cpu加载指令时,将指令逻辑锁定在算数逻辑单元或数据访存单元中;
13、指令计数器,用于对cpu的程序运行进程进行计数;
14、指令锁定单元,用于对逻辑运算类指令以及数据访存类指令进行锁定,当产生锁定时,对应的cpu以锁定的指令逻辑进行工作,直到下一次有新的指令产生,才更换对应的cpu的指令逻辑。
15、所述流水结构,将各个cpu顺次排列,每个cpu的计算结果直接发送给下一流水级cpu进行计算;其中,第一流水级处理器用于数据读取访存,最后一流水级处理器用于数据写回访存。
16、各个cpu按照流水级顺序依次晚一个流水级周期开始运行,以保证上一流水级cpu在计算结束并将数据发送下一流水级处理器时,下一流水级处理器恰好准备开始处理来自上一流水级处理器的数据。
17、一种面向高算力应用的流水处理器方法,包括以下步骤:
18、cpu0作为主控内核,将接收的数据划分为若干单指令计算,并按照cpu的流水线结构分给各个cpu;
19、各个cpu由cpu0负责同步,等待所有cpu准备好后,统一发出执行命令,各cpu按照流水级顺序依次开始进行计算;
20、各cpu根据指令的锁定信号控制指令的译码逻辑是否锁定在对应的指令寄存器、指令计数器或者指令译码中,直到出现新的指令,并将新的逻辑锁定;
21、各cpu按照指令的译码执行的算数逻辑以及数据访存功能,各cpu按照流水级运行相应运算,直到所有计算结束。
22、一种面向高算力应用的流水处理器实现方法,包括以下步骤:
23、cpu0开始计算,在第k个时钟周期内开始进行第m条指令的取指令,此时其他cpu处理挂起状态;
24、在第k+1个时钟周期内,cpu1开始第m条指令的取指令,cpu0进行第m条指令的指令译码;
25、在第k+2个时钟周期内,cpu0开始第m条指令的执行,对数据进行处理,此时cpu1进行第m条指令的指令译码,cpu2进行第m条指令的取指令;
26、在第k+3个时钟周期内,cpu0开始第m+1条指令的执行,cpu1进行第m条指令的执行,其执行的数据来自于cpu0第m条指令的执行得到的数据,cpu2进行第m条指令的指令译码,cpu3进行第m条指令的取指令;
27、在第k+4个时钟周期内,cpu0开始第m+2条指令的执行,cpu1进行第m+1条指令的执行,其执行的数据来自于cpu0的第m+1条指令,cpu2进行第m条指令的执行,其执行的数据来自于cpu1的第m条指令,cpu3进行第m条执行的指令译码,cpu4进行第m条执行的取指令;
28、cpu0、cpu1、cpu2、cpu3、cpu4分别按照各自的取指令、指令译码、执行顺序执行;
29、当cpu4完成第m条指令的执行时,表示当前cpu流水级的数据计算结束,在某个时钟周期内,cpu4启动访存功能将数据存回至主存中,同时cpu4进行第m+1条指令的执行,其数据来自于cpu3的第m+1条指令。
30、对于数据访存部分,cpu0以及cpu4分别担任第一流水级处理器以及最后一流水级处理器的角色;对于第一流水级处理器,用于进行数据的预处理、进行输入特征数据以及输入权重数据的加载,将数据预处理的逻辑运算指令固定在逻辑运算单元,每次仅更新数据加载指令即可;
31、对于最后一流水级处理器,用于进行数据的偏置处理、进行输出层数据写回至主存,将偏置处理的逻辑运算指令固定在逻辑运算单元,每次仅更新数据存储指令即可;直到所有的输出层数据计算结束,即整个计算结束。
32、本专利技术具有以下有益效果及优点:
33、本专利技术通过将相邻流水级处理器的算术逻辑单元与寄存器连接,使得数据在进行计算以及处理器间传递时,不需要额外的访存过程,同时增加指令锁定功能,以减少重复指令带来的指令周期影响,最大化的利用各处理器的运算单元,极大的提高了大规模数据运算时的计算效率。
本文档来自技高网...【技术保护点】
1.一种面向高算力应用的流水处理器架构,其特征在于,包括:
2.根据权利要求1所述的一种面向高算力应用的流水处理器架构,其特征在于,所述CPU包括:
3.根据权利要求2所述的一种面向高算力应用的流水处理器架构,其特征在于,所述控制单元,包括:
4.根据权利要求1所述的一种面向高算力应用的流水处理器架构,其特征在于,所述流水结构,将各个CPU顺次排列,每个CPU的计算结果直接发送给下一流水级CPU进行计算;其中,第一流水级处理器用于数据读取访存,最后一流水级处理器用于数据写回访存。
5.根据权利要求1所述的一种面向高算力应用的流水处理器架构,其特征在于:各个CPU按照流水级顺序依次晚一个流水级周期开始运行,以保证上一流水级CPU在计算结束并将数据发送下一流水级处理器时,下一流水级处理器恰好准备开始处理来自上一流水级处理器的数据。
6.一种面向高算力应用的流水处理器实现方法,其特征在于,包括以下步骤:
7.根据权利要求6所述的一种面向高算力应用的流水处理器实现方法,其特征在于,包括以下步骤:
8.根据
...【技术特征摘要】
1.一种面向高算力应用的流水处理器架构,其特征在于,包括:
2.根据权利要求1所述的一种面向高算力应用的流水处理器架构,其特征在于,所述cpu包括:
3.根据权利要求2所述的一种面向高算力应用的流水处理器架构,其特征在于,所述控制单元,包括:
4.根据权利要求1所述的一种面向高算力应用的流水处理器架构,其特征在于,所述流水结构,将各个cpu顺次排列,每个cpu的计算结果直接发送给下一流水级cpu进行计算;其中,第一流水级处理器用于数据读取访存,最后一流水级处理器用于数据写回访存。
【专利技术属性】
技术研发人员:朱智彧,牛英山,王爽,王涣,陈晓棠,
申请(专利权)人:中国电子科技集团公司第四十七研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。