CN100594553C - 寄存器文件装置和利用检测单元阻止写后读的方法 - Google Patents
寄存器文件装置和利用检测单元阻止写后读的方法 Download PDFInfo
- Publication number
- CN100594553C CN100594553C CN200580023208A CN200580023208A CN100594553C CN 100594553 C CN100594553 C CN 100594553C CN 200580023208 A CN200580023208 A CN 200580023208A CN 200580023208 A CN200580023208 A CN 200580023208A CN 100594553 C CN100594553 C CN 100594553C
- Authority
- CN
- China
- Prior art keywords
- detecting unit
- state
- write
- register file
- row
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Logic Circuits (AREA)
- Static Random-Access Memory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种寄存器文件装置和利用检测单元(14)阻止写后读的方法,在高性能的寄存器文件中提供改善了的读取访问时间。与寄存器文件单元相同并位于寄存器文件阵列中的一个或多个检测单元(14)用于通过在每次写入时将检测单元(14)配置为替换值或者在写入之后改变为特定值、然后通过检测有效检测单元(14)的状态改变来检测该写入何时结束,控制寄存器文件中的读取操作。状态改变检测可用于延迟读选通信号的前沿,或者在存取控制逻辑(10)中用于延迟下个读选通信号的产生。因此该寄存器文件提供了不必针对每个应用而调整并且跟踪电压和时钟脉冲相位差变化的可伸缩设计。
Description
相关申请的交叉引用
本申请涉及共同未决的美国专利申请“DYNAMIC-STATICLOGICAL CONTROL ELEMENT FOR SIGNALING AN INTERVALBETWEEN THE END OF A CONTROL SIGNAL AND A LOGICALEVALUATION”,该申请与本申请一起由相同发明人提交并转让给同一受让人,序列号为10/922,271。通过引用将该申请的说明书合并于此。
技术领域
本发明总的涉及寄存器文件存取控制电路,具体地说涉及具有自动写后读阻止功能的寄存器文件。
背景技术
寄存器文件一般用于在数字电路中、尤其是在要求以很低的存取延迟快速存取相当少量数据的处理系统部件中建立程序块。使用寄存器文件的例子包括处理器中的寄存器阵列、高速缓冲存储器中的缓存目录。
与静态随机存取存储器(SRAM)单元相反,通常在相同的时钟周期内写入寄存器文件单元然后从中读出。对于其中寄存器文件存储机器状态信息的处理器核心元件来说,在同一个时钟周期内寄存器文件几乎总是在被写入之后立即读出。这样的寄存器文件对于确定处理器速度是关键的,同样精巧地调整了写到读(the write to read)的延迟以提供在时钟脉冲相位差(skew)变化、电压变化及其它可能导致读取错误或不稳定数据的因素范围内可能得到的最佳性能。
寄存器文件写后读时序的典型设计余量由于一直等到写周期结束而可能最大浪费30%的时钟周期。但是这样的余量在上述操作变量的典型范围内以及用于实施寄存器文件单元和控制逻辑的电流电路中是必要的。
因此,希望进一步降低写后读余量来改善寄存器文件性能和使用寄存器文件存储值和状态信息的处理器的性能。
发明内容
本发明的方面包括一种寄存器文件装置和用于操作寄存器文件装置的方法,它们能达到期望的寄存器文件性能和处理器性能。该寄存器文件内的一个或多个单元专门用作检测机构,用于确定写入周期是否已经结束。整个阵列可以使用一个单元,可为该寄存器文件阵列中的每一行分配一个单元,或者为多行构成的组分配多个单元。
可以连接所述检测单元,从而这些单元的值在每次写入操作时更改,并且有效检测单元的值用于控制逻辑,以阻止在该有效检测单元改变状态之前读取寄存器文件行。可替换的,可以这样配置检测单元,使得在写周期开始之前设置第一状态,然后通过该写操作用对应于相反状态的值写检测单元。
检测单元状态改变的指示可用于截断读取被该写入影响的存储单元的下个读取选通信号的前沿,或者用在存取控制逻辑内以延迟导致对被影响的单元进行读取的读取选通信号的产生。
本发明的一个方面提供一种用于降低寄存器文件电路中的写后读延迟的方法。该方法包括:向所述寄存器文件电路内的寄存器写入一个或多个值;基本上与所述写入同时地触发所述寄存器文件电路内的至少一个专用检测单元的状态改变;在所述写入开始时阻止对所述寄存器的读取访问并直到取消该阻止为止;检测作为所述触发的结果所述至少一个检测单元何时改变了状态;以及取消所述阻止,由此可以读取所述寄存器。
本发明的另一个方面提供一种寄存器文件阵列,包括:多个存储单元,用于存储位值并按照逻辑行和列排列;至少一个检测单元,配置为响应对多个存储单元的一行写入而改变状态;以及时钟控制逻辑,用于通过检测所述至少一个检测单元的状态变化防止在所述至少一个检测单元的输出状态变化之前对所述行的读取访问。
本发明的另一个方面提供一种寄存器文件阵列,包括:
多个存储单元,用于存储位值并按照逻辑行和列排列;
至少一个检测单元,配置为响应对多个存储单元的一行写入而改变状态,其中所述至少一个检测单元是包括锁存器和检测存储单元的可扫描存储单元,其中所述扫描锁存器的反相输出与所述检测存储单元的输入耦合,所述扫描锁存器的输入与所述检测存储单元的输出耦合,其中所述扫描锁存器的扫描时钟输入与所述寄存器文件阵列的写入选通信号耦合,并响应于所述写入选通信号的解除状态,由此在多个写入之间存储所述至少一个检测单元的状态;以及
时钟控制逻辑,用于通过检测所述至少一个检测单元的状态变化防止在所述至少一个检测单元的输出状态变化之前对所述行的读取访问,其中所述时钟控制逻辑与所述扫描锁存器的检测输出和所述检测存储单元的所述输出耦合,其中所述防止一直保持到所述扫描锁存器的所述检测输出和所述检测存储单元的所述输出为不同的逻辑值为止。
本发明的上述和其它特征和优点由下面对附图中示出的本发明的优选实施例的描述而变得明显。
附图说明
下面参照附图通过举例详细描述本发明的实施例。
图1是按照本发明实施例的寄存器文件的框图。
图2A是可用于图1的寄存器文件的检测单元和相关的控制逻辑的框图。
图2B是可用于图1的寄存器文件的另一种检测单元和相关控制逻辑的框图。
图3是描绘图1的寄存器文件内的信号关系的时序图。
图4是按照本发明的替换实施例的描绘图1的寄存器文件内的控制逻辑的框图。
图5是描绘可用于图2B的电路中的动态控制逻辑细节的示意图。
图6是描绘可用于图2A的电路中的动态控制逻辑细节的示意图。
具体实施方式
现在参照附图,尤其是参照图1,其示出了体现本发明方法和装置的寄存器文件电路的框图。
存储单元12的阵列在横跨图1排列的行中存储字。字中的每一位形成上下排列的列。存储单元12的物理布局一般模仿所示出的布局,不同之处可能在于,例如行可分为两个或更多的单位,在这种情况下一部分行的布局可能模仿该图中的那一部分,而寄存器文件的整个布局可被拆分。存储单元12与提供选通信号的控制逻辑10耦合,该选通信号控制单个存储单元12以便在寄存器文件内对寄存器(行)执行读和写功能。应当理解行和列可在特定的寄存器文件设计中互换,而且在此以及在权利要求书中使用术语“行”是为了指明对应于可以是任意位宽度的单个存储“字”的存储单元组。控制逻辑10也可以与扫描逻辑16耦合,以通过产生与存储单元12和检测单元14的特殊功能性/扫描时钟关系来测试寄存器文件电路的性能。数据输入和输出缓冲器/锁存器18用于输入和输出来自存储单元12的数据。
图1公开的寄存器文件的独特性在于增加了一个或多个检测单元14(和/或检测单元14A和14Z)。这些检测单元用于提供这样一种信号,其指示包含在给定写操作中的所有存储单元12都采取由写入存储单元12的数据指示的状态的时刻。该检测通过使用具有与存储单元12匹配的特征的单元来执行,从而在诸如时钟脉冲相位差、电源电压、温度变化和过程变化的工作变化期间,写选通信号和存储单元12中数据的实际变化之间的延迟将与产生检测单元14(和/或14A和14Z)中状态变化的延迟匹配。
检测单元的数量和位置可以根据本发明的实施例变化。检测单元14代表其中每一行都包括检测单元并且其位于每行末端的物理和逻辑设置。应当理解相对于术语“行”使用的术语“末端”指示相对于时钟(选通信号)分布网络的远端。换句话说,行中的末端单元是最后一个接收选通转变的单元。由此检测单元14的使用向每一行提供了这样的信号,其可以表明对该行的写入应当导致位于该行内的任意存储单元发生完全的状态变化的时刻。可替换的,一列检测单元可以位于远离行末端的其它位置,这在将检测单元状态变化的延迟调整为读取阻止延迟中特别有用。其它多重检测单元设置也是可以的,如每隔一行提供一个检测单元14。
可替换的,可采用一个检测单元14A或14Z来提供表明写入完成的信号。(或者对于拆分的阵列,对该阵列的每一部分可以使用一个检测单元)。检测单元14Z表明对应于该阵列最后一行的末端的一个单元的位置,其中“最后”是以类似于上述“末端”的方式来定义的,表明不管是行还是列该单元都位于时钟分布的远端。因此检测单元14Z指明写入所涉及的所有其它单元都应当已经完成了其状态变化。为了保证状态变化确实已经发生,控制逻辑10在使写后读可以发生之前提供一些延迟以提供可靠余量。此外,在其它位置上的检测单元如检测单元14A的位置需要向写入完成信号增加延迟,以补偿其它单元预期比检测单元14A更晚发生状态变化这个事实。
总的来说,本发明针对包括一个或多个检测单元的寄存器文件电路,该检测单元提供写入完成指示,从而可以阻止早于写选通信号周期的结束而发生的读取,或者在确认存储单元12中的数据是稳定的之前不产生这样的读取。检测单元(14,14Z)可以直接提供这样的指示,其中控制电路10仅包括这种可靠余量所需要的附加延迟。或者诸如检测单元14A的检测单元可以提供具有通过控制逻辑或者通过发布给控制逻辑的指示加入的延迟的早期指示,从而达到该可靠余量。上述操作的优点是不必控制读选通信号的时序和脉冲相位差,从而知道写入将完成,这通常在现有技术中是通过将读选通信号一直延迟到写选通信号被解除为止来实现的。在一些动态电路设计中,在写选通信号开始之后加入固定的余量,并且该余量用于启动下一次读取。
应用本发明技术的结果是改善了寄存器文件电路的吞吐量方面的性能。此外,该电路实现了根据工作参数伸缩的更好的延迟,允许工作频率增加,并且允许其中不必大范围地计算上述余量的设计。另一个结果是提供了异步读取操作,从而在由于写入周期的完成而导致状态变化之前不会对同一行进行读选通。
下面参照图2A,连接示例性控制逻辑10A的检测单元24A可用在图1的控制逻辑10电路内。检测单元24A是经过修改的存储单元,具有通过传输门TG1和TG2(或者使用一个导通晶体管的导通门)耦合到缓冲器B1的两个输入,其中在缓冲器B1的输入端上有存储器。一个传输门TG1输入连接到逻辑高值,而另一个输入(TG2)连接到逻辑低值。当“写入行”激活时(逻辑高),存储单元24A事先由于传输门TG2的激活的低使能输入连接到“写入行”信号而处于逻辑低状态下,并且仅在施加“写入行”之后以及在检测单元24A固有的时钟-状态变化(clock-to-state-change)延迟过去之后才变换到逻辑高状态。通过在施加“写入行”信号时激活传输门TG1来设置检测单元24A的逻辑高状态。
检测单元24A的输出通过可选择的延迟D2提供给控制逻辑10A,如上所述该延迟可被调整为补偿检测单元24A的位置并且还可以与到控制逻辑10A的路径延迟和控制逻辑10A的内部延迟一起提供期望的可靠余量。在控制逻辑10A内,逻辑与门27限定行读选通信号“行读选通”以产生提供给存储单元12的读取输入端的“读取行”信号,从而在检测单元24A指明写入状态发生变化之前不会对行存储单元12进行读取。在与门27输入端的“写完成”信号由组合了静态和动态功能的逻辑电路提供。下面将在图6及相关描述中详细解释在动态与门内包括的具有静态功能的特殊电路。由反相器I1代表的动态多米诺(domino)电路的求和节点与静态逻辑与非门29的输入端连接。反相器I1的预充电输入端与“写入行”信号连接,从而在对行开始写入之前,反相器I1的输出在逻辑高状态下。因此在施加“写入行”信号时,逻辑与非门29的两个输入都是逻辑高值,该值禁止在检测单元24A固有的时钟-状态变化延迟以及由延迟D2导致的任何附加延迟过去之前通过与门27输入“行读选通”信号。
当检测单元24A固有的时钟-状态变化延迟以及由延迟D2导致的任何附加延迟过去之后,反相器I1进行求值,从而在与非门29的输入端提供逻辑低值。然后与非门29的输出将采取逻辑高状态,使得可以通过与门27输入“行读选通”信号。反相器I1将继续在与非门29的输入端提供逻辑低值直到解除“写入行”信号为止。在解除“写入行”信号之后,为下一次求值对反相器I1进行预充电,但“写入行”信号与与非门29的连接保证在下次写入行开始之前与非门29的输出将继续使“行读选通”信号有效,这防止了“读取行”周期被“写入行”信号的解除截断。
虽然该图示出在单独的控制逻辑10A(是图1的控制逻辑10的一部分)中存在的门控功能,应当理解该门控功能的物理位置可以在每个行单元局部提供或者由位于该行内的一个门提供,其中检测单元14的输出沿着行线分布。
下面参照图2B,示出另一种检测单元电路和相关的控制逻辑10B,该电路在具有可扫描体系结构的寄存器文件电路中特别有利。在所示电路中,检测单元24B与通常用于存储检测单元24B中用于扫描测试的值的扫描锁存器22连接。但是与检测单元24B连接的扫描锁存器22在功能(工作)模式下用于另一目的。“写入行”信号与检测单元24B(是标准的存储单元)的允许输入端连接,并且通过反相器I2向扫描锁存器22提供反相的“写入行”信号。将扫描锁存器22的反相的输出提供到存储单元24B的写数据输入端,从而存储在检测单元24B的逻辑值在每个写选通信号时交替。由于扫描锁存器22中的值在解除“写入行”信号之前没有更新,因此刚开始扫描锁存器22和存储单元24B的值是相同的,并且在施加“写入行”信号以及检测单元24B固有的时钟-状态变化延迟过去之前继续保持相同。
控制逻辑10B检查检测单元24B和扫描锁存器22的输出何时变为不同,如上所述向图2A的电路提供的指示,可选择将该指示由延迟D2延迟,该延迟D2延迟检测单元24B的输出变化并由此通过动态异或非门和静态与非门29提供写完成(WriteComp)信号。下面在图5和相关描述中详细示出包括静态与非功能的动态异或非电路。
动态异或非门25的当前输入与“写入行”信号连接,从而除了在施加“写入行”信号之后以及在检测单元24B的可选择延迟的输出由于写入周期而改变了状态之前,异或非门25的输出保留在预充电状态下。在施加“写入行”信号时,与非门29的两个输入都采取逻辑高值,由于异或非门25的输入此时相等,因此阻止异或非门25进行求值。与非门29的输出因此将处于逻辑低电平,这阻止了在由于写入周期而发生状态变化之前就到达的任何“行读选通”。在检测单元24B固有的时钟-状态变化延迟以及由于延迟D2的任何附加延迟过去之后,动态异或非门25进行求值,由此在与异或非门25连接的与非门29的输入端提供逻辑低值。然后与非门29的输出变成逻辑高值,使得可以通过与门27输入“行读选通”信号。动态异或非门25在解除“写入行”信号和异或非门25预充电之前继续在与非门29的输入端提供逻辑低值。将“写入行”信号提供给与非门29的另一个输入端,从而与非门29的输出一直保持到下一次对行的写周期为止,这防止了在扫描锁存器22的输出改变状态时“读取行”周期被“写入行”信号的解除截断。
现在参照图3,示出说明在图1的寄存器文件电路内的图2B的电路操作的时序图。对于图2A的电路来说,每个周期的操作都类似于图3所示的第一周期(左手边),因为图2A中的检测单元的初始值不会在周期之间交替。在接收“写入行”信号之时及之前,检测单元输出(DetstorageCell)与扫描锁存器输出(DetScanLatch)匹配,而写完成信号为低。当检测单元24B固有的时钟-状态变化延迟过去之后,DetStorageCell变成与DetScanLatch相反的值(由于扫描锁存器22的输出反相后连接到检测单元24B的输入端),异或非门25转变为逻辑高值,由此提供限定行读选通信号行读取的写完成信号,从而向存储单元12提供驱动行读选通信号的读取行信号。因此正如可以从图3中看出的,读取行信号在延迟结束之前被行读取信号截断。同时在该图中还示出,向调整的延迟添加了单元延迟(即引起状态变化延迟的固有的检测单元写选通信号),这包括可靠余量以及调整不能保证是在写入操作时转变的最后一个单元的检测单元而需要的任何延迟。
现在参照图4,以可能用在图1寄存器文件电路内的其它控制逻辑10C的形式示出其它块机制。控制逻辑10C在地址单元44接收写完成信号,该地址单元44将下个读取地址与上个写入地址相比较以确定对行的读取访问是否需要被阻止到检测出检测单元14由于上次写入而发生了状态变化为止。如果不需要,则行读选通信号的产生一直推迟到接收了写完成指示为止。此时,选通信号发生器/线程缓冲器42提供合适的读取选通信号。
现在参照图5,示出可用于实施图2B的控制逻辑10B的特殊电路。所示电路的优点在于为了提供与非功能,在标准动态异或门上只需要添加少量的器件,由此实现了动态异或非25和与非29的组合。逻辑异或非功能在内部求和节点Node0由两个N器件树提供,其中晶体管N60和N61形成第一棵树,晶体管N62和N63形成第二棵树。晶体管N61和N63的栅极分别由扫描锁存器22的输出和由反相器I61提供的互补输出驱动。类似的,晶体管N60和N62分别由检测单元24B的输出和由反相器I60提供的互补输出驱动。产生的功能是在节点0的动态异或非功能,包括完成动态电路功能的预充电晶体管P60和底部晶体管N64。半锁存器HL60提供以下特性:在没有预充电信号的情况下在求值发生之前和之后都一直保持内部节点Node0的状态。反相器I62转换内部节点信号Node0,从而在写完成的输出端提供传统的异或功能,但是为底部晶体管N65和上拉晶体管P61的输出提供的。当/预充电输入(在这种情况下是写入行)信号为逻辑低状态时(在没有写选通信号期间),底部晶体管N65关闭,从而通过抑制反相器I62而禁止了异或操作。同样,晶体管P61接通,由此导致该电路的输出被强制为逻辑高值,同时/预充电输入被激活(因此为了防止通过反相器I62短路上拉输出而需要晶体管N65)。上述电路的操作是违反直觉的,因为在典型的动态逻辑门中从预充电状态变化的输出状态反映了内部求和节点的求值后状态。但在所示电路中,输出状态变化是在解除/预充电信号时进行的,并且一直保持到该电路求值了为止。因此所示电路特别适用于本发明的操作,其中希望产生能指示在初始化行写入与由于固有的检测单元延迟结束而在控制逻辑输入中发生的改变之间的时间的信号。
现在参照图6,示出可用于实施图2A的控制逻辑10A的特殊电路。所示电路是图5中电路的简化,因此只描述不同之处。所示电路在图2A的电路中提供动态反相器I1和与非门29的组合操作。由于只需要检测单元输出以提供用于产生写完成信号以及用作预充电信号的写入行信号的状态变化,因此对于求值树只需要晶体管N62,并且内部求和节点代表检测单元输出的动态逻辑相反值(即仅在电路没有在预充电条件下而且检测单元输出在逻辑高条件下时该求和节点才为逻辑低值)。该电路的平衡如针对图5电路所描述的那样运行,其中对一个与非输入是/预充电信号的内部求和节点的状态施加与非功能。当解除该/预充电信号时,内部求和节点的预充电状态将导致所示电路的输出转变为逻辑低状态(在预充电周期期间一直由晶体管P61保持之后)。当检测单元输出转变为逻辑高状态时,所示电路的输出将回到逻辑高状态。
虽然参照本发明的优选实施例特别示出和描述了本发明,本领域的技术人员应当理解在不脱离本发明的精神和范围的情况下可以在形式和细节上进行上述和其它改变。
Claims (26)
1.一种用于减少寄存器文件电路中的写后读延迟的方法,包括:
向所述寄存器文件电路内的寄存器写入一个或多个值;
与所述写入同时地触发所述寄存器文件电路内的至少一个检测单元的状态改变;
在所述写入开始时阻止对所述寄存器的读取访问并直到取消该阻止为止;
作为所述触发的结果检测所述至少一个检测单元何时改变状态;以及
取消所述阻止,由此可以读取所述寄存器。
2.根据权利要求1所述的方法,其中所述触发包括向所述至少一个检测单元写入对应于所述至少一个检测单元的当前状态的相反状态的值。
3.根据权利要求2所述的方法,其中所述至少一个检测单元是可扫描寄存器文件单元,其中所述方法还包括在所述写入之前将所述当前状态存储在所述可扫描寄存器文件单元的扫描锁存器中,并且其中所述触发包括响应所述写入而向所述至少一个检测单元写入扫描锁存器当前值的互补值。
4.根据权利要求1至3中任一项所述的方法,其中所述触发包括向所述至少一个检测单元写入预定值,并且其中所述方法还包括在所述写入之前将所述至少一个检测单元重新设置为该预定值的相反值,由此响应所述写入而发生从所述相反值到所述预定值的状态变化。
5.根据权利要求1至3中任一项所述的方法,其中所述至少一个检测单元是处于这样位置的一个单元,所述状态改变在所述寄存器中的任意其它单元响应所述写入而改变值之后发生,并且其中所述取消是响应所述检测而立即执行的。
6.根据权利要求4所述的方法,其中所述至少一个检测单元是处于这样位置的一个单元,所述状态改变在所述寄存器中的任意其它单元响应所述写入而改变值之后发生,并且其中所述取消是响应所述检测而立即执行的。
7.根据权利要求1至3中任一项所述的方法,其中所述至少一个检测单元是处于这样位置的一个单元,所述状态改变在所述寄存器中的另一个单元响应所述写入而改变值之前发生,并且其中所述方法还包括将所述检测的结果延迟预定时间,其中响应所述延迟的结束而执行取消。
8.根据权利要求4所述的方法,其中所述至少一个检测单元是处于这样位置的一个单元,所述状态改变在所述寄存器中的另一个单元响应所述写入而改变值之前发生,并且其中所述方法还包括将所述检测的结果延迟预定时间,其中响应所述延迟的结束而执行取消。
9.根据权利要求1至3中任一项所述的方法,其中所述至少一个检测单元的数量多于一个,所述寄存器文件电路中的每个寄存器对应一个检测单元,其中所述方法还包括响应所述写入而选择与所述寄存器相关的特定检测单元,由此所述触发只在所述特定检测单元中触发所述状态改变。
10.根据权利要求4所述的方法,其中所述至少一个检测单元的数量多于一个,所述寄存器文件电路中的每个寄存器对应一个检测单元,其中所述方法还包括响应所述写入而选择与所述寄存器相关的特定检测单元,由此所述触发只在所述特定检测单元中触发所述状态改变。
11.一种寄存器文件阵列,包括:
多个存储单元,用于存储位值并按照逻辑行和列排列;
至少一个检测单元,配置为响应对多个存储单元的行写入而改变状态;以及
时钟控制逻辑,用于通过检测所述至少一个检测单元的状态变化防止在所述至少一个检测单元的输出状态变化之前对所述行的读取访问。
12.根据权利要求11所述的寄存器文件阵列,还包括具有与所述至少一个检测单元的输入端耦合的反相输出端和与至少一个检测单元的输出端耦合的输入端的存储寄存器,并且还包括用于响应所述写入而向所述至少一个检测单元写入所述存储寄存器的值的控制逻辑,由此在每次对所述行进行写入访问时存储在所述至少一个检测单元内的值改变状态。
13.根据权利要求12所述的寄存器文件阵列,其中所述至少一个检测单元是可扫描存储单元,并且其中所述存储寄存器是与所述可扫描存储单元相关的扫描锁存器。
14.根据权利要求11所述的寄存器文件阵列,还包括用于在所述写入开始之前将所述至少一个检测单元设置为预定状态的控制逻辑,并且其中所述至少一个检测单元配置为响应所述写入而变成与所述预定状态值相反的第二状态,其中所述时钟控制逻辑通过检测到所述至少一个检测单元处于所述第二状态来检测所述状态改变。
15.根据权利要求11所述的寄存器文件阵列,其中所述至少一个检测单元的数量等于所述逻辑行的数量,其中与所述至少一个检测单元连接的写选通信号是针对相关行的写使能输入,并且其中所述时钟控制逻辑在该相关检测单元改变状态之前一直防止对所述相关行的读取访问。
16.根据权利要求15所述的寄存器文件阵列,其中所述逻辑行和列按照物理行和列排列,其中每个所述检测单元位于所述列中的一个预定列中,由此所述状态改变的时间发生在与结束对所述行的所述写入成预定关系的时间。
17.根据权利要求16所述的寄存器文件阵列,其中所述逻辑行和列按照物理行和列排列,其中每个所述检测单元基本上位于所述相关行的中心,由此所述状态改变的时间接近在所述存储单元由于对所述行的所述写入而发生的状态改变结束的中间时间。
18.根据权利要求17所述的寄存器文件阵列,还包括延迟电路,用于提供预定延迟并具有与所述至少一个检测单元的所述输出端耦合的输入端以及与所述时钟控制逻辑耦合的输出端,由此所述时钟控制逻辑仅在所述状态改变发生之后以及所述预定延迟结束之后才停止防止读取访问。
19.根据权利要求11所述的寄存器文件阵列,其中所述至少一个检测单元的数量是一个。
20.根据权利要求19所述的寄存器文件阵列,还包括延迟电路,用于提供预定延迟并具有与所述至少一个检测单元的所述输出端耦合的输入端以及与所述时钟控制逻辑耦合的输出端,由此所述时钟控制逻辑仅在所述状态改变发生之后以及所述预定延迟结束之后才停止防止读取访问。
21.根据权利要求20所述的寄存器文件阵列,其中所述逻辑行和列按照物理行和列排列,并且其中所述至少一个检测单元基本上位于所述物理行和列的中心,由此所述状态改变的时间接近对所述寄存器文件的任何写入结束的中间时间,其中所述预定延迟足以延迟对所述防止的所述停止,使得任何写入结束所述多个存储单元中任何被影响单元的状态改变。
22.根据权利要求19所述的寄存器文件阵列,其中所述逻辑行和列按照物理行和列排列,并且其中所述至少一个检测单元是位于所述物理行和列末端的检测单元,由此所述状态改变的时间在所述存储单元由于对任意行的写入而发生的状态改变结束之后才发生。
23.根据权利要求11所述的寄存器文件阵列,其中所述时钟控制逻辑与所述寄存器文件阵列的存取控制逻辑集成在一起,并且在从所述检测单元接收到所述状态改变已发生了的指示之前一直阻止对所述行的读取选通信号的产生。
24.根据权利要求23所述的寄存器文件阵列,其中所述指示提供给所述存取控制逻辑的地址单元,其中所述地址单元包含地址比较器,用于将所述行的地址与关联于所述读取访问的下一行的地址相比较,其中仅当所述下一行的所述地址等于所述行的所述地址时所述存取控制逻辑才延迟所述读取选通信号的产生。
25.一种寄存器文件阵列,包括:
多个存储单元,用于存储位值并按照逻辑行和列排列;
至少一个检测单元,配置为响应对所述多个存储单元的行写入而改变状态,其中所述至少一个检测单元是包括扫描锁存器和检测存储单元的可扫描存储单元,其中所述扫描锁存器的反相输出与所述检测存储单元的输入耦合,所述扫描锁存器的输入与所述检测存储单元的输出耦合,其中所述扫描锁存器的扫描时钟输入与所述寄存器文件阵列的写选通信号耦合,并响应于所述写选通信号的解除状态,由此在写入之间存储所述至少一个检测单元的状态;以及
时钟控制逻辑,用于通过检测所述至少一个检测单元的状态变化防止在所述至少一个检测单元的输出状态变化之前对所述行的读取访问,其中所述时钟控制逻辑与所述扫描锁存器的检测输出和所述检测存储单元的所述输出耦合,并且其中所述防止一直保持到所述扫描锁存器的检测输出和所述检测存储单元的所述输出为不同的逻辑值为止。
26.一种用于减少寄存器文件电路中的写后读延迟的方法,包括:
向所述寄存器文件电路内的寄存器写入一个或多个值;
响应所述写入,触发所述寄存器文件电路内的至少一个检测单元的状态改变;
在所述写入开始时阻止对所述寄存器的读取访问并直到取消该阻止为止;
作为所述触发的结果检测所述至少一个检测单元何时改变了状态;以及
取消所述阻止,由此可以读取所述寄存器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/922,247 US7012839B1 (en) | 2004-08-19 | 2004-08-19 | Register file apparatus and method incorporating read-after-write blocking using detection cells |
US10/922,247 | 2004-08-19 | ||
PCT/EP2005/054103 WO2006018452A1 (en) | 2004-08-19 | 2005-08-19 | Register file apparatus and method incorporating read-after-write blocking using detection cells |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1998051A CN1998051A (zh) | 2007-07-11 |
CN100594553C true CN100594553C (zh) | 2010-03-17 |
Family
ID=35285389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580023208A Expired - Fee Related CN100594553C (zh) | 2004-08-19 | 2005-08-19 | 寄存器文件装置和利用检测单元阻止写后读的方法 |
Country Status (12)
Country | Link |
---|---|
US (2) | US7012839B1 (zh) |
EP (1) | EP1784834B1 (zh) |
JP (1) | JP4392041B2 (zh) |
KR (1) | KR100901235B1 (zh) |
CN (1) | CN100594553C (zh) |
AT (1) | ATE436073T1 (zh) |
CA (1) | CA2577272A1 (zh) |
DE (1) | DE602005015336D1 (zh) |
IL (1) | IL181245A (zh) |
MX (1) | MX2007002013A (zh) |
TW (1) | TWI349941B (zh) |
WO (1) | WO2006018452A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100636676B1 (ko) * | 2005-02-03 | 2006-10-23 | 주식회사 하이닉스반도체 | 내부전압 생성 제어회로 및 이를 이용한 내부전압 생성회로 |
US7610571B2 (en) * | 2006-04-14 | 2009-10-27 | Cadence Design Systems, Inc. | Method and system for simulating state retention of an RTL design |
US9105328B2 (en) * | 2012-07-31 | 2015-08-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Tracking signals in memory write or read operation |
GB2501791B (en) | 2013-01-24 | 2014-06-11 | Imagination Tech Ltd | Register file having a plurality of sub-register files |
US11269777B2 (en) * | 2019-09-25 | 2022-03-08 | Facebook Technologies, Llc. | Systems and methods for efficient data buffering |
CN114528019A (zh) * | 2020-11-23 | 2022-05-24 | 深圳比特微电子科技有限公司 | 多比特寄存器、芯片和计算装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447974A (zh) * | 2000-07-07 | 2003-10-08 | 睦塞德技术公司 | 同步行和列存取操作的方法和装置 |
US6643204B1 (en) * | 2001-05-16 | 2003-11-04 | Lsi Logic Corporation | Self-time scheme to reduce cycle time for memories |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594691A (en) * | 1995-02-15 | 1997-01-14 | Intel Corporation | Address transition detection sensing interface for flash memory having multi-bit cells |
US5572467A (en) * | 1995-04-24 | 1996-11-05 | Motorola, Inc. | Address comparison in an inteagrated circuit memory having shared read global data lines |
JP3093649B2 (ja) * | 1996-09-05 | 2000-10-03 | 九州日本電気株式会社 | 不揮発性半導体メモリ装置 |
US6275437B1 (en) * | 2000-06-30 | 2001-08-14 | Samsung Electronics Co., Ltd. | Refresh-type memory with zero write recovery time and no maximum cycle time |
US6701484B1 (en) * | 2000-08-11 | 2004-03-02 | International Business Machines Corporation | Register file with delayed parity check |
JP4020644B2 (ja) * | 2002-01-09 | 2007-12-12 | アルプス電気株式会社 | Sawフィルタモジュール |
-
2004
- 2004-08-19 US US10/922,247 patent/US7012839B1/en not_active Expired - Fee Related
-
2005
- 2005-08-02 TW TW094126253A patent/TWI349941B/zh not_active IP Right Cessation
- 2005-08-19 DE DE602005015336T patent/DE602005015336D1/de active Active
- 2005-08-19 CA CA002577272A patent/CA2577272A1/en not_active Abandoned
- 2005-08-19 EP EP05779156A patent/EP1784834B1/en not_active Not-in-force
- 2005-08-19 MX MX2007002013A patent/MX2007002013A/es active IP Right Grant
- 2005-08-19 CN CN200580023208A patent/CN100594553C/zh not_active Expired - Fee Related
- 2005-08-19 KR KR1020077002554A patent/KR100901235B1/ko not_active IP Right Cessation
- 2005-08-19 JP JP2007526468A patent/JP4392041B2/ja not_active Expired - Fee Related
- 2005-08-19 AT AT05779156T patent/ATE436073T1/de not_active IP Right Cessation
- 2005-08-19 WO PCT/EP2005/054103 patent/WO2006018452A1/en active Application Filing
- 2005-10-03 US US11/242,376 patent/US7142463B2/en not_active Expired - Fee Related
-
2007
- 2007-02-08 IL IL181245A patent/IL181245A/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1447974A (zh) * | 2000-07-07 | 2003-10-08 | 睦塞德技术公司 | 同步行和列存取操作的方法和装置 |
US6643204B1 (en) * | 2001-05-16 | 2003-11-04 | Lsi Logic Corporation | Self-time scheme to reduce cycle time for memories |
Also Published As
Publication number | Publication date |
---|---|
IL181245A (en) | 2010-04-15 |
EP1784834A1 (en) | 2007-05-16 |
US7142463B2 (en) | 2006-11-28 |
TW200627470A (en) | 2006-08-01 |
US20060039203A1 (en) | 2006-02-23 |
CN1998051A (zh) | 2007-07-11 |
JP4392041B2 (ja) | 2009-12-24 |
US7012839B1 (en) | 2006-03-14 |
TWI349941B (en) | 2011-10-01 |
KR100901235B1 (ko) | 2009-06-08 |
WO2006018452A1 (en) | 2006-02-23 |
MX2007002013A (es) | 2007-03-28 |
KR20070042541A (ko) | 2007-04-23 |
CA2577272A1 (en) | 2006-02-23 |
DE602005015336D1 (de) | 2009-08-20 |
US20060039202A1 (en) | 2006-02-23 |
ATE436073T1 (de) | 2009-07-15 |
EP1784834B1 (en) | 2009-07-08 |
JP2008510241A (ja) | 2008-04-03 |
IL181245A0 (en) | 2007-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3843145B2 (ja) | 同期型半導体記憶装置 | |
US5325337A (en) | Random access memories (RAM) and more particularly to self-timed RAMS | |
KR100273090B1 (ko) | 메모리시험장치 | |
EP2263235A1 (en) | Address multiplexing in pseudo-dual port memory | |
KR100230115B1 (ko) | 반도체 메모리 | |
JP2007048432A (ja) | デュアルページプログラム機能を有するフラッシュメモリ装置のページバッファ回路およびそのプログラム動作方法 | |
CN103093808B (zh) | 时分多路复用多端口存储器 | |
JPH01138694A (ja) | メモリ装置 | |
US4388701A (en) | Recirculating loop memory array having a shift register buffer for parallel fetching and storing | |
CN100594553C (zh) | 寄存器文件装置和利用检测单元阻止写后读的方法 | |
US5584003A (en) | Control systems having an address conversion device for controlling a cache memory and a cache tag memory | |
US3984821A (en) | Associative memory using recirculatory shift register cells | |
CN101427319B (zh) | 带有钟控读出放大器的存储器 | |
US6834015B2 (en) | Semiconductor memory device for reducing data accessing time | |
US5777946A (en) | Semiconductor memory circuit equipped with a column addressing circuit having a shift register | |
JPH04233646A (ja) | データ転送インタフェースモジュール | |
US5654934A (en) | Semiconductor memory employing a block-write system | |
TWI817510B (zh) | 資料寫入控制裝置及其資料寫入控制方法 | |
US20040264280A1 (en) | Subarray control and subarray cell access in a memory module | |
JPS6117077B2 (zh) | ||
US6584024B2 (en) | Memory testing | |
KR100924017B1 (ko) | 오토 프리차지 회로 및 오토 프리차지 방법 | |
KR100247928B1 (ko) | 동기식 반도체 메모리장치 | |
JP2774752B2 (ja) | クロック同期型半導体記憶装置およびそのアクセス方法 | |
JPH10106288A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100317 Termination date: 20100819 |