信号控制设备和信号控制方法

文档序号:6358064阅读:121来源:国知局
专利名称:信号控制设备和信号控制方法
技术领域
本发明涉及适合于同时访问例如双端口 RAM的信号控制设备和信号控制方法。
背景技术
过去,使用两个CPU通过其获得对数据的访问的双端口 RAM。但是,当两个不同的 CPU同时试图读/写访问双端口 RAM时,有时不保证数据被读取。例如,当在向双端口 RAM 写数据和从双端口 RAM读数据之间发生访问冲突时,存在由于各个端口的访问时刻之间的差而在数据的重写期间数据被读取的危险。在此情况下,存在读取不明确值的可能性。由于此原因,即使 当两个CPU同时获得对双端口 RAM的访问时,已经采用以下各种对策以便正确地读数据。(1)通过确定定时使得各个CPU的读和写彼此不重叠来避免冲突。(2) 一个CPU等候读操作而另一CPU在向双端口 RAM写数据期间输出忙碌信号等。(3)通过准备两对双端口 RAM以分配(distribute)各个访问来避免冲突,并且当没有总线访问时合并RAM的细节(日本未审查实用新型登记申请公开No. 5-23263)。(4)所写的数据被锁存(日本未审查专利申请公开No. 6-19832、日本未审查专利申请公开No. 4-313132以及日本未审查专利申请公开No. 3-292695)。

发明内容
但是,当使用以上所述的技术(1)和(2)确定了访问时刻或者CPU等待时,可能发生对CPU的限制或者时间的浪费,或者对CPU的访问时刻可能受限制。此外,当使用技术 (3)时,需要用于合并的大量资源,由此增加制造成本。当使用技术(4)时,需要锁存所写的数据并对双端口 RAM进行后写入 (post-writing)。因此,必须嵌入后写入电路。由于此原因,控制双端口 RAM的电路的尺寸增加,并且对双端口 RAM的控制变得复杂。此外,即使在“写使能(Write Enable)”状态结束后,也必须保持地址和所写的数据。因此,该技术不适合于以非常短的周期的连续写入。考虑到以上,期望提供能够在两个CPU同时进行从双端口 RAM读数据和向该双端口 MM写数据时正确地读取数据信号的信号控制设备和信号控制方法。根据本发明的一个实施例,使用由分别连接到两个端口的第一和第二 CPU以预定操作时刻从其读数据信号和向其写数据信号的双端口 RAM。检测第一 CPU从该双端口 RAM读数据信号的地址与第二 CPU向该双端口 RAM写数据信号的地址之间的冲突。第一存储单元存储第一 CPU从该双端口 RAM读取的数据信号。当检测到各地址之间的冲突并且第一 CPU不处于可读状态时,第二存储单元存储从第二 CPU向该双端口 RAM 写数据信号的地址所读取的数据信号,而不管第二 CPU是否处于可写状态。当未检测到各地址之间的冲突并且第一 CPU处于可读状态时,从第一存储单元读取数据信号。当检测到各地址之间的冲突并且第一 CPU不处于可读状态时,无论第二 CPU是否处于可写状态,从第一存储单元读取数据信号。另一方面,当检测到各地址之间的冲突、第一 CPU不处于可读状态并且第二 CPU处于可写状态时,从第二存储器单元读取数据信号。因此,通过将输出数据信号的读取源切换到第一 CPU连接到的端口,读取的数据信号被输出到进入可读状态的第一 CPU。从而,当第一和第二 CPU同时分别从双端口 RAM读数据和向其写数据时,不管读地址和写地址之间的冲突,都可以从双端口 RAM正确地读取数据信号。根据本发明的该实施例,当第一和第二 CPU分别从双端口 RAM读数据和向其写数据时,基于第一 CPU的可读状态以及第二 CPU的可写状态来切换数据信号的读取源。因此, 可以在任意时刻获得对相同地址的 数据的访问,而不依赖于每个CPU的操作速度。此时,因为进行读的CPU不需要等待直到进行写的CPU完成处理,因此可以获得以高速读取数据信号的优点。


图1是图示根据本发明的一个实施例的视频处理系统的示例内部配置的框图。图2是图示根据本发明的实施例的信号控制设备的示例内部配置的框图。图3A到3C是图示根据本发明的实施例的其中第一 CPU的读和第二 CPU的写同时发生的例子的时序图。图4A到4C是图示根据本发明的实施例的其中第二 CPU的写在第一 CPU的读期间冲突的例子的时序图。图5A到5C是图示根据本发明的实施例的其中第一 CPU的读在第二 CPU的写期间冲突的例子的时序图。图6是图示根据本发明的实施例的信号控制方法的例子的流程图。
具体实施例方式下文中,将描述本发明的优选实施例(下文中称为实施例)。将按以下顺序进行其描述。1.第一实施例(双端口 RAM的访问控制其中两个CPU同时进行从双端口 RAM的读/向双端口 RAM的写的例子)1.第一实施例双端口 RAM的访问控制其中两个CPU同时进行从双端口 RAM的读/向双端口 RAM 的写的例子下文中,将参考附图描述本发明的实施例。在该实施例中,将描述其中当一个CPU 从双端口 RAM读取数据信号(下文中称为“数据”)并且另一 CPU写数据时、信号控制设备 4进行控制使得读数据不会不明确的例子。图1是图示视频处理系统10的示例内部配置的图。处理通过摄像机1拍摄的视频的视频处理系统10包括摄像机1,其拍摄对象;以及记录装置3,其记录视频。记录装置3具有带有用于记录视频的大容量的诸如视频带或 HDD的记录介质(未示出)。摄像机1包括第一 CPU2,其控制摄像机1的处理块(未示出) 的操作,并向记录装置3输出各种控制信号或读取数据。
记录装置3包括第二 CPU 6,其控制记录装置3的处理块(未示出)的操作。记录装置3包括双端口 RAM 5,其用于在第一 CPU 2和第二 CPU 6之间发送和接收数据;以及信号控制设备4,其控制获得对双端口 RAM 5的访问的第一 CPU 2和第二 CPU 6的访问。摄像机1和记录装置3使用分别在摄像机1和记录装置3中建立的第一 CPU 2和第二 CPU 6来共享在双端口 RAM 5中记录的诸如时间码的数据。在此实施例中,第一 CPU 2 以大约33MHz工作,并且用16位总线发送数据。另一方面,第二 CPU 6以大约74MHz工作, 并用8位总线发送数据。在双端口 RAM 5中,由分别连接到两个端口的第一和第二 CPU以预定的操作时刻进行读或写数据信号。信号控制设备4具有当第一 CPU 2和第二 CPU 6要求的双端口 RAM 5的读和写所涉及的地址彼此冲突时、在写之前读和缓冲各地址的数据的功能。此外,如需要,信号控制设备4通过在读取缓冲的数据和读取双端口 RAM上的数据之间切换来防止CPU读取不明确的值。图2是图示信号控制设备4的示例内部配置的图。本实施例的信号控制设备包括双端口 RAM,由分别连接到两个端口的第一和第二 CPU以预定操作时刻从其读数据信号和向其写数据信号;地址冲突检测单元,其检测第
一CPU从该双端口 RAM读数据信号的地址与第二 CPU向该双端口 RAM写数据信号的地址之间的冲突;第一存储单元,其存储第一 CPU从该双端口 RAM读取的数据信号;第二存储单元,其在检测到各地址之间的冲突并且第一 CPU不处于可读状态时,存储从第二 CPU向该双端口 RAM写数据信号的地址所读取的数据信号,而不管第二 CPU是否处于可写状态;以及切换单元,其通过当未检测到各地址之间的冲突并且第一 CPU处于可读状态时,从第一存储单元读取数据信号,当检测到各地址之间的冲突并且第一 CPU不处于可读状态时,无论第
二CPU是否处于可写状态,从第一存储单元读取数据信号,以及当检测到各地址之间的冲突、第一 CPU不处于可读状态并且第二 CPU处于可写状态时,从第二存储器单元读取数据信号,来将输出数据信号的读取源切换到第一 CPU连接到的端口,并且该切换单元将读取的数据信号输出到进入可读状态的第一 CPU。第一CPU 2信号控制设备4包括寄存器11a,作为临时保持由第一 CPU 2从双端口 RAM 5读取的数据信号的第一存储单元,作为在第一 CPU 2侧的读中使用的处理块。信号控制设备 4还包括缓冲存储器12a,作为当检测到地址冲突时、存储从数据信号被第二 CPU 6写到双端口 5中的地址所读取的数据信号的第二存储单元。信号控制设备4还包括复用器15a,作为选择存储在寄存器Ila和缓冲存储器12a之一中的数据信号并切换到所选的数据信号用于输出的切换单元。第二CPU 6信号控制设备4包括寄存器11 b,作为临时保持由第二 CPU 6从双端口 RAM 5读取的数据信号的第一存储单元,作为在第二 CPU 6侧的读中使用的处理块。信号控制设备 4还包括缓冲存储器12b,作为当检测到地址冲突时、存储从数据信号被第一 CPU 2写到双端口 5中的地址所读取的数据信号的第二存储单元。信号控制设备4还包括复用器15b,作为选择存储在寄存器lib和缓冲存储器12b之一中的数据信号并切换到所选的数据信号用于输出的切换单元。
信号控制设备4包括控制单元13,其控制寄存器Ila和lib、缓冲存储器12a和 12b以及复用器15a和15b的数据信号的输入,或者控制要输出的数据信号的切换。信号控制设备4还包括地址冲突检测单元14,其检测第一 CPU 2从双端口 RAM 5读取数据信号的地址与第二 CPU 6向双端口 RAM 5写入数据信号的地址之间的冲突。接下来,将描述信号控制设备4的每个单元的示例操作。在此,假设第一 CPU 2从双端口 RAM 5读取数据信号,并且第二 CPU 6向双端口 RAM 5写入数据信号。此时,寄存器Ila存储第一 CPU 2从双端口 RAM读取的数据信号。缓冲存储器12b 在第一 CPU 2不处于可读状态时进行以下操作。即,缓冲存储器12b存储从第二 CPU 6将数据信号写到双端口 RAM 5的地址读取的数据信号,而无论第二 CPU 6是否处于可读状态。

复用器15a在未检测到地址冲突并且第一 CPU 2处于可读状态时从寄存器1 Ia读取数据信号。此外,当检测到地址冲突并且第一 CPU 2不处于可读状态时,复用器15a从寄存器Ila读取数据信号而无论第二 CPU 6是否处于可读状态。另一方面,当检测到地址冲突、第一 CPU 2不处于可读状态并且第二 CPU 6处于可写状态时,复用器15a从缓冲存储器 12b读取数据信号。以此方式,通过将输出数据信号的读取源切换到第一 CPU 2连接到的端口,读取的数据信号被输出到处于可读状态的第一 CPU 2。当第一 CPU 2向双端口 RAM 5 写数据信号并且第二 CPU 6从双端口 RAM 5读数据信号时,通过被提供以与所有单元对应的处理块来进行上述操作。接下来,将参考图3A到5C描述当第一 CPU 2读取数据信号并且第二 CPU 6写数据信号时每个单元的示例处理。当角色未被反转(第一 CPU 2写数据信号并且第二 CPU 6 读取数据信号)时,在使用相反的(opposite)寄存器和缓冲存储器的情况下,基本操作相同。在图3A到图5C中,阴影部分指示冲突部分,并且正被读和写的数据被示出为数据信号。 按时间顺序示出图3A到5C中的时序图,并且图3A到5C中示出的数字对应于以下所述的流程图(参见图6)的步骤中示出的数字。地址冲突的样式被分类为以下三种样式(1)第一 CPU 2的读和第二 CPU 6的写从时钟的启动时起同时发生的情况;(2)第二 CPU 6的写在第一 CPU 2的读期间冲突的情况;以及(3)第一 CPU 2的读在第二 CPU 6的写期间冲突的情况。两个CPU的速度可以被分类为以下三种样式(1)第一 CPU 2和第二 CPU 6的速度彼此相同的情况;(2)第一 CPU 2的速度快于第二 CPU 6的速度的情况(3)第一 CPU 2的速度慢于第二 CPU 6的速度的情况。将描述在各个情况(九种组合)下在地址冲突时的操作和读取的数据信号的例子。1.第一 CPU 2的读和第二 CPU 6的写在相同时刻发生的情况图3A到3C是图示其中第一 CPU 2的读和第二 CPU 6的写发生在相同时刻的例子的时序图。在以下描述中,当描述“读”和“写”时,不意味实际开始从双端口 RAM 5读数据或者向其写数据。在此状态下,“读”或“写”的准备开始,并且当进入“读使能”状态(可读状态)或者“写使能”状态(可写状态)时,进行实际的读或写。
在此,当第一 CPU 2从双端口 RAM 5读取数据信号的时刻与第二 CPU 6向双端口 RAM 5写数据信号的时刻相同时,复用器15a和15b进行以下处理。此时,需要检测地址冲突。复用器15a和15b分别根据第一 CPU 2和第二 CPTO的操作速度来切换读取由复用器 15a和15b输出的数据信号的寄存器Ila和lib以及缓冲存储器12a和12b。具体地,当第一 CPU 2的操作时刻与第二 CPU 6的操作时刻相同时,复用器15a和 15b输出由第一 CPU 2写到第一或第二存储单元的数据信号。当第一 CPU 2的操作速度快于第二 CPU 6的操作速度时,第一 CPU输出被写到缓冲存储器12b的数据信号。当第一 CPU 2的操作速度慢于第二 CPU 6的操作速度时,第二 CPU 6输出被写到缓冲存储器12b的数据信号。下文中,将描述信息处理例子。1-1.第一 CPU 2和第二 CPU 6的速度彼此相同的情况(图3A) (1)首先,第一 CPU 2将从双端口 RAM 5读取的数据锁存在寄存器Ila中。(2)接下来,地址冲突检测单元14检测地址冲突。(3)当地址冲突检测单元14检测到地址冲突时,双端口 RAM 5的输出被缓存在缓冲存储器12b中。(4)当第一 CPU 2进入“读使能”状态时,可以通过从寄存器Ila和缓冲存储器12b 的任意一个读取数据来获得稳定的数据。(5)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。1-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情况(图3B)在此情况下,按与1-1相同的方式进行处理。但是,在第二 CPU 6进入“写使能”状态之前,第一 CPU 2进入“读使能”状态。因此,复用器15a将从寄存器Ila读取的数据输出到第一 CPU 2。因而,第一 CPU 2从寄存器Ila读数据。1-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情况(图3C)在此情况下,按与1-1相同的方式进行处理。但是,第二 CPU 6在第一 CPU 2准备读取时进入“写使能”状态。因此,复用器15a将从缓冲存储器12b读取的数据输出到第一 CPU 2。从而,第一 CPU 2从缓冲存储器12b读数据。2.第二 CPU 6的写在第一 CPU 2的读期间冲突的情况图4A到4C是图示其中第二 CPU 6的写在第一 CPU 2的读期间冲突的例子的时序图。在此,当在第一 CPU 2从双端口 RAM 5读数据信号的时段期间第二 CPTO向双端口 RAM 5写数据信号时,复用器15a和15b进行以下处理。此时,需要检测地址冲突。复用器 15a和15b分别根据第一 CPU 2和第二 CPU 6的操作速度而切换读取由复用器15a和15b 输出的数据信号的缓冲存储器12b。具体地,当第一 CPU 2的操作时刻与第二 CPU 6的操作时刻相同时,复用器15a和 15b输出由第一 CPU 2写到寄存器Ila的数据信号。当第一 CPU2的操作速度快于第二 CPU 6的操作速度时,第一 CPU输出被写到缓冲存储器12b的数据信号。当第一 CPU 2的操作速度慢于第二 CPU 6的操作速度并且第一 CPU 2准备从双端口 RAM 5读数据信号时,第二 CPU 6输出被写到缓冲存储器12b的数据信号。当第一 CPU 2的操作速度慢于第二 CPU 6 的操作速度并且第一 CPU 2从双端口 RAM 5读数据信号时,第一 CPU 2输出被写到寄存器Ila的数据信号。下文中,将描述详细的处理例子。2-1.第一 CPU 2和第二 CPU 6的速度彼此相同的情况(图4A)在此情况下,在“读使能”状态之前以及期间进行处理。

(1)从双端口 RAM 5读取的数据被锁存在寄存器Ila中。(2)地址冲突检测单元14检测地址冲突。(3)当地址冲突检测单元14检测到地址冲突时,双端口 RAM 5的输出被缓存在缓冲存储器12b中。(4)因为寄存器Ila的锁存在“写使能”状态之前结束,因此复用器15a将从寄存器Ila读取的数据输出到第一 CPU 2。从而,第一 CPU 2从寄存器Ila读数据。(5)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。2-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情况(图4B)在此情况下,按与2-1相同的方式进行处理。但是,在第二 CPU 6进入“写使能”状态之前,第一 CPU 2进入“读使能”状态。因此,复用器15a将从寄存器Ila读取的数据输出到第一 CPU 2。2-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情况(图4C)a.当在读的准备期间发生写时因为⑴、⑵和(3)与2-1的情况的⑴、(2)和(3)相同,因此不将重复其描述。(4)在第一 CPU 2进入“写使能”状态之前,第二 CPU 6进入“读使能”状态。因此, 复用器15a将从缓冲存储器12b读取的数据输出到第一 CPU2。从而,第一 CPU 2读取缓冲存储器12b的数据。(5)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。(6)因为冲突结束但是第一CPU 2的读未结束,所以缓冲存储器12b的数据被保持直到第一 CPU 2的读结束。b.在“读使能”状态期间发生写的情况因为⑴、⑵和(3)与2-1的情况的⑴、(2)和(3)相同,因此不将重复其描述。(4)因为第一 CPU 2已经进入“读使能”状态,因此复用器15a将从寄存器Ila读取的数据输出到第一 CPU 2。从而,第一 CPU 2读取寄存器Ila的数据。(5)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。3.第一 CPU 2的读在第二 CPU 6的写期间冲突的情况在此,当在第二 CPU 6向双端口 RAM 5写数据信号的时段期间第一 CPU2从双端口 RAM 5读数据信号时,复用器15a和15b进行以下处理。此时,需要检测地址冲突。复用器 15a和15b分别根据第一 CPU 2和第二 CPU 6的操作速度而切换读取由复用器15a和15b 输出的数据信号的缓冲存储器12b。具体地,当第一 CPU 2的操作时刻与第二 CPU 6的操作时刻相同时,复用器15a和 15b输出由第二 CPU 6写到缓冲存储器12b的数据信号。当第一 CPU 2的操作速度快于第二 CPU 6的操作速度并且在数据信号的写的准备期间进行读时,第一 CPU 2输出被写到寄存器Ila的数据信号。当第一 CPU 2的操作速度快于第二 CPU 6的操作速度并且在数据信号的写期间进行读时,第二 CPU 6输出被写到缓冲存储器12b的数据信号。当第一 CPU 2的操作速度慢于第二 CPU 6的操作速度时,第二 CPU 6输出被写到缓冲存储器12b的数据信号。下文中,将描述详细的处理例子。3-1.第一 CPU 2和第二 CPU 6的速度(频率)彼此相同的情况在此情况下,在“写使能”状态之前以及期间进行处理。(1)第二 CPU 6开始准备写。(2)地址冲突检测单元14检测到地址冲突。 (3)就像第一 CPU 2进行正常读的情况,从双端口 RAM 5读取的数据被锁存在寄存器Ila中。(4)当地址冲突检测单元14检测到地址冲突时,双端口 RAM 5的输出被缓存在缓冲存储器12b中。(5)当第一 CPU 2开始读时,存在因为进行写所以寄存器Ila的数据具有不明确的值的可能性。(6)另一方面,缓冲存储器12b的数据也冲突并然后被缓存。但是,因为缓冲存储器12b缓存来自写的侧的端口的在写的侧的时刻的数据,因此该数据不具有不明确的值。(7)当第一 CPU 2进入“读使能”状态时,第二 CPU 6已经进入“写使能”状态。(8)因而,复用器15a将从稳定的缓冲存储器12b读取的数据输出到第一 CPU 2。 从而,第一 CPU 2从缓冲存储器12b读取数据。但是,存在在第一 CPU 2中准备的寄存器 Ila的数据具有不明确的值的可能性。(9)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。(10)尽管冲突结束,第一 CPU 2不终止读。因此,缓冲存储器12b的数据被保持直到第一 CPU 2终止读。3-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情况a.在写的准备期间发生读的情况因为⑴、⑵、(3)和(4)与3-1的情况的⑴、(2)、(3)和⑷相同,因此不将重复其描述。(5)在第二 CPU 6进入“写使能”状态之前,第一 CPU 2进入“读使能”状态。因此, 寄存器Ila的数据变得稳定。(6)复用器15a将从寄存器Ila读取的数据输出到第一 CPU 2。从而,第一 CPU 2 读取寄存器Ila的数据。(7)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。b.在“写使能”状态期间发生读的情况因为⑴、⑵、(3)和(4)与3-1的情况的⑴、(2)、(3)和⑷相同,因此不将重复其描述。(5)当第一 CPU 2开始读时,存在因为已经进入“写使能”状态所以寄存器Ila的数据具有不明确的值的可能性。(6)另一方面,在“写使能”状态中,缓冲存储器12b的数据被缓存。但是,因为缓冲存储器12b在写的侧的时刻缓存来自写的侧的端口的数据,因此该数据不具有不明确的值。
(7)当第一 CPU 2进入“读使能”状态时,第二 CPU 6已经进入“写使能”状态。(8)从而,复用器15a将从稳定的缓冲存储器12b读取的数据输出到第一 CPU 2。 从而,第一 CPU 2从缓冲存储器12b读数据。因此,存在在第一 CPU 2中准备的寄存器Ila 的数据具有不明确的值的可能性。(9)第二 CPU 6通常根据“写使能”状态向双端口 RAM 5写数据。(10)尽管冲突结束,第一 CPU 2不终止读。因此,缓冲存储器12b的数据被保持直到第一 CPU 2终止读。3-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情况因为第二 CPU 6较早地进入“写使能”状态,如在3-2的情况下那样,因此复用器 15a将从缓冲存储器12b读取的数据输出到第一 CPU 2。图6是图示信号控制设备4进行的信号控制方法的例子的图。本实施例的信号控制方法包括以下步骤在由分别连接到两个端口的第一和第二 CPU以预定操作时刻从其读数据信号和向其写数据信号的双端口 RAM中检测第一 CPU从该双端口 RAM读数据信号的地址与第二 CPU向该双端口 RAM写数据信号的地址之间的冲突; 将第一 CPU从该双端口 RAM读取的数据信号存储在第一存储单元中,并在检测到各地址之间的冲突并且第一 CPU不处于可读状态时,不管第二 CPU是否处于可写状态,将从第二 CPU 向该双端口 RAM写数据信号的地址所读取的数据信号存储在第二存储单元中;以及通过当未检测到各地址之间的冲突并且第一 CPU处于可读状态时,从第一存储单元读取数据信号,当检测到各地址之间的冲突并且第一 CPU不处于可读状态时,无论第二 CPU是否处于可写状态,从第一存储单元读取数据信号,以及当检测到各地址之间的冲突、第一 CPU不处于可读状态并且第二 CPU处于可写状态时,从第二存储器单元读取数据信号,来将输出数据信号的读取源切换到第一 CPU连接到的端口,并且将读取的数据信号输出到进入可读状态的第一 CPU。首先,第一 CPU 2将从双端口 RAM 5读取的数据锁存在寄存器Ila中(步骤Si)。 接下来,地址冲突检测单元14确定地址是否彼此冲突(步骤S2)。当在步骤S2中地址冲突检测单元14确定地址彼此不冲突时,确定第一 CPU 2是否处于“读使能”状态(步骤S5)。当在步骤S5中确定第一 CPU 2处于“读使能”状态时, 处理前进到步骤S10。另一方面,当确定第一 CPU 2不处于“读使能”状态时,处理前进到步马聚S2 ο当在步骤S2中地址冲突检测单元14确定地址彼此冲突时,控制单元13确定第一 CPU 2是否不处于“读使能”状态且第二 CPU 6是否不处于“写使能”状态(步骤S3)。当不满足条件时,控制单元13确定第一 CPU 2是否不处于“读使能”状态以及第二 CPU 6是否处于“写使能”状态(步骤S4)。当在步骤S4中满足条件时,第二 CPU 6将从DPRAM 5读取的数据锁存在缓冲存储器12b中(步骤S6),处理前进到步骤S9。另一方面,当在步骤S4中不满足条件时,处理前进到步骤S9而不进行任何处理。当在步骤S3中满足条件时,第二 CPU 6将从DPRAM 5读取的数据锁存在缓冲存储器12b中(步骤S7)。接下来,控制单元I3确定第二 CPU 6是否处于“写使能”状态(步骤S8)。当确定第二 CPU 6处于“写使能”状态时,复用器15a选择缓冲存储器12a的数据并输出从缓冲存储器12a读取的数据(步骤S9)。另一方面,当在步骤S3和S8中确定第二 CPU 6不处于“写使能”状态时或者当在步骤S5中确定第一 CPU 2处于读使能状态时,进行以下处理。即,复用器15a选择寄存器 Ila的数据并输出从寄存器Ila读取的数据(步骤S10)。在步骤S9和SlO的处理之后,控制单元13确定第一 CPU 2是否处于“读使能”状态(步骤S11)。当确定第一 CPU 2不处于“读使能”状态时,处理结束。另一方面,当确定第一 CPU 2处于“读使能”状态时,控制单元13保持寄存器Ila 和缓冲存储器12b的数据,然后处理结束(步骤S12)。根据上述实施例的信号控制设备4具有当第一 CPU 2和第二 CPU 6获得对双端口 RAM 5的访问并且第一 CPU 2和第二 CPU 6同时分别从双端口 RAM 5的端口读和写数据时的有效配置。在此,信号控制设备4包括检测写和读中的地址冲突的时刻的地址冲突检测单元14。进行写的第二 CPU 6包括缓冲存储器12b,其保持读取的数据以便在写操作系列的第一操作中从双端口 RAM 5读数据。另一方面,根据地址冲突检测单元14的确定,进行读的第一 CPU 2选择由进行写的第二 CPU 6缓存的数据或者通过拷贝双端口 RAM 5的细节而获得的寄存器Ila的数据的任一个。因此,第一 CPU 2可以经由复用器15a获取存储在其任一中的正确数据。可以按相同的方式在第二 CPU 6中进行由第一 CPU 2进行的操作。通过按此方式配置信号控制设备4,即使当两个CPU同时从双端口 RAM5读数据和向其写数据时,基于两个CPU的可读状态或者可写状态来切换数据信号的读取源。因此,可以在任意时刻实现访问而不依赖于两个CPU的操作速度。例如,当第一 CPU 2的“读使能” 状态在第二 CPU 6进入“写使能”状态之前开始时,第一 CPU 2读取锁存在第一 CPU 2侧的寄存器Ila中的数据。此外,当第二 CPU 6在第一 CPU 2进入“读使能”状态之前进入“写使能”状态时,第一 CPU 2读取缓存在第二 CPU 6侧的缓冲存储器12b中的数据。因此,可以避免不明确的值的输出而不依赖于相互CPU的访问时刻。优于根据现有技术描述的技术⑴和(2)的优点在于,进行读的CPU和进行写的 CPU两者可以自由地获得对双端口 RAM 5的访问并且没有对访问时刻的限制或者等待时间的浪费。优于技术(3)的优点在于,利用缓冲存储器和控制器的最少资源实现读和写。此外,可以与第一 CPU 2与第二 CPTO之间的同步或者非同步无关地避免数据改变。一个CPU可以以高速读或写数据而不用等待直到另一 CPU的处理完成。此外,在实现以高速读和写而不用等待直到另一 CPU的处理完成的以上优点方面,可以用简单容易的设备来配置数据缓冲设备、数据选择电路、地址检测电路等。从而,可以降低制造成本。此外,即使当第一 CPU 2和第二 CPU 6的访问时刻或者速度彼此不同时,也不读取不定值。仅通过向双端口 RAM 5添加少量资源,当读和写数据彼此冲突时,可以避免数据改变。可以实现对双端口 RAM 5的自由访问而没有在现有技术中成为问题的对访问时刻的限制。此外,因为不需要锁存所写的数据,所以在地址递增时可以持续进行写。此外, 因为没有写入锁存器,因此少量资源就足够。本申请包含与2010年4月22日在日本专利局提交的日本优先权专利申请JP 2010-099229中的公开有关的主题,通过引用将其全部内容合并于此。
12
本领域技术人员应当理解,取决于设计要求和其他因素,可以发生各种修改、组合、子组合和替换,只要其在所附权利要求或其等效物的范围内即可。
权利要求
1.一种信号控制设备,包括双端口 RAM,由分别连接到两个端口的第一和第二 CPU以预定操作时刻从其读数据信号和向其写数据信号;地址冲突检测单元,其检测第一 CPU从该双端口 RAM读数据信号的地址与第二 CPU向该双端口 RAM写数据信号的地址之间的冲突;第一存储单元,其存储第一 CPU从该双端口 RAM读取的数据信号;第二存储单元,其在检测到各地址之间的冲突并且第一 CPU不处于可读状态时,存储从第二 CPU向该双端口 RAM写数据信号的地址所读取的数据信号,而不管第二 CPU是否处于可写状态;以及切换单元,其通过当未检测到各地址之间的冲突并且第一 CPU处于可读状态时,从第一存储单元读取数据信号,当检测到各地址之间的冲突并且第一 CPU不处于可读状态时, 无论第二 CPU是否处于可写状态,从第一存储单元读取数据信号,以及当检测到各地址之间的冲突、第一 CPU不处于可读状态并且第二 CPU处于可写状态时,从第二存储器单元读取数据信号,来将输出数据信号的读取源切换到第一 CPU连接到的端口,并且该切换单元将读取的数据信号输出到进入可读状态的第一 CPU。
2.根据权利要求1的信号控制设备,其中当第一CPU从双端口 RAM读数据信号的定时与第二 CPU向双端口 RAM写数据信号的定时相同并因此检测到各地址之间的冲突时,所述切换单元根据第一和第二 CPU的操作速度在读取由切换单元输出的数据信号的第一和第二存储单元之间切换。
3.根据权利要求2的信号控制设备,其中当第一和第二CPU的操作时刻彼此相同时, 所述切换单元输出由第一 CPU写到第一或第二存储单元的数据信号,当第一 CPU的操作速度快于第二 CPU的操作速度时,所述切换单元输出由第一 CPU写到第二存储单元的数据信号,并且当第一 CPU的操作速度慢于第二 CPU的操作速度时,所述切换单元输出由第二 CPU 写到第二存储单元的数据信号。
4.根据权利要求1的信号控制设备,其中当第二CPU在第一 CPU从双端口 RAM读取数据信号的时段期间向该双端口 RAM写数据信号并因此检测到各地址之间的冲突时,所述切换单元根据第一和第二 CPU的操作速度在读取由切换单元输出的数据信号的第一和第二存储单元之间切换。
5.根据权利要求4的信号控制设备,其中当第一和第二CPU的操作时刻彼此相同时,所述切换单元输出由第一 CPU写到第一存储单元的数据信号,当第一 CPU的操作速度快于第二 CPU的操作速度时,所述切换单元输出由第一 CPU写到第二存储单元的数据信号,当第一 CPU的操作速度慢于第二 CPU的操作速度并且第一 CPU准备从该双端口 RAM读取数据信号时,所述切换单元输出由第二 CPU写到第二存储单元的数据信号,并且当第一 CPU的操作速度慢于第二 CPU的操作速度并且第一 CPU从该双端口 RAM读取数据信号时,所述切换单元输出由第一 CPU写到第一存储单元的数据信号。
6.根据权利要求1的信号控制设备,其中当第一CPU在第二 CPU向双端口 RAM写数据信号的时段期间从该双端口 RAM读取数据信号并因此检测到各地址之间的冲突时,所述切换单元根据第一和第二 CPU的操作速度在读取由切换单元输出的数据信号的第一和第二存储单元之间切换。
7.根据权利要求6的信号控制设备,其中当第一和第二CPU的操作时刻彼此相同时, 所述切换单元输出由第二 CPU写到第二存储单元的数据信号,当第一 CPU的操作速度快于第二 CPU的操作速度并且在数据信号的写的准备期间进行读时,所述切换单元输出由第一 CPU写到第一存储单元的数据信号,当第一 CPU的操作速度快于第二 CPU的操作速度并且在数据信号的写期间进行读时,所述切换单元输出由第二 CPU写到第二存储单元的数据信号,并且当第一 CPU的操作速度慢于第二 CPU的操作速度时,所述切换单元输出由第二 CPU 写到第二存储单元的数据信号。
8.一种信号控制方法,包括以下步骤在由分别连接到两个端口的第一和第二 CPU以预定操作时刻从其读数据信号和向其写数据信号的双端口 MM中检测第一 CPU从该双端口 RAM读数据信号的地址与第二 CPU向该双端口 RAM写数据信号的地址之间的冲突;将第一 CPU从该双端口 RAM读取的数据信号存储在第一存储单元中,并在检测到各地址之间的冲突并且第一 CPU不处于可读状态时,不管第二 CPU是否处于可写状态,将从第二 CPU向该双端口 RAM写数据信号的地址所读取的数据信号存储在第二存储单元中;以及通过当未检测到各地址之间的冲突并且第一 CPU处于可读状态时,从第一存储单元读取数据信号,当检测到各地址之间的冲突并且第一 CPU不处于可读状态时,无论第二 CPU 是否处于可写状态,从第一存储单元读取数据信号,以及当检测到各地址之间的冲突、第一 CPU不处于可读状态并且第二 CPU处于可写状态时,从第二存储器单元读取数据信号,来将输出数据信号的读取源切换到第一 CPU连接到的端口,并且将读取的数据信号输出到进入可读状态的第一 CPU。
全文摘要
一种信号控制设备包括双端口RAM,由分别连接到两个端口的第一和第二CPU以预定操作时刻从其读数据信号和向其写数据信号;地址冲突检测单元,其检测第一CPU和第二CPU分别从该双端口RAM读数据信号和向该双端口RAM写数据信号的地址之间的冲突;第一存储单元,其存储第一CPU读取的数据信号;第二存储单元,其在检测到各地址之间的冲突时,存储从第二CPU向该双端口RAM写数据信号的地址所读取的数据信号;以及切换单元,其将输出数据信号的读取源切换到第一CPU连接到的端口,并且将读取的数据信号输出到进入可读状态的第一CPU。
文档编号G06F13/16GK102236623SQ201110094410
公开日2011年11月9日 申请日期2011年4月15日 优先权日2010年4月22日
发明者田中慎治郎 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1