CN102236623A - 信号控制设备和信号控制方法 - Google Patents
信号控制设备和信号控制方法 Download PDFInfo
- Publication number
- CN102236623A CN102236623A CN2011100944103A CN201110094410A CN102236623A CN 102236623 A CN102236623 A CN 102236623A CN 2011100944103 A CN2011100944103 A CN 2011100944103A CN 201110094410 A CN201110094410 A CN 201110094410A CN 102236623 A CN102236623 A CN 102236623A
- Authority
- CN
- China
- Prior art keywords
- cpu
- data
- signal
- write
- port ram
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/818—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for dual-port memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Static Random-Access Memory (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
一种信号控制设备包括:双端口RAM,由分别连接到两个端口的第一和第二CPU以预定操作时刻从其读数据信号和向其写数据信号;地址冲突检测单元,其检测第一CPU和第二CPU分别从该双端口RAM读数据信号和向该双端口RAM写数据信号的地址之间的冲突;第一存储单元,其存储第一CPU读取的数据信号;第二存储单元,其在检测到各地址之间的冲突时,存储从第二CPU向该双端口RAM写数据信号的地址所读取的数据信号;以及切换单元,其将输出数据信号的读取源切换到第一CPU连接到的端口,并且将读取的数据信号输出到进入可读状态的第一CPU。
Description
技术领域
本发明涉及适合于同时访问例如双端口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读数据和向该双端口RAM写数据时正确地读取数据信号的信号控制设备和信号控制方法。
根据本发明的一个实施例,使用由分别连接到两个端口的第一和第二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,作为选择存储在寄存器11a和缓冲存储器12a之一中的数据信号并切换到所选的数据信号用于输出的切换单元。
第二CPU 6
信号控制设备4包括寄存器11b,作为临时保持由第二CPU 6从双端口RAM 5读取的数据信号的第一存储单元,作为在第二CPU 6侧的读中使用的处理块。信号控制设备4还包括缓冲存储器12b,作为当检测到地址冲突时、存储从数据信号被第一CPU 2写到双端口5中的地址所读取的数据信号的第二存储单元。信号控制设备4还包括复用器15b,作为选择存储在寄存器11b和缓冲存储器12b之一中的数据信号并切换到所选的数据信号用于输出的切换单元。
信号控制设备4包括控制单元13,其控制寄存器11a和11b、缓冲存储器12a和12b以及复用器15a和15b的数据信号的输入,或者控制要输出的数据信号的切换。信号控制设备4还包括地址冲突检测单元14,其检测第一CPU 2从双端口RAM 5读取数据信号的地址与第二CPU 6向双端口RAM 5写入数据信号的地址之间的冲突。
接下来,将描述信号控制设备4的每个单元的示例操作。
在此,假设第一CPU 2从双端口RAM 5读取数据信号,并且第二CPU 6向双端口RAM 5写入数据信号。
此时,寄存器11a存储第一CPU 2从双端口RAM读取的数据信号。缓冲存储器12b在第一CPU 2不处于可读状态时进行以下操作。即,缓冲存储器12b存储从第二CPU 6将数据信号写到双端口RAM 5的地址读取的数据信号,而无论第二CPU 6是否处于可读状态。
复用器15a在未检测到地址冲突并且第一CPU 2处于可读状态时从寄存器11a读取数据信号。此外,当检测到地址冲突并且第一CPU 2不处于可读状态时,复用器15a从寄存器11a读取数据信号而无论第二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和第二CPU6的操作速度来切换读取由复用器15a和15b输出的数据信号的寄存器11a和11b以及缓冲存储器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读取的数据锁存在寄存器11a中。
(2)接下来,地址冲突检测单元14检测地址冲突。
(3)当地址冲突检测单元14检测到地址冲突时,双端口RAM 5的输出被缓存在缓冲存储器12b中。
(4)当第一CPU 2进入“读使能”状态时,可以通过从寄存器11a和缓冲存储器12b的任意一个读取数据来获得稳定的数据。
(5)第二CPU 6通常根据“写使能”状态向双端口RAM 5写数据。
1-2.第一CPU 2的操作速度快于第二CPU 6的操作速度的情况(图3B)
在此情况下,按与1-1相同的方式进行处理。但是,在第二CPU 6进入“写使能”状态之前,第一CPU 2进入“读使能”状态。因此,复用器15a将从寄存器11a读取的数据输出到第一CPU 2。因而,第一CPU 2从寄存器11a读数据。
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读数据信号的时段期间第二CPU6向双端口RAM 5写数据信号时,复用器15a和15b进行以下处理。此时,需要检测地址冲突。复用器15a和15b分别根据第一CPU 2和第二CPU 6的操作速度而切换读取由复用器15a和15b输出的数据信号的缓冲存储器12b。
具体地,当第一CPU 2的操作时刻与第二CPU 6的操作时刻相同时,复用器15a和15b输出由第一CPU 2写到寄存器11a的数据信号。当第一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输出被写到寄存器11a的数据信号。
下文中,将描述详细的处理例子。
2-1.第一CPU 2和第二CPU 6的速度彼此相同的情况(图4A)
在此情况下,在“读使能”状态之前以及期间进行处理。
(1)从双端口RAM 5读取的数据被锁存在寄存器11a中。
(2)地址冲突检测单元14检测地址冲突。
(3)当地址冲突检测单元14检测到地址冲突时,双端口RAM 5的输出被缓存在缓冲存储器12b中。
(4)因为寄存器11a的锁存在“写使能”状态之前结束,因此复用器15a将从寄存器11a读取的数据输出到第一CPU 2。从而,第一CPU 2从寄存器11a读数据。
(5)第二CPU 6通常根据“写使能”状态向双端口RAM 5写数据。
2-2.第一CPU 2的操作速度快于第二CPU 6的操作速度的情况(图4B)
在此情况下,按与2-1相同的方式进行处理。但是,在第二CPU 6进入“写使能”状态之前,第一CPU 2进入“读使能”状态。因此,复用器15a将从寄存器11a读取的数据输出到第一CPU 2。
2-3.第一CPU 2的操作速度慢于第二CPU 6的操作速度的情况(图4C)
a.当在读的准备期间发生写时
因为(1)、(2)和(3)与2-1的情况的(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.在“读使能”状态期间发生写的情况
因为(1)、(2)和(3)与2-1的情况的(1)、(2)和(3)相同,因此不将重复其描述。
(4)因为第一CPU 2已经进入“读使能”状态,因此复用器15a将从寄存器11a读取的数据输出到第一CPU 2。从而,第一CPU 2读取寄存器11a的数据。
(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输出被写到寄存器11a的数据信号。当第一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读取的数据被锁存在寄存器11a中。
(4)当地址冲突检测单元14检测到地址冲突时,双端口RAM 5的输出被缓存在缓冲存储器12b中。
(5)当第一CPU 2开始读时,存在因为进行写所以寄存器11a的数据具有不明确的值的可能性。
(6)另一方面,缓冲存储器12b的数据也冲突并然后被缓存。但是,因为缓冲存储器12b缓存来自写的侧的端口的在写的侧的时刻的数据,因此该数据不具有不明确的值。
(7)当第一CPU 2进入“读使能”状态时,第二CPU 6已经进入“写使能”状态。
(8)因而,复用器15a将从稳定的缓冲存储器12b读取的数据输出到第一CPU 2。从而,第一CPU 2从缓冲存储器12b读取数据。但是,存在在第一CPU 2中准备的寄存器11a的数据具有不明确的值的可能性。
(9)第二CPU 6通常根据“写使能”状态向双端口RAM 5写数据。
(10)尽管冲突结束,第一CPU 2不终止读。因此,缓冲存储器12b的数据被保持直到第一CPU 2终止读。
3-2.第一CPU 2的操作速度快于第二CPU 6的操作速度的情况
a.在写的准备期间发生读的情况
因为(1)、(2)、(3)和(4)与3-1的情况的(1)、(2)、(3)和(4)相同,因此不将重复其描述。
(5)在第二CPU 6进入“写使能”状态之前,第一CPU 2进入“读使能”状态。因此,寄存器11a的数据变得稳定。
(6)复用器15a将从寄存器11a读取的数据输出到第一CPU 2。从而,第一CPU 2读取寄存器11a的数据。
(7)第二CPU 6通常根据“写使能”状态向双端口RAM 5写数据。
b.在“写使能”状态期间发生读的情况
因为(1)、(2)、(3)和(4)与3-1的情况的(1)、(2)、(3)和(4)相同,因此不将重复其描述。
(5)当第一CPU 2开始读时,存在因为已经进入“写使能”状态所以寄存器11a的数据具有不明确的值的可能性。
(6)另一方面,在“写使能”状态中,缓冲存储器12b的数据被缓存。但是,因为缓冲存储器12b在写的侧的时刻缓存来自写的侧的端口的数据,因此该数据不具有不明确的值。
(7)当第一CPU 2进入“读使能”状态时,第二CPU 6已经进入“写使能”状态。
(8)从而,复用器15a将从稳定的缓冲存储器12b读取的数据输出到第一CPU 2。从而,第一CPU 2从缓冲存储器12b读数据。因此,存在在第一CPU 2中准备的寄存器11a的数据具有不明确的值的可能性。
(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读取的数据锁存在寄存器11a中(步骤S1)。接下来,地址冲突检测单元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)。
接下来,控制单元13确定第二CPU 6是否处于“写使能”状态(步骤S8)。当确定第二CPU 6处于“写使能”状态时,复用器15a选择缓冲存储器12a的数据并输出从缓冲存储器12a读取的数据(步骤S9)。
另一方面,当在步骤S3和S8中确定第二CPU 6不处于“写使能”状态时或者当在步骤S5中确定第一CPU 2处于读使能状态时,进行以下处理。即,复用器15a选择寄存器11a的数据并输出从寄存器11a读取的数据(步骤S10)。
在步骤S9和S10的处理之后,控制单元13确定第一CPU 2是否处于“读使能”状态(步骤S11)。当确定第一CPU 2不处于“读使能”状态时,处理结束。
另一方面,当确定第一CPU 2处于“读使能”状态时,控制单元13保持寄存器11a和缓冲存储器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的细节而获得的寄存器11a的数据的任一个。因此,第一CPU 2可以经由复用器15a获取存储在其任一中的正确数据。可以按相同的方式在第二CPU 6中进行由第一CPU 2进行的操作。
通过按此方式配置信号控制设备4,即使当两个CPU同时从双端口RAM5读数据和向其写数据时,基于两个CPU的可读状态或者可写状态来切换数据信号的读取源。因此,可以在任意时刻实现访问而不依赖于两个CPU的操作速度。例如,当第一CPU 2的“读使能”状态在第二CPU 6进入“写使能”状态之前开始时,第一CPU 2读取锁存在第一CPU 2侧的寄存器11a中的数据。此外,当第二CPU 6在第一CPU 2进入“读使能”状态之前进入“写使能”状态时,第一CPU 2读取缓存在第二CPU 6侧的缓冲存储器12b中的数据。因此,可以避免不明确的值的输出而不依赖于相互CPU的访问时刻。
优于根据现有技术描述的技术(1)和(2)的优点在于,进行读的CPU和进行写的CPU两者可以自由地获得对双端口RAM 5的访问并且没有对访问时刻的限制或者等待时间的浪费。优于技术(3)的优点在于,利用缓冲存储器和控制器的最少资源实现读和写。此外,可以与第一CPU 2与第二CPU6之间的同步或者非同步无关地避免数据改变。
一个CPU可以以高速读或写数据而不用等待直到另一CPU的处理完成。此外,在实现以高速读和写而不用等待直到另一CPU的处理完成的以上优点方面,可以用简单容易的设备来配置数据缓冲设备、数据选择电路、地址检测电路等。从而,可以降低制造成本。
此外,即使当第一CPU 2和第二CPU 6的访问时刻或者速度彼此不同时,也不读取不定值。仅通过向双端口RAM 5添加少量资源,当读和写数据彼此冲突时,可以避免数据改变。
可以实现对双端口RAM 5的自由访问而没有在现有技术中成为问题的对访问时刻的限制。此外,因为不需要锁存所写的数据,所以在地址递增时可以持续进行写。此外,因为没有写入锁存器,因此少量资源就足够。
本申请包含与2010年4月22日在日本专利局提交的日本优先权专利申请JP 2010-099229中的公开有关的主题,通过引用将其全部内容合并于此。
本领域技术人员应当理解,取决于设计要求和其他因素,可以发生各种修改、组合、子组合和替换,只要其在所附权利要求或其等效物的范围内即可。
Claims (8)
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以预定操作时刻从其读数据信号和向其写数据信号的双端口RAM中检测第一CPU从该双端口RAM读数据信号的地址与第二CPU向该双端口RAM写数据信号的地址之间的冲突;
将第一CPU从该双端口RAM读取的数据信号存储在第一存储单元中,并在检测到各地址之间的冲突并且第一CPU不处于可读状态时,不管第二CPU是否处于可写状态,将从第二CPU向该双端口RAM写数据信号的地址所读取的数据信号存储在第二存储单元中;以及
通过当未检测到各地址之间的冲突并且第一CPU处于可读状态时,从第一存储单元读取数据信号,当检测到各地址之间的冲突并且第一CPU不处于可读状态时,无论第二CPU是否处于可写状态,从第一存储单元读取数据信号,以及当检测到各地址之间的冲突、第一CPU不处于可读状态并且第二CPU处于可写状态时,从第二存储器单元读取数据信号,来将输出数据信号的读取源切换到第一CPU连接到的端口,并且将读取的数据信号输出到进入可读状态的第一CPU。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP099229/10 | 2010-04-22 | ||
JP2010099229A JP2011227834A (ja) | 2010-04-22 | 2010-04-22 | 信号制御装置及び信号制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102236623A true CN102236623A (zh) | 2011-11-09 |
Family
ID=44816763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100944103A Pending CN102236623A (zh) | 2010-04-22 | 2011-04-15 | 信号控制设备和信号控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9026746B2 (zh) |
JP (1) | JP2011227834A (zh) |
CN (1) | CN102236623A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104682920A (zh) * | 2015-03-10 | 2015-06-03 | 中国人民解放军国防科学技术大学 | 高速脉动阵列滤波器的系数无缝切换方法 |
WO2015180434A1 (zh) * | 2014-05-30 | 2015-12-03 | 华为技术有限公司 | 一种数据库集群管理数据的方法、节点及系统 |
CN109285580A (zh) * | 2018-09-06 | 2019-01-29 | 天津市滨海新区信息技术创新中心 | 数据预处理装置、方法及异步双端随机存取存储器系统 |
CN109669908A (zh) * | 2017-10-13 | 2019-04-23 | 技嘉科技股份有限公司 | 接口优先排程及解决冲突的控制电路及操作方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9129706B2 (en) | 2012-10-31 | 2015-09-08 | Qualcomm Incorporated | Dummy read to prevent crowbar current during read-write collisions in memory arrays with crosscoupled keepers |
US9454482B2 (en) * | 2013-06-27 | 2016-09-27 | Apple Inc. | Duplicate tag structure employing single-port tag RAM and dual-port state RAM |
WO2015057865A1 (en) * | 2013-10-15 | 2015-04-23 | Rambus Inc. | Load reduced memory module |
US11763860B2 (en) * | 2021-12-16 | 2023-09-19 | Microsoft Technology Licensing, Llc | Multi-port SDRAM |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276842A (en) * | 1990-04-10 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dual port memory |
US20030191623A1 (en) * | 2002-02-25 | 2003-10-09 | Oak Technology, Inc. | Computer system capable of executing a remote operating system |
CN1819642A (zh) * | 2004-10-26 | 2006-08-16 | 索尼株式会社 | 再现设备、数据处理系统、再现方法、程序以及存储介质 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4903227A (en) * | 1984-10-17 | 1990-02-20 | Mitsubishi Denki Kabushiki Kaisha | Processor for digitized video having common bus for real time transfer of input and output video data |
EP0340901A3 (en) * | 1988-03-23 | 1992-12-30 | Du Pont Pixel Systems Limited | Access system for dual port memory |
US4937781A (en) * | 1988-05-13 | 1990-06-26 | Dallas Semiconductor Corporation | Dual port ram with arbitration status register |
US5157775A (en) * | 1989-12-15 | 1992-10-20 | Eastman Kodak Company | Dual port, dual speed image memory access arrangement |
JPH04313132A (ja) | 1991-03-25 | 1992-11-05 | Mitsubishi Electric Corp | デュアルポートメモリ |
JPH0523263A (ja) | 1991-07-23 | 1993-02-02 | Mitsubishi Electric Corp | 横行式自動外面清掃装置の自動乗り移り装置 |
JPH05242232A (ja) * | 1992-02-28 | 1993-09-21 | Hitachi Ltd | 情報処理装置及び映像表示装置 |
JPH0619832A (ja) | 1992-07-06 | 1994-01-28 | Mitsubishi Electric Corp | デュアルポートメモリ |
JPH08235852A (ja) * | 1995-02-28 | 1996-09-13 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP3335075B2 (ja) * | 1995-06-06 | 2002-10-15 | キヤノン株式会社 | ネットワークシステム及びノード装置及び伝送制御方法 |
KR100261706B1 (ko) * | 1996-12-17 | 2000-07-15 | 가나이 쓰도무 | 디지탈방송신호의 수신장치와 수신 및 기록재생장치 |
US6212607B1 (en) * | 1997-01-17 | 2001-04-03 | Integrated Device Technology, Inc. | Multi-ported memory architecture using single-ported RAM |
US6108756A (en) * | 1997-01-17 | 2000-08-22 | Integrated Device Technology, Inc. | Semaphore enhancement to allow bank selection of a shared resource memory device |
US5751638A (en) * | 1997-01-17 | 1998-05-12 | Integrated Device Technology, Inc. | Mail-box design for non-blocking communication across ports of a multi-port device |
US6446149B1 (en) * | 1998-03-03 | 2002-09-03 | Compaq Information Technologies Group, L.P. | Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system |
US6826657B1 (en) * | 2001-09-10 | 2004-11-30 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US6785782B1 (en) * | 2001-09-10 | 2004-08-31 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US6769050B1 (en) * | 2001-09-10 | 2004-07-27 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US20040049624A1 (en) * | 2002-09-06 | 2004-03-11 | Oak Technology, Inc. | Network to computer internal interface |
US7499106B1 (en) * | 2004-10-13 | 2009-03-03 | Cirrus Logic, Inc. | Method and system for synchronizing video information derived from an asynchronously sampled video signal |
JP4281721B2 (ja) * | 2004-10-26 | 2009-06-17 | ソニー株式会社 | データ処理装置、データ処理方法、プログラムおよび記録媒体 |
JP5188493B2 (ja) * | 2006-03-30 | 2013-04-24 | シリコン イメージ,インコーポレイテッド | 可変のポート速度を有するマルチポート・メモリ・デバイス |
ES2883587T3 (es) * | 2007-04-12 | 2021-12-09 | Rambus Inc | Sistema de memoria con interconexión de solicitud punto a punto |
US8621159B2 (en) * | 2009-02-11 | 2013-12-31 | Rambus Inc. | Shared access memory scheme |
JP5454255B2 (ja) * | 2010-03-16 | 2014-03-26 | ヤマハ株式会社 | 音響信号処理装置及び音響信号処理システム |
CN102411982B (zh) * | 2010-09-25 | 2014-12-10 | 杭州华三通信技术有限公司 | 内存控制器及命令控制方法 |
-
2010
- 2010-04-22 JP JP2010099229A patent/JP2011227834A/ja active Pending
-
2011
- 2011-04-11 US US13/066,266 patent/US9026746B2/en active Active
- 2011-04-15 CN CN2011100944103A patent/CN102236623A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276842A (en) * | 1990-04-10 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dual port memory |
US20030191623A1 (en) * | 2002-02-25 | 2003-10-09 | Oak Technology, Inc. | Computer system capable of executing a remote operating system |
CN1819642A (zh) * | 2004-10-26 | 2006-08-16 | 索尼株式会社 | 再现设备、数据处理系统、再现方法、程序以及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180434A1 (zh) * | 2014-05-30 | 2015-12-03 | 华为技术有限公司 | 一种数据库集群管理数据的方法、节点及系统 |
US10379977B2 (en) | 2014-05-30 | 2019-08-13 | Huawei Technologies Co., Ltd. | Data management method, node, and system for database cluster |
US10860447B2 (en) | 2014-05-30 | 2020-12-08 | Huawei Technologies Co., Ltd. | Database cluster architecture based on dual port solid state disk |
CN104682920A (zh) * | 2015-03-10 | 2015-06-03 | 中国人民解放军国防科学技术大学 | 高速脉动阵列滤波器的系数无缝切换方法 |
CN109669908A (zh) * | 2017-10-13 | 2019-04-23 | 技嘉科技股份有限公司 | 接口优先排程及解决冲突的控制电路及操作方法 |
CN109669908B (zh) * | 2017-10-13 | 2022-12-02 | 技嘉科技股份有限公司 | 接口优先排程及解决冲突的控制电路及操作方法 |
CN109285580A (zh) * | 2018-09-06 | 2019-01-29 | 天津市滨海新区信息技术创新中心 | 数据预处理装置、方法及异步双端随机存取存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2011227834A (ja) | 2011-11-10 |
US20110264853A1 (en) | 2011-10-27 |
US9026746B2 (en) | 2015-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236623A (zh) | 信号控制设备和信号控制方法 | |
US5960458A (en) | Shared memory system | |
KR101459200B1 (ko) | 전송 제어장치, 메모리 제어장치, 및 상기 전송 제어장치를 구비한 plc | |
CN1996276A (zh) | 多处理器系统中的数据传输 | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
US20100153610A1 (en) | Bus arbiter and bus system | |
KR100615694B1 (ko) | 복수개의 기능블럭을 제어하는 제어시스템 | |
JPH0222748A (ja) | 不揮発生メモリ制御回路 | |
JP4478592B2 (ja) | メモリ回路 | |
JPH09311812A (ja) | マイクロコンピュータ | |
JPH1185673A (ja) | 共有バスの制御方法とその装置 | |
JPH02211571A (ja) | 情報処理装置 | |
JP2581144B2 (ja) | バス制御装置 | |
JP2008003786A (ja) | 論理シミュレーション方法及びその装置 | |
JPH05100994A (ja) | Dma転送動作確認方式 | |
JP2005157929A (ja) | 半導体装置 | |
JP2822414B2 (ja) | デュアルポートメモリ | |
JP2008171335A (ja) | レジスタアクセス方式 | |
JPS61153770A (ja) | 画像処理装置 | |
JPH03214275A (ja) | 半導体集積回路 | |
JPS6160163A (ja) | デ−タ転送方式 | |
JPH01169691A (ja) | Icカード | |
JPH04117697A (ja) | マルチポートメモリ回路 | |
JPH03189755A (ja) | メモリ間転送装置 | |
JPH06295261A (ja) | 記憶装置のデータ転送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111109 |