本发明专利技术公开了一种基于双端口寄存器阵列的四端口存储器,目的是解决目前使用寄存器组或四端口寄存器阵列即四端口RA实现地址缓冲区时占用芯片面积大的问题。本发明专利技术技术方案是在双端口RA上增加空闲地址计数器、空闲地址写控制模块、空闲地址读控制模块、存储器读请求生成模块、存储器写请求生成模块、第一与门、第二与门、空闲地址交换寄存器读写控制模块、空闲地址交换寄存器、空闲地址选择模块、存储器写控制模块、存储器读控制模块、存储器输出数据选择模块。本发明专利技术采用双端口RA实现了四端口存储器,采用本发明专利技术作为多VC动态共享缓冲区中的地址缓冲区时可以节省存储器占用面积,从而减少芯片面积,避免布线拥塞。
【技术实现步骤摘要】
本专利技术涉及超级计算机互连网络交换机中的地址缓冲区,尤其是基于双端口寄存器阵列构建的四端口存储器。
技术介绍
超级计算机互连网络交换机普遍采用输入缓冲结构,而且随着交换机端口数目的增加,交换机采用多级交换结构,每一个输入端口和每一级交换的输入端口都需要缓冲区缓存报文,导致交换机中缓冲区的数目急剧增加。为了减小缓冲区占用的芯片面积,降低实现缓冲区的存储器带来的功耗开销,交换机中采用动态分配共享缓冲区管理方法,提高缓冲区利用率,减小缓冲区深度。动态分配共享缓冲区中需要维护多个数据队列,可以根据虚信道(Virtual Channel,VC)或者输出端口设置数据队列的数目,因此,动态分配共享缓冲区的管理方法分为根据输出端口排队的缓冲区管理方法与根据VC排队的缓冲区管理方法,两种方法在实现上没有本质区别。在下面的叙述中,假设缓冲区中的数据是按照VC号排队的,即同一个VC的数据保存在同一个虚拟数据队列中,并且将这种缓冲区称作多VC动态共享缓冲区。为了提高链路利用率,互连网络中的物理链路被划分为多个虚信道。在交换机的输入缓冲区中,设置与VC数目相同的虚拟数据队列,相同VC的数据被组织为虚拟链表,存取方式为先进先出(First In First Out,FIFO)。在有些交换机中,为了消除头部阻塞问题,设置与交换机输出端口数目相同的虚拟队列,输出到同一个输出端口的数据被保存在一个队列中,组织为链表方式,存取方式也为FIFO。<br>缓冲区中保存的数据为固定长度的报文切片,称为flit。报文在端节点被切分为flit,然后在网络中传输。不同长度的报文包含的flit数目不同。缓冲区的存储单元宽度与flit宽度相同,每个存储单元保存一个flit。缓冲区的深度由上一级发送端与缓冲区之间的链路传输延迟和链路带宽共同决定。记VC数目为N(N为正整数),典型多VC动态共享缓冲区如图1所述,具有1个数据输入端口、N个读请求输入端口(即VC1到VCN读请求输入端口)、N个数据输出端口(即VC1到VCN数据输出端口),由VC号识别模块、N个读写地址管理模块(即VC1到VCN读写地址管理模块)、第一写请求与写地址选择模块、第一读请求与读地址选择模块、第二写请求与写地址选择模块、第二读请求选择模块、第三写请求与写数据选择模块、第三读请求选择模块、数据缓冲区、地址缓冲区、第三读写地址管理模块组成。数据输入端口与VC号识别模块、数据缓冲区相连,将N个VC的数据串行输入到VC号识别模块和数据缓冲区。VCi(1≤i≤N)读请求输入端口与VCi读写地址管理模块相连,将VCi读请求发送到VCi读写地址管理模块。VCi数据输出端口与数据缓冲区相连,将从数据缓冲区读出的VCi的数据发送到交换机其它处理逻辑。VC号识别模块与数据输入端口、VC1到VCN读写地址管理模块相连,从数据输入端口输入的数据中提取该数据的VC号i,生成VCi写请求,发送到VCi读写地址管理模块。VCi读写地址管理模块与VC号识别模块、VCi读请求输入端口、第一写请求与写地址选择模块、第一读请求与读地址选择模块、第二写请求与写地址选择模块、第二读请求选择模块、第三写请求与写数据选择模块、第三读请求选择模块和地址缓冲区相连,从VC号识别模块接收VCi写请求,生成读取空闲地址的VCi第三读请求,发送到第三读请求选择模块;VCi读写地址管理模块接收从第三读写地址管理模块读出的当前空闲地址,将该地址保存为VCi写地址,生成VCi第一写请求,将VCi第一写请求与写地址发送到第一写请求与写地址选择模块;如果VCi已经有数据保存在数据缓冲区中,VCi读写地址管理模块生成对地址缓冲区的第二写请求,并将VCi前一个数据的地址作为写地址,发送到第二写请求与写地址选择模块,然后,将前一个数据地址更新为读出的当前空闲地址。VCi读写地址管理模块从VCi读请求输入端口接收对VCi的读请求作为第一读请求,将VCi第一个数据所在的地址作为第一读地址,将第一读请求与第一读地址发送到第一读请求与读地址选择模块;如果VCi保存在数据缓冲区中的数据数目大于1,生成第二读请求,发送到第二读请求选择模块;生成VCi第三写请求,将VCi的第一读地址作为写数据,发送给第三写请求与写数据选择模块。VCi读写地址管理模块接收从地址缓冲区读出的下一个数据地址,将VCi第一个数据所在的地址更新为该地址。第一写请求与写地址选择模块与VC1到VCN读写地址管理模块和数据缓冲区相连,串行接收VCi读写地址管理模块发出的VCi第一写请求与写地址,选择有效的写请求及其写地址分别生成第一写请求和第一写地址,发送给数据缓冲区。第一读请求与读地址选择模块与VC1到VCN读写地址管理模块、数据缓冲区和地址缓冲区相连,串行接收VCi读写地址管理模块发出的VCi第一读请求与读地址,选择有效的读请求及其读地址分别生成第一读请求和第一读地址,将二者发送给数据缓冲区,仅将第一读地址发送给地址缓冲区。数据缓冲区一般是具有独立的读写端口的双端口静态随机访问存储器SRAM(Static Random Access Memory),与数据输入端口、第一写请求与写地址选择模块、第一读请求与读地址选择模块、VC1到VCN数据输出端口相连,接收第一写请求与写地址选择模块发送的第一写请求和第一写地址,从数据输入端口接收数据并将其写入到第一写地址指向的存储器空间;数据缓冲区接收第一读请求与读地址选择模块发送的第一读请求和第一读地址,从第一读地址指向的存储器空间输出数据到VC1到VCN数据输出端口。第二写请求与写地址选择模块与VC1到VCN读写地址管理模块、地址缓冲区相连,串行接收VCi读写地址管理模块发送的第二写请求与写地址,选择有效的写请求和写地址,生成第二写请求和第二写地址,发送到地址缓冲区。第二读请求选择模块与VC1到VCN读写地址管理模块、地址缓冲区相连,串行接收VCi读写地址管理模块发送的第二读请求,选择有效的读请求作为第二读请求发送到地址缓冲区。第三写请求与写数据选择模块与VC1到VCN读写地址管理模块、第三读写地址管理模块、地址缓冲区相连,串行接收VCi读写地址管理模块发送的第三写请求与写数据,选择有效的写请求和写数据,生成第三写请求和写入的空闲地址,发送到第三读写地址管理模块和地址缓冲区。第三读请求选择模块与VC1到VCN读写地址管理模块、第三读写地址管理模块、地址缓冲区相连,串行接收VCi读写地址管理模块发送的第三读请求,选择有效的读请求作为第三读请求发送本文档来自技高网...
【技术保护点】
一种基于双端口寄存器阵列的四端口存储器,采用基于双端口寄存器阵列的四端口存储器实现的地址缓冲区提供4个访问端口:第一写端口、第二写端口、第一读端口和第二读端口;第一写端口的输入信号包括:第二写请求、第二写地址、当前空闲地址,当第二写请求有效时,将当前空闲地址写入第二写地址指向的地址缓冲区空间;第一读端口的输入信号包括:第二读请求,第一读地址,输出信号包括:下一个数据地址,如果第二读请求有效,从第一读地址指向的地址缓冲区空间读出下一个数据地址;第二写端口的输入信号包括:第三写请求、第三写地址、写入的空闲地址,如果第三写请求有效,将写入的空闲地址写到第三写地址指向的地址缓冲区空间;第二读端口的输入信号包括:第三读请求,第三读地址,输出信号包括:下一个空闲地址,如果第三读请求有效,从第三读地址指向的地址缓冲区空间读出下一个空闲地址;其特征在于基于双端口寄存器阵列的四端口存储器是在双端口寄存器阵列即双端口RA上增加空闲地址计数器、空闲地址写控制模块、空闲地址读控制模块、存储器读请求生成模块、存储器写请求生成模块、第一与门、第二与门、空闲地址交换寄存器读写控制模块、空闲地址交换寄存器、空闲地址选择模块、存储器写控制模块、存储器读控制模块、存储器输出数据选择模块形成:空闲地址计数器与第三写请求信号线、第三读请求信号线、空闲地址读控制模块、空闲地址写控制模块相连;接收第三写请求和第三读请求,如果第三写请求有效,第三读请求无效,空闲地址计数器将空闲地址计数值加一;如果第三写请求无效,第三读请求有效,空闲地址计数器将空闲地址计数值减一;否则,空闲地址计数值保持不变;将空闲地址计数值发送给空闲地址读控制模块和空闲地址写控制模块;空闲地址读控制模块与第三写请求信号线、空闲地址计数器、存储器读请求生成模块、第二与门相连;接收第三写请求和空闲地址计数值,如果第三写请求有效或者空闲地址计数值为1,生成第五读使能发送到存储器读请求生成模块和第二与门;否则,不生成第五读使能;空闲地址写控制模块与第三读请求信号线、空闲地址计数器、存储器写请求生成模块、第一与门相连;接收第三读请求和空闲地址计数值,如果空闲地址计数值为0或者第三读请求有效,生成第五写使能发送到存储器写请求生成模块和第一与门;否则,不生成第五写使能;第一与门与第三写请求信号线、空闲地址写控制模块、空闲地址交换寄存器读写控制模块、空闲地址交换寄存器相连;从空闲地址写控制模块接收第五写使能,与第三写请求做逻辑与操作,即第五写使能和第三写请求同时有效时,生成第五写请求,将第五写请求发送给空闲地址交换寄存器读写控制模块和空闲地址交换寄存器;第二与门与第三读请求、空闲地址读控制模块、空闲地址交换寄存器读写控制模块、空闲地址交换寄存器、空闲地址选择模块相连;从空闲地址读控制模块接收第五读使能,将第五读使能与第三读请求做逻辑与操作,即第五读使能和第三读请求同时有效时,生成第五读请求,将第五读请求发送给空闲地址交换寄存器读写控制模块、空闲地址交换寄存器和空闲地址选择模块;空闲地址交换寄存器读写控制模块与第一与门、第二与门、空闲地址交换寄存器相连;从第一与门接收第五写请求,从第二与门接收第五读请求,如果第五写请求有效,将第五写地址加一;如果第五读请求有效,将第五读地址加一;将生成的第五写地址和第五读地址发送到空闲地址交换寄存器;空闲地址交换寄存器由两个寄存器组成,与写入的空闲地址信号线、第一与门、第二与门、空闲地址交换寄存器读写控制模块、空闲地址选择模块相连;从第一与门接收第五写请求,从空闲地址交换寄存器读写控制模块接收第五写地址,如果第五写请求有效,将从写入的空闲地址信号线获取的写入的空闲地址保存到第五写地址指向的空闲地址交换寄存器中;从第二与门接收第五读请求,从空闲地址交换寄存器读写控制模块接收第五读地址,如果第五读请求有效,从第五读地址指向的空闲地址交换寄存器读出空闲地址作为第一空闲地址,将第一空闲地址发送到空闲地址选择模块;存储器读请求生成模块与第三读请求信号线、空闲地址读控制模块、存储器读控制模块、存储器输出数据选择模块、空闲地址选择模块相连,从空闲地址读控制模块接收第五读使能,如果第三读请求有效,第五读使能无效,生成第四读请求,将第四读请求发送到存储器读控制模块、存储器输出数据选择模块和空闲地址选择模块;否则,不生成第四读请求;存储器写请求生成模块与第三写请求信号线、空闲地址写控制模块、存储器写控制模块相连,从空闲地址写控制模块接收第五写使能,如果第三写请求有效,第五写使能无效,生成第四写请求,将第四写请求发送到存储器写控制模块;否则,不生成第四写请求;存储器写控制模块与第二写请求信号线、第二写地址信号线、当前空闲地址信号线、第三写地址信号线、写入的空闲地址信号线、存储器写请求生成模块、双端口RA相连,...
【技术特征摘要】
1.一种基于双端口寄存器阵列的四端口存储器,采用基于双端口寄存器阵列的四端口存
储器实现的地址缓冲区提供4个访问端口:第一写端口、第二写端口、第一读端口和第二读
端口;第一写端口的输入信号包括:第二写请求、第二写地址、当前空闲地址,当第二写请
求有效时,将当前空闲地址写入第二写地址指向的地址缓冲区空间;第一读端口的输入信号
包括:第二读请求,第一读地址,输出信号包括:下一个数据地址,如果第二读请求有效,
从第一读地址指向的地址缓冲区空间读出下一个数据地址;第二写端口的输入信号包括:第
三写请求、第三写地址、写入的空闲地址,如果第三写请求有效,将写入的空闲地址写到第
三写地址指向的地址缓冲区空间;第二读端口的输入信号包括:第三读请求,第三读地址,
输出信号包括:下一个空闲地址,如果第三读请求有效,从第三读地址指向的地址缓冲区空
间读出下一个空闲地址;其特征在于基于双端口寄存器阵列的四端口存储器是在双端口寄存
器阵列即双端口RA上增加空闲地址计数器、空闲地址写控制模块、空闲地址读控制模块、
存储器读请求生成模块、存储器写请求生成模块、第一与门、第二与门、空闲地址交换寄存
器读写控制模块、空闲地址交换寄存器、空闲地址选择模块、存储器写控制模块、存储器读
控制模块、存储器输出数据选择模块形成:
空闲地址计数器与第三写请求信号线、第三读请求信号线、空闲地址读控制模块、空闲
地址写控制模块相连;接收第三写请求和第三读请求,如果第三写请求有效,第三读请求无
效,空闲地址计数器将空闲地址计数值加一;如果第三写请求无效,第三读请求有效,空闲
地址计数器将空闲地址计数值减一;否则,空闲地址计数值保持不变;将空闲地址计数值发
送给空闲地址读控制模块和空闲地址写控制模块;
空闲地址读控制模块与第三写请求信号线、空闲地址计数器、存储器读请求生成模块、
第二与门相连;接收第三写请求和空闲地址计数值,如果第三写请求有效或者空闲地址计数
值为1,生成第五读使能发送到存储器读请求生成模块和第二与门;否则,不生成第五读使
能;
空闲地址写控制模块与第三读请求信号线、空闲地址计数器、存储器写请求生成模块、
第一与门相连;接收第三读请求和空闲地址计数值,如果空闲地址计数值为0或者第三读请
求有效,生成第五写使能发送到存储器写请求生成模块和第一与门;否则,不生成第五写使
能;
第一与门与第三写请求信号线、空闲地址写控制模块、空闲地址交换寄存器读写控制模
块、空闲地址交换寄存器相连;从空闲地址写控制模块接收第五写使能,与第三写请求做逻
辑与操作,即第五写使能和第三写请求同时有效时,生成第五写请求,将第五写请求发送给
空闲地址交换寄存器读写控制模块和空闲地址交换寄存器;
第二与门与第三读请求、空闲地址读控制模块、空闲地址交换寄存器读写控制模块、空
闲地址交换寄存器、空闲地址选择模块相连;从空闲地址读控制模块接收第五读使能,将第
五读使能与第三读请求做逻辑与操作,即第五读使能和第三读请求同时有效时,生成第五读
请求,将第五读请求发送给空闲地址交换寄存器读写控制模块、空闲地址交换寄存器和空闲
地址选择模块;
空闲地址交换寄存器读写控制模块与第一与门、第二与门、空闲地址交换寄存器相连;
从第一与门接收第五写请求,从第二与门接收第五读请求,如果第五写请求有效,将第五写
地址加一;如果第五读请求有效,将第五读地址加一;将生成的第五写地址和第五读地址发
送到空闲地址交换寄存器;
空闲地址交换寄存器由两个寄存器组成,与写入的空闲地址信号线、第一与门、第二与
门、空闲地址交换寄存器读写控制模块、空闲地址选择模块相连;从第一与门接收第五写请
求,从空闲地址交换寄存器读写控制模块接收第五写地址,如果第五写请求有效,将从写入
的空闲地址信号线获取的写入的空闲地址保存到第五写地址指向的空闲地址...
【专利技术属性】
技术研发人员:张鹤颖,徐炜遐,王克非,肖立权,庞征斌,陆平静,戴艺,刘路,张磊,曹继军,徐佳庆,肖灿文,沈胜宇,王永庆,高蕾,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。