CN117648287B - 一种片上数据处理系统、方法、服务器及电子设备 - Google Patents
一种片上数据处理系统、方法、服务器及电子设备 Download PDFInfo
- Publication number
- CN117648287B CN117648287B CN202410124534.9A CN202410124534A CN117648287B CN 117648287 B CN117648287 B CN 117648287B CN 202410124534 A CN202410124534 A CN 202410124534A CN 117648287 B CN117648287 B CN 117648287B
- Authority
- CN
- China
- Prior art keywords
- module
- hierarchical
- state
- grading
- buffer
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims description 23
- 239000000872 buffer Substances 0.000 claims abstract description 227
- 238000012795 verification Methods 0.000 claims abstract description 96
- 230000002159 abnormal effect Effects 0.000 claims abstract description 38
- 238000007689 inspection Methods 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims description 80
- 230000002035 prolonged effect Effects 0.000 claims description 18
- 238000004904 shortening Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000003672 processing method Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000005043 ethylene-methyl acrylate Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种片上数据处理系统、方法、服务器及电子设备,该系统包括:若干个分级模块,各分级模块均配备有分级缓存器、检查模块和验证模块;针对任一分级模块,该分级模块所配备的检查模块用于对分级模块的读写操作次数进行统计,得到读写操作统计结果,当读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,通过对SoC芯片中各分级模块是否能够及时进行报警信号的报出的进行检测,并在其无法正常报出报警信号时,基于检查模块代替其报出报警信号,以避免SoC芯片报出的空满信号存在延迟,从而提高了SoC芯片的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种片上数据处理系统、方法、服务器及电子设备。
背景技术
随着芯片集成技术的发展,系统级芯片(System on Chip,简称:SoC)也称片上系统得到了广泛的应用,因此如何应用SoC芯片实现片上数据处理成为了重点研究内容。
在相关技术中,SoC芯片包括若干个分级模块,用于进行特定功能的数据处理,每个分级模块配备一个缓存器,当任一缓存器发出空满信号时,SoC芯片进入维护状态。
但是,随着SoC芯片的数据处理量不断增加,各数据处理模块的缓存器深度也在增大,芯片内部的数据处理频率也会越来越高,导致SoC芯片报出的空满信号存在延迟,降低了SoC芯片的稳定性。
发明内容
本申请提供一种片上数据处理系统、方法、服务器及电子设备,以解决相关技术降低了SoC芯片的稳定性等缺陷。
本申请第一个方面提供一种片上数据处理系统,包括:若干个分级模块及连接所述分级模块的分级缓存器,所述分级缓存器与所述分级模块一一对应,所述分级缓存器连接检查模块和验证模块;
针对任一所述分级模块,所述检查模块用于对所述分级模块的读写操作次数进行统计,得到读写操作统计结果,当所述读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断所述分级模块是否正常生成所述报警信号,在所述分级模块未生成所述报警信号的情况下,将所述分级模块作为待验证分级模块,并上报中断信号至CPU,以使所述CPU响应于所述中断信号下发测试数据,并中断各所述分级模块的数据处理流程;
所述待验证分级模块所对应的验证模块用于接收所述测试数据,基于所述测试数据验证所述分级缓存器达到预设异常状态时,所述待验证分级模块是否正常生成所述报警信号,在确定所述待验证分级模块无法正常生成所述报警信号的情况下,选择报出所述检查模块所生成的报警信号。
在一种可选的实施方式中,所述检查模块,用于:
采集所述分级模块的写使能信号和读使能信号;
当所述写使能信号表征所述分级模块向所述分级缓存器写入数据时,增加预设计数器计数;
当所述读使能信号表征所述分级模块从所述分级缓存器读出数据时,减少预设计数器计数;
当所述计数器的计数结果达到所述分级缓存器预设深度时,确定所述分级缓存器为满状态,并生成对应的满信号;
其中,所述预设异常状态包括所述满状态,所述报警信号包括满信号。
在一种可选的实施方式中,所述检查模块,用于:
采集所述分级模块的写使能信号和读使能信号;
当所述写使能信号表征所述分级模块向所述分级缓存器写入数据时,增加预设计数器计数;
当所述读使能信号表征所述分级模块从所述分级缓存器读出数据时,减少预设计数器计数;
当所述计数器的计数结果为空时,确定所述分级缓存器为空状态,并生成对应的空信号;
其中,所述预设异常状态包括所述空状态,所述报警信号包括空信号。
在一种可选的实施方式中,所述CPU下发的测试数据携带中断标识;
所述待验证分级模块的若干个前级分级模块用于根据所述中断标识,将所述测试数据透传至所述待验证分级模块。
在一种可选的实施方式中,所述验证模块包括满状态验证寄存器,所述CPU将所述测试数据写入所述满状态验证寄存器;
所述满状态验证寄存器每写入一条测试数据表征所述验证模块将一条测试数据写入所述分级缓存器,在所述满状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到满状态;所述预设异常状态包括所述满状态。
在一种可选的实施方式中,所述验证模块,用于:
在所述分级缓存器达到满状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成满信号;
在确定所述待验证分级模块无法正常生成所述满信号的情况下,选择报出所述检查模块所生成的满信号;
其中,所述报警信号包括满信号。
在一种可选的实施方式中,所述验证模块包括空状态验证寄存器,所述CPU将所述测试数据写入所述空状态验证寄存器;
所述空状态验证寄存器每写入一条测试数据表征所述验证模块从所述分级缓存器读出一条测试数据,在所述空状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到空状态;所述预设异常状态包括所述空状态。
在一种可选的实施方式中,所述验证模块,用于:
在所述分级缓存器达到空状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成空信号;
在确定所述待验证分级模块无法正常生成所述空信号的情况下,选择报出所述检查模块所生成的空信号;
其中,所述报警信号包括空信号。
在一种可选的实施方式中,所述系统还包括:综合调度控制器,用于:
在任一所述分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断所述前一级分级模块的分级缓存器是否为即满状态;
在所述前一级分级模块的分级缓存器为即满状态的情况下,调度所述前一级分级模块的状态跳转空闲周期,以使所述前一级分级模块的状态跳转空闲周期被延长。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在延长所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,增加所述前一级分级模块的状态跳转空闲周期的延长尺度。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在延长所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对所述分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使所述再前一级分级模块的状态跳转空闲周期被延长。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在延长所述再前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使所述剩余前级分级模块的状态跳转空闲周期被延长,直至所述前一级分级模块的分级缓存器的剩余空间发生增长。
在一种可选的实施方式中,所述系统还包括:综合调度控制器,用于:
在任一所述分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断所述前一级分级模块的分级缓存器是否为即空状态;
在所述前一级分级模块的分级缓存器为即空状态的情况下,调度所述前一级分级模块的状态跳转空闲周期,以使所述前一级分级模块的状态跳转空闲周期被缩短。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在缩短所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余数据量在减少的情况下,增加所述前一级分级模块的状态跳转空闲周期的缩短尺度。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在缩短所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余数据量在减少的情况下,对所述分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使所述再前一级分级模块的状态跳转空闲周期被缩短。
在一种可选的实施方式中,所述综合调度控制器,还用于:
在缩短所述再前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使所述剩余前级分级模块的状态跳转空闲周期被缩短,直至所述前一级分级模块的分级缓存器的剩余数据量发生增长。
本申请第二个方面提供一种片上数据处理方法,包括:
对各分级模块的读写操作次数进行统计,得到对应的读写操作统计结果;
当所述读写操作统计结果保证任一所述分级模块的分级缓存器达到预设异常状态时,基于检查模块生成报警信号;
判断所述分级模块是否正常生成所述报警信号;
在所述分级模块未生成所述报警信号的情况下,将所述分级模块作为待验证分级模块,并上报中断信号至CPU,以使所述CPU响应于所述中断信号下发测试数据,并中断各所述分级模块的数据处理流程;
基于所述测试数据验证所述分级缓存器达到预设异常状态时,所述待验证分级模块是否正常生成所述报警信号;
在确定所述待验证分级模块无法正常生成所述报警信号的情况下,选择报出所述检查模块所生成的报警信号。
本申请第三个方面提供一种服务器,包括:如上第一个方面以及第一个方面各种可能的设计所述的系统。
本申请第四个方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二个方面以及第二个方面各种可能的设计所述的方法。
本申请第五个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二个方面以及第二个方面各种可能的设计所述的方法。
本申请技术方案,具有如下优点:
本申请提供一种片上数据处理系统、方法、服务器及电子设备,该系统包括:若干个分级模块及连接分级模块的分级缓存器,所述缓存器与分级模块一一对应分级缓存器连接检查模块和验证模块;针对任一分级模块,检查模块用于对分级模块的读写操作次数进行统计,得到读写操作统计结果,当读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断分级模块是否正常生成报警信号,在分级模块未生成报警信号的情况下,将分级模块作为待验证分级模块,并上报中断信号至CPU,以使CPU响应于中断信号下发测试数据,并中断各分级模块的数据处理流程;待验证分级模块所对应的验证模块用于接收测试数据,基于测试数据验证分级缓存器达到预设异常状态时,待验证分级模块是否正常生成报警信号,在确定待验证分级模块无法正常生成报警信号的情况下,选择报出检查模块所生成的报警信号。上述方案提供的系统,通过对SoC芯片中各分级模块是否能够及时进行报警信号的报出的进行检测,并在其无法正常报出报警信号时,基于检查模块代替其报出报警信号,以避免SoC芯片报出的空满信号存在延迟,从而提高了SoC芯片的稳定性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为传统片上数据处理系统的结构示意图;
图2为本申请实施例提供的一种片上数据处理系统的结构示意图;
图3为本申请实施例提供的另一种片上数据处理系统的结构示意图;
图4为本申请实施例提供的片上数据处理方法的流程示意图;
图5为本申请实施例提供的服务器的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在相关技术中,如图1所示,为传统片上数据处理系统的结构示意图,传统的SoC芯片中数据处理的流程是:模块A从DDR(内存)中获得原始处理数据,并进行特定功能处理,完成处理的数据被写进FIFO_A进行缓存。模块B从FIFO_A中获得模块A处理完成的数据进行特定功能的处理,将完成处理的数据写进FIFO_B进行缓存。模块C从FIFO_B中获得模块B处理完成的数据进行特定功能的处理,将完成处理的数据写进FIF0_C或者如果是最后一级处理的话,数据直接写进DDR。现在SoC芯片设计中,随着数据处理量的变大,各级FIFO的容量也随之变大,8192深度甚至16384深度的FIFO都已经很常见,并且芯片内部的数据处理频率也会越来越高,这就会导致芯片在综合、制造、生产过程中极有可能导致一个危险的事情发生——FIFO的空满信号(EMPTY/FULL)信号会出现异常指示,比如满信号延迟拉高,即FIFO内部的缓存空间已经满了,实际上是不允许再继续写入数据了,但是FULL信号延迟拉高一拍甚至更多拍,这样就会有1个甚至更多的数据被写进已经满的FIFO内部缓存空间,导致这1个甚至多个数据丢数。也会有可能出现空信号EMPTY提前拉高的场景,这就会导致FIFO中的最后一个或者是几个数据不能被读出。上述这两种异常情况均有可能导致SoC芯片系统的不稳定性,比如FULL异常丢失的数据如果是系统的关键数据或者校验数据,将导致SoC系统卡死,比如EMPTY信号提前拉高导致的数据无法被读出,如果此时SoC系统在等待这最后1个数据才能完成校验,系统才能继续往下运行,此时也会导致SoC系统卡死,这都是非常严重的后果。
针对上述问题,本申请实施例提供一种片上数据处理系统、方法、服务器及电子设备,该系统包括:若干个分级模块及连接分级模块的分级缓存器,分级缓存器与所述分级模块一一对应,分级缓存器连接检查模块和验证模块;针对任一分级模块,检查模块用于对分级模块的读写操作次数进行统计,得到读写操作统计结果,当读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断分级模块是否正常生成报警信号,在分级模块未生成报警信号的情况下,将分级模块作为待验证分级模块,并上报中断信号至CPU,以使CPU响应于中断信号下发测试数据,并中断各分级模块的数据处理流程;待验证分级模块所对应的验证模块用于接收测试数据,基于测试数据验证分级缓存器达到预设异常状态时,待验证分级模块是否正常生成报警信号,在确定待验证分级模块无法正常生成报警信号的情况下,选择报出检查模块所生成的报警信号。上述方案提供的系统,通过对SoC芯片中各分级模块是否能够及时进行报警信号的报出的进行检测,并在其无法正常报出报警信号时,基于检查模块代替其报出报警信号,以避免SoC芯片报出的空满信号存在延迟,从而提高了SoC芯片的稳定性。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
本申请实施例提供了一种片上数据处理系统,用于对SoC芯片进行数据处理,以使SOC芯片能够及时报出空满信号。
如图2所示,为本申请实施例提供的一种片上数据处理系统的结构示意图,该系统包括:若干个分级模块及连接分级模块的分级缓存器,分级缓存器与所述分级模块一一对应,分级缓存器连接检查模块和验证模块。
其中,针对任一分级模块,检查模块用于对分级模块的读写操作次数进行统计,得到读写操作统计结果,当读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断分级模块是否正常生成报警信号,在分级模块未生成报警信号的情况下,将分级模块作为待验证分级模块,并上报中断信号至CPU,以使CPU响应于中断信号下发测试数据,并中断各分级模块的数据处理流程;待验证分级模块所对应的验证模块用于接收测试数据,基于测试数据验证分级缓存器达到预设异常状态时,待验证分级模块是否正常生成报警信号,在确定待验证分级模块无法正常生成报警信号的情况下,选择报出检查模块所生成的报警信号。
其中,本申请实施例提供的片上数据处理系统具体包括几个分级模块由SoC芯片型号确定,不同的SoC芯片结构中的级数(分级模块+分级缓存器)是不同的。
需要说明的是,图2是以SoC芯片包括三个分级模块(分级模块A、分级模块B和分级模块C)为例,分级模块即为图1中的模块A、B和C,分级缓存器即为图1中的FIF0_A、FIF0_B和FIF0_C(图中未示出),与传统系统不同的是,本申请实施例提供的系统中每个分级模块都配备连接有检查模块和验证模块,用于检测分级模块是否能够正常生成空满信号(报警信号),并实现空满信号的及时报出,从而提高了SoC芯片的性能稳定性。
其中,SoC芯片中的多个分级模块负责数据处理流程中不同的任务,例如:分级模块A从内存DDR中获得原始数据进行特定功能的处理后,写入到FIFO_A(分级缓存器A)中进行缓存,以基板管理控制芯片(BMC芯片)为例,分级模块A是完成的捕获功能,从DDR显存中获得原始的视频RGB数据,缓存进FIFO_A,其中FIFO_A由两部分组成,一部分是读写控制逻辑FIFO_WR_RD_CTRL,用以产生对存储逻辑STORE_LOGIC的读写控制信号。另一部分是存储逻辑STORE_LOGIC,该部分是纯粹的存储功能。分级模块B从FIFO_A中获得分级模块A处理完成的缓存数据进行进一步特定功能的处理,写进FIFO_B(分级缓存器B),同样以基板管理控制芯片(BMC芯片)为例,分级模块B完成的是对原始RGB数据的BLOCK处理,得到16×16或者是8×8的BLOCK数据,进行缓存到FIFO_B。分级模块C从FIFO_B中获得反击模块B处理完成的数据进行进一步的特定功能的处理,然后写进FIFO_C(分级缓存器C),同样以基板管理控制芯片(BMC芯片)为例,分级模块C完成的是对BLOCK数据的视频压缩处理,比如JPEG压缩等,将完成的压缩的数据写进FIFO_C,进而写进内存DDR。然后EMAC网络模块来读取DDR中数据,通过网络将数据发送到远程端进行显示。
具体地,在一实施例中,检查模块用于采集分级模块的写使能信号和读使能信号;当写使能信号表征分级模块向分级缓存器写入数据时,增加预设计数器计数;当读使能信号表征分级模块从分级缓存器读出数据时,减少预设计数器计数;当计数器的计数结果达到分级缓存器预设深度时,确定分级缓存器为满状态,并生成对应的满信号。
其中,预设异常状态包括满状态,报警信号包括满信号。
具体地,可以基于检查模块采集分级模块两侧的使能信号,以得到分级模块的写使能信号和读使能信号,检查模块内部有预设计数器,当有写使能信号被拉高时,表征该分级模块的分级缓存器有数据写入,预设计数器的计数+1(CHECK_CNT+1),当计数器的计数结果达到分级缓存器预设深度时,表征该分级缓存器已经写满了数据,即该分级缓存器为满状态,因此生成相应的满信号。
具体地,在一实施例中,检查模块用于采集分级模块的写使能信号和读使能信号;当写使能信号表征分级模块向分级缓存器写入数据时,增加预设计数器计数;当读使能信号表征分级模块从分级缓存器读出数据时,减少预设计数器计数;当计数器的计数结果为空时,确定分级缓存器为空状态,并生成对应的空信号。
其中,预设异常状态包括空状态,报警信号包括空信号。
具体地,当有读使能信号被拉高时,表征该分级模块的分级缓存器有数据被读出,预设计数器的计数-1(CHECK_CNT-1),当计数器的计数结果为空(CHECK_CNT=0)时,表征该分级缓存器中所有数据均被读出,即该分级缓存器为空状态,因此生成相应的空信号。
具体地,在一实施例中,CPU下发的测试数据携带中断标识;待验证分级模块的若干个前级分级模块用于根据中断标识,将测试数据透传至待验证分级模块。
具体地,由于分级模块之间串行连接,为了确保CPU下发的测试数据可以顺利传输至待验证分级模块,可以令CPU下发的测试数据携带中断标识,以使接收到该测试数据的待验证分级模块的各个前级分级模块可以根据该中断标识,将测试数据透传至待验证分级模块。
具体地,CPU接收到中断信号FULL_EMPTY_INTR后,执行中断处理程序,该程序首先配置寄存器到各个分级模块,以中断各分级模块的数据处理流程,使这些分级模块进入FIFO_Debug模式,在该模式下,不对数据进行任何处理,只对数据进行转发,即直接输出接收到的数据,CPU下发Debug数据(测试数据)至DDR ,根据中断号对应的分级缓存器的深度设置测试数据的长度,比如FIFO_A的深度是1024,FIFO_A对应的中断号是1,则CPU接收到1号中断后,就要下发1024个测试数据至DDR,同样的,如果FIFO_B的深度是8192,FIFO_B对应的中断号是2,则CPU接收到2号中断后,就要下发8192个数据至DDR。同时在下发的测试数据之前加上帧头32’Hffff_fffx,其中x代表的是中断号ID(中断标识),比如1-3,路径上的各个分级模块都需提前知道本级的ID是多少,方可得知此时传递的debug数据是否是给本级测试用的,如果x代表的数据与本级的中断ID对应,则知道前级透传来的Debug数据是给本级的,启动验证模块的验证功能,如果x代表的不是本级的ID,则知道前级透传的Debug数据不是给本级的,也就不启动验证模块的验证功能。
具体地,在一实施例中,验证模块包括满状态验证寄存器,CPU将测试数据写入满状态验证寄存器;在检查模块确定待验证分级模块无法正常生成满信号的情况下,满状态验证寄存器每写入一条测试数据表征验证模块将一条测试数据写入分级缓存器,在满状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征分级缓存器达到满状态;预设异常状态包括满状态。
需要说明的是,在检查模块确定待验证分级模块无法正常生成满信号的情况下,CPU下发测试数据的同时,还下发满状态验证寄存器配置信息,待验证分级模块中的验证模块根据该配置信息对验证寄存器进行相应的配置,得到满状态验证寄存器,以使每将一条测试数据写入满状态验证寄存器,使待验证分级模块感知到的是将一条测试数据写入到分级缓存器。
示例性的,测试数据可以是待验证分级模块的分级缓存器深度的数据集,为减少数据集的数据量可以使该数据集由相应深度的1或0组成,以测试数据为多个1为例,每向满状态验证寄存器写入1次1,表征验证模块需要将1个数据写进分级缓存器,同时控制读出侧,此时不读该分级缓存器。
进一步地,在一实施例中,验证模块在分级缓存器达到满状态时,检测待验证分级模块的信号接口,以判断待验证分级模块是否生成满信号;在确定待验证分级模块无法正常生成满信号的情况下,选择报出检查模块所生成的满信号。
其中,报警信号包括满信号。
需要说明的是,验证模块用于验证待验证分级模块是否真的出现了报警信号无法正常报出的情况,以进一步提高SoC芯片的性能稳定性。
具体地,可以统计验证寄存器WR_FIFO写1的次数,当达到分级缓存器的预设深度时,判断待验证分级模块的FULL信号(满信号)是否同时拉高,如果没有同时拉高,则表征待验证分级模块无法正常生成满信号,即确定该分级缓存器的FULL信号是异常信号,已经不可信,不可使用。
进一步地,在一实施例中,验证模块设有MUX选择控制器(多路选择控制器),验证模块在确定待验证分级模块无法正常生成满信号的情况下,基于多路选择控制器将检查模块的满信号接到对应的控制逻辑上,即所有用到满信号的控制逻辑均使用该多路选择控制器,该多路选择控制器的sel选择信号是由验证模块产生,以基于验证模块控制输出的满信号是检查模块生成的满信号还是分级模块自身生成的满信号。
相应地,在一实施例中,在检查模块确定待验证分级模块无法正常生成空信号的情况下,空状态验证寄存器每写入一条测试数据表征验证模块从分级缓存器读出一条测试数据,在空状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征分级缓存器达到空状态;预设异常状态包括空状态。
具体地,在检查模块确定待验证分级模块无法正常生成空信号的情况下,CPU下发测试数据的同时,还下发空状态验证寄存器配置信息,待验证分级模块中的验证模块根据该配置信息对验证寄存器进行相应的配置,得到空状态验证寄存器,以使每将一条测试数据写入空状态验证寄存器,使待验证分级模块感知到的是从分级缓存器读出一条测试数据。
进一步地,在一实施例中,验证模用于在分级缓存器达到空状态时,检测待验证分级模块的信号接口,以判断待验证分级模块是否生成空信号;在确定待验证分级模块无法正常生成空信号的情况下,选择报出检查模块所生成的空信号。
其中,报警信号包括空信号。
具体地,CPU在检查模块确定待验证分级模块无法正常生成空信号的情况下,下发相应的验证寄存器配置信息,待验证分级模块中的验证模块根据该配置信息对验证寄存器进行相应的配置,以使每将一条测试数据写入验证寄存器,使待验证分级模块感知到的是将一条测试数据从分级缓存器读出。
具体地,可以统计验证寄存器WR_FIFO写1的次数,当达到分级缓存器的预设深度时,判断待验证分级模块的EMPTY信号(空信号)是否同时拉高,如果没有同时拉高,则表征待验证分级模块无法正常生成空信号,即确定该分级缓存器的EMPTY信号是异常信号,已经不可信,不可使用。
进一步地,验证模块在确定待验证分级模块无法正常生成空信号的情况下,基于多路选择控制器将检查模块的空信号接到对应的控制逻辑上。
传统的SoC片上数据处理架构中,存在后级模块已经有数据积压,目前无法及时处理数据,但是本级缓存器又要将满的时候,如果本级缓存器继续写入,就要进行满信号的报出,报出满信号后触发系统的复位操作,影响SoC芯片的性能稳定性,同时也存在本级模块已经空闲,但是还没有数据要来,本机缓存器已经趋于空状态的场景,无法发挥最佳处理性能的场景,降低了SoC芯片的资源利用率。
为解决上述技术问题,在上述实施例的基础上,作为一种可实施的方式,在一实施例中,系统还包括:综合调度控制器。
其中,该综合调度控制器用于在任一分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断前一级分级模块的分级缓存器是否为即满状态;在前一级分级模块的分级缓存器为即满状态的情况下,调度前一级分级模块的状态跳转空闲周期,以使前一级分级模块的状态跳转空闲周期被延长。
需要说明的是,分级模块的运行状态变化顺序为接收数据状态(STATA_A)-处理数据状态(STATE_B)-处理完成状态(STATE_C)-接收数据状态(STATE_A),以此类推,目标运行状态指非接收数据状态,即目标运行状态包括处理数据状态和处理完成状态。分级模块处于目标运行状态时,无法接收数据,因此此时若前一级分级模块的分级缓存器处于即满状态,那么该分级缓存器大概率会进入满状态,满信号还没有被拉高,但将马上被拉高。本申请实施例正是为了避免该分级缓存器进入满状态,基于综合调度控制器调度前一级分级模块的状态跳转空闲周期,以使前一级分级模块的状态跳转空闲周期被延长,以避免该分级缓存器在短时间内接收大量的数据,也就避免其进入满状态。
其中,状态跳转空闲周期包括接收数据状态跳转到处理数据状态的周期T0,处理数据状态跳转到处理完成状态的周期T1,处理完成状态跳转到接收数据状态的周期T0。具体的状态跳转空闲周期(Dummy周期)的延长逻辑可以根据实际情况设定,例如将T1、T2和T3均延长1秒,或者原T1=T2=T3=0,表示数据即刻处理,现延长为T1=T2=T3=10或T1=10,T2=T3=0等。
具体地,综合调度控制器可以统计整个数据处理路径中每个分级模块的分级缓存器的读写数据量,以判断各分级缓存器是否达到即满状态,具体可以根据各分级缓存器的预设深度,确定各分级缓存器对应的即满状态判断条件,例如预设深度为1024的分级缓存器,可以设置其即满状态判断条件为剩余空间低于100个数据量或剩余空间低于80个数据量等,即当该分级缓存器的剩余空间低于100个数据量时,确定该分级缓存器为即满状态。
具体地,在一实施例中,综合调度控制器还用于在延长前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余空间是否在减少;在前一级分级模块的分级缓存器的剩余空间在减少的情况下,增加前一级分级模块的状态跳转空闲周期的延长尺度。
示例性的,如图3所示,为本申请实施例提供的另一种片上数据处理系统的结构示意图,假设在分级模块D处于目标运行状态下,对前一级分级模块(分级模块C)的分级缓存器C进行状态检测,若确定分级缓存器C达到即满状态,则调度分级模块C的状态跳转空闲周期,以使分级模块C的状态跳转空闲周期被延长。延长分级模块C的状态跳转空闲周期之后,进一步判断分级缓存器C的剩余空间是否还在减少,若是,则表征分级缓存C依然会马上达到满状态,因此可以进一步增加前一级分级模块的状态跳转空闲周期的延长尺度,例如:若上次延长后的T1=T2=T3=10,经过本次增加延长尺度,使T1=T2=T3=20。
相应地,在一实施例中,综合调度控制器还用于在延长前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余空间是否在减少;在前一级分级模块的分级缓存器的剩余空间在减少的情况下,对分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使再前一级分级模块的状态跳转空闲周期被延长。
具体地,若分级缓存器C的剩余空间还在减少,表征该分级缓存器C依然即将进入满状态,因此为避免分级缓存器C进入满状态,对再前一级分级模块(分级模块B)的状态跳转空闲周期进行调度,以尽可能的加快整体数据的处理速度,具体调度方式参见上述实施例,不再赘述。
相应地,在前一级分级模块的分级缓存器的剩余空间在增加的情况下,或在前一级分级模块的分级缓存器的剩余空间超出满状态判断条件表征的剩余空间阈值(如80个数据量)时,暂停对分级模块B的调度,只保留对分级模块C的调度。
具体地,在一实施例中,综合调度模还用于在延长再前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余空间是否在减少;在前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使剩余前级分级模块的状态跳转空闲周期被延长,直至前一级分级模块的分级缓存器的剩余空间发生增长。
具体地,若在对分级模块B的状态跳转空闲周期进行延长后,分级缓存器C的剩余空间还在减少,则进一步延长分级模块A(剩余前级分级模块)的状态跳转空闲周期,以此类推,直至分级缓存器C的剩余空间发生增长。
其中,通过对分级模块A的调度,前一级分级模块的分级缓存器的剩余空间在增加的情况下,或在前一级分级模块的分级缓存器的剩余空间超出满状态判断条件表征的剩余空间阈值(如80个数据量)时,暂停对分级模块A的调度,只保留对分级模块B和分级模块C的调度。
在上述实施例的基础上,为避免分级缓存器进入空状态,降低SoC芯片的资源利用率,作为一种可实施的方式,在一实施例中,系统还包括:综合调度控制器,用于在任一分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断前一级分级模块的分级缓存器是否为即空状态;在前一级分级模块的分级缓存器为即空状态的情况下,调度前一级分级模块的状态跳转空闲周期,以使前一级分级模块的状态跳转空闲周期被缩短。
具体地,可以根据各分级缓存器的预设深度,确定各分级缓存器对应的即空状态判断条件,例如预设深度为1024的分级缓存器,可以设置其即空状态判断条件为待读的剩余数据量低于80或60等,例如当该分级缓存器的剩余数据量低于80时,确定该分级缓存器为即空状态。
具体地,通过对分级模块C的分级缓存器C进行状态检测,在分级缓存器C为即空状态的情况下,调度分级模块C的状态跳转空闲周期,以缩短分级模块C的状态跳转空闲周期,以使分级模块C尽快将新数据写入分级缓存器C,从而避免分级缓存器C进入空状态。
具体地,在一实施例中,综合调度控制器还用于在缩短前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余数据量是否在减少;在前一级分级模块的分级缓存器的剩余数据量在减少的情况下,增加前一级分级模块的状态跳转空闲周期的缩短尺度。
具体地,在缩短前一级分级模块的状态跳转空闲周期之后,前一级分级模块的分级缓存器的剩余数据量还是在减少,则表征分级缓存C依然会马上达到空状态,因此可以进一步增加前一级分级模块的状态跳转空闲周期的缩短尺度。
具体地,在一实施例中,综合调度控制器还用于在缩短前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余数据量是否在减少;在前一级分级模块的分级缓存器的剩余数据量在减少的情况下,对分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使再前一级分级模块的状态跳转空闲周期被缩短。
具体地,若分级缓存器C的剩余数据量还在减少,表征该分级缓存器C依然即将进入空状态,因此为避免分级缓存器C进入空状态,对再前一级分级模块(分级模块B)的状态跳转空闲周期进行调度,具体调度方式参见上述实施例,不再赘述。
具体地,在一实施例中,综合调度控制器还用于在缩短再前一级分级模块的状态跳转空闲周期之后,判断前一级分级模块的分级缓存器的剩余数据量是否在减少;在前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使剩余前级分级模块的状态跳转空闲周期被缩短,直至前一级分级模块的分级缓存器的剩余数据量发生增长。
具体地,若在对分级模块B的状态跳转空闲周期进行缩短后,分级缓存器C的剩余数据量还在减少,则进一步缩短分级模块A的状态跳转空闲周期,以此类推,直至分级缓存器C的剩余数据量发生增长。
本申请实施例提供的片上数据处理系统,包括:若干个分级模块及连接分级模块的分级缓存器,分级缓存器与分级模块一一对应,分级缓存器连接检查模块和验证模块;针对任一分级模块,检查模块用于对分级模块的读写操作次数进行统计,得到读写操作统计结果,当读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断分级模块是否正常生成报警信号,在分级模块未生成报警信号的情况下,将分级模块作为待验证分级模块,并上报中断信号至CPU,以使CPU响应于中断信号下发测试数据,并中断各分级模块的数据处理流程;待验证分级模块所对应的验证模块用于接收测试数据,基于测试数据验证分级缓存器达到预设异常状态时,待验证分级模块是否正常生成报警信号,在确定待验证分级模块无法正常生成报警信号的情况下,选择报出检查模块所生成的报警信号。上述方案提供的系统,通过对SoC芯片中各分级模块是否能够及时进行报警信号的报出的进行检测,并在其无法正常报出报警信号时,基于检查模块代替其报出报警信号,以避免SoC芯片报出的空满信号存在延迟,从而提高了SoC芯片的稳定性。检查模块和验证模块合对应的软件以及中断修改,实现了在大深度、高频率背景下FIFO的空满信号出现异常的校验以及容错机制,提高了多片上缓存架构的稳定性。并且,通过增设综合调度控制器在任一分级模块的分级缓存器达到即满或即空状态时,对其前级模块的状态跳转空闲周期进行调度,使得路径上的分级缓存器尽可能的避免出现FULL或者是EMPTY的场景,以最大程度的提高数据的处理速度,提高SoC芯片的整体性能,进一步提升SoC芯片多片上缓存架构的稳定性。
本申请实施例提供了一种片上数据处理方法,用于对SoC芯片进行数据处理,以使SOC芯片能够及时报出空满信号。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于对SoC芯片进行数据处理,以使SOC芯片能够及时报出空满信号的电子设备。
如图4所示,为本申请实施例提供的片上数据处理方法的流程示意图,该方法包括:
步骤401,对各分级模块的读写操作次数进行统计,得到对应的读写操作统计结果;
步骤402,当读写操作统计结果保证任一分级模块的分级缓存器达到预设异常状态时,基于检查模块生成报警信号;
步骤403,判断分级模块是否正常生成报警信号;
步骤404,在分级模块未生成报警信号的情况下,将分级模块作为待验证分级模块,并上报中断信号至CPU,以使CPU响应于中断信号下发测试数据,并中断各分级模块的数据处理流程;
步骤405,基于测试数据验证分级缓存器达到预设异常状态时,待验证分级模块是否正常生成报警信号;
步骤406,在确定待验证分级模块无法正常生成报警信号的情况下,选择报出检查模块所生成的报警信号。
关于本实施例中的片上数据处理方法,其中各个步骤的具体方式已经在有关该系统的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的片上数据处理方法,应用于上述实施例提供的片上数据处理系统,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种服务器,用于部署上述实施例提供的片上数据处理系统。
如图5所示,为本申请实施例提供的服务器的结构示意图,该服务器包括上述实施例提供的片上数据处理系统。
关于本实施例中的服务器,其具体实施方式已经在有关该系统的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的服务器,用于部署上述实施例提供的片上数据处理系统,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种电子设备,用于执行上述实施例提供的片上数据处理方法。
如图6所示,为本申请实施例提供的电子设备的结构示意图。该电子设备60包括:至少一个处理器61和存储器62。
存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上实施例提供的片上数据处理方法。
本申请实施例提供的电子设备,用于执行上述实施例提供的片上数据处理方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的片上数据处理方法。
本申请实施例提供的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的片上数据处理方法的计算机执行指令,其实现方式与原理相同,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种片上数据处理系统,其特征在于,包括:若干个分级模块及连接所述分级模块的分级缓存器,所述分级缓存器与所述分级模块一一对应,所述分级缓存器连接检查模块和验证模块;
针对任一所述分级模块,所述检查模块用于对所述分级模块的读写操作次数进行统计,得到读写操作统计结果,当所述读写操作统计结果表征该分级模块的分级缓存器达到预设异常状态时,生成报警信号,判断所述分级模块是否正常生成所述报警信号,在所述分级模块未生成所述报警信号的情况下,将所述分级模块作为待验证分级模块,并上报中断信号至CPU,以使所述CPU响应于所述中断信号下发测试数据,并中断各所述分级模块的数据处理流程;
所述待验证分级模块所对应的验证模块用于接收所述测试数据,基于所述测试数据验证所述分级缓存器达到预设异常状态时,所述待验证分级模块是否正常生成所述报警信号,在确定所述待验证分级模块无法正常生成所述报警信号的情况下,选择报出所述检查模块所生成的报警信号;
所述验证模块包括满状态验证寄存器,所述CPU将所述测试数据写入所述满状态验证寄存器;
所述满状态验证寄存器每写入一条测试数据表征所述验证模块将一条测试数据写入所述分级缓存器,在所述满状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到满状态;所述预设异常状态包括所述满状态;
所述验证模块,用于:
在所述分级缓存器达到满状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成满信号;
在确定所述待验证分级模块无法正常生成所述满信号的情况下,选择报出所述检查模块所生成的满信号;
其中,所述报警信号包括满信号;
所述验证模块包括空状态验证寄存器,所述CPU将所述测试数据写入所述空状态验证寄存器;
所述空状态验证寄存器每写入一条测试数据表征所述验证模块从所述分级缓存器读出一条测试数据,在所述空状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到空状态;所述预设异常状态包括所述空状态;
所述验证模块,用于:
在所述分级缓存器达到空状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成空信号;
在确定所述待验证分级模块无法正常生成所述空信号的情况下,选择报出所述检查模块所生成的空信号;
其中,所述报警信号包括空信号。
2.根据权利要求1所述的系统,其特征在于,所述检查模块,用于:
采集所述分级模块的写使能信号和读使能信号;
当所述写使能信号表征所述分级模块向所述分级缓存器写入数据时,增加预设计数器计数;
当所述读使能信号表征所述分级模块从所述分级缓存器读出数据时,减少预设计数器计数;
当所述计数器的计数结果达到所述分级缓存器预设深度时,确定所述分级缓存器为满状态,并生成对应的满信号;
其中,所述预设异常状态包括所述满状态,所述报警信号包括满信号。
3.根据权利要求1所述的系统,其特征在于,所述检查模块,用于:
采集所述分级模块的写使能信号和读使能信号;
当所述写使能信号表征所述分级模块向所述分级缓存器写入数据时,增加预设计数器计数;
当所述读使能信号表征所述分级模块从所述分级缓存器读出数据时,减少预设计数器计数;
当所述计数器的计数结果为空时,确定所述分级缓存器为空状态,并生成对应的空信号;
其中,所述预设异常状态包括所述空状态,所述报警信号包括空信号。
4.根据权利要求1所述的系统,其特征在于,所述CPU下发的测试数据携带中断标识;
所述待验证分级模块的若干个前级分级模块用于根据所述中断标识,将所述测试数据透传至所述待验证分级模块。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括:综合调度控制器,用于:
在任一所述分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断所述前一级分级模块的分级缓存器是否为即满状态;
在所述前一级分级模块的分级缓存器为即满状态的情况下,调度所述前一级分级模块的状态跳转空闲周期,以使所述前一级分级模块的状态跳转空闲周期被延长。
6.根据权利要求5所述的系统,其特征在于,所述综合调度控制器,还用于:
在延长所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,增加所述前一级分级模块的状态跳转空闲周期的延长尺度。
7.根据权利要求5所述的系统,其特征在于,所述综合调度控制器,还用于:
在延长所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对所述分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使所述再前一级分级模块的状态跳转空闲周期被延长。
8.根据权利要求7所述的系统,其特征在于,所述综合调度控制器,还用于:
在延长所述再前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余空间是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使所述剩余前级分级模块的状态跳转空闲周期被延长,直至所述前一级分级模块的分级缓存器的剩余空间发生增长。
9.根据权利要求1所述的系统,其特征在于,所述系统还包括:综合调度控制器,用于:
在任一所述分级模块处于目标运行状态下,对前一级分级模块的分级缓存器进行状态检测,以判断所述前一级分级模块的分级缓存器是否为即空状态;
在所述前一级分级模块的分级缓存器为即空状态的情况下,调度所述前一级分级模块的状态跳转空闲周期,以使所述前一级分级模块的状态跳转空闲周期被缩短。
10.根据权利要求9所述的系统,其特征在于,所述综合调度控制器,还用于:
在缩短所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余数据量在减少的情况下,增加所述前一级分级模块的状态跳转空闲周期的缩短尺度。
11.根据权利要求9所述的系统,其特征在于,所述综合调度控制器,还用于:
在缩短所述前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余数据量在减少的情况下,对所述分级模块的再前一级分级模块的状态跳转空闲周期进行调度,以使所述再前一级分级模块的状态跳转空闲周期被缩短。
12.根据权利要求11所述的系统,其特征在于,所述综合调度控制器,还用于:
在缩短所述再前一级分级模块的状态跳转空闲周期之后,判断所述前一级分级模块的分级缓存器的剩余数据量是否在减少;
在所述前一级分级模块的分级缓存器的剩余空间在减少的情况下,对剩余前级分级模块的状态跳转空闲周期进行调度,以使所述剩余前级分级模块的状态跳转空闲周期被缩短,直至所述前一级分级模块的分级缓存器的剩余数据量发生增长。
13.一种片上数据处理方法,其特征在于,包括:
对各分级模块的读写操作次数进行统计,得到对应的读写操作统计结果;
当所述读写操作统计结果保证任一所述分级模块的分级缓存器达到预设异常状态时,基于检查模块生成报警信号;
判断所述分级模块是否正常生成所述报警信号;
在所述分级模块未生成所述报警信号的情况下,将所述分级模块作为待验证分级模块,并上报中断信号至CPU,以使所述CPU响应于所述中断信号下发测试数据,并中断各所述分级模块的数据处理流程;
基于所述测试数据验证所述分级缓存器达到预设异常状态时,所述待验证分级模块是否正常生成所述报警信号;
在确定所述待验证分级模块无法正常生成所述报警信号的情况下,选择报出所述检查模块所生成的报警信号;
验证模块包括满状态验证寄存器,所述CPU将所述测试数据写入所述满状态验证寄存器;
所述满状态验证寄存器每写入一条测试数据表征所述验证模块将一条测试数据写入所述分级缓存器,在所述满状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到满状态;所述预设异常状态包括所述满状态;
在所述分级缓存器达到满状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成满信号;
在确定所述待验证分级模块无法正常生成所述满信号的情况下,选择报出所述检查模块所生成的满信号;
其中,所述报警信号包括满信号;
所述验证模块包括空状态验证寄存器,所述CPU将所述测试数据写入所述空状态验证寄存器;
所述空状态验证寄存器每写入一条测试数据表征所述验证模块从所述分级缓存器读出一条测试数据,在所述空状态验证寄存器写入的测试数据量达到分级缓存器预设深度时,表征所述分级缓存器达到空状态;所述预设异常状态包括所述空状态;
在所述分级缓存器达到空状态时,检测所述待验证分级模块的信号接口,以判断所述待验证分级模块是否生成空信号;
在确定所述待验证分级模块无法正常生成所述空信号的情况下,选择报出所述检查模块所生成的空信号;
其中,所述报警信号包括空信号。
14.一种服务器,其特征在于,包括:如权利要求1至12任一项所述的片上数据处理系统。
15.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求13所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求13所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410124534.9A CN117648287B (zh) | 2024-01-30 | 2024-01-30 | 一种片上数据处理系统、方法、服务器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410124534.9A CN117648287B (zh) | 2024-01-30 | 2024-01-30 | 一种片上数据处理系统、方法、服务器及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117648287A CN117648287A (zh) | 2024-03-05 |
CN117648287B true CN117648287B (zh) | 2024-05-03 |
Family
ID=90043794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410124534.9A Active CN117648287B (zh) | 2024-01-30 | 2024-01-30 | 一种片上数据处理系统、方法、服务器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648287B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663644A (zh) * | 2007-04-19 | 2010-03-03 | 国际商业机器公司 | 用于处理计算系统中的异常信号的装置和方法 |
CN111400205A (zh) * | 2020-02-29 | 2020-07-10 | 华南理工大学 | 一种先进先出地址轮询缓存读写方法、系统及装置 |
CN113468084A (zh) * | 2021-05-28 | 2021-10-01 | 北京时代民芯科技有限公司 | 一种多模式dma数据传输系统 |
CN113485791A (zh) * | 2021-07-07 | 2021-10-08 | 上海壁仞智能科技有限公司 | 配置方法和访问方法、装置、虚拟化系统和存储介质 |
WO2022176006A1 (ja) * | 2021-02-16 | 2022-08-25 | 日本電信電話株式会社 | 通信装置、通信故障管理方法、故障管理プログラム、及び通信システム |
CN116521577A (zh) * | 2023-07-03 | 2023-08-01 | 太初(无锡)电子科技有限公司 | 对分支预测失败的指令缓存快速处理的芯片系统及方法 |
-
2024
- 2024-01-30 CN CN202410124534.9A patent/CN117648287B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663644A (zh) * | 2007-04-19 | 2010-03-03 | 国际商业机器公司 | 用于处理计算系统中的异常信号的装置和方法 |
CN111400205A (zh) * | 2020-02-29 | 2020-07-10 | 华南理工大学 | 一种先进先出地址轮询缓存读写方法、系统及装置 |
WO2022176006A1 (ja) * | 2021-02-16 | 2022-08-25 | 日本電信電話株式会社 | 通信装置、通信故障管理方法、故障管理プログラム、及び通信システム |
CN113468084A (zh) * | 2021-05-28 | 2021-10-01 | 北京时代民芯科技有限公司 | 一种多模式dma数据传输系统 |
CN113485791A (zh) * | 2021-07-07 | 2021-10-08 | 上海壁仞智能科技有限公司 | 配置方法和访问方法、装置、虚拟化系统和存储介质 |
CN116521577A (zh) * | 2023-07-03 | 2023-08-01 | 太初(无锡)电子科技有限公司 | 对分支预测失败的指令缓存快速处理的芯片系统及方法 |
Non-Patent Citations (2)
Title |
---|
Zhenhai Ning et al..Recurrence, Analysis and Prototype Regression Verification of Occasional Problems in Chip Design.EITCE '22: Proceedings of the 2022 6th International Conference on Electronic Information Technology and Computer Engineering.2023,第318-325页. * |
基于FPGA的无线传感器网络SoC设计与验证;张笑;中国优秀硕士学位论文全文数据库 信息科技辑;20160415;第2016卷(第04期);第I140-126页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117648287A (zh) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959229B2 (en) | Associating process priority with I/O queuing | |
CN102866971B (zh) | 传输数据的装置、系统及方法 | |
US8713370B2 (en) | Non-intrusive processor tracing | |
US20060005083A1 (en) | Performance count tracing | |
US9128633B2 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
CN101482836A (zh) | 处理系统日志的装置与处理系统日志的方法 | |
US20130246859A1 (en) | Integrated circuit and method for monitoring bus status in integrated circuit | |
US20120259588A1 (en) | Method and apparatus for collecting performance data, and system for managing performance data | |
JP6746791B2 (ja) | クロックゲーティングイネーブルの生成 | |
US20100321051A1 (en) | Semiconductor integrated circuit, debug/trace circuit and semiconductor integrated circuit operation observing method | |
CN117648287B (zh) | 一种片上数据处理系统、方法、服务器及电子设备 | |
CN101227689A (zh) | 信息上报方法及装置 | |
US11176018B1 (en) | Inline hardware compression subsystem for emulation trace data | |
US7757016B2 (en) | Data transfer device, semiconductor integrated circuit, and processing status notification method | |
CN114721983A (zh) | 一种ddr4加速读写装置 | |
CN114091384A (zh) | 数据处理电路及人工智能芯片、数据处理方法和装置 | |
US20200250004A1 (en) | Information processing device and storage medium | |
US20080141249A1 (en) | Method, Apparatus, and Program for Detecting an Extraordinary Behavior | |
CN116980641B (zh) | 视频迁移的异步处理方法、系统、计算机及存储介质 | |
CN116991651B (zh) | 一种错误注入方法、片上系统、计算机设备及存储介质 | |
US11947804B2 (en) | Hardware latency monitoring for memory device input/output requests | |
CN112751873B (zh) | 蓝牙midi数据转换方法、电路及存储介质 | |
US11573883B1 (en) | Systems and methods for enhanced compression of trace data in an emulation system | |
CN113032305B (zh) | 一种接口中断测量方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |