[发明专利]多粒度并行存储系统与存储器有效
申请号: | 201110460585.1 | 申请日: | 2011-12-31 |
公开(公告)号: | CN102541774A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 王东琳;谢少林;薛晓军;刘子君;张志伟 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F12/06 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周国城 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 粒度 并行 存储系统 存储器 | ||
技术领域
本发明属于存储技术领域,主要涉及嵌入式信号处理平台中的片上存储系统,特别是支持行列多粒度并行读写的多粒度并行存储系统和存储器。
背景技术
随着集成电路工艺的发展,芯片上可集成更多的运算部件和更大容量静态存储器SRAM容量。高速嵌入式信号处理芯片中可设计多个运算部件和多个大容量、大位宽的片上存储器,实现并行计算和并行存储。信号处理算法经常以矩阵的形式来组织输入/输出数据,并以矩阵为对象进行计算。矩阵数据一般按行或按列存放在存储器中。存储器读写端口位宽固定,并且顺序编址。当矩阵按行存放时,存储器可以一次性并行读写多个矩阵行元素,但无法一次性并行读写多个矩阵列元素;当矩阵按列存放时,存储器可以一次性并行读写多个矩阵列元素,但无法一次性并行读取多个矩阵列元素。
图1是传统的片上存储器的结构和编址方法的示意图,其中显示了当矩阵数据类型与存储单元一致时,矩阵元素在普通片上存储器中的位置。如图1所示,假定存储器读写端口101位宽为4,即存储器100的一行存放4个元素,一次操作可并行读写4个地址连续的元素;矩阵A的尺寸为4×4,矩阵第i行,第j列元素为aij,(0≤i<4,0≤j<4),按行存放在地址0处。此时,存储器100可一次性并行读写4个矩阵行元素,但由于矩阵列元素分布在存储器的多个存储行104中,所以一次只能读写一个矩阵列元素,无法并行读取矩阵列元素。
在信号处理系统中,在并行读写矩阵行元素的同时常常还需要并行读写矩阵列元素,如某信号处理算法输入三个矩阵(A,B,D),需要得到两个矩阵乘法结果:C=A×B,E=B×D;同时,信号处理系统中有4个运算单元可并行计算。那么在计算C=A×B时,需要并行读取矩阵B的4个行元素;在计算E=B×D时,需要并行读取矩阵B的4个列元素。因此,在整个算法实现过程中,即需要按行并行读取矩阵B,也需要按列并行读取矩阵B。但传统存储器结构只能按行并行读取,或按列并行读取。当存储器在每个时钟周期无法并行提供所需的4个操作数时,4个运算单元中只有一个处于工作状态,这必将降低整个系统的运算效率。
同时,矩阵的数据类型多种多样,常用的数据类型有8bit的字节类型、16bit的短字类型、32bit的整数类型和单精度浮点类型以及64bit的双精度浮点类型。而存储单元是固定一种数据类型,一个地址对应一个8bit数据或一个地址对应一个32bit数据。为了在存储器中用最基本的存储单元来表达所有数据类型,常用的做法是用多个连续的低位宽数据类型拼接成一个高位宽数据类型。如图2所示,假定存储单元是8bit的字节,而矩阵尺寸为4×2,数据类型为16bit的短字,按行存放,一个矩阵元素由两个连续8bit拼接而成。在图1中,矩阵数据类型与存储单元是一致的,矩阵列的元素地址为{3,7,11,15},列地址完全离散;但在图2中,矩阵数据类型与存储元不一致,矩阵列的元素地址为{2,3,6,7,10,11,14,15},列地址整体离散,部分连续。因此,在并行读写矩阵行、列元素时,还需要考虑矩阵元素的不同数据类型,采用不同的读写粒度。这里所述的“读写粒度”是指地址连续的存储单元的个数。
目前已有一些专利讨论如何实现矩阵行列的读写,但都没有在SRAM架构层次实现矩阵行列多粒度并行读取的功能。如美国专利US 6,084,771B(Processor With Register File Accessible By Row Column to Achieve Data Array Transposition)、中国专利200910043343.5(行列访问端口分离的矩阵寄存器文件)都提出了一种支持矩阵行列读取的寄存器文件,但矩阵数据仍存放在存储器中,读写矩阵行列时需要先将矩阵数据从存储器载入寄存器文件,再从寄存器文件读写矩阵行列;同时,由于寄存器文件容量非常少,每次操作只能读写整个矩阵的小部分数据;另外,它们都没有考虑如何支持不同的数据类型。美国专利US 7,802,049 B2(Random Access Memory Have Fast Column Access)主要讨论了如何快速地从DRAM存储行中获取连续数据,但没有讨论矩阵行列的并行读取。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是克服传统的片上存储系统不能并行读写矩阵行列数据及无法跨行读写的缺点,提高存储系统和存储器的读写效率。
(二)技术方案
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110460585.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光盘片的验证方法
- 下一篇:配置式软件开发方法及装置