事件触发顺序和时间的记录装置、方法和芯片与流程

摘要: 本技术涉及事件记录,例如涉及一种事件触发顺序和时间的记录装置、方法和芯片。背景技术:1、直接内存访问(directmemoryaccess,dma)技术能够支持...
事件触发顺序和时间的记录装置、方法和芯片与流程

本技术涉及事件记录,例如涉及一种事件触发顺序和时间的记录装置、方法和芯片。

背景技术:

1、直接内存访问(direct memory access,dma)技术能够支持数据从一个存储器直接传输到另一个存储器,传输过程只需少量或无需cpu参与,如此可释放cpu资源,这使得dma技术应用范围比较广。

2、即使目前dma技术已经相对成熟,但其仍在不断优化发展过程中。记录dma操作中各个操作中详细执行时间便有利于分析性能瓶颈,进而指导优化过程。

3、在实现本技术实施例的过程中,发现相关技术中至少存在如下问题:

4、现有技术能够记录dma操作的请求发起时间、数据大小以及传输时间等,即现有技术只能在相对宏观层面记录dma各操作的信息。而dma使能、获取描述符开始/结束、数据搬移开始/结束、中断上报/处理等各硬件动作的顺序、时间/时间间隔,也对分析dam性能瓶颈至关重要,由于dma具有高速传输数据的特点,现有记录事件的技术无法有效记录这些硬件动作。

技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、本技术实施例提供了一种事件触发顺序和时间的记录装置、方法和芯片,以实现记录电平层面事件的顺序和时间,当应用在dma性能瓶颈分析场景中,能够在更微观层面分析出dma性能瓶颈,有利于dma技术的优化。

3、在一些实施例中,事件触发顺序和时间的记录装置包括:

4、配置管理模块,被主设备通过总线访问;

5、事件状态模块,监控并记录多个事件的触发状态;其中,事件为电平层面的事件;

6、时钟计数模块,能够持续产生时间戳;

7、缓存ram写数据合并模块,与事件状态模块和时钟计数模块连接,从事件状态模块读取事件状态数据以及从时钟计数模块读取时间戳数据,合并事件状态数据和时间戳数据以生成合并数据;

8、缓存ram写控制模块,与配置管理模块连接和事件状态模块连接,在事件状态模块记录到事件触发过时,向配置管理模块输出实时写地址;配置管理模块根据实时写地址确定读地址;

9、信息缓存ram,与缓存ram写数据合并模块以及缓存ram写控制模块连接;在事件状态模块记录到事件触发过时,缓存ram写控制模块向信息缓存ram输出写地址和写使能,信息缓存ram将合并数据写入到写地址处,其中,写地址与实时写地址相等;并且,事件状态模块每记录到事件触发过一次,缓存ram写控制模块输出的写地址均累加一次;

10、缓存ram读控制模块,与配置管理模块和信息缓存ram连接,接收配置管理模块输出的读地址,根据读地址在信息缓存ram中读取数据,将读取的数据反馈给配置管理模块,以供访问总线读取;

11、其中,配置管理模块与事件状态模块连接,配置管理模块在总线读取完毕后或触发读取时重置事件状态模块的记录状态。

12、可选地,事件触发顺序和时间的记录装置还包括:与配置管理模块连接的事件使能模块;

13、缓存ram写控制模块与事件状态模块连接,包括:缓存写控制模块与事件使能模块连接,事件使能模块与事件状态模块连接;

14、配置管理模块向事件使能模块输出配置掩码,以设置事件状态模块中多个事件触发状态的通过规则;

15、如果事件状态模块中记录的一个或多个事件触发状态为事件触发过,且一个或多个事件触发状态符合配置掩码的通过规则,则事件使能模块向缓存ram写控制模块输出使能信号,缓存ram写控制模块向信息缓存ram输出写地址和写使能,信息缓存ram将合并数据写入到写地址处;并且,缓存ram写控制模块每次接收到使能信号时,写地址均累加一次;

16、否则事件使能模块不向缓存ram写控制模块输出使能信号。

17、可选地,当事件状态模块监控的一个或多个事件触发过,则事件状态模块中对应的历史状态位置为“1”;

18、事件使能模块中的配置掩码以若干“1”和“0”构成,以“1”表示允许事件触发状态通过,以“0”表示不允许事件触发状态通过。

19、可选地,配置管理模块向缓存ram写控制模块输出写操作模式。

20、可选地,缓存ram写控制模块向信息缓存ram输出写地址和写使能,包括:

21、在写操作模式为指定事件停止的情况下,当指定事件触发时,缓存ram写控制模块终止向信息缓存ram输出写地址和写使能的过程,不再记录后续事件;

22、在写操作模式为缓存写满停止的情况下,当缓存写地址达到容量上限时,缓存ram写控制模块终止向信息缓存ram输出写地址和写使能的过程,不再记录后续事件;

23、在写操作模式为缓存循环写入的情况下,无论缓存写地址是否达到容量上限,缓存ram写控制模块持续向信息缓存ram输出写地址和写使能。

24、具体地,当缓存写地址达到容量上限后,写地址归零,重新累加。

25、可选地,当缓存写地址未达到容量上限时,缓存ram写控制模块向信息缓存ram每输出一次写地址后,均使写地址累加。例如加1。

26、具体地,缓存ram写控制模块向信息缓存ram输出的写使能能够使信息缓存ram处于写使能状态。其中,缓存ram写控制模块向信息缓存ram输出的写使能可为脉冲形式。

27、进一步地,如果缓存ram写控制模块向信息缓存ram输出写地址和写使能后,缓存写地址未达到容量上限,则缓存ram写控制模块使下次输出的写地址累加;如果缓存ram写控制模块向信息缓存ram输出写地址和写使能后,缓存写地址达到容量上限,则缓存ram写控制模块将下一次输出的写地址归零,并重新累加。

28、可选地,配置管理模块向缓存ram写控制模块输出写操作使能状态,缓存ram写控制模块还向配置管理模块输出写完成状态;

29、当缓存ram写控制模块终止向信息缓存ram输出写地址和写使能的过程时,将写完成状态置为表示已完成的数值;

30、当配置管理模块的写操作使能状态为使能时,缓存写控制模块的写地址不变;

31、当写操作使能状态由失能变化到使能时,缓存ram写控制模块的写地址清零,写完成状态置为表示未完成的数值。

32、可选地,事件触发顺序和时间的记录装置还包括逻辑或模块;

33、逻辑或模块与事件状态模块和缓存ram写控制模块连接;当事件状态模块中记录的一个或多个事件触发状态为事件触发过时,逻辑或模块输出使能,否则输出失能;或者,

34、在包括事件使能模块的情况下,逻辑或模块与事件使能模块和缓存ram写控制模块连接;如果事件状态模块中记录的一个或多个事件触发状态为事件触发过,且一个或多个事件触发状态符合配置掩码的通过规则时,逻辑或模块输出使能,否则输出失能;

35、在当配置管理模块的写操作使能状态为使能,且,逻辑或模块输出使能时,缓存ram写控制模块处于写使能状态,否则处于写失能状态。

36、可选地,配置管理模块根据实时写地址确定读地址,包括:在实时写地址范围内确定读地址。

37、可选地,缓存ram读控制模块接收配置管理模块输出的读地址,根据读地址在信息缓存ram中读取数据,包括:

38、在接收配置管理模块输出的读地址后,如果配置管理模块在新读取周期内不再输出新的读地址,即,在配置管理模块输出下一个读使能之前,没有输出更新后的读地址,则在新读取周期内按照“下一个读地址”在信息缓存ram中读取数据;其中,在每个读取周期内,配置管理模块均向缓存ram读控制模块发送一次读使能;“下一个读地址”可在当前地址的基础上进行加1操作获得;

39、如果配置管理模块在新读取周期内输出新的读地址,则根据新接收的读地址在缓存ram中读取数据。

40、可选地,在主设备通过总线访问配置管理模块时,配置管理模块与缓存ram读控制模块循环进行如下交互:配置管理模块向缓存ram读控制模块输出读地址、读使能,接收缓存ram读控制模块在信息缓存ram中读取的数据。

41、可选地,在主设备通过总线访问配置管理模块时,配置管理模块向缓存ram读控制模块输出初始的读地址,配置管理模块再与ram读控制模块循环进行如下交互:配置管理模块向缓存ram读控制模块输出读使能,接收缓存ram读控制模块在信息缓存ram中读取的数据。

42、在一些实施例中,事件触发顺序和时间的记录方法所适用的记录装置包括配置管理模块、事件状态模块、时钟计数模块、缓存ram写数据合并模块、缓存ram写控制模块、信息缓存ram以及缓存ram读控制模块;

