本发明专利技术涉及通信技术领域,具体涉及基于握手机制的通信建模方法、系统、终端及存储介质。该方法包括:目标进程为响应来自发起端事件的进程,为目标进程定义一个对应的核心处理进程;当目标进程被事件触发,则开始接收任务,并将任务信息放入任务队列中;根据核心处理进程的当前执行状态,来决定是否触发核心处理进程;核心处理进程被触发后,从任务队列中获取任务,并真正的执行任务,直到任务队列为空后,进程被挂起,等待下一次触发。本发明专利技术采用基于事件并进行握手的方法,规避了事件触发的超时问题,能提高仿真效率。能提高仿真效率。能提高仿真效率。
【技术实现步骤摘要】
基于握手机制的通信建模方法、系统、终端及存储介质
[0001]本专利技术涉及通信
,尤其涉及基于握手机制的通信建模方法、系统、终端及存储介质。
技术介绍
[0002]SoC的设计之难源于其复杂性,复杂性催生SystemC和电子系统级设计(ESL)方法学,事务处理级建模是电子系统级设计的关键。对于复杂的SoC,在进行RTL设计前需要进行深入的系统级仿真,以确认设计的体系架构是否恰当、总线是否能够满足吞吐量和实时性要求以及存储器是否被浪费。为了缩短SoC关键IP的设计周期并辅助设计过程,同时为了缩短从系统架构设计到硬件RTL电路实现之间的鸿沟,需采用一种建模方法学对整个电路系统的功能、架构进行描述,同时又不陷入硬件电路繁杂的信号时序、门电路之中,因此ESL(Electronic System Level)电子系统级设计应运而生。采用ESL设计方法学在合适的抽象层次描述系统,构造一个虚拟的硬件原型平台,进行硬件架构的探索和软件程序的开发,实现快速的系统建模和仿真分析。ESL的核心是TLM,即事务级建模(Transaction Level Modeling,TLM)方法。
[0003]TLM比RTL的抽象级别更高,可以根据系统的初始功能规范快速建立硬件的可执行规范、快速创建系统模型。通过在其中加入时序细节,可以评估系统的性能、探索系统的结构。
[0004]随着未来通信终端和设备的计算复杂度的增大,实时复杂系统芯片的集成规模需求将迅速增长,一块芯片上可能会集成数十个或成百上千的处理单元,基于多核的信号处理平台成为软件无线电的发展趋势。在这样的综合化系统中,设计可靠、高速、低功耗的高性能芯片内通信体系成为片上系统(System on Chip,SoC)发展的挑战与机遇。以web服务器的SoC为例,关键的性能指标包括响应延迟、吞吐量、最大并发连接数、系统可靠性等等,如何快速、准确的对架构设计的性能指标进行定量的评估和分析,是一个至关重要的课题。
[0005]在基于SystemC语言对芯片设计过程中的硬件进行建模时,用进程来模拟硬件的并发执行单元。进程之间的通信可以采用基于时钟查询、信号量或者事件的方式来进行通信。
[0006]当采用基于事件的方式进行通信时,仿真效率高,但是存在事件触发的超时问题。例如任务的发起进程和目标进程进行通信时,其中发起进程记为trigger(),在执行时激活事件event,用来通知目标进程开始处理任务;目标进程记为catcher(),目标进程进程被事件event触发,开始执行当前任务,从而实现了进程间的一次通信。假如在目标进程catcher()进程处理当前任务的过程中发生了阻塞,或者耗时去做其他的功能,则在此期间,若trigger()进程持续激活event事件,触发下一次任务的执行,则由于catcher()进程阻塞在上一个任务中,则会导致这些event事件丢失,从而导致功能上的错误。
[0007]为了解决事件触发的超时问题,现有的开源模型及公开资料一般在这种场景下,catcher()进程实现时会采用基于时钟周期触发的机制,从而保证每次事件触发的所有待
处理的任务都不会丢失,但是时钟周期级别的进程会导致仿真变慢,降低仿真效率。
技术实现思路
[0008]为了解决上述现有技术中存在的技术问题,本专利技术提供了一种基于握手机制的通信建模方法、系统、终端及存储介质,采用基于事件并进行握手的方法,规避了事件触发的超时问题,能提高仿真效率。
[0009]为实现上述目的,本专利技术实施例提供了如下的技术方案:
[0010]第一方面,在本专利技术提供的一个实施例中,提供了基于握手机制的通信建模方法,该方法包括以下步骤:
[0011]目标进程为响应来自发起端事件的进程,为目标进程定义一个对应的核心处理进程;
[0012]当目标进程被事件触发,则开始接收任务,并将任务信息放入任务队列中;
[0013]根据核心处理进程的当前执行状态,来决定是否触发核心处理进程;
[0014]核心处理进程被触发后,从任务队列中获取任务,并真正的执行任务,直到任务队列为空后,进程被挂起,等待下一次触发。
[0015]作为本专利技术的进一步方案,所述目标进程的行为描述:
[0016]当目标进程被事件触发,则开始接收任务,并将任务信息放入任务队列中;
[0017]判断核心处理进程的当前执行状态,若核心处理进程当前为忙状态,则不需要再触发核心处理进程的激活事件;若核心处理进程当前为空闲状态,则需要触发核心处理进程的激活事件,通知核心处理进程开始处理任务。
[0018]作为本专利技术的进一步方案,所述核心处理进程的行为描述:
[0019]核心处理进程初始化时为挂起状态,当被目标进程发生的事件触发后,开始进入忙状态,核心处理进程从任务队列中获取任务,并真正的执行任务,在此过程中可以支持任意时长的耗时任务,当前任务执行完后,继续执行任务队列中的下一个任务,直到执行到任务队列为空后,核心处理进程被挂起,等待下一次触发。
[0020]作为本专利技术的进一步方案,所述目标进程和所述核心处理进程对任务队列的访问权是互斥的,所述目标进程和所述核心处理进程对核心处理进程的执行状态的访问是互斥的。
[0021]第二方面,在本专利技术提供的一个实施例中,提供了基于握手机制的通信建模方法,该方法包括以下步骤:
[0022]定义进程Trigger()作为通信的发起者,在执行时会激活事件eventA,触发一次任务;
[0023]定义进程Cacher()作为目标进程,响应来自来Trigger()的事件event A,并开始执行本次任务;
[0024]定义进程Cacher_Core()作为Cacher()的核心进程,由事件event core触发,即真正去执行任务的进程;
[0025]定义进程Cacher_Core()的当前的工作状态,初始化时为空闲idle;
[0026]定义进程Cacher()和进程Cacher_Core()之间的响应任务队列task_queue;
[0027]定义对响应任务队列task_queue进行操作的锁定的变量queue_mutex。
[0028]作为本专利技术的进一步方案,所述目标进程Cacher()的执行步骤描述如下:
[0029]步骤1:若没有发生event事件,则循环执行步骤1;当发生事件event,则进程A被触发,开始响应,执行步骤2;
[0030]步骤2:进程Cacher()将queue_mutex进行锁定,然后将当前接收到的任务taskA写入任务队列tast_queue中;
[0031]步骤3:进程Cacher()判断进程Cacher_Core()的当前执行状态busy/idle,若进程Cacher_Core()的当前执行状态为idle,则触发事件event core,通知Cacher_Core()开始响应;否则进程Cacher_Core()的当前执行状态若为本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于握手机制的通信建模方法,其特征在于,该方法包括:目标进程为响应来自发起端事件的进程,为目标进程定义一个对应的核心处理进程;当所述目标进程被事件触发,则开始接收任务,并将任务信息放入任务队列中;根据所述核心处理进程的当前执行状态,来决定是否触发所述核心处理进程;所述核心处理进程被触发后,从任务队列中获取任务,并真正的执行任务,直到任务队列为空后,进程被挂起,等待下一次触发。2.如权利要求1所述的基于握手机制的通信建模方法,其特征在于,所述目标进程的行为描述:当所述目标进程被事件触发,则开始接收任务,并将任务信息放入任务队列中;判断核心处理进程的当前执行状态,若核心处理进程当前为忙状态,则不需要再触发核心处理进程的激活事件;若核心处理进程当前为空闲状态,则需要触发核心处理进程的激活事件,通知核心处理进程开始处理任务。3.如权利要求2所述的基于握手机制的通信建模方法,其特征在于,所述核心处理进程的行为描述:核心处理进程初始化时为挂起状态,当被目标进程发生的事件触发后,开始进入忙状态,核心处理进程从任务队列中获取任务,并真正的执行任务,在此过程中可以支持任意时长的耗时任务,当前任务执行完后,继续执行任务队列中的下一个任务,直到执行到任务队列为空后,核心处理进程被挂起,等待下一次触发。4.如权利要求1所述的基于握手机制的通信建模方法,其特征在于,所述目标进程和所述核心处理进程对任务队列的访问权是互斥的,所述目标进程和所述核心处理进程对核心处理进程的执行状态的访问是互斥的。5.一种基于握手机制的通信建模方法,其特征在于,该方法包括:定义进程Trigger()作为通信的发起者,在执行时会激活事件eventA,触发一次任务;定义进程Cacher()作为目标进程,响应来自来Trigger()的事件event A,并开始执行本次任务;定义进程Cacher_Core()作为Cacher()的核心进程,由事件event core触发,即真正去执行任务的进程;定义进程Cacher_Core()的当前的工作状态,初始化时为空闲idle;定义进程Cacher()和进程Cacher_Core()之间的响应任务队列task_queue;定义对响应任务队列task_queue进行操作的锁定的变量queue_mutex。6.如权利要求5所述的基于握手机制的通信建模方法,其特征在于,所述目标进程Cacher()的执行步骤描述如下:步骤1:若没有发生event事件,...
【专利技术属性】
技术研发人员:姜丽云,李树青,孙华锦,王江,王凛,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。