通信端口及其路由方法、通信模块及并行事务级模拟系统的制作方法

文档序号:7654636阅读:158来源:国知局
专利名称:通信端口及其路由方法、通信模块及并行事务级模拟系统的制作方法
技术领域
本发明涉及硬件系统中并行事务级模拟仿真技术,尤其是一种通信端口的路由方法、端口路由器、通信端口的消息发送及接收方法、通信端口、通信模块、部件模型和并行事务级模拟系统。
背景技术
在大规模硬件系统设计中,并行事务级模拟仿真的方法是一项重要的技术手段。并行事务级模拟具有模拟速度快、模拟规模大、建模方式贴近硬件逻辑等优点,可以应用于硬件系统的原型设计评估、硬件系统的软件调优等各个阶段。
由于在已有的并行事务级建模方法中,主要是建立部件模型,通过部件模型及其相互之间的连接关系模拟并行事务级模拟系统。部件模型及其相互之间的连接构成并行事务级模拟系统,因此在设计部件模型时既要考虑部件模型与其他部件模型之间的通信或连接,如何模拟并行事务级模拟系统的通信连接,还要考虑部件模型的逻辑功能。常用的部件模型包括处理器模型、内存模型、路由器模型等。以现有的实现加法计算的处理器模型为例,处理器模型既要实现与外部其他部件模型的通信连接,需要从外部获取进行加法操作的所有数据,还要进行数据的加法计算,最后还要将计算的结果反馈至其他部件模型。鉴于上述情况,在设计部件模型时,不仅需要关心该部件模型的逻辑功能还要关心与该处理器具有连接关系的其他部件模型,还要考虑其连接关系是否可以符合并行事务级模拟系统的通信连接的要求。相应的,设计并行事务级模拟系统时,需要考虑部件模型的逻辑功能,还要考虑其连接关系是否满足自身的通信连接的要求。由于两者的耦合性较高,导致设计并行事务级模拟系统和部件模型时,很容易产生互相牵制的设计问题。另外,目前部件模型的连接关系和逻辑功能混合在一起,一个部件模型只能运用在一个并行事务级模拟系统中,可重用性较差,导致部件模型的资源浪费较为严重。一方面,部件级模型的建模者需要关心并行事务级模拟系统的设计,另一方面并行事务级模拟系统的建模者也需要关心部件级模型的内部实现。由于部件模型和并行事务级模拟系统的耦合程度较高,因此两者无法独立完成设计或修改。这容易导致并行事务级模拟系统的开发效率较低,且对部件模型和并行事务级模拟系统维护的开销较大。2010 年的在欧洲召开的 DATE' 10 Proceedings of the Conferenceon Design,Automation and Test 会议上发表了一篇名为《Parallel simulationof SystemC TLM2. 0 compliant MPSoC on SMP workstations》的论文,作者Aline Mello, Isaac Maia,Alain Greiner, and Francois Pecheux0该论文公开了一种并行事务级的模拟平台,该平台专门用于模拟共享内存的多核处理器,该平台还为这种特定的模拟应用提供了一种称为TLM-DT的编程方式,获得了一定的并行模拟加速比。然而,该方法的扩展性没有得到证明,且该方法没有考虑如何解耦部件模型和并行事务级模拟系统,没有为部件模型的可重用性提供有力支持。
如何降低部件模型和并行事务级模拟系统之间的耦合度,提高并行事务级模拟系统的开发效率,降低对部件模型和并行事务级模拟系统维护的开销,成为目前亟待解决的问题之一。