43、配置管理模块分别与事件状态模块、缓存ram写控制模块、缓存ram读控制模块连接;缓存ram写数据合并模块分别与事件状态模块、时钟计数模块、缓存ram写控制模块连接;缓存ram写控制模块还与事件状态模块、信息缓存ram连接;缓存ram读控制模块还与信息缓存模块连接;

44、记录方法应用于配置管理模块,在主设备通过总线访问时触发,记录方法包括:

45、接收缓存ram写控制模块发送的实时写地址,根据实时写地址确定读地址;

46、向缓存ram读控制模块发送读地址,使其根据读地址在信息缓存ram中读取数据;接收缓存ram读控制模块在信息缓存ram中的读取的数据,以供访问总线读取;

47、在总线读取完毕后或触发读取时重置事件状态模块的记录状态;

48、其中,信息缓存ram中存储的数据是通过如下方式存储的:事件状态模块监控并记录多个事件的触发状态,其中,事件为电平层面的事件;时钟计数模块持续产生时间戳;缓存ram写数据合并模块从事件状态模块读取事件状态数据以及从时钟计数模块读取时间戳数据,合并事件状态数据和时间戳数据以生成合并数据;缓存ram写控制模块在事件状态模块记录到事件触发过时,向信息缓存ram输出写地址和写使能,写地址与上述实时写地址相等;信息缓存ram将合并数据写入到写地址处。

49、具体地,事件状态模块每记录到事件触发过一次,缓存ram写控制模块输出的写地址均累加一次。

50、在一些实施例中,事件触发顺序和时间的记录芯片包括前述实施例提供的事件触发顺序和时间的记录装置;

51、在一些实施例中,事件触发顺序和时间的记录芯片包括存储介质,其上存储有计算机可执行指令,计算机可执行指令设置为前述实施例提供的事件触发顺序和时间的记录方法。

52、本技术实施例提供的事件触发顺序和时间的记录装置、方法和芯片,可以实现以下技术效果:

53、事件状态模块能够监控并记录多个事件的触发状态,例如某个事件对应的电平由低变高,记为事件发生过,或者,某个事件对应的电平产生一个脉冲,记为事件发生过。

54、“事件状态模块记录到事件触发过”这个事件会触发缓存ram写控制模块向配置管理模块输出实时写地址,同时向信息缓存ram输出写地址和写使能,此刻,信息缓存ram将合并数据写入到写地址处。并且,“事件状态模块记录到事件触发过”这个事件每触发一次,缓存ram写控制模块向配置管理模块输出实时写地址均累加一次,向信息缓存ram输出写地址也均累加一次。

55、当事件状态模块没有检测到事件触发时,缓存ram写数据合并模块合并数据中事件状态数据一直表示无事件触发;由于时钟计数模块在持续产生时间戳,所以缓存ram写数据合并模块合并数据中的时间戳不断更新。当“事件状态模块记录到事件触发过”这个事件发生后,合并数据中的时间戳为最新时间戳,合并数据中的事件状态数据表示有事件触发的最新事件状态,信息缓存ram有了写地址,便将当前时刻的合并数据缓存到写地址处。

56、如此,事件触发顺序和时间的记录装置便将监控到的电平层面的事件触发状态快速缓存到ram中,其中,合并数据写入地址的不同便反应了各事件的触发顺序。

57、在上述过程中,配置管理模块还根据缓存ram写控制模块输出的写地址确定读地址,并将读地址输出给缓存ram读控制模块,如此缓存读控制模块便可在信息缓存ram中读取数据,并将读取到的数据反馈给配置管理模块,供访问总线读取。

58、配置管理模块在总线读取完毕后或触发读取时重置事件状态模块的记录状态,以便于让事件状态模块快速记录最新的事件触发状态,并通过一系列硬件触发,不断快速地最新事件状态数据和时间戳数据写入到信息缓存ram中,进而不断供访问总线读取。

59、上述向信息缓存ram中写、读事件状态数据和时间戳的过程,若以信息缓存ram的视角看,即为主存(信息缓存ram)读取数据(接收写地址以及合并数据)、输出数据(向缓存ram读控制模块输出对应地址的合并数据)的过程,其访问速度在纳秒(ns)级别,远远快于磁盘的毫秒(ms)级别访问速度,基于此,本技术技术方案能够实现对电平层面事件顺序和时间的记录。

60、当本技术技术方案应用在dma性能瓶颈分析场景中,能够记录dma使能、获取描述符开始/结束、数据搬移开始/结束、中断上报/处理等各硬件动作的顺序、时间/时间间隔等,有利于dma技术的优化。

61、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。