CN101110261B - 多读端口寄存器文件级驱动位单元电路 - Google Patents
多读端口寄存器文件级驱动位单元电路 Download PDFInfo
- Publication number
- CN101110261B CN101110261B CN200710035331A CN200710035331A CN101110261B CN 101110261 B CN101110261 B CN 101110261B CN 200710035331 A CN200710035331 A CN 200710035331A CN 200710035331 A CN200710035331 A CN 200710035331A CN 101110261 B CN101110261 B CN 101110261B
- Authority
- CN
- China
- Prior art keywords
- read
- write
- unit
- register file
- port unit
- 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
Landscapes
- Static Random-Access Memory (AREA)
Abstract
本发明公开了一种多读端口寄存器文件级驱动位单元电路,它包括由PMOS管P1,P2和NMOS管N1,N2,N3构成三态存储体核心单元、读端口单元、写端口单元以及反相器链,所述写端口单元与存储体核心单元相连,所述反相器链包括两个或两个以上尺寸不一样的反相器,反相器链的输入端与存储体核心单元相连,输出端与读端口单元相连,反相器链中沿着从存储体核心单元到读端口单元的方向反相器的尺寸逐级递增。本发明是一种能够减小核心单元的驱动负载,从而有利于减小核心单元的面积,同时保证数据被正确读出的多读端口寄存器文件级驱动位单元电路。
Description
技术领域
本发明主要涉及到微处理器中寄存器文件和多端口SRAM的位单元电路结构领域,特指一种多读端口寄存器文件级驱动位单元电路。
背景技术
寄存器文件是微处理器中用于存放操作数和运算中间结果的部件,处于存储层次的最高一层,与运算部件距离最近,相对存储层次中的其他部件,它容量最小、速度最快;寄存器文件的使用减少了运算部件对主存的访问次数、提高了运算速度。它作为CPU内核的关键部件,不可缺少,性能越高的微处理器对它的需求和依赖越重。数据寄存器文件作为寄存器文件中的一种,处于数据通路上,其访问速度直接决定了处理器性能。
当前在市场需求和技术进步的作用下,微处理器性能也在不断提升。微处理器性能的提高,一方面依赖于体系结构的改进,随着CPU对指令的前瞻性推测执行、指令的显式并行执行、前瞻多线程、同时多线程等技术的应用,致使在ILP和IPC不断提高的同时,流水线数目和指令窗口也在不断增大,这些都导致了使用的寄存器规模在不断增大。同时为了在一个周期内给不断增多的运算部件提供数据和存储结果,寄存器文件的读写端口数也在不断增多。大规模、多端口寄存器文件往往很难具有很快的读写访问速度,逐渐成为了高性能微处理器设计中的瓶颈。
据报道,1986年以前,微处理器性能平均每年提高35%,1987年以后,微处理器性能平均每年提高55%,而对于存储器,若以1980年的64KB DRAM为基准,那么它每3年才能更新换代一次,访问延迟每年只有7%的性能增长。当前存储器的性能已经和微处理器不相匹配了,而且这个差距还在不断增大。
由此可见对于大规模、多端口寄存器文件进行高速设计至关重要。
要实现寄存器文件的高速设计,对完成读、写、存功能的核心位单元进行优化就成了关键问题,设计良好的位单元电路,一方面可以减小读写译码的负载;另一方面,可以保证对同一字进行多读端口同时读出的良好驱动力。
微处理器中使用到的寄存器文件常用的位单元设计方法如下:
1、采用类似于SRAM的双端读写位单元电路,如果不使用读写共享,则每增加一个读出或者写入端口,相应的存储体上就要增加两个读出或者写入管,图1是两读一写端口的双端读写位单元电路。
图中PMOS管P1,P2和NMOS管N1,N2构成存储核心单元,NMOS管Nr0,Nr1和Nw0分别为两个读数据选通管,和写数据选通管。RE0为第0读端口使能信号,RE1为第1读端口使能信号;RD0为第0读端口读出信号,RD0_NOT为第0读端口读出信号取反值,RD1为第1读端口读出信号,RD1_NOT为第1读端口读出信号取反值;WE0为第0写端口使能信号,WD0为第0写端口写入信号,WD0_NOT为第0写端口写入信号取反值。
采用这样的存储位单元结构,随着寄存器文件向着大规模、多端口方向发展,一方面大规模的发展趋势将引起读出管驱动的负载加大,这可能需要增大读出管尺寸,另一方面,读出端口数目也在不断增多;而在核心位单元中存在着如下驱动链关系:读写译码器分别驱动读出和写入管、读出管驱动读出负载、存储体驱动读出管、写入管驱动存储体。这样为了保持性能不降低,需要依次增大存储体、写入管、读写译码单元尺寸,一方面致使版图实现不利,另一方面增大了寄存器文件输入地址信号、写数据信号、时钟信号和读写使能信号的负载,对全局电路实现不利。
2、采用寄存器文件通常使用的单端读写核心位单元结构,如图2所示,
与双端读写单元不同,这种三态位单元结构在进行读出操作时,三态存储体反馈存值,保证读出;在进行写入操作时,使能信号EN将NMOS管N3关断,从而关断三态存储体,完成无竞争的写入操作。因此,这种三态位单元结构读和写都只需要对一端操作即可完成,当需要增加读写端口时,每个端口只需要增加一个读出管或者写入管,这种结构虽然可以大大减小版图面积,但是也存在着通常设计结构1中所说的驱动链问题,引起相同的设计不利因素。因此需要对包含读写存功能的核心位单元进行改进,弱化驱动链问题带来的不利因素,利用驱动链有利的一面,减小尺寸逐增影响。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术问题,本发明提供一种能够能够减小核心单元的驱动负载,从而有利于减小核心单元的面积,同时保证数据被正确读出的多读端口寄存器文件级驱动位单元电路。
为解决上述技术问题,本发明提出的解决方案为:一种多读端口寄存器文件级驱动位单元电路,其特征在于:它包括由PMOS管P1,P2和NMOS管N1,N2,N3构成三态存储体核心单元、读端口单元、写端口单元以及反相器链,所述写端口单元与存储体核心单元相连,所述反相器链包括两个或两个以上尺寸不一样的反相器,反相器链的输入端与存储体核心单元相连,输出端与读端口单元相连,反相器链中沿着从存储体核心单元到读端口单元的方向反相器的尺寸逐级递增。
所述读端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号RE控制。
所述写端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号WE控制。
与现有技术相比,本发明的优点就在于:
1、本发明的多读端口寄存器文件级驱动位单元电路,其存储体核心单元驱动小尺寸的反相器,可以减小核心单元的驱动负载,从而有利于减小核心单元的面积。而采用大尺寸的反相器驱动读端口电路可以保证数据被正确读出。
2、本发明的多读端口寄存器文件级驱动位单元电路,根据驱动链关系,依次减小了存储体、写入逻辑和写译码电路尺寸;
3、本发明的多读端口寄存器文件级驱动位单元电路,易化了版图实现,减小了写地址驱动负载。
附图说明
图1是双端读写位单元电路原理示意图;
图2是单端读写位单元电路原理示意图;
图3是本发明的结构框架示意图;
图4是本发明具体实施例的电路原理图;
具体实施方式
以下将结合附图和具体实施例对本发明做进一步详细说明。
如图3和图4所示,本发明多读端口寄存器文件级驱动位单元电路,它包括由PMOS管P1,P2和NMOS管N1,N2,N3构成三态存储体核心单元、读端口单元、写端口单元以及反相器链,所述写端口单元与存储体核心单元相连,所述反相器链包括两个或两个以上尺寸不一样的反相器,反相器链的输入端与存储体核心单元相连,输出端与读端口单元相连,反相器链中沿着从存储体核心单元到读端口单元的方向反相器的尺寸逐级递增。其中,读端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号RE控制,写端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号WE控制。
如图3所示,是本发明的结构框图,在读数据操作时,如果存储器核心单元中存储的是“0”信号,则图中存储器核心单元的Read端为低电平,反之则为高电平。该信号经过反相器链逐级被驱动到读端口电路端,在读端口电路中,根据各读端口译码器的译码结果,将相应的读端口选通管打开,将存储的信号输出到后级电路。其中反相器链中的反相器级数可因驱动负载的不同而不同,而且当反相器链中的反相器为奇数个时,读出端口电路读出的是存储核心单元的信号取反值。在该结构中,反相器链的尺寸从存储核心单元到读端口电路方向是逐级增大的。因此,存储器核心的Read端只需要驱动小尺寸的反相器,这样有利于减小存储核心单元的面积,进而减小写端口电路的面积。而读端口电路端由大尺寸的反相器驱动,可以保证对多个读端口负载进行有效驱动。
参见图4所示,为本发明在一个12读、8写的寄存器文件中的实施例。寄存器文件位单元电路中,电路20是三态存储器核心单元,电路10是本发明提出的反相器驱动链,电路30是8个端口的写端口电路,电路40是12个端口的读端口电路,其中:
PMOS管P1,P2和NMOS管N1,N2,N3构成三态存储体核心,EN为用于控制三态存储体关断、导通的使能信号。在读操作时,EN信号保持NMOS管N3开启,三态存储体反馈存值,保证读出;在写操作时,EN信号将NMOS管N3关断,从而关断三态存储体的反馈回路,完成数据无竞争写入;
NMOS管Nr0到Nr11是12个读端口的选通管,分别由使能信号RE0到RE11控制,RD0到RD11分别为相应的第0到第11个读出信号端。当读取数据时,如果第i端口将要读取数据,则其对应的使能信号REi上跳为高电平,将读出选通管Nri开启,存储体核心中的数据被读出到数据端口RDi;
NMOS管Nw0到Nw7是8个写端口的选通管,分别由使能信号WE0到WE7控制,WD0到WD7分别为相应的第0到第7个写入信号端。当写入数据时,如果第j个端口将要写入数据,则其对应的使能信号WEj上跳为高电平,将写入选通管Nwj开启,写数据端口WDj的数据被写入存储体核心;
反相器链inv1到inv3是本发明创新性提出的读端口级驱动结构。反相器链输入端连接到存储核心单元,输出端连接到12个读端口的读端口电路,并且反相器尺寸从inv1到inv3逐级增大,在读取数据时,存储单元驱动小尺寸的反相器inv1,存储的数据在反相器链中传输,最终由大尺寸反相器inv3将读出数据驱动到各个读端口选通管。
在本实施例中,12个读端口、8个写端口均为单端读写电路,使能信号通过控制NMOS管控制读写数据的出入,对于使用这种位单元构建的寄存器文件,读写操作方式为,在同一时钟周期上升沿后,可以同时进行12个读端口的读操作和8个写端口的写操作。同时采用了三态存储体结构,在进行读出操作时,三态存储体反馈存值,保证读出;在进行写入操作时,使能信号EN将NMOS管N3关断,从而关断三态存储体,完成无竞争的写入操作。本发明在12个读端口与核心存储体之间加入三级尺寸逐增的驱动反相器,在12个读端口同时从这个位单元进行数据读出时,大尺寸反相器inv3可以提供足够的驱动能力,另一方面,小尺寸的反相器inv1又减小了存储核心单元的负载。
Claims (3)
1.一种多读端口寄存器文件级驱动位单元电路,其特征在于:它包括由PMOS管P1,P2和NMOS管N1,N2,N3构成三态存储体核心单元、读端口单元、写端口单元以及反相器链,所述写端口单元与存储体核心单元相连,所述反相器链包括两个或两个以上尺寸不一样的反相器,反相器链的输入端与存储体核心单元相连,输出端与读端口单元相连,反相器链中沿着从存储体核心单元到读端口单元的方向反相器的尺寸逐级递增。
2.根据权利要求1所述的多读端口寄存器文件级驱动位单元电路,其特征在于:所述读端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号RE控制。
3.根据权利要求1或2所述的多读端口寄存器文件级驱动位单元电路,其特征在于:所述写端口单元包括两个或两个以上的NMOS管作为选通管,分别由一组与之对应的使能信号WE控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710035331A CN101110261B (zh) | 2007-07-10 | 2007-07-10 | 多读端口寄存器文件级驱动位单元电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710035331A CN101110261B (zh) | 2007-07-10 | 2007-07-10 | 多读端口寄存器文件级驱动位单元电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110261A CN101110261A (zh) | 2008-01-23 |
CN101110261B true CN101110261B (zh) | 2010-05-19 |
Family
ID=39042280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710035331A Expired - Fee Related CN101110261B (zh) | 2007-07-10 | 2007-07-10 | 多读端口寄存器文件级驱动位单元电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101110261B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875071B (zh) * | 2018-08-31 | 2022-05-10 | 华为技术有限公司 | 一种静态随机存储器sram单元以及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370068B2 (en) * | 2000-01-05 | 2002-04-09 | Samsung Electronics Co., Ltd. | Semiconductor memory devices and methods for sampling data therefrom based on a relative position of a memory cell array section containing the data |
CN1447974A (zh) * | 2000-07-07 | 2003-10-08 | 睦塞德技术公司 | 同步行和列存取操作的方法和装置 |
-
2007
- 2007-07-10 CN CN200710035331A patent/CN101110261B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370068B2 (en) * | 2000-01-05 | 2002-04-09 | Samsung Electronics Co., Ltd. | Semiconductor memory devices and methods for sampling data therefrom based on a relative position of a memory cell array section containing the data |
CN1447974A (zh) * | 2000-07-07 | 2003-10-08 | 睦塞德技术公司 | 同步行和列存取操作的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101110261A (zh) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103219037B (zh) | 多端口读写的片内存储器 | |
US7327597B1 (en) | Static random access memory architecture | |
CN102148052B (zh) | 存储器电路及其控制电路装置 | |
CN101346772B (zh) | 存储电路及控制该存储电路的方法 | |
US20090175107A1 (en) | Apparatus for and Method of Current Leakage Reduction in Static Random Access Memory Arrays | |
US8493811B2 (en) | Memory having asynchronous read with fast read output | |
CN102610269B (zh) | 一种多读单写片内存储器 | |
CN105304123B (zh) | 静态随机存取存储器 | |
CN101110261B (zh) | 多读端口寄存器文件级驱动位单元电路 | |
US8000156B2 (en) | Memory device with propagation circuitry in each sub-array and method thereof | |
CN103412848A (zh) | 一种四核处理器系统共享单一程序存储器的方法 | |
JPH06131154A (ja) | シーケンシャル・メモリ及び該シーケンシャル・メモリとデータを入出力する方法 | |
US8223564B2 (en) | Semiconductor storage device | |
US20100309731A1 (en) | Keeperless fully complementary static selection circuit | |
CN101149970A (zh) | 半导体存储器件 | |
CN103886896A (zh) | 一种采用静态写技术减小写功耗的静态随机存储器 | |
CN203799669U (zh) | 一种采用静态写技术减小写功耗的静态随机存储器 | |
CN113986195B (zh) | 一种延迟型单比特存内计算单元及装置 | |
WO2022051088A1 (en) | Apparatus and method for clearing memory content | |
CN114121112A (zh) | 半导体装置中的气泡破裂寄存器 | |
CN103631754B (zh) | 可编程信号处理单元 | |
CN100565443C (zh) | 一种基于ctgal的绝热fifo电路 | |
CN102201255B (zh) | 降低寄存器堆的最小工作电压的方法和系统 | |
US7673095B2 (en) | FIFO memory architecture and method for the management of the same | |
CN110634517A (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 | ||
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: 20100519 Termination date: 20120710 |