发明内容
本发明解决的问题是提高并行事务级模拟系统的开发效率,降低对部件模型和并行事务级模拟系统维护的开销。
为解决上述问题,本发明提供了一种通信端口的路由方法,包括获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称;获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口;在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识,所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端;记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称;基于所述通信端口信息为所述通信源端和通信目的端建立通信端口并配置通信通道。可选的,所述拓扑结构描述文件还包括源端的名称、类型和通信通道的数目;源端的端口的类型和延迟时间;所述源端的端口的类型包括接收类型、发送类型和接收兼发送类型。可选的,所述通信端口的路由方法还包括在所述拓扑结构描述文件中查找所述源端的端口的类型和延迟时间;所述通信端口信息还包括所述源端的端口的类型和延迟时间。一种端口路由器,包括路由信息管理模块和查询模块,所述路由信息管理模块包括路由表缓存模块;所述路由表缓存模块,用以获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称;还用以获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口 ;还用以记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称;所述查询模块,用以在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识,所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端。可选的,所述拓扑结构描述文件还包括源端的名称、类型和通信通道的数目;所述源端的端口的类型和延迟时间;所述源端的端口的类型包括接收类型、发送类型和接收兼发送类型。
可选的,所述查询模块,还用以在所述拓扑结构描述文件中查找所述源端的端口的类型和延迟时间;所述通信端口信息还包括所述源端的端口的类型和延迟时间。可选的,所述路由表缓存模块还用以将所述拓扑结构描述文件保存为路由缓存表;所述路由信息管理模块还包括更新模块,所述更新模块用以更新所述路由缓存表和所述通信端口信息。一种与如上任一项所述的端口路由器连接的通信端口的消息发送方法,包括从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息为通信源端和对应的通信目的端建立通信端口并配置通信通道;获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名 称;将所述通信端口信息加入所述事件内容形成消息;通过所述通信通道发出所述消息。可选的,所述通信端口的消息发送方法还包括根据发送所述消息的时间顺序,建立所述消息的发送缓存队列。可选的,所述消息通过并行宿主机网络发送至所述通信目的端。可选的,所述事件包从部件逻辑获取,所述部件逻辑用以实现逻辑功能。一种通信端口的消息接收方法,所述消息以如上任一项所述的通信端口的消息发送方法发出;所述消息接收方法包括通过与所述通信源端对应的通信通道接收所述消息;解析所述消息,获取事件内容和接收该消息的通信目的端的端口的名称。可选的,所述通信端口的消息接收方法还包括处理所述事件内容,并发送处理结果。可选的,所述通信端口的消息接收方法还包括根据获取所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。一种与如上任一项所述的端口路由器连接的通信端口,包括端口配置模块,用以从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道;消息发送模块,用以获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称,将所述通信端口信息加入所述事件内容形成消息且通过所述通信通道发送所述消息。可选的,所述的通信端口还包括消息处理模块,用以获取并处理其他通信端口发送的消息中的事件内容,将处理结果反馈至部件逻辑。可选的,所述通信端口还包括消息发送缓存模块,用以根据发送的消息的时间顺序,建立所述消息的发送缓存队列;消息接收缓存模块,用以根据接收的消息中事件内容的时间顺序,建立所述事件内容的接收缓存队列;
端口信息管理模块,用以保存所述与所述通信源端的端口对应的通信端口信息。一种通信端口,包括消息处理模块,用以获取如上任一项所述的通信端口发送的消息中的事件内容。可选的,所述消息处理模块还用以处理所述事件内容,并发送处理结果。可选的,所述的通信端口还包括消息接收缓存模块,用以根据所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。一种通信模块,包括如上任一项所述的端口路由器、端口队列管理模块和通信控制器;所述通信控制器,用以获取事件包,所述事件包包括事件内容和发送该事件包的 通信源端的端口的名称;所述端口队列管理模块,用以从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息建立通信端口 ;所述通信端口包括端口配置模块,用以从所述端口路由器获取所述通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道;消息发送模块,用以从所述通信控制器获取所述事件包,将所述通信端口信息加入所述事件内容形成消息且通过所述通信通道发送所述消息。可选的,所述通信控制器还用以接收由通信源端的端口发出的消息。可选的,所述端口队列管理模块,还用以解析所述通信控制器接收的消息,获取该消息的事件内容和接收该消息的通信目的端的端口的名称。可选的,所述通信端口还包括消息处理模块,用以接收并处理所述端口队列管理模块解析获取的事件内容,并发送处理结果。可选的,所述通信端口还包括消息发送缓存模块,用以根据发送的消息的时间顺序,建立所述消息的发送缓存队列;消息接收缓存模块,用以根据接收的消息的事件内容的时间顺序,建立所述事件内容的接收缓存队列;端口信息管理模块,用以保存与所述通信源端的端口对应的通信端口信息。可选的,所述端口队列管理模块,还用以监控所述通信端口,在所述通信端口空闲时,控制该通信端口接收所述事件内容或发送所述消息。一种包括如上任一项所述的通信模块的部件模型。可选的,所述部件模型还包括部件逻辑,用于发出事件包或接收事件内容的处理结果。一种包括如上所述的部件模型的并行事务级模拟系统。可选的,所述并行事务级模拟系统还包括并行宿主机网络,用以实现部件模型间的消息传送。与现有技术相比,本发明具有以下优点获取拓扑结构描述文件,在拓扑结构描述文件中查找与通信源端对应的通信目的端,配置通信源端与通信目的端之间的通信通道。通信源端或通信目的端包含在部件模型中,部件模型设计完成后,根据拓扑结构描述文件中通信源端与通信目的端的记录,配置通信源端和通信目的端之间的通信通道,再配置并行宿主机网络,构成并行事务级模拟系统。这不仅降低了部件模型和并行事务级模拟系统的耦合程度,而且简化了并行事务级模拟系统的开发步骤,提高了并行事务级模拟系统的开发效率。通过上述方式设计并行事务级模拟系统时,仅需要提供并行事务级模拟系统的功能需求,创建拓扑结构描述文件,然后依据拓扑结构描述文件设计部件模型,创建通信通道,再配置并行宿主机网络,完成并行事务级模拟系统的设计。若并行事务级模拟系统的功能发生变化,更新拓扑结构描述文件,然后依据新的拓扑结构描述文件,更新通信通道,完成对并行事务级模拟系统的功能的修改。由于单独修改或维护部件模型,不会影响并行事务级模拟系统的运行;单独修改或维护并行事务级模拟系统,也不会影响部件模型的运行,因此这较大的简化了对部件模型和并行事务级模拟系统的修改和维护的工作。另外,修改拓扑结构描述文件,重新配置通信通道就可以完成修改或维护,也降低了对部件模型和并行事务级模拟系统维护的开销。


图I是本发明提供的拓扑结构描述文件的结构列表;图2是本发明提供的通信端口的路由方法的一种实施方式的流程图;图3是本发明提供的端口路由器的一种实施方式的结构图;图4是本发明提供的通信端口的消息发送方法的一种实施方式的流程图;图5是本发明提供的通信端口的消息接收方法的一种实施方式的流程图;图6是本发明提供的通信端口的一种实施方式的结构图;图7是本发明提供的通信模块的一种实施方式的结构图;图8是本发明实施例提供的消息的发出流向图;图9是本发明实施例提供的消息的接收流向图;图10是本发明提供的部件模型的一种实施方式的结构图;图11是本发明提供的并行事务级模拟系统的一种实施方式的结构图;图12是本发明提供的并行事务级模拟系统中部件模型的通信连接示意图;图13是本发明提供的事件包的一种实施方式的结构图;图14是本发明提供的消息的一种实施方式的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。由于在已有的并行事务级建模方法中,没有给部件模型可重用提供足够的支撑,导致部件级模型的建模者需要关心系统级模型的设计,另一方面系统级模型的建模者也需要关心部件级模型的内部实现,因此部件模型和并行事务级模拟系统的耦合程度较高,两者的设计和修改无法独立完成。这将导致并行事务级模拟系统的开发效率较低,且对其进行维护和修改的开销也较大。
本发明实施例通过预先配置拓扑结构描述文件,在所述拓扑结构描述文件中模拟部件模型之间的连接关系,部件模型获取所述拓扑结构描述文件后,依据其中的内容,建立部件模型之间的连接关系。图I是本发明提供的拓扑结构描述文件的结构列表,拓扑结构描述文件的结构如图I所示。拓扑结构描述文件以部件模型为主要单位,描述了每个部件模型的基本信息,以及该部件模型的端口的连接关系。为了防止冲突,拓扑结构描述文件要求部件模型的标识为全局唯一,部件模型的端口的名 称在该部件模型中唯一。由于部件模型的标识为全局唯一,端口的名称只需要保证部件模型内唯一,对该端口进行拓扑结构描述时就不会发生错误。部件模型一般为消息的发送端或接收端,因此部件模型也可称为通信源端或通信目的端。为描述方便,若无特殊注明,以下内容中以部件模型即表示通信源端或通信目的端。该拓扑结构描述文件描述的是部件模型间的连接关系,具体是指一个部件模型的端口与其他部件模型的端口之间的连接关系。如图I所示,表示一个并行事务级模拟系统中包含的全部部件模型的端口的连接关系。该拓扑结构描述文件中包含若干个部件模型的端口的连接关系,每个部件模型包含两部分内容,一是模块信息M1,二是通道信息M2。模块信息Ml中,包括部件模型的名称、标识、类型和通道数目,类型一般是指处理器、内存、硬盘等,通道数目为该部件模型与其他部件模型之间的通信通道的数目。通道信息M2中分条记录了每个端口的信息,每条记录记载一个端口的端口信息,包括与该端口有连接关系的部件模型的标识、名称,与该部件模型的那个端口有连接关系,这个端口的名称、类型、延迟时间。通道类型一般包括发送类型、接收类型和发送兼接收类型。延迟时间是指该端口发送一次消息需要多长时间。例如,部件模型A具有4个端口,4个端口的名称分别为a、b、C、d,且部件模型A与其他部件模型之间具有4个通信通道。部件模型A的模块信息包括,部件模型的名称为A、标识为ID130、类型为处理器和通道数目为4。通道信息包括4条记录,每条记录记载一个端口的信息,若端口 a用以发出消息,与部件模型B (标识为ID230)的端口 f具有通信连接,则端口 a的记录包括源端的标识ID130,目的端的标识为ID230,源端的端口名称为a,目的端的端口名称为f,通道类型为发送类型,延迟时间为0. 04s。拓扑结构描述文件一般根据待模拟的并行事务级模拟系统的通信连接,建立源端与目的端的连接关系。建立连接关系时,所述源端的端口的类型为发送类型,则与其对应的目的端的端口的类型只能是为接收类型或接收兼发送类型,并且同一个部件模型既可以是源端也可以是目的端。根据待模拟的并行事务级模拟系统的各部件模型之间的连接关系,在所述拓扑结构描述文件中模拟部件模型之间的连接关系,部件模型获取所述拓扑结构描述文件后,依据其中的内容,建立部件模型之间的连接关系,则实现了并行事务级模拟系统的建模。图2是本发明提供的通信端口的路由方法的一种实施方式的流程图,包括S101,获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称;S102,获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口;S103,在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识;S104,记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称;S105,基于所述通信端口信息为所述通信源端和通信目的端建立通信端口并配置通信通道。所述源端为消息的发出端,所述源端的端口用以发出所述消息;所述目的端为所述消息的接收端,所述目的端的端口用以接收所述消息。由于消息的发送与接收是循环往复的,因此消息发送的源端,下一次也可以是消息接收的目的端,换句话说,源端和目的端可以根据消息的流向发生变化。在并行事务级模拟系统中,部件模型通常是通信源端或通 信目的端。所述通信源端为待建立通信连接的源端,也就是并行事务级模拟系统中的部件模型。部件模型设计完成之后,建立部件模型之间的通信连接,再配置并行宿主机网络,并行事务级模拟系统才算完成。为防止在建立通信连接的过程中,出现漏接的情况,设计完成的部件模型,在建立通信连接时,将该部件模型看做是待建立通信连接的源端。所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端。消息在整个系统中是通过端口流动的,建立通信连接时,需要确定消息的通信源端和通信目的端,确保两者是对应的,然后确定通信源端的哪个端口与通信目的端的哪个端口对应,保证消息在对应的端口中流动。
基于所述通信端口信息为所述通信源端和通信目的端建立通信端口并配置通信通道后,为通信源端建立的通信端口即对应通信端口信息中通信源端的端口,为通信目的端建立的通信端口即对应通信目的端的端口。消息通过通信源端的通信端口、配置的通信通道发送到通信目的端,通信目的端的通信端口接收解析后的消息(对消息的解析将在后续进行详细说明)。一般情况下,发送类型的端口与接收类型或接收兼发送类型的端口对应;接收类型的端口与发送类型或接收兼发送类型的端口对应;发送兼接收类型的端口,若发送消息,则与发送类型的端口相同,若接收消息,则与接收类型的端口相同。拓扑结构描述文件中包括该部件模型的模块信息和通道信息,其中模块信息包含该部件模型的名称、标识、类型和通道数目,通道数目为该部件模型与其他部件模型之间的通信通道的数目。通道信息中分条记录了每个端口的信息,包括与该端口有连接关系的部件模型的标识、名称,与该部件模型的哪个端口有连接关系,这个端口的名称、类型、延迟时间。S104中,记录通信端口信息,可以根据实际情况将这些信息有选择的记录下来,通常情况下通信端口信息只记录常用的端口的信息,这样可以节约存储空间。所述通信通道是用来传送消息的,通信通道一般通过并行宿主机网络实现。图3是本发明提供的端口路由器的一种实施方式的结构图,下面结合图I、图2和图3详细说明。端口路由器Al的结构如图3所示,主要有两部分组成路由信息管理模块All和查询模块A12。路由信息管理模块All,包括路由表缓存模块A112,用以获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称;还用于获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口 ;还用以记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称。查询模块A12,用以在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识,所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端。查询模块A12 —般提供两个接口 一个接口用以查询通信目的端的标识、通信目 的端的端口的名称;另一个接口用以查询通信源端的标识,通信源端的端口的名称。若所述拓扑结构描述文件还包括所述源端的名称、类型和通信通道的数目;所述源端的端口的类型和延迟时间;所述源端的端口的类型包括接收类型、发送类型和接收兼发送类型,则查询模块A12,还用以在所述拓扑结构描述文件中查找所述源端的端口的类型和延迟时间;并将所述源端的端口的类型和延迟时间加入通信端口信息中。路由表缓存模块A112获取拓扑结构描述文件后,将该文件保存成一张路由器缓存表,存入路由表缓存模块A112中,路由器缓存表的内容和拓扑结构描述文件相同。路由器缓存表的结构为按行组织的连接关系队列,一条连接关系描述一对端口的连接,包含“源端的标识”,“目的端的标识”,“源端的端口的名称”,“目的端的端口的名称”,“类型”,“延迟时间”六个字段。路由表缓存模块A112主要具有以下优点,当待模拟的并行事务级模拟系统巨大时,在部件模型或者其他模拟器中保存巨大的系统的连接关系是需要大量内存的,因此,为了降低内存开销,路由表缓存模块A112将只保存部分常用的路由信息。所述路由信息大都是指通信端口信息,也就是说,路由表缓存模块A112从拓扑结构描述文件中,将常用的端口或者部件模型的通信端口信息保存在路由器缓存表中,这样节约了存储空间。路由信息管理模块All还包括更新模块A111,当需要查找的路由信息在路由表缓存中时,将直接获得信息;若查找的路由信息不在路由表缓存中,路由表缓存模块A112则需要重新读取拓扑结构描述文件,获取相应的路由信息,更新模块Alll依据新的拓扑结构描述文件,并替换掉之前路由表缓存模块Al 12中的保存的旧的路由器缓存表。也就是说,更新模块Alll对路由器缓存表进行更新和维护。若查询模块A12在路由器缓存表中,查找不到通信源端的端口的通信端口信息,则路由表缓存模块A112重新获取拓扑结构描述文件,获取相应的信息,更新模块Alll将新的信息保存入旧的路由器缓存表中,形成新的路由器缓存表。也就是说,更新模块Alll根据新的拓扑结构描述文件,对应更新旧的路由器缓存表,并保存形成新的路由器缓存表。图4是本发明提供的通信端口的消息发送方法的一种实施方式的流程图,包括S201,从所述端口路由器读取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息为通信源端和对应的通信目的端建立通信端口并配置通信通道;
S202,获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称;S203,将所述通信端口信息加入所述事件内容形成消息;S204,通过所述通信通道发出所述消息。由于消息的发送量一般较大,因此所述消息发送方法还包括根据发送消息的时间,建立消息的发送缓存队列,防止消息在同一时间内涌入,加大通信端口的工作负荷,造成当机或者消息堵塞的情况。消息通过通信通道发出至通信目的端,通信通道一般通过并行宿主机网络实现。所述事件包由部件逻辑发出,这是为了更好的划分部件逻辑的功能。部件逻辑用来发送事件包或者接收事件内容的处理结果,也就是说所述部件逻辑用以完成除对外联系之外的逻辑功能。通信端口用于接收事件内容、事件包或发送事件包、消息或处理结果。将部件逻辑与通信端口的工作区分开,防止两者功能交叉,混为一谈,提高部件模型的重用 性。图5是本发明提供的通信端口的消息接收方法的一种实施方式的流程图,包括S301,通过与所述通信源端对应的通信通道接收所述消息;S302,解析所述消息,获取事件内容和接收该消息的通信目的端的端口的名称。通信目的端接收的消息是通过图4所示的通信端口的消息发送方法发出的,并根据接收所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。由于事件内容包含在消息中,因此所述事件内容的接收缓存队列一般按照接收包含该事件内容的消息的时间顺序建立,因此也称为消息接收缓存队列。通信目的端接收所述消息后,对其解析,得到具体的通信端口信息,进行后续的工作。解析所述消息时,按照接收缓存队列的排列顺序,逐一解析所述消息。后续的工作包括,处理所述事件内容,并反馈处理结果,所述处理结果反馈至通信目的端的部件逻辑。处理所述消息时,根据需要还可以获取所述消息的通信源端的标识、通信源端的端口的名称和通信目的端的标识。图6是本发明提供的通信端口 A2的一种实施方式的结构图,所述通信端口 A2包括端口配置模块A21,用以从端口路由器获取与所述通信源端的端口对应的通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道;消息发送模块A22,用以获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称,将所述通信端口信息加入所述事件内容形成消息且发送所述消
肩、O通信端口 A2还包括消息处理模块A23,用以获取并处理其他通信端口发送的消息中的事件内容,将处理结果反馈至部件逻辑A4;消息发送缓存模块A24,用以根据发送的消息的时间顺序,建立所述消息的发送缓存队列;消息接收缓存模块A25,用以根据接收的消息中事件内容的时间顺序,建立所述事件内容的接收缓存队列;
端口信息管理模块A26,用以保存与所述通信源端的端口对应的通信端口信息。通信端口的结构如图6所示。通信端口 A2中包括端口配置模块A21、消息发送模块A22和消息接收缓存模块A25,消息发送缓存模块A24,消息处理模块A23,端口信息管理模块A26。其中端口配置模块A21获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道。端口配置模块A21获取通信端口信息后,就要将所述通信通道配置完成,以保证消息发送或接收的顺利进行。消息发送模块A22和消息处理模块A23用于控制消息的发送、接收和处理,端口信息管理模块A26用于记录本端口的连接信息、通信端口信息等,本端口的连接信息包括该端口与哪些端口存在连接关系,与哪些通信目的端存在连接关系等。通信端口信息包括本 端口的名称,目的端的端口的名称,端口的类型(发送类型,接收类型,发送兼接收类型)。通信端口还可以只用于接收和处理消息,这种通信端口包括消息处理模块,用以获取所述事件内容;所述消息处理模块还用以处理所述事件内容,并反馈处理结果至通信目的端的部件逻辑。这种只用于接收和处理消息的通信端口,还包括消息接收缓存模块,用以根据获取所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。通信端口根据其功能可以分为三种只发送消息的通信端口、只接收消息的通信端口,既发送又接收消息的通信端口。既发送又接收消息的通信端口与通信端口 A2的结构相同或相近;只接收消息的通信端口,一般仅包含的消息处理模块和消息接收缓存模块或与上述两种模块功能相同或类似的模块;只发送消息的通信端口一般包含端口配置模块,消息发送模块,消息发送缓存模块和端口信息管理模块。图7是本发明提供的通信模块的一种实施方式的结构图(图中省略了通信端口 A2的具体结构),包括端口路由器Al、端口队列管理模块A32和通信控制器A31 ;通信控制器A31,用以获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称;端口队列管理模块A32,用以从端口路由器Al获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息建立通信端口 A2 ;通信端口 A2包括端口配置模块,用以从端口路由器Al获取所述通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道;消息发送模块,用以从所述通信控制器获取所述事件包,将所述通信端口信息加入所述事件内容形成消息且通过所述通信通道发送所述消息。通信模块A3—般用来接收或发出消息,因此通信控制器A31还用以接收由通信源端的端口发出的消息,该消息包括发送该消息的通信源端的端口的通信端口信息和事件内容。也就是说通信控制器A31用来接收其他部件模型发出的消息。若通信控制器A31还用以接收消息,则端口队列管理模块A32,还用以解析所述通信控制器A31接收的消息,获取该消息的事件内容和接收该消息的通信目的端的端口的名称。通信端口 A2还包括消息处理模块,用以接收并处理所述端口队列管理模块解析获取的事件内容,并反馈处理结果至通信目的端的部件逻辑;消息发送缓存模块,用以根据发送所述消息的时间顺序,建立所述消息的发送缓存队列;消息接收缓存模块,用以根据接收的消息的事件内容的时间顺序,建立所述事件内容的接收缓存队列;端口信息管理模块,用以保存所述通信端口的端口信息。消息发送缓存模块和消息接收缓存模块还可以根据消息或事件内容的优先级、消息的容量等建立缓存队列。端口队列管理模块A32,还用以监控通信端口 A2,在通信端口 A2空闲时,控制该通信端口接收所述事件内容或发送所述消息。由端口队列管理模块A32监控通信端口 A2,在空闲的时候控制该通信端口接收所述事件内容或发送所述消息,这是为了防止消息堵塞,进一步的,按照缓存队列的顺序控制该通信端口接收所述事件内容或发送所述消息。图8是本发明提供的消息的发出流向图,图9是本发明提供的消息的接收流向图。下面结合图4、图5、图6、图7、图8和图9详细说明。 并行事务级模拟系统启动后,通信模块A3将进行自动配置。首先端口路由器Al将读取拓扑结构描述文件,将读取到的拓扑结构描述文件保存在路由表缓存模块Al 12中,形成路由缓存表。接着查询模块A12在路由缓存表中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识。通信模块A3将自己所属的部件模型作为通信源端,从端口路由器Al获取与所述通信源端的端口对应的通信端口信息,且基于所述通信端口信息建立通信端口并为通信源端和对应的通信目的端配置通信通道。具体来讲,端口队列管理模块A32,通过端口路由器Al中的查询模块A12进行查询,得到通信模块A3需要的通信端口信息,并基于所述通信端口信息建立通信端口 A2。通信端口信息包括目的端的标识,目的端的端口的名称,以及该端口的类型是单一的发送、接收、还是收发两用端口。通信端口信息将保存在每一个通信端口的端口信息管理模块A26中。端口队列管理模块A32获取通信端口信息,从中确定需要建立几个通信端口。端口配置模块A21从通信端口信息中找到通信源端的标识和通信目的端的标识,配置两者之间的通信通道。当部件逻辑A4需要发送消息时,需要通过通信通道,将消息从通信源端发送至通信目的端。通信通道一般是依靠并行宿主机网络实现的,通过通信通道发送消息,也可以看成是通过并行宿主机网络发送消息。消息发送过程如图8所示,部件逻辑A4通过通信端口 A2向外发送消息时,只需要指明使用哪一个通信端口即可,无需给出该端口在系统中的连接情况。如图8所示,部件逻辑A4所发出的事件包只包含“发送端口的名称”和“事件内容”两个最基本内容,“发送端口的名称”也就是通信源端的通信端口的名称。当事件包进入通信模块A3,首先将由通信控制器A31进行消息处理,通信控制器A31解析消息,获得“发送端口的名称”和“事件内容”。端口队列管理模块A32取得相应通信端口的控制后,将解析之后的事件包暂存在消息发送缓存模块A24中。取得相应通信端口的控制是指,监控该端口是否空闲,在该端口空闲时,控制该端口发送消息。消息发送模块A22在对外的通信通道空闲时,从消息发送缓存模块A24中取出一个事件包,依据“发送端口的名称”加入相应端口的通信端口信息形成消息。一般情况下,为事件包增加“通信源端的标识”,“通信源端的端口的名称”,“通信目的端的标识”,“通信目的端的端口的名称”四个字段,基于这四个字段的内容,消息可以在并行宿主机网络A61上进行发送。
消息的接收过程如图9所示,当由通信源端发送的消息由并行宿主机网络A61到达作为通信目的端的部件模型之后,将首先传递给通信控制器A31,由通信控制器A31解析收到的消息。此时消息包括发送该消息的通信源端的端口的通信端口信息和事件内容,具体地包括“通信源端的标识”,“通信源端的端口的名称”,“通信目的端的标识”,“通信目的端的端口的名称”,以及“事件内容”五个部分。根据“通信目的端的端口的名称”,端口队列管理模块A32将消息包精简为只有“接收端口的名称”和“事件内容”两部分,并取得相应接收端口的控制权,也就是监控该端口,在该端口空闲时,控制该端口接收。其中“接收端口的名称”也就是“通信目的端的通信端口的名称”。精简后的消息将传递给通信端口 A2的消息接收缓存模块A25,在该端口空闲时,传递给消息处理模块A23进行处理,处理结果将传递至部件逻辑A4。图10是本发明提供的部件模型的一种实施方式的结构图,图11是本发明提供的并行事务级模拟系统的一种实施方式的结构图。下面结合图10和图11详细说明。
图10是本发明提供的部件模型的一种实施方式的结构图,部件模型A62包括通信模块A3和部件逻辑A4。部件逻辑A4,用于发出事件包或接收处理结果。图11是本发明提供的并行事务级模拟系统的一种实施方式的结构图,并行事务级模拟系统A6包括部件模型A62和并行宿主机网络A61。各部件模型A62独立地模拟并行事务级模拟系统A6中的一部分,并通过并行宿主机网络A61进行消息的传输。当部件模型A62之间需要进行交互时,将通过并行宿主机网络A61转发消息。在模拟并行事务级模拟系统A6时,两个部件模型A62之间通过消息实现交互,消息中包含事件内容或事件包。事件包是用户自定义结构的数据包。在该数据包中,用户将抽象实现硬件模块之间以时序为粒度的事件内容。消息交互的过程通常与部件模型A62采用的交互协议无关,通常不涉及具体的总线时序等细节,也就是说,部件逻辑A4发出或接收处理结果,通信模块A3负责将事件包包装成消息通过其通信端口 A2发出。部件逻辑A4不关心消息是由谁发出的,只关心发出了什么消息,接收了什么处理结果。相应的,通信模块A3不关心发送或接收了什么消息,只关心谁发送的,发送给谁。这将部件模型A62分成了两部分,部件逻辑A4负责发送事件包或接收处理结果,通信模块A3负责发送或接收消息。设计部件模型A62时,不再纠结于并行事务级模拟系统需要何种通信连接,部件模型之间的连接关系如何设计,设计并行事务级模拟系统时,也不再纠结于部件模型之间的连接关系如何设计才能满足并行事务级模拟系统的通信连接。这些连接关系或通信连接预置在拓扑结构描述文件中,只需获取该文件,按照该文件的内容进行通信通道的配置,就可以满足并行事务级模拟系统的通信连接的需求,且也实现了部件模型之间的连接关系。这不仅降低部件模型和并行事务级模拟系统之间的耦合度,而且提高并行事务级模拟系统的开发效率。若部件模型之间的连接关系或并行事务级模拟系统的通信连接发生变化时,只需要修改拓扑结构描述文件中相应的内容,然后对路由缓存表和通信端口信息进行更新,就可以完成部件模型之间的连接关系或并行事务级模拟系统的通信连接的修改。这降低了对部件模型和并行事务级模拟系统维护的开销,不再需要重新设计部件模型或并行事务级模拟系统,增强了部件模型的可重用性,减少资源浪费,节约了成本。图12是本发明提供的并行事务级模拟系统中部件模型的通信连接示意图。图12描述在并行事务级模拟系统中两个并行运行的部件模型A62之间的通信关系,此处略去了其他结构。并行事务级模拟的通信模块A3的结构及其在并行事务级模拟系统中的应用环境如图12所示,通信模块A3主要包括通信端口 A2,通信控制器A31,端口队列模块A32,端口路 由器Al。端口路由器Al获取外部的拓扑结构描述文件。通信端口 A2通过端口队列模块A32与端口路由器Al连接,可以通过端口队列模块A32获取端口路由器Al中的信息。如图12所示,两个部件模型之间交互通过通信模块A3进行,部件逻辑A4需要进行外部通信时,将首先把事件包传递给通信模块A3,由通信模块A3负责将事件包封装成消息并转发;同样,在接收消息时,收到的消息将首先由通信模块A3负责处理,再传递给部件逻辑A4。在这种设计下,部件逻辑A4同外部的交互将完全依赖通信模块A3进行,可以在不考虑外部条件的情形下,独立地实现部件模型A62的内部逻辑,这种设计有效地提高了部件模型的开发效率。每个部件模型A62可以分为两个部分,一部分是不涉及对外交互的部件逻辑A4,另一部分是负责同外部交互的通信模块A3。图13是本发明提供的事件包的一种实施方式的结构图,图14是本发明提供的消息的一种实施方式的结构图。图13中所示的事件包BI,包括发送端口的名称Bll和事件内容B10,发送端口的名称Bll也就是通信源端的端口的名称。事件包BI由部件逻辑A4发出。图14中所示的消息B2,包括事件内容B10,通信源端的标识B12,通信源端的端口的名称Bll',通信目的端的标识B13,通信目的端的端口的名称B14。其中通信源端的端口的名称Bll'与图13中发送端口的名称Bll相同。消息B2是由通信模块A3接收事件包BI后,加入端口信息形成的,最终由通信端口发出。综上所述,本发明实施例公开的技术方案,降低了部件模型和并行事务级模拟系统之间的耦合度,提高并行事务级模拟系统的开发效率,降低对部件模型和并行事务级模拟系统维护的开销。本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
权利要求
1.一种通信端口的路由方法,其特征在于,包括 获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称; 获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口; 在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识,所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端; 记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称; 基于所述通信端口信息为所述通信源端和通信目的端建立通信端口并配置通信通道。
2.如权利要求I所述的通信端口的路由方法,其特征在于,所述拓扑结构描述文件还包括源端的名称、类型和通信通道的数目;源端的端口的类型和延迟时间;所述源端的端口的类型包括接收类型、发送类型和接收兼发送类型。
3.如权利要求2所述的通信端口的路由方法,其特征在于,还包括在所述拓扑结构描述文件中查找所述源端的端口的类型和延迟时间;所述通信端口信息还包括所述源端的端口的类型和延迟时间。
4.一种端口路由器,其特征在于,包括路由信息管理模块和查询模块,所述路由信息管理模块包括路由表缓存模块; 所述路由表缓存模块,用以获取拓扑结构描述文件,所述拓扑结构描述文件包括源端的标识、目的端的标识、源端的端口的名称和目的端的端口的名称;还用以获取通信源端的端口的名称,所述通信源端为待建立通信连接的源端,所述通信源端的端口为待建立通信连接的源端的端口 ;还用以记录通信端口信息,所述通信端口信息包括所述通信源端的标识,通信源端的端口的名称、通信目的端的标识,通信目的端的端口的名称; 所述查询模块,用以在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识,所述通信目的端的端口为与所述待建立通信连接的源端的端口对应的目的端的端口,所述通信目的端为与待建立通信连接的源端对应的目的端。
5.如权利要求4所述的端口路由器,其特征在于,所述拓扑结构描述文件还包括源端的名称、类型和通信通道的数目;所述源端的端口的类型和延迟时间;所述源端的端口的类型包括接收类型、发送类型和接收兼发送类型。
6.如权利要求5所述的端口路由器,其特征在于,所述查询模块,还用以在所述拓扑结构描述文件中查找所述源端的端口的类型和延迟时间;所述通信端口信息还包括所述源端的端口的类型和延迟时间。
7.如权利要求4所述的端口路由器,其特征在于,所述路由表缓存模块还用以将所述拓扑结构描述文件保存为路由缓存表;所述路由信息管理模块还包括更新模块,所述更新模块用以更新所述路由缓存表和所述通信端口信息。
8.一种与权利要求4-7任一项所述的端口路由器连接的通信端口的消息发送方法,其特征在于,包括从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息为通信源端和对应的通信目的端建立通信端口并配置通信通道; 获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称; 将所述通信端口信息加入所述事件内容形成消息; 通过所述通信通道发出所述消息。
9.如权利要求8所述的通信端口的消息发送方法,其特征在于,还包括根据发送所述消息的时间顺序,建立所述消息的发送缓存队列。
10.如权利要求8所述的通信端口的消息发送方法,其特征在于,所述消息通过并行宿主机网络发送至所述通信目的端。
11.如权利要求8所述的通信端口的消息发送方法,其特征在于,所述事件包从部件逻辑获取,所述部件逻辑用以实现逻辑功能。
12.一种通信端口的消息接收方法,其特征在于, 所述消息以权利要求8-11任一项所述的通信端口的消息发送方法发出; 所述消息接收方法包括 通过与所述通信源端对应的通信通道接收所述消息; 解析所述消息,获取事件内容和接收该消息的通信目的端的端口的名称。
13.如权利要求12所述的通信端口的消息接收方法,其特征在于,还包括处理所述事件内容,并发送处理结果。
14.如权利要求12所述的通信端口的消息接收方法,其特征在于,还包括根据获取所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。
15.一种与权利要求4-7任一项所述的端口路由器连接的通信端口,其特征在于,包括 端口配置模块,用以从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道; 消息发送模块,用以获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称,将所述通信端口信息加入所述事件内容形成消息且通过所述通信通道发送所述消息。
16.如权利要求15所述的通信端口,其特征在于,还包括 消息处理模块,用以获取并处理其他通信端口发送的消息中的事件内容,将处理结果反馈至部件逻辑。
17.如权利要求16所述的通信端口,其特征在于,还包括 消息发送缓存模块,用以根据发送的消息的时间顺序,建立所述消息的发送缓存队列; 消息接收缓存模块,用以根据接收的消息中事件内容的时间顺序,建立所述事件内容的接收缓存队列; 端口信息管理模块,用以保存所述与所述通信源端的端口对应的通信端口信息。
18.一种通信端口,其特征在于,包括 消息处理模块,用以获取权利要求15-17任一项所述的通信端口发送的消息中的事件内容。
19.如权利要求18所述的通信端口,其特征在于,所述消息处理模块还用以处理所述事件内容,并发送处理结果。
20.如权利要求19所述的通信端口,其特征在于,还包括消息接收缓存模块,用以根据所述事件内容的时间顺序,建立所述事件内容的接收缓存队列。
21.一种通信模块,其特征在于,包括如权利要求4-7任一项所述的端口路由器、端口队列管理模块和通信控制器; 所述通信控制器,用以获取事件包,所述事件包包括事件内容和发送该事件包的通信源端的端口的名称; 所述端口队列管理模块,用以从所述端口路由器获取与所述通信源端的端口对应的通信端口信息,并基于所述通信端口信息建立通信端口 ; 所述通信端口包括 端口配置模块,用以从所述端口路由器获取所述通信端口信息,且基于所述通信端口信息为通信源端和对应的通信目的端配置通信通道; 消息发送模块,用以从所述通信控制器获取所述事件包,将所述通信端口信息加入所述事件内容形成消息且通过所述通信通道发送所述消息。
22.如权利要求21所述的通信模块,其特征在于,所述通信控制器还用以接收由通信源端的端口发出的消息。
23.如权利要求22所述的通信模块,其特征在于,所述端口队列管理模块,还用以解析所述通信控制器接收的消息,获取该消息的事件内容和接收该消息的通信目的端的端口的名称。
24.如权利要求23所述的通信模块,其特征在于,所述通信端口还包括 消息处理模块,用以接收并处理所述端口队列管理模块解析获取的事件内容,并发送处理结果。
25.如权利要求24所述的通信模块,其特征在于,所述通信端口还包括 消息发送缓存模块,用以根据发送的消息的时间顺序,建立所述消息的发送缓存队列; 消息接收缓存模块,用以根据接收的消息的事件内容的时间顺序,建立所述事件内容的接收缓存队列; 端口信息管理模块,用以保存与所述通信源端的端口对应的通信端口信息。
26.如权利要求25所述的通信模块,其特征在于,所述端口队列管理模块,还用以监控所述通信端口,在所述通信端口空闲时,控制该通信端口接收所述事件内容或发送所述消肩、O
27.—种包括如权利要求21-26任一项所述的通信模块的部件模型。
28.如权利要求27所述的部件模型,其特征在于,还包括部件逻辑,用于发出事件包或接收事件内容的处理结果。
29.—种包括如权利要求27或28所述的部件模型的并行事务级模拟系统。
30.如权利要求29所述的并行事务级模拟系统,其特征在于,还包括并行宿主机网络,用以实现部件模型间的消息传送。
全文摘要
一种通信端口的路由方法包括获取拓扑结构描述文件;获取通信源端的端口的名称;在所述拓扑结构描述文件中查找与所述通信源端的端口对应的通信目的端的端口的名称及通信目的端的标识;记录通信端口信息,基于所述通信端口信息为所述通信源端和通信目的端建立通信端口并配置通信通道。本发明公开的技术方案,降低了部件模型和并行事务级模拟系统之间的耦合度,提高并行事务级模拟系统的开发效率,降低对部件模型和并行事务级模拟系统维护的开销。
文档编号H04L12/58GK102761472SQ201110110820
公开日2012年10月31日 申请日期2011年4月29日 优先权日2011年4月29日
发明者吴东, 张昆, 李宏亮, 谢向辉, 郝子宇, 钱磊 申请人:无锡江南计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1