CN1828550A - 一种内存访问信息实时捕获装置及访存信息捕获方法 - Google Patents

一种内存访问信息实时捕获装置及访存信息捕获方法 Download PDF

Info

Publication number
CN1828550A
CN1828550A CN 200510008612 CN200510008612A CN1828550A CN 1828550 A CN1828550 A CN 1828550A CN 200510008612 CN200510008612 CN 200510008612 CN 200510008612 A CN200510008612 A CN 200510008612A CN 1828550 A CN1828550 A CN 1828550A
Authority
CN
China
Prior art keywords
access information
data
real time
unit
logical block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510008612
Other languages
English (en)
Other versions
CN100377104C (zh
Inventor
李磊
陈明宇
曹政
樊建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005100086126A priority Critical patent/CN100377104C/zh
Publication of CN1828550A publication Critical patent/CN1828550A/zh
Application granted granted Critical
Publication of CN100377104C publication Critical patent/CN100377104C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种内存访问信息实时捕获装置及访存信息捕获方法,该装置包括内存信号捕获逻辑单元、数据缓冲区单元、高速数据接口单元、嵌入式处理器单元及配置缓冲区单元,这些逻辑单元利用高速IO、大容量RAM和嵌入式处理器,实现高速内存接口和数据发送接口,并对数据进行预处理,所述内存访问信息实时捕获装置接收内存控制器信号。由于采用了并联的DDR内存接口作为捕获接口,以高速FIFO和高速IO进行数据存储、传送,由操作系统补丁和工具软件作为支持实现的。本发明所提供的装置能够在不修改原有系统硬件、对系统性能影响很小的情况下,实现实时、高速的访存信息捕获。

Description

一种内存访问信息实时捕获装置及访存信息捕获方法
技术领域
本发明涉及高性能计算领域,尤其涉及一种内存访问信息实时捕获装置及访存信息捕获方法。
背景技术
访存信息的跟踪获取(profiling)传统上用于程序的编译优化,用以提高程序性能。同时,在高性能计算机的研究和实现中,远程分布式存储是一种重要的方式,特别是利用光互连,可以将本地内存拉到远端,实现内存和处理器的松耦合。为了隐藏远程内存延迟,预取是一种重要而有效的方式,但是高效的预取策略需要对访存模式的了解作为基础。
现有的访存信息捕获与跟踪(profiling)方法可以分为软件方法、硬件方法和软硬结合的方法。
大多数profiling方法为软件方法,通过在代码中需要的地方插入特定的指令或者模块来获取信息,具有很大灵活性。但是得到的是处理器所看到的信息,而不是针对的物理内存访存信息,即物理内存端所看到的真实模式。如果想获取它们,必须要有硬件支持,因此纯软件方法不能完成本发明的目标。而且软件方法开销大、实时性差、对系统性能影响很大,还需要对应用进行重新编译。
硬件支持的profiling技术可以在一定程度上克服开销问题的影响。Pentium等现代处理器内部有用于性能统计的寄存器,可以通过软件工具读取。但是这些寄存器只提供累计的统计结果,例如高速缓存不命中次数等,不能提供详细的过程记录和分布,而且要通过特殊指令或者中断来获取信息,对系统性能影响很大。逻辑分析仪等方法可以采集到实时信息,但是易用性很差,代价很高。
发明内容
本发明所要解决的技术问题是提供一种能够在不修改原有系统硬件、对系统性能影响很小的情况下,实时、高速、低开销的内存访问信息实时捕获装置,该装置采用并联的DDR内存接口作为捕获接口,以高速FIFO和高速IO进行数据存储、传送,由操作系统补丁和工具软件作为支持;以及提供一种利用该装置进行内存访问信息实时捕获的方法;同时,对系统性能的影响和对软硬件的修改很小,易用性很高。
为了解决上述技术问题,本发明提供一种内存访问信息实时捕获装置,包括内存信号捕获逻辑单元10、数据缓冲区单元20、高速数据接口单元30、嵌入式处理器单元40及配置缓冲区单元50,这些逻辑单元利用高速IO、大容量RAM和嵌入式处理器,实现高速内存接口和数据发送接口,并对数据进行预处理,所述内存访问信息实时捕获装置接收内存控制器信号;
其中,内存信号捕获逻辑单元10实现了JEDEC DDR RAM规范的子集,对DDR内存的命令进行解析,对地址和数据进行识别和捕获;
数据缓冲区单元20包括高速FIFO缓冲区和相关控制逻辑,内存信号捕获逻辑单元10将捕获的信息写入该FIFO;FIFO提供空、满、计数器等,供流量控制使用;
高速数据接口单元30用于将数据送往主机,或者接收主机传来的控制和配置命令传给配置缓冲区单元50;
配置缓冲区单元50通过内存信号捕获逻辑单元10接收捕获规则,用以对信息进行过滤,并将过滤后的信息传给内存信号捕获逻辑单元10。
在上述方案中,内存控制器所控制的若干DDR内存插槽之间,除了片选信号线以外,其他信号线以总线形式共享,通过监听内存总线来获取处理器的访存信息。
在上述方案中,内存访问信息实时捕获装置使用USB2.0接口或多通道的Xilinx专用高速IO通道实现捕获数据的传送。
在上述方案中,动态配置配置缓冲区单元50。
在上述方案中,内存信号捕获逻辑单元10由配置缓冲区单元50中的规则控制。
本发明还提供一种访存信息捕获方法,包括以下步骤:
a)内存访问信息实时捕获装置接收处理器通过主板的DDR插槽发来的访存信号;
b)内存信号捕获逻辑单元10捕获到访存信息;
c)配置缓冲区单元50通过内存信号捕获逻辑单元10接收的捕获规则,过滤访存信息,并将过滤后的信息传给内存信号捕获逻辑单元10;
d)内存信号捕获逻辑单元10将过滤过的访存信息存入数据缓冲区单元20;
e)嵌入式处理器单元40对数据缓冲区单元20中的数据进行处理;
f)处理过的数据由数据缓冲区单元20送入高速数据接口单元30;
g)嵌入式处理器单元40控制高速数据接口单元30,将处理过的数据送出。
由上可知,本发明采用了并联的DDR接口作为捕获接口,用高速FIFO和高速IO进行数据存储、传送,由操作系统补丁和工具软件作为支持;本发明所提供的装置能够在不修改原有系统硬件、对系统性能影响很小的情况下,实现实时、高速的访存信息捕获,能够获取包括时间和空间分布的全频谱的访存记录。
附图说明
图1是本发明内存访问信息实时捕获装置的工作模式。
图2是本发明的内存访问信息实时捕获装置的结构图。
图3是本发明访存信息捕获方法的流程图。
具体实施方式
下面参照附图详细说明本发明的技术方案。
如图1所示,内存访问信息实时捕获装置和普通DDR内存并联插在DDR内存插槽上。加粗信号线为共享的总线,带箭头线为分离的片选信号线;内存控制器所控制的若干DDR内存插槽之间,除了片选信号以外,其他信号线以总线形式共享的,通过监听内存总线来获取处理器的访存信息。捕获装置可以接收到处理器和普通内存条间的通信,但由于处理器无法访问它,它的片选信号线不会被选通。
如图2所示,内存访问信息实时捕获装置包括内存信号捕获逻辑单元10、数据缓冲区单元20、高速数据接口单元30、嵌入式处理器单元40及配置缓冲区单元50。所述的这些单元由Xilinx公司的VirtexII Pro FPGA实现。该型号FPGA带有高速IO、大容量RAM和嵌入式处理器,可以实现高速DDR内存接口、高速数据收发接口和数据预处理功能,还可以根据不同需要对功能逻辑进行重构,从而增加系统功能,降低系统成本。
其中,内存信号捕获逻辑单元10实现了JEDEC DDRRAM规范的子集,能够对DDR内存的命令进行解析,对地址和数据进行识别和捕获。
数据缓冲区单元20包括一个高速FIFO缓冲区,内存信号捕获逻辑单元10将捕获的信息写入FIFO。FIFO提供空、满、计数器等,供流量控制使用。
高速数据接口单元30用于将数据送往主机,或者接收主机传来的控制和配置命令传给配置缓冲区单元50。
配置缓冲区单元50通过内存信号捕获逻辑单元10接收捕获规则,用以对信息进行过滤,并将过滤后的信息传给内存信号捕获逻辑单元10。
如图3所示,一种访存信息捕获方法包括以下步骤:
步骤10,内存访问信息实时捕获装置接收处理器通过主板的DDR插槽发来的访存信号;
步骤20,内存信号捕获逻辑单元10捕获到访存信息;
步骤30,配置缓冲区单元50通过内存信号捕获逻辑单元10接收的捕获规则,过滤访存信息,并将过滤后的信息传给内存信号捕获逻辑单元10;
步骤40,内存信号捕获逻辑单元10将过滤过的访存信息存入数据缓冲区单元20;
步骤50,嵌入式处理器单元40对数据缓冲区单元20中的数据进行处理;
步骤60,处理过的数据由数据缓冲区单元20送入高速数据接口单元30;
步骤70,嵌入式处理器单元40控制高速数据接口单元30,将处理过的数据送出。
本发明还可以包括支持该卡的操作系统补丁和软件工具。
操作系统补丁通过用户的设置,对指定的应用程序的物理内存使用情况进行监测,获取其物理地址空间,并对访存信息实时捕获装置的配置缓冲区进行设置,使之针对这些特定的物理地址范围进行捕获。操作系统补丁还可通过操作系统的内存映射系统调用(mmap)将捕获装置所占用的物理内存空间映射到用户空间,从而可以访问配置缓冲区单元。软件工具是用户和操作系统补丁的接口,用户用它来指定需要捕获的应用、设置捕获规则。
访存信息实时捕获装置的关键点是由DDR(Double Data Rate)内存接口实现。利用DDR接口有两方面优势:
首先,内存控制器所控制的若干DDR内存插槽之间,除了片选信号以外,其他信号线以总线形式共享的,因此,可以通过监听内存总线来获取处理器的访存信息,不会对系统性能产生影响,同时不用修改原有系统硬件;
其次,直接利用DDR接口,有足够带宽和处理能力来捕获和传送收集到的数据,即实时性能够得到满足。通过工具和模拟器对SPEC2000有关测试程序进行了统计,得到了访存地址信息的数量级。在二级高速缓存不命中、高速缓存块较大的情况下,DDR200以上有足够能力来记录和传送这些信息。
本发明的访存信息实时捕获装置插在主机板空闲的DDR内存插槽上。该卡实现了JEDEC DDR RAM规范,能够通过内存总线上出现的内存控制器信号,识别命令、地址和数据。
防止捕获卡对内存总线产生干扰是一个关键问题。在DDR接口规范中,除了DQ,DQS等信号是双向外,其余信号都是由内存控制器端向插槽端传送。实际上在做捕获时,得到单向的信号就可以,因此在实现时,不向控制器方传送这些信号,所以不会对其他内存模块和内存控制权产生干扰。
访存信息的数量级很大,为了保证实时性,需要分别做一些处理。地址信息的捕获是本发明最重要的目标,在高速缓存不命中、启动访存操作的情况下,只需要记录高速缓存块的首地址,这样就可以大大减小需要采集和传送的数据量。
为了进行实时高速数据传送,逻辑内部提供高速数据FIFO作为缓冲区。另一端通过高速数据接口将数据送到主机。高速数据接口要有与数据实时获取相匹配的高速带宽。对于地址捕获,USB2.0的带宽即可满足要求,如果是数据捕获,需要更高带宽。本发明使用USB2.0接口或Xilinx专用高速IO通道实现捕获数据的传送,其它类型高速数据访问接口也可适用。
本发明中,访存信息实时捕获装置可以捕获全部的访存信息。但是,可能用户只对某些特定的应用的访存信息感兴趣。本发明提供操作系统补丁,可以获取不同应用的物理地址空间,并对捕获卡的地址窗口进行设置。利用软件工具,用户可以对要捕获的目标进行设置。软件工具还包括接收程序,用于接收捕获卡来的数据。
以上所述仅为本发明技术构思下的一些基本说明,而依据本发明的技术方案所做的任何等效变换,均应属于本发明的保护范围,例如针对SDRAM的系统,不利用内存插槽而是利用主板总线或内存控制器输出等的方法等均是保护对象。
最后应说明的是:以上实施例仪用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1、一种内存访问信息实时捕获,包括内存信号捕获逻辑单元10、数据缓冲区单元20、高速数据接口单元30、嵌入式处理器单元40及配置缓冲区单元50;这些逻辑单元利用高速IO、大容量RAM和嵌入式处理器,实现高速内存接口和数据收发接口,并对数据进行预处理,所述内存访问信息实时捕获装置接收内存控制器信号;
其中,内存信号捕获逻辑单元10实现了JEDEC DDR RAM规范的子集,对DDR内存的命令进行解析,对地址和数据进行识别和捕获;
数据缓冲区单元20包括高速FIFO缓冲区和相关控制逻辑,内存信号捕获逻辑单元10将捕获的信息写入该FIFO;FIFO提供空、满、计数器,供流量控制使用;
高速数据接口单元30用于将数据送往主机,或者接收主机传来的控制和配置命令传给配置缓冲区单元50;
配置缓冲区单元50通过内存信号捕获逻辑单元10接收捕获规则,用以对信息进行过滤,并将过滤后的信息传给内存信号捕获逻辑单元10。
2、如权利要求1所述的一种内存访问信息实时捕获装置,其特征在于,内存访问信息实时捕获装置通过内存总线上出现的内存控制器信号,识别命令、地址和数据。
3、如权利要求1所述的一种内存访问信息实时捕获装置,其特征在于,内存访问信息实时捕获装置使用USB2.0接口或Xilinx专用高速IO通道实现捕获数据的传送。
4、如权利要求1所述的一种内存访问信息实时捕获装置,其特征在于,高速数据接口单元30将数据缓冲区单元20中的数据打包,通过USB接口或高速串行通道发送到主机进行存储和分析,数据缓冲区单元20、高速数据接口单元30和上层驱动程序共同配合,进行流量控制。
5、如权利要求1所述的一种内存访问信息实时捕获装置,其特征在于,动态配置配置缓冲区单元50。
6、如权利要求1所述的一种内存访问信息实时捕获装置,其特征在于,内存信号捕获逻辑单元10由配置缓冲区单元50中的规则控制。
7、一种应用权利要求1所述的内存访问信息实时捕获装置进行访存信息捕获的方法,包括以下步骤:
a)内存访问信息实时捕获装置接收处理器通过主板的DDR插槽发来的访存信号;
b)内存信号捕获逻辑单元10捕获到访存信息;
c)配置缓冲区单元50通过内存信号捕获逻辑单元10接收的捕获规则,过滤访存信息,并将过滤后的信息传给内存信号捕获逻辑单元10;
d)内存信号捕获逻辑单元10将过滤过的访存信息存入数据缓冲区单元20;
e)嵌入式处理器单元40对数据缓冲区单元20中的数据进行处理;
f)处理过的数据由数据缓冲区单元20送入高速数据接口单元30;
g)嵌入式处理器单元40控制高速数据接口单元30,将处理过的数据送出。
CNB2005100086126A 2005-02-28 2005-02-28 一种内存访问信息实时捕获装置及访存信息捕获方法 Expired - Fee Related CN100377104C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100086126A CN100377104C (zh) 2005-02-28 2005-02-28 一种内存访问信息实时捕获装置及访存信息捕获方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100086126A CN100377104C (zh) 2005-02-28 2005-02-28 一种内存访问信息实时捕获装置及访存信息捕获方法

