一种在线仿真调试器的多通道仲裁电路及其调度方法技术

技术编号:19857064 阅读:24 留言:0更新日期:2018-12-22 11:36
本发明专利技术涉及一种在线仿真调试器的多通道仲裁电路,包括:多通道采集单元,用于采集内核和外设的trace事件,对每个trace事件按照事件的属性、性质、来源进行分类,以表征当前采集的trace事件类型;交叉开关,完成多通道采集单元通道和主缓冲区通道的多对一或一对一的选通;主缓冲区,用于缓冲各通道的trace数据;多路选择器,完成主缓冲区通道到输出通道的多对一选通;仲裁器,完成主缓冲区的通道队列调度,完成多路选择器的通道选择仲裁。本发明专利技术还公开了一种在线仿真调试器的多通道仲裁电路的调度方法。本方法将有效控制缓冲数据丢失,改变穷尽式服务方式,让各通道均能得到仲裁响应,进一步降低缓冲溢出风险,减少数据丢失次数。

【技术实现步骤摘要】
一种在线仿真调试器的多通道仲裁电路及其调度方法
本专利技术涉及数字集成电路设计
,尤其是一种在线仿真调试器的多通道仲裁电路及其调度方法。
技术介绍
基于单步和断点的仿真调试系统破坏了处理器程序的运行环境,难以追踪程序的并发行为,且无法实时地观察程序内部运行环境。Trace仿真调试系统采用在线实时追踪调试技术,通过专用硬件非入侵地记录程序执行和数据读写信息,以不破坏内核运行环境的方式实现在线程序追踪和调试过程,是目前主流在线调试技术的研究方向。然而,现有的Trace仿真调试器在调度算法方面存在以下不足:采用Round-Robin调度算法进行多路trace通道选择时,无法根据各路通道情况进行调度策略调整,存在缓冲数据丢失问题;采用Funnel调度算法对多路trace通道服务时,同样存在高优先级通道一直占用服务,而低优先级通道无法得到及时响应,导致低优先级通道数据丢失问题。
技术实现思路
本专利技术的首要目的在于提供一种能有效减小缓冲数据丢失的在线仿真调试器的多通道仲裁电路。为实现上述目的,本专利技术采用了以下技术方案:一种在线仿真调试器的多通道仲裁电路,包括:多通道采集单元,用于采集内核指令缓冲区通道和外设指令缓冲区通道的trace事件,对每个trace事件按照事件的属性、性质、来源进行分类,以表征当前采集的trace事件类型;交叉开关,完成多通道采集单元通道和主缓冲区通道的多对一或一对一的选通;主缓冲区,用于缓冲主缓冲区各通道的trace数据,其中,将第一主缓冲区通道和第二主缓冲区通道称为内核指令缓冲区通道,将第三主缓冲区通道到第N主缓冲区通道称为外设指令缓冲区通道;多路选择器,完成主缓冲区通道到输出通道的多对一选通;仲裁器,完成主缓冲区的通道队列调度,完成多路选择器的通道选择仲裁。所述多通道采集单元的个数大于等于并行发生的trace事件的数量。所述主缓冲区通道的数量根据带宽需求和trace事件并发数量进行配置,且小于等于多通道采集单元的通道数量。本专利技术的另一目的在于提供一种在线仿真调试器的多通道仲裁电路的调度方法,该方法包括下列顺序的步骤:(1)调度初始时,各通道服务优先级配置相同,采用Round-Robin调度算法完成调度任务;(2)当主缓冲区通道状态由保持态进入紧急态后,仲裁器将该主缓冲区通道优先级调高,并改变调度策略,采用Funnel调度算法完成调度任务;(3)Funnel调度算法每次从主缓冲区通道中读出N个数据,读出后观察该通道状态,若仍在紧急态或在保持态,则再读出N个数据,直到该通道状态由保持态进入积累态;(4)当该主缓冲区通道状态由保持态进入积累态,改变调度策略,降低该通道的优先级,恢复Round-Robin调度算法完成调度任务,直到该通道状态再次由保持态进入紧急态。在所述步骤(3)中,当内核指令缓冲区通道状态进入紧急态,仲裁器选通内核指令缓冲区通道并依次读出一段数据,随后仲裁器再对内核指令缓冲区通道状态进行判定,如果其仍在紧急态或者在保持态,则继续读出一段数据后再次进行仲裁。在所述步骤(4)中,当内核指令缓冲区通道由保持态进入积累态,将该通道优先级设为最高,仲裁器依次选通各个通道,每次读出一段数据后切换通道,并对内核指令缓冲区通道状态进行仲裁;如果外设指令缓冲区通道状态仍在积累态或在保持态,则保持调度策略不变,直到内核指令缓冲区通道状态进入紧急态。由上述技术方案可知,本专利技术的优点在于:第一,本专利技术将有效减少采集通道的数据丢失次数,提高Trace仿真调试器的在线数据追踪能力;第二,相对于现有的调度策略和仲裁方法,本专利技术有更好的多通道适应性,可根据不同的缓冲通道状态完成适配的调度策略调整,并且采用非费穷尽式的调度方式,使得各通道都能得到响应;第三,相对于其他调度策略和仲裁方法,本专利技术能够更加准确无误地还原系统运行环境。附图说明图1是本专利技术的电路框图;图2是基于7通道的K-K缓冲结构的示意图;图3是同步FIFO各状态示意图。具体实施方式如图1所示,一种在线仿真调试器的多通道仲裁电路,包括:多通道采集单元3,用于采集内核指令缓冲区通道和外设指令缓冲区通道的trace事件,对每个trace事件按照事件的属性、性质、来源进行分类,以表征当前采集的trace事件类型;另外,多通道采集单元3还需要处理内核时钟、外设时钟和采集时钟不一致的问题。使用带有异步FIFO的缓冲电路或其他跨时钟域处理电路是该问题的一种解决方法。所述多通道采集单元3的个数大于等于并行发生的trace事件的数量。多通道采集单元3的具体通道数量可配置,但最低不能少于并行发生的trace事件数量。交叉开关4,完成多通道采集单元3通道和主缓冲区5通道的多对一或一对一的选通;主缓冲区5,用于缓冲主缓冲区5各通道的trace数据,其中,将第一主缓冲区通道和第二主缓冲区通道称为内核指令缓冲区通道,将第三主缓冲区通道到第N主缓冲区通道称为外设指令缓冲区通道;使用带有同步FIFO缓冲结构电路或其他缓冲结构电路是一种主缓冲区5实现方法。主缓冲区5通道数量根据带宽需求和trace事件并发数量进行配置,但最大不应多于采集单元通道数量。对于K个采集单元通道对应N个主缓冲通道的结构,称为K-N阻塞缓冲结构。当采集单元通道数量和主缓冲区5通道数量相同时,采集单元的trace数据可以无阻塞的进入主缓冲区5,从而构成K-K无阻塞缓冲结构。所述主缓冲区5通道的数量根据带宽需求和trace事件并发数量进行配置,且小于等于多通道采集单元3的通道数量。多路选择器6,完成主缓冲区5通道到输出通道的多对一选通;仲裁器,完成主缓冲区5的通道队列调度,完成多路选择器6的通道选择仲裁。调度方法尽可能地考虑缓冲区溢出风险,减少trace缓冲通道的数据溢出风险。对主缓冲区5状态进行分类,仲裁电路根据不同的主缓冲区5通道状态来实现不同的通道调度方法。一般来说,内核trace事件的信息量最大、次数最多,调度方法应尽可能的优先服务该通道。本方法包括下列顺序的步骤:(1)调度初始时,各通道服务优先级配置相同,采用Round-Robin调度算法完成调度任务;(2)当主缓冲区5通道状态由保持态进入紧急态后,仲裁器将该主缓冲区5通道优先级调高,并改变调度策略,采用Funnel调度算法完成调度任务;(3)Funnel调度算法每次从主缓冲区5通道中读出N个数据,读出后观察该通道状态,若仍在紧急态或在保持态,则再读出N个数据,直到该通道状态由保持态进入积累态;(4)当该主缓冲区5通道状态由保持态进入积累态,改变调度策略,降低该通道的优先级,恢复Round-Robin调度算法完成调度任务,直到该通道状态再次由保持态进入紧急态。在所述步骤(3)中,当内核指令缓冲区通道状态进入紧急态,仲裁器选通内核指令缓冲区通道并依次读出一段数据,随后仲裁器再对内核指令缓冲区通道状态进行判定,如果其仍在紧急态或者在保持态,则继续读出一段数据后再次进行仲裁。在所述步骤(4)中,当内核指令缓冲区通道由保持态进入积累态,将该通道优先级设为最高,仲裁器依次选通各个通道,每次读出一段数据后切换通道,并对内核指令缓冲区通道状态进行仲裁;如果外设指令缓冲区通道状态仍在积累态或在保持态,则保持调度策略不变,直到内核指令缓冲区通道状态进入紧急本文档来自技高网...

【技术保护点】
1.一种在线仿真调试器的多通道仲裁电路,其特征在于:包括:多通道采集单元,用于采集内核指令缓冲区通道和外设指令缓冲区通道的trace事件,对每个trace事件按照事件的属性、性质、来源进行分类,以表征当前采集的trace事件类型;交叉开关,完成多通道采集单元通道和主缓冲区通道的多对一或一对一的选通;主缓冲区,用于缓冲主缓冲区各通道的trace数据,其中,将第一主缓冲区通道和第二主缓冲区通道称为内核指令缓冲区通道,将第三主缓冲区通道到第N主缓冲区通道称为外设指令缓冲区通道;多路选择器,完成主缓冲区通道到输出通道的多对一选通;仲裁器,完成主缓冲区的通道队列调度,完成多路选择器的通道选择仲裁。

【技术特征摘要】
1.一种在线仿真调试器的多通道仲裁电路,其特征在于:包括:多通道采集单元,用于采集内核指令缓冲区通道和外设指令缓冲区通道的trace事件,对每个trace事件按照事件的属性、性质、来源进行分类,以表征当前采集的trace事件类型;交叉开关,完成多通道采集单元通道和主缓冲区通道的多对一或一对一的选通;主缓冲区,用于缓冲主缓冲区各通道的trace数据,其中,将第一主缓冲区通道和第二主缓冲区通道称为内核指令缓冲区通道,将第三主缓冲区通道到第N主缓冲区通道称为外设指令缓冲区通道;多路选择器,完成主缓冲区通道到输出通道的多对一选通;仲裁器,完成主缓冲区的通道队列调度,完成多路选择器的通道选择仲裁。2.根据权利要求1所述的在线仿真调试器的多通道仲裁电路,其特征在于:所述多通道采集单元的个数大于等于并行发生的trace事件的数量。3.根据权利要求1所述的在线仿真调试器的多通道仲裁电路,其特征在于:所述主缓冲区通道的数量根据带宽需求和trace事件并发数量进行配置,且小于等于多通道采集单元的通道数量。4.根据权利要求1至3中任一项所述的在线仿真调试器的多通道仲裁电路的调度方法,其特征在于:该方法包括下列顺序的步骤:(1)调度初始时,各通道服务优先级配置相同,采用Round-...

【专利技术属性】
技术研发人员:吴安韩琼磊刘小明赵香李泉泉刘玉
申请(专利权)人:中国电子科技集团公司第三十八研究所
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1