iso file download
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111675383.9 (22)申请日 2021.12.31 (71)申请人 海光信息技 术股份有限公司 地址 300000 天津市滨 海新区天津华苑产 业区海泰西路18号北2-204工业孵化- 3-8 (72)发明人 刘子行 应志伟  (74)专利代理 机构 北京市广友专利事务所有限 责任公司 1 1237 代理人 张仲波 (51)Int.Cl. G06F 12/0877(2016.01) G06F 12/02(2006.01) G06F 9/54(2006.01) G06F 9/50(2006.01) (54)发明名称 一种记录内存访问来源的方法及系统 (57)摘要 本发明的实施例公开一种记录内存访问来 源的方法及系统, 涉及计算机技术领域, 所述方 法包括: 用于执行内存访问指令的内存读写执行 模块在收到内存访问指令时, 判断所述内存访问 指令所要访问的目标内存地址是否属于预设的 监控内存地址范围; 若所述目标内存地址属于预 设的监控内存地址范围, 则所述内存读写执行模 块执行所述内存访问指令, 并通过设置于CPU物 理核中的内存访问记录缓存模块记录本次内存 访问信息; 所述内存访问记录缓存模块将记录的 内存访问信息按记录时间先后顺序写回预设的 计算机主内存地址范围对应的主内存缓冲区内。 本发明扩大了可被记录的内存地址范围, 也保持 系统性能基 本不受影响。 权利要求书4页 说明书15页 附图6页 CN 114297101 A 2022.04.08 CN 114297101 A 1.一种记录内存访问来源的方法, 其特 征在于, 包括: 用于执行内存访问指令的内存读写执行模块在收到内存访问指令时, 判断所述内存访 问指令所要访问的目标内存地址是否属于预设的监控内存地址范围; 其中, 所述监控内存 地址范围记录在设置 于CPU物理核中的MSR寄存器中; 若所述目标内存地址属于预设的监控内存地址范围, 则所述内存读写执行模块执行所 述内存访问指令, 并通过设置于CPU物理核中的内存访问记录缓存模块记录本次内存访问 信息; 所述内存访问信息包括所述内存访问指令的指令地址、 目标内存地址以及内存访问 时的进程页表基地址; 所述内存访问记录缓存模块将记录的内存访问信息按记录时间先后顺序写回预设的 计算机主内存地址范围对应的主内存缓冲区内; 其中, 所述主内存地址范围记录在所述MSR 寄存器中。 2.根据权利要求1所述的记录 内存访问来源的方法, 其特征在于, 所述内存访问记录缓 存模块记录 本次内存访问信息, 包括: 所述内存访问记录缓存 模块判断用于记录内存访问信息的缓存队列是否已满; 若所述缓存队列未满, 则所述内存访问记录缓存模块将本次内存访问信 息存入所述缓 存队列尾部; 所述内存访问记录缓存 模块更新所述缓存队列已记录数据的尾部位置标识值。 3.根据权利要求2所述的记录 内存访问来源的方法, 其特征在于, 所述内存访问记录缓 存模块将记录的内存访问信息按记录时间先后顺序写回预设的计算机主内存地址范围对 应的主内存缓冲区内, 包括: 所述内存访问记录缓存模块判断所述缓存队列已记录数据的头部位置标识值是否等 于尾部位置标识值; 若所述缓存队列已记录数据的头部位置标识值不等于尾部位置标识值, 则所述内存访 问记录缓存模块将所述缓存队列中所述头部位置标识值对应位置的内存访问信息写回所 述主内存缓冲区内。 4.根据权利要求3所述的记录 内存访问来源的方法, 其特征在于, 所述内存访问记录缓 存模块将所述缓存队列中所述头部位置标识值对应位置的内存访问信息写回所述主内存 缓冲区内, 包括: 所述内存访问记录缓存模块判断所述MSR寄存器记录的主内存缓冲区存储标识值是否 等于第一预设值; 其中, 所述主内存缓冲区存储标识 值的初始 值为第二预设值, 所述第一预 设值用于表征 所述主内存缓冲区已满, 所述第二预设值用于表征 所述主内存缓冲区未满; 若所述主内存缓冲区存储标识值不等于第 一预设值, 则所述内存访问记录缓存模块获 取所述主内存缓冲区起始地址和已存 储的内存访问信息数量; 所述内存访问记录缓存模块将所述缓存队列中所述头部位置标识值对应位置的内存 访问信息写入所述主内存缓冲区内, 且写入起始位置为A0+offset*N; 其中, 所述A0为所述主 内存缓冲区起始地址, offset 为所述主内存缓冲区已存储的内存访问信息数量, N为所述 缓 存队列中记录的每条内存访问信息的长度; 所述内存访问记录缓存模块令he ad=head+1, offset=offset+1; 其中, he ad为所述缓 存队列已记录数据的头 部位置标识值;权 利 要 求 书 1/4 页 2 CN 114297101 A 2所述内存访问记录缓存模块判断A0+offset*N是否等于A1; 其中, A1为所述主内存缓冲 区结束地址; 若A0+offset*N等于A1, 则所述内存访问记录缓存模块将所述MSR寄存器记录的主内存 缓冲区存储标识 值设置为第一预设值, 并发送主内存缓冲区满的中 断信号给CPU, 以等待 所 述CPU处理后将所述主内存缓冲区存 储标识值重 置为第二预设值。 5.根据权利要求1所述的记录 内存访问来源的方法, 其特征在于, 所述预设的监控内存 地址范围包括: 多块 不连续的内存区间分别对应的多个地址范围。 6.根据权利要求1 ‑5任一项所述的记录内存访问来源的方法, 其特征在于, 所述内存访 问信息还 包括: 所述内存访问指令的访问类别、 CPU标识; 所述内存访问记录缓存 模块记录 本次内存访问信息, 包括: 所述内存访问记录缓存模块分别用8字节保存所述指令地址、 目标内存地址、 内存访问 时的页表基地址, 且借用8字节的所述指令地址的最高位来记录所述访问类别, 借用8字节 的所述目标内存地址的最高12bit来记录所述CPU标识。 7.根据权利要求6所述的记录 内存访问来源的方法, 其特征在于, 在所述内存访问记录 缓存模块记录 本次内存访问信息之后, 所述方法还 包括: 通过进程信息获取模块读取记录的内存访问信息中的进程页表基地址; 所述进程信 息获取模块遍历操作系统 的进程队列, 获取与当前读取的进程页表基地址 相匹配的进程的进程信息; 所述进程信息 至少包括进程标识和进程名称; 所述进程信息获取模块将当前读取的指令地址、 目标内存地址、 读写类别、 CPU标识及 匹配到的进程信息对应转存到指定文件中。 8.一种记录内存访问来源的系统, 包括: 用于执行内存访问指令的内存读写执行模块, 其特征在于, 还 包括: 设置 于CPU物理核中的内存访问记录缓存 模块和MSR寄存器; 所述MSR寄存器, 用于存储预设的监控内存地址范围以及预设的用于保存内存访问信 息的主内存地址范围; 所述内存读写执行模块, 用于在 收到内存访 问指令时, 判断所述内存访 问指令所要访 问的目标内存地址是否属于所述MSR寄存器存储的所述监控内存地址范围, 若 是, 则执行所 述内存访问指令访问内存, 并向所述内存访问记录缓存模块发送本次内存访问信息; 所述 内存访问信息包括所述内存访问指 令的指令地址、 目标内存地址以及内存访问时的进程页 表基地址; 所述内存访 问记录缓存模块, 用于记录收到的本次内存访 问信息, 并将记录的内存访 问信息按记录时间先后顺序写回所述主内存地址范围对应的主内存缓冲区内。 9.根据权利要求8所述的记录 内存访问来源的系统, 其特征在于, 所述内存访问记录缓 存模块, 包括: 缓存队列、 尾部位置寄存器、 第一判断子模块、 存入子模块、 尾部标识更新子 模块和写回模块; 所述缓存队列, 用于记录内存访问信息; 所述尾部位置寄存器, 用于记录所述缓存队列已记录数据的尾部位置标识值; 所述第一判断子模块, 用于在收到 本次内存访问信息时, 判断所述缓存队列是否已满; 所述存入子模块, 用于在所述第一判断子模块的判断结果为否时, 将所述本次内存访 问信息存 入所述缓存队列尾部;权 利 要 求 书 2/4 页 3 CN 114297101 A 3

.PDF文档 专利 一种记录内存访问来源的方法及系统

文档预览
中文文档 26 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共26页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种记录内存访问来源的方法及系统 第 1 页 专利 一种记录内存访问来源的方法及系统 第 2 页 专利 一种记录内存访问来源的方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-19 02:00:51上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。