[发明专利]一种块大小可变的可重构矩阵寄存器文件有效
申请号: | 201010117177.1 | 申请日: | 2010-02-01 |
公开(公告)号: | CN101776988A | 公开(公告)日: | 2010-07-14 |
发明(设计)人: | 彭元喜;陈书明;刘衡竹;陈海燕;万江华;刘仲;孙海燕 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大小 可变 可重构 矩阵 寄存器 文件 | ||
技术领域:本发明涉及向量微处理器中的向量寄存器文件(也称为矩阵寄存器文件),特别是一种块大小可变的可重构矩阵寄存器文件。
背景技术:图像处理和现代通信等媒体应用领域算法具有大规模并行性,需要进行大量的矩阵运算。而不同算法并行性粒度不同、同一算法在运行的不同阶段并行性粒度也不同,在不同算法运行时、算法运行的不同阶段所需的数据块或矩阵块的大小也不同,这就需要向量寄存器文件的大小和数量在运行不同算法和同一算法运行过程中均可改变。
面向这类数据密集型应用的向量微处理器通常采用单指令流多数据流SIMD(Single Instruction Multiple Data)、超长指令字体系结构VLIW(VeryLong Instruction Words),设置向量运算指令、向量寄存器文件和向量运算阵列来支持矩阵或向量数据运算,以加快数据处理的速度。
向量指令译码部件对向量指令进行译码,将译码结果发送到向量运算部件和向量寄存器文件。向量运算部件由L(L为正整数,且通常为2的幂)个标量运算单元组成,它按照译码结果对来自向量寄存器文件或存储器的源操作数进行运算,并将运算结果写入向量寄存器文件或存储器。
如图2公布的,向量寄存器文件由向量寄存器文件主体和读写端口组成。向量寄存器文件主体由NR个读地址译码器、NR个读出缓冲器、NW个写地址译码器以及存储单元阵列构成,存储单元阵列由N个行向量寄存器VR0-VRN-1或M个列向量寄存器CVR0-CVRM-1构成,N为行向量寄存器的数目,M为列向量寄存器的数目,存储单元阵列包含N*M个元素,N和M为正整数且通 常为2的幂,NR、NW均为正整数。存储单元阵列按行划分为N个M*B位的存储单元行,每行由M个元素组成,每个元素的位宽为B。这N个存储单元行与N个行向量寄存器VR0-VRN-1一一对应,实现行向量寄存器的存取;该存储单元阵列按列划分为M个N*B位的存储单元列,每列由N个同列的元素组成。这M个存储单元列与M个列向量寄存器CVR0-CVRM-1一一对应,实现列向量寄存器的存取。以CVRM-1为例,该列向量寄存器包括所有行向量寄存器VR0-VRN-1的最后一个元素EM-1。这种支持行列向量访问的向量寄存器文件不仅可视作由N个行向量寄存器构成,还可视作由M个列向量寄存器构成。
读写端口是向量寄存器文件与向量微处理器中其他部件的接口,它允许向量微处理器中其他部件访问向量寄存器文件主体存储的数据。为了支持同时从向量寄存器中获取多个源操作数和写入多个目的操作数,向量寄存器文件需要多个读端口和多个写端口,而不同读端口或写端口之间的访问相互独立。因此,现有支持行列向量访问的向量寄存器文件具有NR个读端口和NW个写端口。每个读端口都由行列选择信号线、读地址总线、读使能信号线以及读数据总线组成,其中行列选择信号线用于选择当前是对行向量寄存器进行读取还是对列向量寄存器进行读取,读地址总线的位宽为MAX(log2 N,log2 M),即log2 N和log2 M两者的最大值,读数据总线的位宽为N*B或M*B的最大值。每个写端口都由行列选择信号线、写地址总线、写使能信号线以及写数据总线组成,其中行列选择信号线用于选择当前是对行向量寄存器进行读取还是对列向量寄存器进行写入,写地址总线的位宽为MAX(log2 N,log2 M),即log2 N和log2 M两者的最大值,写数据总线的位宽为N*B或M*B的最大值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010117177.1/2.html,转载请声明来源钻瓜专利网。