CN1707461A - 数据通信装置 - Google Patents
数据通信装置 Download PDFInfo
- Publication number
- CN1707461A CN1707461A CNA2005100767194A CN200510076719A CN1707461A CN 1707461 A CN1707461 A CN 1707461A CN A2005100767194 A CNA2005100767194 A CN A2005100767194A CN 200510076719 A CN200510076719 A CN 200510076719A CN 1707461 A CN1707461 A CN 1707461A
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- request
- data storage
- storage areas
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
提供一种在处理器的软件模块之间的通信中减少收发数据时的中断产生频率的数据通信装置。在存储器(30)上确保数据存储区域(210)和表示是否有发送数据的处理请求的处理请求区域(220),数据发送部(300)从发送模块(101)接收发送数据的请求,向数据存储区域(210)存储数据后,仅在处理请求区域(220)中还未被写入处理请求的情况下,向处理请求区域(220)写入处理请求,并向处理请求接受部(400)发出中断。处理请求接受部(400)在确认了处理请求区域(220)中被写入有处理请求后,清除该处理请求,将向数据存储区域(210)的数据存储通知给接收模块(102)。数据取得部(500)接收来自接收模块(102)的接收数据的请求,从数据存储区域(210)取得数据。
Description
技术领域
本发明涉及用于处理器的软件模块(以下简称为“模块”)间的通信的数据通信装置。
背景技术
在以往的模块间数据通信中,发送模块向与接收模块之间所规定的共用存储器的数据区域写入数据,并向接收模块发出中断,根据中断而起动的接收模块根据中断请求寄存器的值来确定发送模块,接收模块从共用存储器取得了数据之后,该接收模块向与该发送模块之间所规定的共用存储器的结束信息存储区域写入服务结果的通知(处理完成通知),由此实现模块间的数据通信(例如,参照日本特开平5-216792号公报)。
发明内容
但是,在上述以往技术的数据通信中,存在这样的问题:因为发送模块每次向接收模块发送数据,都产生向接收模块的中断,所以在想要连续地发送数据时,由中断引起的开销(overhead)较大。另外,还存在这样的问题:在由接收模块取得数据,并将处理完成通知写入到共用存储器中之前,发送模块不能够发送下一数据,在接收模块的数据取得处理较慢时,发送模块的处理也将发生延迟。
本发明的目的在于,提供一种减少了数据收发时的中断的发生频率的数据通信装置。
本发明的另一个目的在于,提供一种在发送模块和接收模块不同步地进行动作的情况下,也能实现不对该发送模块和接收模块彼此的动作产生影响的数据通信的数据通信装置。
为了解决上述问题,本发明的第一种数据通信装置采用了具有以下装置的结构,即,包括:存储器,包括数据存储区域和处理请求区域,该数据存储区域具有表示第1状态或第2状态的标识符,该处理请求区域表示是否有发送数据的处理请求;数据发送部,从至少一个发送模块接收发送数据的请求,向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将上述标识符变更为上述第1状态,并且仅在上述处理请求区域内还未被写入处理请求时,将处理请求写入到上述处理请求区域,产生通知信号;处理请求接受部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及数据取得部,接收来自上述接收模块的接收数据的请求,从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。由此,发送模块不受接收模块的数据取得处理的定时的影响,可连续地发送数据,在处理请求区域中有处理请求时不重复产生通知信号,因此,能够减少接收模块的处理因通信处理请求的中断处理而被中断的次数。
在上述第1数据通信装置中,使用上述标识符来表示允许读出数据或不允许读出数据。发送模块向上述标识符表示不允许读出数据的数据存储区域存储数据,接收模块从上述标识符表示允许读出数据的数据存储区域取得数据。由此,例如可以不进行处理器总线的特别的排他控制(exclusion control)地对数据存储区域进行排他访问。
进而,如果使上述第1数据通信装置的上述处理请求接受部具有如下结构,则能够以一定间隔来取得数据。所述结构包括:计时器,从上述接收模块接收数据取得间隔的登录请求,将上述数据取得间隔登录为向上述接收模块的数据存储通知的间隔,并按照上述数据存储通知的间隔,向上述接收模块通知对上述数据存储区域的数据存储;处理请求判断部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求后,清除该处理请求,指示上述计时器开始动作;以及计时器控制部,从上述接收模块接收数据存储通知的停止请求,指示上述计时器停止动作。
另外,上述第1数据通信装置的上述处理请求接受部,在上述处理请求区域内写入有从多个发送模块向同一接收模块的处理请求的情况下,将该多个处理请求全部清除,只与发送模块信息一并地向上述接收模块通知一次向上述数据存储区域的数据存储。由此,能够减少向接收模块通知数据存储的次数,能够进一步减少接收模块因通信处理请求的中断处理而被中断的次数。
本发明的第2种数据通信装置,采用了具有以下装置的结构,即,包括:存储器,包括具有表示第1状态或第2状态的标识符的数据存储区域、表示是否有发送数据的处理请求的处理请求区域、以及登录通知数据量的资源信息区域;数据发送部,从至少一个发送模块接收发送数据的请求,在向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将该标识符变更为上述第1状态,并且仅在上述数据存储区域的存储数据量大于或等于登录在上述资源信息区域中的通知数据量时,将处理请求写入到上述处理请求区域中,产生通知信号;处理请求接受部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求之后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及数据取得部,接收来自上述接收模块的接收数据的请求,在从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。由此,能够减少接收模块的处理因通信处理请求的中断处理而被中断的次数。
另外,在上述第2数据通信装置中,也可以是,上述资源信息区域还包括表示已向上述数据存储区域存储的数据的总量的信息;上述数据发送部,从至少一个发送模块接收发送数据的请求,向上述数据存储区域的上述标识符表示上述第2状态的区域存储了数据之后,将该标识符变更为上述第1状态,并且仅在已向上述数据存储区域存储的数据的总量大于或等于登录在上述资源信息区域中的通知数据量时,将上述表示已存储的数据的总量的信息初始化,然后将处理请求写入到上述处理请求区域中,产生通知信号。
本发明的第1效果在于,减少数据发送时的从发送模块向接收模块的通知次数。由此,通过通信处理请求的中断处理,能够减少接收模块及其他模块的处理被中断的次数。
本发明的第2效果在于,在发送模块和接收模块不同步地动作的情况下,不对相互的模块的动作产生影响。数据存储区域包括发送数据和表示允许读出数据或不允许读出数据的标识符,发送模块可将多个数据以任意的定时存储在数据存储区域中,接收模块可在收到接收数据的请求后,以任意的定时取得添加了表示允许读出数据的标识符的数据,因此,即使在发送模块和接收模块的动作定时不同的情况、或接收模块的中断响应性较低的情况下,也不必使任一个模块等待。
附图说明
图1是表示本发明的数据通信系统的结构例子的框图。
图2是表示图1的系统中的软件模块之间的数据通信装置的第1
实施方式的框图。
图3是表示图2的数据通信装置的动作的时序图。
图4是表示图2中的数据存储区域的构成例子的概念图。
图5是表示采用了图4的数据存储区域时的数据存储步骤的流程图。
图6A~图6C是用于说明图5的数据存储步骤的概念图。
图7是表示采用了图4的数据存储区域时的数据取得步骤的流程图。
图8A~图8C是用于说明图7的数据取得步骤的概念图。
图9是表示图2中的数据存储区域的其他结构例子的概念图。
图10是表示采用了图9的数据存储区域时的数据存储步骤的流程图。
图11A~图11C是用于说明图10的数据存储步骤的概念图。
图12是表示采用了图9的数据存储区域时的数据取得步骤的流程图。
图13A~图13C是用于说明图12的数据取得步骤的概念图。
图14是表示图1的系统中的软件模块之间的数据通信装置的第2
实施方式的框图。
图15是表示图14中的处理请求接受部的详细结构例子的框图。
图16是表示图1的系统中的软件模块之间的数据通信装置的第3
实施方式的框图。
图17是表示图1的系统中的软件模块之间的数据通信装置的第4
实施方式的框图。
图18是表示图1的系统中的软件模块之间的数据通信装置的第5
实施方式的框图。
具体实施方式
图1表示了本发明的数据通信系统的结构例子。图1的系统中,为了能够在两个处理器10、20的软件模块间进行双向通信,而使存储器30介于两个处理器10、20之间。处理器(处理器A)10具有处理器核心(core)11、发送接口(发送IF)12、以及接收接口(接收IF)13。另一处理器(处理器B)20也具有处理器核心21、接收IF22、以及发送IF23。通过该系统,能够实现处理器10所执行的多个模块与另一个处理器20所执行的多个模块之间的双向通信。另外,也可以经由存储器30来连接大于或等于3个的处理器。
以下,针对图1的系统中的软件模块之间的数据通信装置,说明5个实施方式。
[第1实施方式]
图2表示了本发明的数据通信装置的第1实施方式。在此,假设从图1中的一个处理器核心11所执行的发送模块(模块1)101,向另一个处理器核心21所执行的接收模块(模块2)102发送数据。这里,发送模块101和接收模块102各自含有多个模块。发送IF12具有数据发送部300,接收IF22具有处理请求接受部400和数据取得部500。在存储器30中,具有用于存储模块之间所收发的数据的数据存储区域210和用于通知数据已被存储的处理请求区域220。
数据发送部300向数据存储区域210存储数据,并发出数据通信处理请求。处理请求接受部400接受来自数据发送部300的数据通信处理请求,将对数据存储区域210的数据存储通知给接收模块102。数据取得部500从数据存储区域210取得数据并传送给接收模块102。
数据存储区域210按发送模块101和接收模块102各自含有的多个模块的每种组合而确保专用的区域,其构造包括写入发送数据的区域和表示该发送数据的写入区域是否为读出允许状态的标识符。在图2所示的数据通信装置中,确保有用于从发送模块101向接收模块102发送数据的数据存储区域211。
处理请求区域220表示关于数据存储区域210的按照发送模块101和接收模块102的每种组合的专用数据存储区域的数据通信处理请求(REQ)。例如,该处理请求区域220可以是一个用于存储有数据接收请求的数据存储区域210的指针的队列,该数据接收请求是按照请求产生时序的。
在图2中箭头表示控制的流向。模块101在发送数据的情况下,向数据发送部300发出含有发送目标模块信息和发送数据的发送请求(S1)。数据发送部300从模块101收到发送数据和对模块102的数据发送请求后(S1),向数据存储区域211存储发送数据(S2),查询处理请求区域220(S3),在没有与数据存储区域211对应的处理请求221的情况下,向处理请求区域220写入与数据存储区域211对应的处理请求221(S4),向处理请求接受部400发出中断(S5)。但是,在已经有与数据存储区域211对应的处理请求221的情况下,数据发送部300不向处理请求区域220写入处理请求221。
处理请求接受部400接受来自数据发送部300的中断(S5),判断处理请求区域220的处理请求(S6),在有处理请求221的情况下,清除处理请求221(S7),向模块102通知接收来自模块101的数据(S8)。接收模块102在收到接收来自模块101的数据的通知的情况下(S8),向数据取得部500发出接收从模块101向模块102发送的数据的接收请求,并反复进行取得数据的处理(S9),如果从数据取得部500收到没有数据存储区域211的读出允许数据,则结束处理。数据取得部500从模块102收到接收来自模块101的发送数据的接收请求后(S9),从数据存储区域211取得数据(S10),并将所取得的数据传送给模块102(S11)。但是,在数据存储区域211中没有允许读出的数据时,向模块102通知没有读出允许数据(S11)。
图3表示图2的数据通信装置的动作。在使用了图2的数据通信装置的数据通信中,在处理请求区域220中有处理请求221的情况下,数据发送部300并不重复地向处理请求接受部400发出通信处理请求(S32),所以模块2的处理因通信处理请求的中断处理而被中断的次数减少,连续地发生数据通信时的处理性能变高。进而,在利用本发明的数据通信装置的数据通信的情况下,模块1可以不等待模块2取得数据就发送下一数据(S31),模块1的处理并不受模块2的数据取得处理的定时的影响(S33)。
图4表示图2中的数据存储区域210的结构例子。数据存储区域210如图4所示,包括以下结构,即:数据缓冲器列,该数据缓冲器列含有数据缓冲器4231~423n,所述数据缓冲器4231~423n包括用于存储发送数据的数据区域和表示能否对该数据区域进行读出的标识符,并通过设定在标识符中的表示允许读出的指向下一数据缓冲器的指针而连接,末尾的数据缓冲器423n的标识符424n设定为表示不允许读出的特定的值(例如为0);指针4210(以下称为TOP),指向n个数据缓冲器4231~423n中最前面的数据缓冲器4231;以及指针4220(以下称为BOTTOM),指向末尾的数据缓冲器423n。
图5表示采用了图4的数据存储区域210时的数据存储步骤。根据图5,确保未存储数据的数据缓冲器A(步骤5001),将标识符设为0(步骤5002),将BOTTOM的值保存到暂时保存区域中(步骤5003),将BOTTOM变更为指向数据缓冲器A的指针(步骤5004),将数据存储到暂时保存区域所指向的数据缓冲器B的数据区域中(步骤5005),最后将指向数据缓冲器A的指针设定在数据缓冲器B的标识符中,从而使数据缓冲器B的数据区域成为允许读出(步骤5006)。另外,步骤5003只要在步骤5004之前,在任一时刻进行都可以,也可以在步骤5005之后进行步骤5004。
图6A表示步骤5001和步骤5002结束的时刻的数据存储区域210的状态。图6B表示步骤5003~步骤5005结束的时刻的数据存储区域210的状态。图6C表示数据存储的结束时刻的数据存储区域210的状态。
图7表示采用了图4的数据存储区域210时的数据取得步骤。根据图7,判断TOP所指向的数据缓冲器T的标识符(步骤7001),在标识符表示允许读出的情况下,从TOP所指向的数据缓冲器T的数据区域取得数据(步骤7002),将TOP变更为数据缓冲器T的标识符的值之后,释放数据缓冲器T(步骤7004)。
图8A表示在数据存储区域210中存储有2个数据的状态下,执行步骤7001之前的数据存储区域210的状态,图8B表示步骤7001~7003结束的时刻的数据存储区域210的状态,图8C表示步骤7004的结束时刻的数据存储区域210的状态。
数据缓冲器也可以取代数据区域而具有用于写入发送数据的开头指针和发送数据的大小的区域。
另外,标识符也可以是表示允许读出或不允许读出的标志(flag),数据缓冲器也可以是分别具有存储指向下一数据缓冲器的指针的区域和标识符的结构。
图9表示图2中的数据存储区域210的其他结构例子。数据存储区域210具有:如图9所示那样连续的数据区域9051~905n;指向上述数据区域的开头9051的数据区域指针(P)9010;保存数据区域9051~905n的整体大小S的数据区域尺寸(S)9020;读出位置指示符(R)9030;以及写入位置指示符(W)9040。将从读出位置指示符(R)到写入位置指示符(W)的区域作为读出允许区域,将读出允许区域以外的区域作为写入允许区域,在存储数据时,从写入位置指示符(W)所指示的位置开始写入数据,在数据写入结束后,将写入位置指示符(W)移动至数据的末尾,在取得数据时,从读出位置指示符(R)所指示的位置开始读出数据,在读出数据到数据写入指示符(W)之前的任意位置后,更新读出位置指示符(R),使其指向未取得数据区域的起始。
数据的写入和读出沿同一方向进行,例如在设定为从9051向905n进行的情况下,在到达数据区域905n后,从数据区域9051再次开始进行写入和读出。为了在读出位置指示符(R)和写入位置指示符(W)指示相同位置的情况下判断数据区域中是否有数据,使读出位置指示符(R)和写入位置指示符(W)指示相同位置的状态为,在数据区域中没有读出允许数据,且数据写入比读出位置指示符(R)靠前1个数据单位。
图10表示采用了图9的数据存储区域210时的数据存储步骤。根据图10,首先,确认写入位置指示符(W)和读出位置指示符(R)(步骤10001),在判断为允许向数据区域写入时,就从写入位置指示符(W)指示的位置开始存储数据(步骤10002),并将写入位置指示符(W)更新为已存储的数据的末尾、即下一个可存储数据的位置(步骤10003)。
图11A表示数据区域9052~9055中存储有数据的状态的数据存储区域210。读出位置指示符(R)指示位置9052,写入位置指示符(W)指示位置9055。图11B表示图10中的步骤10001~10002结束的时刻的数据存储区域210的状态。数据存储区域9055~9057的数据是新存储的数据。图11C表示步骤10003的结束时刻的数据存储区域210的状态。
图12表示采用了图9的数据存储区域210时的数据取得步骤。根据图12,首先,确认写入位置指示符(W)和读出位置指示符(R)(步骤12001),在判断为允许从数据区域读出时,从读出位置指示符(R)所指示的位置开始取得数据,直到写入位置指示符(W)所指示的位置之前的任意位置为止(步骤12002),将读出位置指示符(R)更新为未读出的数据的起始指针(步骤12003)。
图13A表示数据区域9052~9057中存储有数据的状态的数据存储区域210。读出位置指示符(R)指示位置9052,写入位置指示符(W)指示位置9057。图13B表示图12中的步骤12001~12002结束的时刻的数据存储区域210的状态。数据存储区域9052~9054的数据是已被读出的数据。图13C表示步骤12003的结束时刻的数据存储区域210的状态。
[第2实施方式]
图14表示了本发明的数据通信装置的第2实施方式。图14的数据通信装置具有处理请求接受部400a,该处理请求接受部400a接收来自数据发送部300的数据通信处理请求,按预先所登录的数据取得间隔,反复向接收模块102通知对数据存储区域210的数据存储,直到从接收模块102接收到数据存储通知的停止请求(S12)为止。
图15表示了图14中的处理请求接受部400a的详细结构例子。处理请求接受部400a如图15所示,具有:计时器(timer)403,从接收模块102接收数据取得间隔的登录请求,将该数据取得间隔登录为向接收模块102的数据存储通知的间隔,并按照该数据存储通知的间隔,向接收模块102通知对数据存储区域211的数据存储;处理请求判断部401,接收来自数据发送部300的数据通信处理请求,向计时器403指示动作开始;以及计时器控制部402,从接收模块102接收数据存储通知的停止请求,向计时器403指示动作停止。
计时器403从接收模块102收到数据取得间隔的登录请求后(S0),将该数据取得间隔保存为向接收模块102的数据存储通知的间隔。数据发送部300从模块101收到发送数据和向模块102的数据发送请求后(S1),向数据存储区域211存储发送数据(S2),查询处理请求区域220(S3),在没有与数据存储区域211对应的处理请求221的情况下,向处理请求区域220写入与数据存储区域211对应的处理请求221(S4),并向处理请求接受部400a发出中断(S5)。但是,在已经有与数据存储区域211对应的处理请求221的情况下,数据发送部300不向处理请求区域220写入处理请求221。
处理请求判断部401接收来自数据发送部300的中断(S5),判断处理请求区域220的处理请求(S6),在有处理请求221的情况下,清除处理请求221(S7),向计时器403指示用于数据存储区域211的动作开始(S8a),计时器403从处理请求判断部401收到用于数据存储区域211的动作开始的指示后,(S8a),开始计时,按照向模块102的数据存储通知间隔,向模块102发出数据存储通知(S8)。模块102从计时器403收到数据存储通知后(S8),向数据取得部500发出数据的接收请求(S9a)。在模块102接收到来自模块101的数据存储通知的情况下(S8),向数据取得部500发出接收从模块101向模块102发送的数据的接收请求,取得数据(S10,S11)。从数据取得部500收到没有数据存储区域211的读出允许数据的情况下,模块102向计时器控制部402请求停止数据存储通知(S12)。另一方面,数据取得部500从模块102收到接收来自模块101的发送数据的接收请求后(S9a),从数据存储区域211取得数据(S10),把取得的数据传送给模块102(S11)。但是,在数据存储区域211内没有允许读出的数据的情况下,向模块102通知没有读出允许数据(S11)。
计时器控制部402从模块102收到数据存储通知停止的请求后(S12),向计时器指示停止用于数据存储区域211的动作(S12a)。计时器403从计时器控制部402收到停止用于数据存储区域211的动作的指示后(S12a),结束向模块102的数据存储通知间隔的计时,结束向模块102的数据存储通知。
根据图14的数据通信装置,因为与模块101的数据发送定时无关地以一定间隔向模块102发出数据存储通知,因此,对于与周期性地开始动作并进行数据的处理的模块102之间的通信是特别有效的。
[第3实施方式]
图16表示本发明的数据通信装置的第3实施方式。图16的数据通信装置具有处理请求接受部400b,该处理请求接受部400b接收来自数据发送部300的数据通信处理请求,在有从多个模块101、103向同一模块102的处理请求的情况下,将向接收模块102的数据存储的通知,与发送源模块信息一并发出一次。
数据存储区域210按发送模块101、103与接收模块102的每种组合而确保专用的区域,其结构中包括写入发送数据的区域和表示该发送数据的写入区域是否为读出允许状态的标识符。
处理请求区域220表示对于数据存储区域210的发送模块101、103与接收模块102的每种组合的专用数据存储区域的数据通信处理请求。例如,可以是按请求产生时序保持具有数据接收请求的数据存储区域的队列。
模块101、103在发送数据时,向数据发送部300发出含有发送目标模块信息和发送数据的发送请求(S1)。数据发送部300从模块101收到发送数据和向模块102的数据发送请求后(S1),向从模块101到模块102的用于数据发送的数据存储区域211存储发送数据(S2),查询处理请求区域220(S3),在没有与数据存储区域211对应的处理请求221的情况下,向处理请求区域220写入与数据存储区域211对应的处理请求221(S4),并对处理请求接受部400b产生中断(S5)。但是,在已经存在与数据存储区域211对应的处理请求221的情况下,数据发送部300不向处理请求区域220写入处理请求221。
数据发送部300从模块103收到发送数据和对模块102的数据发送请求后(S1),向从模块103到模块102的用于数据发送的数据存储区域212存储发送数据(S2),查询处理请求区域220(S3),在没有与数据存储区域212对应的处理请求222的情况下,向处理请求区域220写入与数据存储区域212对应的处理请求222(S4),并对处理请求接受部400b产生中断(S5)。但是,在已经存在与数据存储区域212对应的处理请求222的情况下,数据发送部300不向处理请求区域220写入处理请求222。
处理请求接受部400b收到来自数据发送部300的中断(S5),判断处理请求区域220的处理请求(S6),在有多个对同一模块102的处理请求的情况下,例如在有从模块101向模块102的处理请求221和从模块103向模块102的处理请求222的情况下,清除处理请求221和处理请求222之后(S7),将来自模块101和模块103的数据接收的通知向模块102一并发出一次(S8a)。
模块102从处理请求接受部400b收到数据接收的通知后(S8a),向数据取得部500反复发行数据的接收请求,直到数据取得部500通知没有数据存储区域的读出允许数据为止(S9)。
在模块102收到了来自模块101和模块103的数据接收的通知时(S8a),向数据取得部500发出接收从模块101向模块102发送的数据的请求,并反复进行取得数据的处理(S9),在从数据取得部500收到了没有数据存储区域211的读出允许数据时,结束反复处理(S9)。另外,发出接收从模块103向模块102发送的数据的请求,并反复进行取得数据的处理(S9),在从数据取得部500收到了没有数据存储区域212的读出允许数据时,结束处理。
数据取得部500从模块102收到接收来自模块101的发送数据的接收请求后(S9),从数据存储区域211取得数据(S10),将取得的数据传送给模块102(S11)。但是,在数据存储区域211中没有允许读出的数据的情况下,向模块102通知没有读出允许数据(S11)。同样地,数据取得部500从模块102收到接收来自模块103的发送数据的接收请求后(S9),从数据存储区域212取得数据(S10),将取得的数据传送给模块102(S11)。但是,在数据存储区域212中没有允许读出的数据的情况下,向模块102通知没有读出允许数据(S11)。
根据图16的数据通信装置,在多个模块101、103向同一模块102发送了数据的情况下,将数据存储的通知信号的产生抑制为一次,因此对于利用中断的处理的中断抑制是有效的。
[第4实施方式]
图17表示本发明的数据通信装置的第4实施方式。图17的数据通信装置中的存储器,除了用于数据存储区域210和处理请求区域220外,还用于保存数据量(D)的资源(resource)信息区域230,所述数据量(D)是与向模块102发出数据存储通知的定时相对应的。
数据存储区域210按发送模块101和接收模块102的组合而确保专用的区域,其构造包括写入发送数据的区域和表示该发送数据的写入区域是否为读出允许状态的标识符,例如是如图9所示那样的结构。在图9所示的构造的数据存储区域210中,可以用写入位置指示符(W)与读出位置指示符(R)的差值来求出读出允许数据量。
资源信息区域230含有各模块的每个通信路径的通知数据量信息(D),从模块102收到向资源信息区域230的数据取得间隔登录请求后(S0a),将该数据取得间隔作为向模块102的数据存储通知间隔来保存。例如,在从模块102收到了向资源信息区域230的数据取得间隔登录请求(S0a)的情况下,将该数据取得间隔作为向模块102的数据存储通知间隔,保存通知数据量231。
模块101在发送数据时,向数据发送部300a发出含有发送目标模块信息和发送数据的发送请求(S1)。数据发送部300a从模块101收到发送数据和向模块102的数据发送请求后(S1),向数据存储区域211存储发送数据(S2),判断资源信息区域230的对模块102的通知数据量231(S3a),与数据存储区域211的数据量进行比较,在数据存储区域211的数据量大于或等于通知数据量231的情况下,向处理请求区域220写入与数据存储区域211对应的处理请求221(S4),并向处理请求接受部400发出中断(S5)。但是,在数据存储区域211的数据量小于通知数据量231的情况下,数据发送部300a不向处理请求区域220写入处理请求221。
处理请求接受部400接受来自数据发送部300a的中断(S5),判断处理请求区域220的处理请求(S6),在有处理请求221时,清除处理请求221(S7),向模块102发出接收来自模块101的数据的通知(S8)。模块102从处理请求接受部400收到接收数据的通知后(S8),向数据取得部500反复发出数据的接收请求,直到数据取得部500通知没有该数据存储区域的读出允许数据为止(S9)。模块102收到接收来自模块101的数据的通知时(S8),向数据取得部500发出接收从模块101向模块102发送的数据的请求,反复进行取得数据的处理(S9),在从数据取得部500收到没有数据存储区域211的读出允许数据时,结束处理。数据取得部500从模块102收到接收来自模块101的发送数据的接收请求后(S9),从数据存储区域211取得数据(S10),将取得的数据传送给模块102(S11)。但是,在数据存储区域211中没有被允许读出的数据时,向模块102通知没有读出允许数据(S11)。
根据图17的数据通信装置,模块102能够进行休眠,直到收到接收数据的通知,并在收到接收数据的通知后一气取得数据进行处理,因此,在模块102相对于模块101以充分高的速度进行动作的情况下,对于耗电量的抑制是有效的。
[第5实施方式]
图18表示本发明的数据通信装置的第5实施方式。图18的数据通信装置中的存储器,除了用于数据存储区域210和处理请求区域220外,还用于资源信息区域230a,该资源信息区域230a保存与向模块102发出数据存储通知的定时对应的数据量(D)和发送数据总量(T)。
数据存储区域210按发送模块101和接收模块102的每种组合而确保专用的区域,其构造包括写入发送数据的区域和表示该发送数据的写入区域是否为读出允许状态的标识符,例如,是如图9所示那样的结构。
资源信息区域230a从模块102收到了进行数据存储通知的数据量的登录请求的情况下(S0b),将进行该数据存储通知的数据量作为对模块102的数据存储通知数据量231a而保存在资源信息区域230a中。另外,对于数据存储区域210中的发送模块101和接收模块102之间的每个专用的区域,每进行数据存储,就将存储数据量加到发送数据总量232中,从数据发送部300b接收清除发送数据总量的请求,对发送数据总量232进行初始化。
模块101在发送数据时,向数据发送部300b发出包含发送目标模块信息和发送数据的发送请求(S1)。数据发送部300b从模块101收到发送数据和向模块102的数据发送请求后(S1),向数据存储区域211存储发送数据(S2),将发送数据的大小加在资源信息区域230a的对数据存储区域211的发送数据总量232上(S3b),与保存在资源信息区域230a中的、向模块102的通知数据量信息231a进行比较,在发送数据总量232大于或等于通知数据量231a的情况下,对发送数据总量232进行初始化(S3c),向处理请求区域220写入与数据存储区域211对应的处理请求221(S4),并向处理请求接受部400发出中断(S5)。但是,在发送数据总量232小于通知数据量信息231a的情况下,数据发送部300b不向处理请求区域220写入处理请求221。
处理请求接受部400接受来自数据发送部300b的中断(S5),判断处理请求区域220的处理请求(S6),在有处理请求221时,清除处理请求221(S7),向模块102发出接收来自模块101的数据的通知(S8)。在模块102收到了接收来自模块101的数据的通知的情况下(S8),向数据取得部500发出接收从模块101向模块102的发送数据的接收请求,反复进行取得数据的处理(S9),在从数据取得部500收到了没有数据存储区域211的读出允许数据的情况下,结束处理。数据取得部500从模块102收到接收来自模块101的发送数据的接收请求后(S9),从数据存储区域211取得数据(S10),将取得的数据传送给模块102(S11)。但是,在数据存储区域211中没有被允许读出的数据的情况下,向模块102通知没有读出允许数据(S11)。
根据图18的数据通信装置,模块102在将作为通知数据量231a而设定的数据量存储到了数据存储区域211中时,收到数据接收通知,因此,对于需要以图像帧单位进行处理的多媒体流数据的通信等,是特别有效的。
如上所述,本发明的数据通信装置,在互相独立地进行动作的模块之间连续地收发数据时,减少中断的次数并抑制处理的中断,因此,对于模块之间的多媒体的流数据通信是有效的,能够应用于便携电话、AV设备等。
Claims (10)
1.一种数据通信装置,用于处理器的软件模块之间的通信,其特征在于,包括:
存储器,包括数据存储区域和处理请求区域,该数据存储区域具有表示第1状态或第2状态的标识符,该处理请求区域表示是否有发送数据的处理请求;
数据发送部,从至少一个发送模块接收发送数据的请求,向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将上述标识符变更为上述第1状态,并且仅在上述处理请求区域内还未被写入处理请求时,将处理请求写入到上述处理请求区域,产生通知信号;
处理请求接受部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及
数据取得部,接收来自上述接收模块的接收数据的请求,从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。
2.根据权利要求1所述的数据通信装置,其特征在于:
上述标识符的上述第1状态为允许读出数据,上述第2状态为不允许读出数据。
3.根据权利要求1所述的数据通信装置,其特征在于:
上述标识符的上述第1状态为不允许写入数据,上述第2状态为允许写入数据。
4.根据权利要求1所述的数据通信装置,其特征在于:
上述处理请求接受部包括
计时器,从上述接收模块接收数据取得间隔的登录请求,将上述数据取得间隔登录为向上述接收模块的数据存储通知的间隔,并按照上述数据存储通知的间隔,向上述接收模块通知对上述数据存储区域的数据存储;
处理请求判断部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求后,清除该处理请求,指示上述计时器开始动作;以及
计时器控制部,从上述接收模块接收数据存储通知的停止请求,指示上述计时器停止动作。
5.根据权利要求1所述的数据通信装置,其特征在于:
上述处理请求接受部,在上述处理请求区域内写入有从多个发送模块向同一接收模块的处理请求的情况下,将该多个处理请求全部清除,只与发送模块信息一并地向上述接收模块通知一次向上述数据存储区域的数据存储。
6.一种数据通信装置,用于处理器的软件模块之间的通信,其特征在于,包括:
存储器,包括具有表示第1状态或第2状态的标识符的数据存储区域、表示是否有发送数据的处理请求的处理请求区域、以及登录通知数据量的资源信息区域;
数据发送部,从至少一个发送模块接收发送数据的请求,在向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将该标识符变更为上述第1状态,并且仅在上述数据存储区域的存储数据量大于或等于登录在上述资源信息区域中的通知数据量时,将处理请求写入到上述处理请求区域中,产生通知信号;
处理请求接受部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求之后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及
数据取得部,接收来自上述接收模块的接收数据的请求,在从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。
7.根据权利要求6所述的数据通信装置,其特征在于:
上述资源信息区域还包括表示已向上述数据存储区域存储的数据的总量的信息,
上述数据发送部,从至少一个发送模块接收发送数据的请求,向上述数据存储区域的上述标识符表示上述第2状态的区域存储了数据之后,将该标识符变更为上述第1状态,并且仅在已向上述数据存储区域存储的数据的总量大于或等于登录在上述资源信息区域中的通知数据量时,将上述表示已存储的数据的总量的信息初始化,然后将处理请求写入到上述处理请求区域中,产生通知信号。
8.一种数据通信方法,用于处理器的软件模块之间的通信,其特征在于,包括:
在存储器上确保具有表示第1状态或第2状态的标识符的数据存储区域,和表示是否有发送数据的处理请求的处理请求区域的步骤;
数据发送步骤,从至少一个发送模块接收发送数据的请求,在向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将上述标识符变更为上述第1状态,并且仅在述处理请求区域内还未被写入处理请求时,将处理请求写入到上述处理请求区域,产生通知信号;
处理请求接受步骤,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求之后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及
数据取得步骤,接收来自上述接收模块的接收数据的请求,在从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。
9.一种数据通信装置,用于处理器的软件模块之间的通信,其特征在于,包括:
处理器装置,用于执行发送模块和接收模块;
存储器,包括数据存储区域和处理请求区域,该数据存储区域具有表示第1状态或第2状态的标识符,该处理请求区域表示是否有发送数据的处理请求;
数据发送部,从上述发送模块接收发送数据的请求,在向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将上述标识符变更为上述第1状态,并且仅在上述处理请求区域内还未被写入处理请求时,将处理请求写入到上述处理请求区域中,产生通知信号;
处理请求接受部,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求之后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及
数据取得部,接收来自上述接收模块的接收数据的请求,从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。
10.一种数据通信程序,用于处理器的软件模块之间的通信,其特征在于,使计算机执行下述功能,即:
在存储器上确保具有表示第1状态或第2状态的标识符的数据存储区域,和表示是否有发送数据的处理请求的处理请求区域的功能;
数据发送功能,从至少一个发送模块接收发送数据的请求,在向上述数据存储区域的上述标识符表示上述第2状态的区域内存储了数据之后,将上述标识符变更为上述第1状态,并且仅在述处理请求区域内还未被写入处理请求时,将处理请求写入到上述处理请求区域,产生通知信号;
处理请求接受功能,接收上述通知信号,在确认了上述处理请求区域内被写入了处理请求之后,清除该处理请求,将向上述数据存储区域的数据存储通知给接收模块;以及
数据取得功能,接收来自上述接收模块的接收数据的请求,在从上述数据存储区域的上述标识符表示上述第1状态的区域取得了数据之后,将该标识符变更为上述第2状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP173854/2004 | 2004-06-11 | ||
JP2004173854A JP2005352839A (ja) | 2004-06-11 | 2004-06-11 | データ通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1707461A true CN1707461A (zh) | 2005-12-14 |
Family
ID=35581389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100767194A Pending CN1707461A (zh) | 2004-06-11 | 2005-06-10 | 数据通信装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060165109A1 (zh) |
JP (1) | JP2005352839A (zh) |
CN (1) | CN1707461A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859318B (zh) * | 2005-12-30 | 2012-01-25 | 华为技术有限公司 | 消息传输系统及其消息缓冲装置及方法 |
CN107643719A (zh) * | 2016-07-22 | 2018-01-30 | 三电控股株式会社 | 远程监控系统 |
CN117312221A (zh) * | 2023-11-28 | 2023-12-29 | 西安现代控制技术研究所 | 一种触发式spi数据通讯方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4694268B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694265B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694269B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4619868B2 (ja) * | 2005-06-03 | 2011-01-26 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694266B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694270B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694267B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694264B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP2007287084A (ja) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP2007287085A (ja) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP4795138B2 (ja) * | 2006-06-29 | 2011-10-19 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP4979287B2 (ja) * | 2006-07-14 | 2012-07-18 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP4386926B2 (ja) * | 2007-02-16 | 2009-12-16 | 富士通株式会社 | 暗号通信プログラム、暗号通信方法および暗号通信装置 |
US8588253B2 (en) * | 2008-06-26 | 2013-11-19 | Qualcomm Incorporated | Methods and apparatuses to reduce context switching during data transmission and reception in a multi-processor device |
JP2010165022A (ja) * | 2009-01-13 | 2010-07-29 | Ricoh Co Ltd | プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体 |
GB2497525A (en) | 2011-12-12 | 2013-06-19 | St Microelectronics Ltd | Controlling shared memory data flow |
US10467142B1 (en) * | 2019-05-07 | 2019-11-05 | 12 Sigma Technologies | Enhancement of real-time response to request for detached data analytics |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4649473A (en) * | 1985-06-17 | 1987-03-10 | International Business Machines Corporation | Flexible data transmission for message based protocols |
US5123094A (en) * | 1990-01-26 | 1992-06-16 | Apple Computer, Inc. | Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers |
JP2863653B2 (ja) * | 1991-07-16 | 1999-03-03 | 三菱電機株式会社 | 通信装置内蔵マイクロコンピュータ |
US5528605A (en) * | 1991-10-29 | 1996-06-18 | Digital Equipment Corporation | Delayed acknowledgement in an asymmetric timer based LAN communications protocol |
JPH0713705A (ja) * | 1993-06-16 | 1995-01-17 | Hitachi Ltd | ディスク装置 |
US5617537A (en) * | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
JP3385091B2 (ja) * | 1994-05-13 | 2003-03-10 | 三菱電機株式会社 | 計算機間の排他制御装置 |
US5548728A (en) * | 1994-11-04 | 1996-08-20 | Canon Information Systems, Inc. | System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory |
US6029205A (en) * | 1994-12-22 | 2000-02-22 | Unisys Corporation | System architecture for improved message passing and process synchronization between concurrently executing processes |
JP3462024B2 (ja) * | 1996-12-04 | 2003-11-05 | 株式会社東芝 | ネットワークシステムの伝送制御方法 |
US7024463B1 (en) * | 1999-10-15 | 2006-04-04 | Omron Corporation | Network system, control method, control apparatus, and multiprocessor |
JP2001312374A (ja) * | 2000-04-28 | 2001-11-09 | Fujitsu Ltd | 記憶装置及びアクセス制御方法 |
US7162630B2 (en) * | 2001-08-31 | 2007-01-09 | Adaptec, Inc. | Systems and methods for implementing host-based security in a computer network |
-
2004
- 2004-06-11 JP JP2004173854A patent/JP2005352839A/ja active Pending
-
2005
- 2005-05-04 US US11/121,025 patent/US20060165109A1/en not_active Abandoned
- 2005-06-10 CN CNA2005100767194A patent/CN1707461A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859318B (zh) * | 2005-12-30 | 2012-01-25 | 华为技术有限公司 | 消息传输系统及其消息缓冲装置及方法 |
CN107643719A (zh) * | 2016-07-22 | 2018-01-30 | 三电控股株式会社 | 远程监控系统 |
CN117312221A (zh) * | 2023-11-28 | 2023-12-29 | 西安现代控制技术研究所 | 一种触发式spi数据通讯方法 |
CN117312221B (zh) * | 2023-11-28 | 2024-03-15 | 西安现代控制技术研究所 | 一种触发式spi数据通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060165109A1 (en) | 2006-07-27 |
JP2005352839A (ja) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1707461A (zh) | 数据通信装置 | |
CN1324473C (zh) | 具有图形上下文管理器的图形渲染装置、方法和系统 | |
US8988442B2 (en) | Asynchronous notifications for concurrent graphics operations | |
US8525841B2 (en) | Batching graphics operations with time stamp tracking | |
CN107527317B (zh) | 基于图像处理的数据传输系统 | |
US20080303835A1 (en) | Serializing command streams for graphics processors | |
CN1520579A (zh) | 利用具有时间分配器的图形渲染引擎的装置、方法和系统 | |
CN1632771A (zh) | 直接存储访问控制装置和图像处理系统以及传输方法 | |
US8085280B2 (en) | Asymmetric two-pass graphics scaling | |
CN1991768A (zh) | 与不同种类的资源通信的基于指令系统结构的内定序器 | |
CN1493022A (zh) | 当中央处理器操作被挂起时仍保持可操作的计算机外围设备 | |
CN1786917A (zh) | 在多处理器数据处理系统中借入线程作为负载平衡的形式 | |
CN1316074A (zh) | 中断/软件控制的线程处理 | |
CN1890634A (zh) | Smi处理和初始化的优化 | |
CN1825295A (zh) | 数据传输控制装置、图像处理装置和数据传输控制方法 | |
CN1700196A (zh) | 通过直接存储器访问控制器传输数据的系统及方法 | |
CN1394310A (zh) | 处理器间通信系统 | |
CN1637712A (zh) | 中断控制装置及控制方法 | |
US8244947B2 (en) | Methods and apparatus for resource sharing in a programmable interrupt controller | |
CN1514973A (zh) | 用于多个读取请求的存储器控制 | |
CN1851652A (zh) | 嵌入式sram操作系统进程优先级轮转调度的实现方法 | |
CN1298049C (zh) | 一种图形引擎芯片及其应用方法 | |
CN1900903A (zh) | 使用图形系统以实现多用户计算机系统 | |
CN1851651A (zh) | 嵌入式sram操作系统进程优先权调度的实现方法 | |
CN1949163A (zh) | 一种虚拟先入先出内存的实现方法和控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20051214 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |