一种基于FPGA调节片间缓存一致性的系统和方法与流程

专利2026-08-21  11

本申请涉及处理器提速,例如涉及一种基于fpga调节片间缓存一致性的系统和方法。
背景技术
::1、fpga(field-programmable gatearray,现场可编程门阵列)是一种集成电路芯片,具有可编程的逻辑和可重构的硬件功能。与传统的固定功能集成电路相比,fpga具有更高的灵活性和可配置性,fpga可以被程序员或工程师根据特定应用的需求进行编程和配置,以实现各种不同的数字电路功能。它由一系列可编程的逻辑单元(look-up tables,luts)、触发器、加法器等基本功能模块组成,并通过内部的可编程互联网络进行连接。2、目前芯片研究逐渐向chiplet方向进行研究,所谓chiplet就是小芯片互联技术,将各个模块独立化,每个模块就制成一颗芯片,利用片上互联技术,将各个小芯片连在一起,但是多核结构在调用数据时容易产生片间缓存不一致的情况。3、需要说明的是,在上述
背景技术
:部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现思路1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。2、本公开实施例提供了一种基于fpga调节片间缓存一致性的系统和方法,以减少多核结构中片间的缓存数据不一致的问题。3、在一些实施例中,一种基于fpga调节片间缓存一致性的系统,包括:多核模块,包括cache l1和cache l2,cache l1为基于risc-v的cpu核,cache l2为核间共享cache,多核模块中所有的cpu并行于pcie的总线架构上,总线架构与cache l2连接;4、内存模块,与cachel2连接;5、fpga模块,与多核模块、内存模块连接,fpga模块包括并行数据处理模块、标志位输入模块、标志位发送模块和mesi模块,fpga模块用于根据处理器核心之间的数据交换需求,在不同核心之间进行数据传输,以提高缓存一致性。6、优选的,mesi模块包括状态机控制器,被配置为以状态机的模式检测各个缓存的状态,并进行数据对比,对各个cache的状态打标签,打上标签之后,便可以判定目前的数据是否一致,并将对应状态输送给各个cache以及对应cpu,在完成刷新后,fpga会收集各个寄存器状态,并为下一次数据传输做准备。7、优选的,状态机控制器以mesi协议编写,将cache line分为modified,exclusive,shared,invalid四种状态;8、其中,modified代表cache line的内容已经被修改,其内容与上级内存的内容不一致,当其他级别想要使用这个数据,或读取这个数据的时候,会将该级的数据往发送方向的下一级传递;9、exclusive代表cache line的数据只能被当前级别的存储缓存,不存在于其他的级别缓存当中,e状态只能代表当前的cache数据是相较于最新的,并不能保证数据是与上一级一致的,该状态需要经过cpu对其进行修改变成modified状态以后才可以进行正常的使用,如果直接调用的话,会变成shared状态,该数据流入下一级之后,下一级的数据会变成invalid状态;10、shared状态代表cache line中有多个数据相同,但是不能保证数据是否准确,该状态可以用于溯源哪些数据被影响了;11、invalid状态代表cache line中此数据无效,即多个cache之间的数据不一致或因cache line未命中而产生的行无效。12、优选的,fpga模块实时检测各个cache的状态,进行数据读取和比较,同时按规定给予其相应的状态。13、优选的,cpu核的内部嵌入有cpu cache高速缓存;14、cpu cache采用二级缓存。15、优选的,多核模块、内存模块和fpga模块上均设置有数据选通控制端口,用于接收选通信号,并根据选通信号,控制输入端口的选通以及输出端口的选通。16、优选的,fpga模块与多核模块、内存模块采用并行接口、串行接口和总线接口中的一种或者多种进行连接。17、在一些实施例中,所述基于fpga调节片间缓存一致性的方法,包括:18、fpga模块嵌有mesi状态机控制器,通过mesi协议对mesi状态机控制器进行编写;19、所述fpga模块随着数据流向,对还没有写入的寄存器赋入invalid状态,以阻止数据被读出,cache l1在被写入数据之后会变成exclusive状态,但在被cachel2接收之后会变成modified状态,随后内存,调取数据的core的cachel1也会逐步变成modified状态,最后所有的cache和内存变成shared状态之后,即确认数据一致,从而将数据写入调取数据的core。20、本发明提供了一种基于fpga调节片间缓存一致性的系统和方法。具备以下有益效果:21、本发明中,采用主频较高的fpga模块对数据调取速度能够进行进一步的提升,由于fpga有着多个处理器电路,在并行处理的方面有着天然的优势,通过监控各个芯片上cache的状态,并在fpga进行比较,比较完成后给出状态判断,协助芯片间的数据进行传输,相比于芯片间利用总线进行状态比较传输,采用fpga模块能够有效减轻总线占用问题,且降低在进行比较和判断对片上资源的占用。22、此外,本发明通过在cpu的内部嵌入cpu cache高速缓存,拉近cpu cache和cpu核心之间的距离,从而提高访问速度,使cpu cache充当cpu与内存之间的缓存角色,cpucache通常分为二级缓存:cache l1、cache l2,级别越低的离cpu核心越近,访问速度也快,但是存储容量相对就会越小;其中,在多核心的cpu里,每个核心都有各自的cache l1,而cache l2是所有核心共享使用的;这样可以兼顾传输速度的同时,也保证了对应的存储容量。技术特征:1.一种基于fpga调节片间缓存一致性的系统,其特征在于,包括:2.根据权利要求1所述的系统,其特征在于:3.根据权利要求2所述的系统,其特征在于:4.根据权利要求3所述的系统,其特征在于:5.根据权利要求1至4任一项所述的系统,其特征在于:6.根据权利要求1至4任一项所述的系统,其特征在于:7.根据权利要求1至4任一项所述的系统,其特征在于:8.一种基于fpga调节片间缓存一致性的方法,其特征在于:技术总结本申请涉及处理器提速
技术领域
:,公开一种基于FPGA调节片间缓存一致性的系统和方法,所述系统包括多核模块,内存模块,FPGA模块,所述方法包括以下流程,FPGA模块随着数据流向,通过FPGA模块的MESI状态机控制器对接入的数据进行读取确认,从而将数据写入调取数据的core。通过该方法通过在CPU的内部嵌入CPU Cache高速缓存,拉近CPU Cache和CPU核心之间的距离,从而提高访问速度,同时可以兼顾传输速度的同时,也保证了对应的存储容量。技术研发人员:李炳坤,魏朝飞,赵鑫鑫,姜凯受保护的技术使用者:山东浪潮科学研究院有限公司技术研发日:技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1833236.html

最新回复(0)