一种物理内存分配系统的制作方法
- 国知局
- 2024-11-18 18:15:35
本发明涉及物理内存分配,具体涉及一种物理内存分配系统。
背景技术:
1、通用计算加速架构(compute acceleration architecture,简称uaa)是一种新定义的计算存储架构,其核心思想是通过微架构的创新,采用微码驱动的方式,完成优化的软、硬界面划分,在兼顾了硬件执行的高性能的前提下,同时保有了软件可编程的高灵活、可扩展特性。uaa的架构中,定义了控制页(control page,简称cp)和控制命令块(controlblock,简称cb)。cp通常对应到主机的一次io请求或者管理请求。在一个cp中,顺序由若干个cb,这些cb一一对应完成该io管理命令请求所需要的一系列的操作步骤。
2、如图1a所示,为相关技术中物理内存分配系统的通用设计流程示意图。如图1b所示,为物理内存分配系统的cb硬件解析示意图。在图1b中,输入为cb的地址,在入口获得地址后,由cb预读取模块主动发起读操作将cb读回放至本地,随后cb解析模块在获取到读回本地的cb,进行cb解析,并按照cb的规定完成对应操作的内存分配,在完成内存分配后向外写完成,告知外围控制模块此cb已经完成。
3、因此,相关技术中采用流水线方式依次逐个处理cb,在最后节点处理cb完成后确定cb处理是否异常,系统吞吐量低且耗时较长。
技术实现思路
1、有鉴于此,本发明提供了一种物理内存分配系统,以解决相关技术中的cb内存分配系统吞吐量低且耗时较长的问题。
2、根据第一方面,本公开实施例提供一种物理内存分配系统,包括:
3、cb数据解析模块,用于解析多个目标cb数据分别对应的数据解析信息,以及在确定多个目标cb数据中任一目标cb数据异常时,向异常处理模块发送对应异常目标cb数据的第一异常指令;
4、entry数据写入模块,用于在确定接收到的entry内存指针异常时,向异常处理模块发送对应entry内存指针异常的第二异常指令;
5、list数据写入模块,用于在确定接收到的list内存指针异常时,向异常处理模块发送第三异常指令;
6、异常处理模块,用于在接收到第一异常指令、第二异常指令和第三异常指令中的至少一项时,根据接收到的异常指令,执行对应接收到的异常指令的异常处理操作并缓存异常处理结果。
7、结合上述实施方式,通过异常处理模块对cb数据解析模块产生的第一异常指令、entry数据写入模块产生的第二异常指令、entry数据写入模块产生的第三异常指令中的至少一项的异常指令进行异常处理,无需按照传统方式依次逐个处理cb,当处理完一个cb之后对下一个cb进行处理,最后对异常cb统一进行处理,因此,本发明能够显著提升系统吞吐量以及显著降低内存分配耗时。同时,处理多个cb数据又可以增强接口或总线利用效率,另外,在多级流水处理cb数据过程中,因为任一模块确定多个目标cb数据相关信息异常时,均可直接进入异常处理模块,所以能够提升系统整体效率以及系统鲁棒性,并且也能够显著优化系统性能。
8、在一种可选的实施方式中,本公开实施例中的物理内存分配系统,还包括:
9、cb数据预读取模块,用于缓存多个目标cb地址分别对应的目标cb数据;
10、数据写入执行模块,用于在接收到entry数据写入模块、list数据写入模块、异常处理模块转交的写入指令中的至少一项时,根据接收到的写入指令,执行写入操作。
11、结合上述实施方式,通过cb数据预读取模块实现自动读取多个目标cb数据,能够提升数据读取效率,并且,使用统一的数据写入执行模块来完成当前目标cb数据与外围模块的状态交互控制,相较于通用设计,降低了耦合度。
12、在一种可选的实施方式中,多个目标cb数据分别对应的数据解析信息包括:数据格式信息、分配模式信息、内存位置信息、内存大小信息,数据格式信息包括:数据列表模式和数据散列模式;entry数据写入模块,进一步还用于以下至少一项:若目标cb数据为数据散列模式,在开辟cb内存空间后,直接转交写入指令至数据写入执行模块执行写入操作;若目标cb数据为数据列表模式,对应写入entry数据并缓存该entry数据,以等待list数据写入模块读取后执行list写入操作。
13、结合上述实施方式,entry数据写入模块使用多种模式(数据散列模式或数据列表模式)的内存分配机制,能够准确识别当前模式以提前终止流水线,达到缩短时延的目的。
14、在一种可选的实施方式中,异常处理模块包括:
15、第一仲裁器,用于采用轮训仲裁方式接收第一异常指令、第二异常指令和第三异常指令中的至少一项;
16、异常解析单元,用于对采用轮训仲裁方式接收到的异常指令进行异常解析,以得到异常指令对应的异常解析结果;
17、中断处理单元,用于对异常解析结果进行中断处理;
18、第一缓存单元,用于缓存已处理的中断处理信息,基于中断处理信息生成中断处理信息的写入指令,向数据写入执行模块发送写入指令。
19、结合上述实施方式,通过异常处理模块对来自cb数据解析模块、entry数据写入模块和list数据写入模块的异常源进行异常处理,以便外部能够通过响应中断或读寄存器进行异常的快速定位及异常处理,并且有利于提升系统整体效率。
20、在一种可选的实施方式中,list数据写入模块,包括:list数据写入单元,用于以下至少一项:在读取的list内存指针异常时,向异常处理模块发送第三异常指令;在读取的list内存指针正常时,基于分配模式信息、内存大小信息,在list内存指针指示的list内存空间写入list数据;第二缓存单元,用于缓存list数据以及在接收到list写应答指令时,向数据写入执行模块发送对应写list数据的写入指令。
21、结合上述实施方式,list数据写入模块在list内存指针发生异常时,即时告知异常处理模块处理,显著提升了系统异常处理效率,另外,采用分配模式信息,有利于准确识别当前模式以提前终止流水线,达到缩短时延的目的。
22、在一种可选的实施方式中,entry数据写入模块,包括:entry数据写入单元,用于以下至少一项:在读取的entry内存指针异常时,向异常处理模块发送所第二异常指令;其中,entry内存指针由外部主机提供,entry数据写入单元具体用于,在entry内存指针进入到entry数据写入单元时,对entry内存指针做crc校验,如果crc校验异常,转交第二异常指令至异常处理模块执行异常处理操作;在读取的entry内存指针正常时,基于数据散列模式和内存位置信息,对应开辟cb内存空间后,直接转交写入指令至数据写入执行模块执行写入操作;在读取的entry内存指针正常时,基于数据列表模式、内存位置信息、内存大小信息和entry内存指针,在entry内存空间对应写入entry数据;第三缓存单元,用于读取的entry内存指针正常时,缓存entry数据,以及在接收到entry写应答指令时,向数据写入执行模块发送对应写entry数据的写入指令。
23、结合上述实施方式,entry数据写入模块在entry内存指针发生异常时,即时告知异常处理模块处理,显著提升了系统异常处理效率,另外,使用多种模式(数据散列模式或数据列表模式)的内存分配机制,能够准确识别当前模式以提前终止流水线,达到缩短时延的目的。
24、在一种可选的实施方式中,数据写入执行模块,包括:
25、第二仲裁器,用于采用轮训仲裁方式接收异常处理模块、entry数据写入模块、list数据写入模块中至少一项发送的写入指令;
26、数据写入执行单元,用于基于异常处理模块、entry数据写入模块、list数据写入模块中至少一项发送的写入指令,执行写入操作。
27、结合上述实施方式,异常处理模块、entry数据写入模块、list数据写入模块使用统一的数据写入执行模块来完成当前目标cb数据与外围模块的状态交互控制,相较于通用设计,降低了耦合度。
28、在一种可选的实施方式中,分配模式信息包括:实体列表模式信息和壳列表模式信息;
29、list数据写入模块,用于以下至少一项:若分配模式信息为实体列表模式信息,采用串行顺序在list内存空间写入list数据;若分配模式信息为壳列表模式信息,按照内存大小信息在list内存空间写入list数据。
30、结合上述实施方式,使用多种分配模式信息(数据散列模式或数据列表模式)的内存分配机制,能够准确识别当前模式以提前终止流水线,达到缩短时延的目的。
31、在一种可选的实施方式中,cb数据解析模块,包括:
32、cb数据解析单元,用于解析出多个目标cb数据分别对应的数据解析信息,并在确定多个目标cb数据中存在异常目标cb数据时,向异常处理模块发送异常指令;
33、数据解析寄存器,用于对多个目标cb数据分别对应的数据解析信息进行时序优化;
34、第四缓存单元,用于在cb数据解析单元确定多个目标cb数据中任一目标cb数据正常时,缓存正常的目标cb数据对应的数据解析信息,并向entry数据写入模块发送解析完成指令。
35、结合上述实施方式,通过cb数据解析模块在数据解析信息发生异常时,即时告知异常处理模块处理,显著提升了系统异常处理效率,另外,单独对cb数据解析模块进行封装,进而能够提供更好的时序路径。
36、在一种可选的实施方式中,cb数据预读取模块,包括:
37、第五缓存单元,用于读取多个目标cb地址;
38、第六缓存单元,用于缓存多个目标cb地址分别对应的目标cb数据;
39、数据读取单元,用于在第六缓存单元缓存目标cb数据过程中,实时判定第六缓存单元是否存满,若未存满,向外部继续发送读取多个目标cb地址。
40、结合上述实施方式,通过cb数据预读取模块同时读取多个目标cb数据,有利于提升数据读取效率。
本文地址:https://www.jishuxx.com/zhuanli/20241118/327846.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。