Publications (2)

Publication Number Publication Date
CN1828550A true CN1828550A (zh) 2006-09-06
CN100377104C CN100377104C (zh) 2008-03-26

Family

ID=36946961

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100086126A Expired - Fee Related CN100377104C (zh) 2005-02-28 2005-02-28 一种内存访问信息实时捕获装置及访存信息捕获方法

Country Status (1)

Country Link
CN (1) CN100377104C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100596114C (zh) * 2007-08-24 2010-03-24 中国科学院计算技术研究所 一种基于信誉的流量控制系统、装置和方法
CN101320589B (zh) * 2007-06-05 2010-06-23 华硕电脑股份有限公司 主机板及其内存装置
CN102495788A (zh) * 2011-11-04 2012-06-13 北京星网锐捷网络技术有限公司 一种嵌入式系统内存统计方法及装置
CN101763292B (zh) * 2010-01-18 2012-07-04 龙芯中科技术有限公司 基于地址窗口的处理器推测访问过滤装置及其过滤方法
CN102541772A (zh) * 2011-12-29 2012-07-04 中国科学院计算技术研究所 内存总线的信号采集装置
CN102609217A (zh) * 2012-01-13 2012-07-25 广州从兴电子开发有限公司 一种io设备的高速存储方法及系统
CN103092737A (zh) * 2011-11-08 2013-05-08 鸿富锦精密工业(深圳)有限公司 具有固态硬盘速率指示功能的电脑系统
US9846626B2 (en) 2012-12-31 2017-12-19 Huawei Technologies Co., Ltd. Method and apparatus for computer memory management by monitoring frequency of process access
CN112463655A (zh) * 2020-11-14 2021-03-09 武汉汇迪森信息技术有限公司 一种高速数据采集存储系统的数据存储及读取方法
CN117093353A (zh) * 2023-10-17 2023-11-21 北京开源芯片研究院 一种中断控制方法、装置、电子设备及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974536A (en) * 1997-08-14 1999-10-26 Silicon Graphics, Inc. Method, system and computer program product for profiling thread virtual memory accesses
CN1141644C (zh) * 1999-11-20 2004-03-10 深圳市中兴通讯股份有限公司 一种嵌入处理机内存的检测和监控方法
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
US6622203B2 (en) * 2001-05-29 2003-09-16 Agilent Technologies, Inc. Embedded memory access method and system for application specific integrated circuits
CN1183453C (zh) * 2001-12-21 2005-01-05 上海贝尔有限公司 一种内存管理系统及其分配方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320589B (zh) * 2007-06-05 2010-06-23 华硕电脑股份有限公司 主机板及其内存装置
CN100596114C (zh) * 2007-08-24 2010-03-24 中国科学院计算技术研究所 一种基于信誉的流量控制系统、装置和方法
CN101763292B (zh) * 2010-01-18 2012-07-04 龙芯中科技术有限公司 基于地址窗口的处理器推测访问过滤装置及其过滤方法
CN102495788A (zh) * 2011-11-04 2012-06-13 北京星网锐捷网络技术有限公司 一种嵌入式系统内存统计方法及装置
CN102495788B (zh) * 2011-11-04 2015-02-25 北京星网锐捷网络技术有限公司 一种嵌入式系统内存统计方法及装置
CN103092737A (zh) * 2011-11-08 2013-05-08 鸿富锦精密工业(深圳)有限公司 具有固态硬盘速率指示功能的电脑系统
CN102541772B (zh) * 2011-12-29 2014-11-26 中国科学院计算技术研究所 内存总线的信号采集装置
CN102541772A (zh) * 2011-12-29 2012-07-04 中国科学院计算技术研究所 内存总线的信号采集装置
CN102609217A (zh) * 2012-01-13 2012-07-25 广州从兴电子开发有限公司 一种io设备的高速存储方法及系统
CN102609217B (zh) * 2012-01-13 2015-04-29 从兴技术有限公司 一种io设备的高速存储方法及系统
US9846626B2 (en) 2012-12-31 2017-12-19 Huawei Technologies Co., Ltd. Method and apparatus for computer memory management by monitoring frequency of process access
CN112463655A (zh) * 2020-11-14 2021-03-09 武汉汇迪森信息技术有限公司 一种高速数据采集存储系统的数据存储及读取方法
CN112463655B (zh) * 2020-11-14 2022-06-14 武汉汇迪森信息技术有限公司 一种高速数据采集存储系统的数据存储及读取方法
CN117093353A (zh) * 2023-10-17 2023-11-21 北京开源芯片研究院 一种中断控制方法、装置、电子设备及可读存储介质
CN117093353B (zh) * 2023-10-17 2024-02-02 北京开源芯片研究院 一种中断控制方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN100377104C (zh) 2008-03-26

