发明名称 行列访问端口分离的矩阵寄存器文件
摘要 本发明公开了一种行列访问端口分离的矩阵寄存器文件,目的是提供一种行列访问端口分离、支持行列向量分段访问和行列向量同时读写的矩阵寄存器文件。它由矩阵寄存器文件主体和读写端口组成,矩阵寄存器文件主体由行读地址译码器、行读出数据缓冲器、行写地址译码器、列读地址译码器、列读出数据缓冲器、列写地址译码器以及存储单元阵列构成;存储单元阵列按行划分为N个存储单元行,N个存储单元行构成N个行向量寄存器;存储单元阵列按列划分为M个存储单元列,M个存储单元列构成M个列向量寄存器;读写端口由分离的行读端口、行写端口、列读端口和列写端口构成。本发明降低了同时访问行向量和列向量寄存器的代价,消除了矩阵转置操作,提高了运算效率。
申请公布号 CN101609715B 申请公布日期 2012.09.05
申请号 CN200910043343.5 申请日期 2009.05.11
申请人 中国人民解放军国防科学技术大学 发明人 陈书明;万江华;刘衡竹;陈跃跃;孙书为;李振涛;鲁建壮
分类号 G11C8/00(2006.01)I;G11C11/40(2006.01)I;G11C11/4063(2006.01)I;G11C11/413(2006.01)I 主分类号 G11C8/00(2006.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 一种行列访问端口分离的矩阵寄存器文件,由矩阵寄存器文件主体和读写端口组成,其特征在于:所述矩阵寄存器文件主体由NRR个行读地址译码器、NRR个行读出缓冲器、NRW个行写地址译码器、NCR个列读地址译码器、NCR个列读出缓冲器、NCW个列写地址译码器以及包含N*M个元素的存储单元阵列构成,其中NRR、NRW、NCR、NCW均为正整数且NRR≥1且NCR≥1且NRW≥0且NCW≥0且NRW+NCW≥1,N为矩阵寄存器文件中行向量寄存器的数目,且N为向量运算部件中标量运算部件数目的倍数,即N=nL,n为正整数且为2的幂,L为向量运算部件中标量运算单元的数目,M为矩阵寄存器文件中列向量寄存器的数目,且M为向量运算部件中标量运算部件的数目的倍数,即M=mL,其中m为正整数且为2的幂;存储单元阵列按行划分为N个存储单元行,每行由M个同行的元素E0‑EM‑1组成,每个元素的位宽为B,B为正整数,每个存储单元行有M*B位,这N个存储单元行即构成N个行向量寄存器VR0‑VRN‑1;每个存储单元行由m个子行组成,每个子行包含连续的L个元素,第i个行向量寄存器的第j个子行用VRi[j]表示,该子行由元素EjL‑EjL+L‑1构成,其中i≥0且i<n且j≥0且j<m;该存储单元阵列按列划分为M个存储单元列,每列由N个同列的元素组成,每个存储单元列有N*B位,这M个存储单元列即构成M个列向量寄存器CVR0‑CVRM‑1,每个存储单元列由n个子列组成,每个子列包含连续的L个元素,第u个列向量寄存器的第v个子列用CVRu[v]表示,其中u≥0且v<m目u≥0且v<n;读写端口由分离的行读写端口和列读写端口组成,行读写端口由NRR个行读端口、NRW个行写端口组成,列读写端口由NCR个列读端口和NCW个列写端口组成:每个行读端口由行读地址总线、行读使能信号线以及行读数据总线组成,每个行写端口由行写地址总线、行写使能信号线以及行写数据总线组成;行读地址总线和行写地址总线的宽度为log2(m*N)位,行读数据总线和行写数据总线的宽度为L*B位;行读端口与矩阵寄存器文件主体中的行读地址译码器一一对应,每个行读端口的行读地址总线和行读使能信号线是相应行读地址译码器的输入,行读地址译码器根据行读地址总线上的地址译码出m*N个子行读地址选择信号,这些子行读地址选择信号形成子行读地址选择总线,每个子行读地址选择信号控制存储单元阵列中的一个存储单元子行;当行读使能信号线有效时,与行读地址对应的子行读地址选择信号有效,而其他子行读地址选择信号无效,当行读使能信号线无效时,m*N个子行读地址选择信号均无效;当某一子行读地址选择信号有效时,相应存储单元子行的内容被读出至该端口的行读出缓冲器,而行读出缓冲器将该内容输出至行读端口的行读出数据总线上;行写端口与矩阵寄存器文件主体中的行写地址译码器一一对应,每个行写端口的写地址总线和写使能信号线是相应行写地址译码器的输入,行写地址译码器根据行写地址总线上的地址译码出m*N个子行写地址选择信号,这些子行写地址选择信号形成子行写地址选择总线,每个子行写地址选择信号控制存储单元阵列中的一个存储单元子行;当行写使能信号线有效时,与行 写地址对应的子行写地址选择信号有效,而其他子行写地址选择信号无效,当行写使能信号线无效时,m*N个子行写地址选择信号均无效;当某一行写地址选择信号有效时,行写数据总线上的内容写入相应存储单元行;每个列读端口由列读地址总线、列读使能信号线以及列读数据总线组成,每个列写端口由列写地址总线、列写使能信号线以及列写数据总线组成;列读地址总线和列写地址总线的宽度为log2(n*M)位,列读数据总线和列写数据总线的宽度为L*B位;列读端口与矩阵寄存器文件主体中的列读地址译码器一一对应,每个列读端口的读地址总线和读使能信号线是相应列读地址译码器的输入,列读地址译码器根据列读地址总线上的地址译码出n*M个子列读地址选择信号,这些子列读地址选择信号形成子列读地址选择总线,每个子列读地址选择信号控制存储单元阵列中的一个存储单元子列;当列读使能信号线有效时,与型读地址对应的子列读地址选择信号有效,而其他子列读地址选择信号无效,当列读使能信号线无效时,n*M个子列读地址选择信号均无效;当某一子列读地址选择信号有效时,相应存储单元子列的内容被读出至该端口的列读出缓冲器,而列读出缓冲器又将该内容输出至列读端口的列读出数据总线上;列写端口与矩阵寄存器文件主体中的列写地址译码器一一对应,每个列写端口的写地址总线和写使能信号线是相应列写地址译码器的输入,列写地址译码器根据列写地址总线上的地址译码出n*M个子列写地址选择信号,这些子列写地址选择信号形成子列写地址选择总线,每个子列写地址选择信号控制存储单元阵列中的一个存储单元子列;当列写使能信号线有效时,与列写地址对应的子列写地址选择信号有效,而其他子列写地址选择信号无效, 当列写使能信号线无效时,n*M个子列写地址选择信号均无效;当某一列写地址选择信号有效时,列写数据总线上的内容写入相应存储单元列。
地址 410073 湖南省长沙市砚瓦池正街47号