Similar Documents

Publication Publication Date Title
CN1828550A (zh) 一种内存访问信息实时捕获装置及访存信息捕获方法
US9436506B2 (en) Effective scheduling of producer-consumer processes in a multi-processor system
US7623134B1 (en) System and method for hardware-based GPU paging to system memory
CN2791752Y (zh) 高速数据存储设备
CN1251052C (zh) 信息处理器、控制电路和控制方法
CN1896972A (zh) 用于虚实地址变换及读写高速缓冲存储器的方法及装置
CN101526924A (zh) 一种优化数字信号处理芯片数据访问的方法
US20120272011A1 (en) Processor cache tracing
CN1306419C (zh) 一种高速缓存及从高速缓存读取数据的方法
CN1313935C (zh) 用于减少存储器设备等待时间的装置、方法和系统
DE102020117350A1 (de) Speichersystem einschliesslich heterogener speicher, computersystem mit dem speichersystem und datenverwaltungsverfahren dafür
CN101034375A (zh) 计算机存储系统
CN113190499A (zh) 一种面向大容量片上缓存的协同预取器及其控制方法
CN1788261A (zh) 具有用于传送描述符的存储器的usb主机控制器
US8046507B2 (en) Computer, external storage and method for processing data information in external storage
US20040078544A1 (en) Memory address remapping method
CN1924833A (zh) 具有多阶快取架构的处理模块
CN1808433A (zh) 一种快速安全的实时数据库访问方法
CN102646073B (zh) 数据处理方法及装置
CA2465492A1 (en) Bandwidth enhancement for uncached devices
US20060294327A1 (en) Method, apparatus and system for optimizing interleaving between requests from the same stream
CN102722446B (zh) 一种面向流处理器的局部内存访问模式动态记录器
CN1253792C (zh) 测试高内存地址的控制电路及控制方法
CN1295599C (zh) 超长指令字结构微处理器动静态结合的指令预取方法
Lira et al. Analysis of non-uniform cache architecture policies for chip-multiprocessors using the parsec benchmark suite

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080326

CF01 Termination of patent right due to non-payment of annual fee