一种存储器控制电路及其控制的向量数据寻址方法

文档序号:6365492阅读:179来源:国知局
专利名称:一种存储器控制电路及其控制的向量数据寻址方法
技术领域
本发明涉及一种处理器技木,尤其涉及一种存储器控制电路及其控制的向量数据寻址方法。
背景技术
数字信号处理器(Digital Signal Processor,简称DSP)是ー种可编程的高性能处理器,主要应用于数据密集型计算,如语音识别、图像处理等。在ー些高速实时信号处理系统中,对数字信号处理器的运算速度提出了很高的要求。目前DSP都有专门的单指令多数据流(Single Instruction Multiple Data,简称SIMD)指令子集,用于加速数字信号处理的过程。SMD指令主要是基于单指令多数据并行技木,它的核心思想是一条指令能够同时对不同的数据进行相同的操作。图I是现有技术SIMD指令操作示意图。如图I所示,其中A、B为向量运算的源操作数,D为向量运算的目的操作数;0P为操作类型,例如加法、减法、乘法或移位等操作。SIMD指令増加了运算的并行性,提高了处理器的性能,但是在使用SMD指令之前需要对数据进行有效的组织,因为向量运算单元的取数和存数都是对连续的存储单元进行操作的。例如图I中的A寄存器,假设A的数据宽度为128bit,存储器的数据宽度为128bit,最小存储单元为32bit,且处理器不支持数据不对齐操作,则A中的数据A0、A1、A2、A3需要存储在存储器中连续的四个单元(即ー个数据块中)。当A中的数据不在一个数据块中时,就需要对这些数据进行组织,以便于将它们取回到一个向量寄存器中。对数据进行有效组织是充分利用SIMD指令的关键,一般有两种方式软件方式和硬件方式,其中软件方式是采用特定的算法对存储器中的数据进行重新排列,以方便向量运算;硬件方式是采用特殊的寻址方式来对数据进行组织。目前为了充分利用SIMD指令的并行性,主要采用软件的方式来对数据进行组织,但是这种方式降低了程序的性能,因为数据的组织过程増加了指令运行的额外开销。例如DSP中的快速傅立叶变换(Fast Fourier Transform,简称FFT)算法,它的数据点在进行快速傅里叶变换时需要进行倒序处理,如图2所示,为了利用SMD指令实现FFT算法,待处理的数据需要组织成图2所示的形式。为了装载ー个向量寄存器(一个数据块),存储器需要4次读操作和4次写操作来对数据进行组织,DSP中的4次访存操作模型如图3所示。

发明内容
本发明的目的是通过硬件的方式对存储器中的数据进行有效的组织。为实现上述目的,一方面,本发明提供了一种存储器控制电路控制的向量数据寻址方法,该方法包括以下步骤存储器控制电路接收输入信号,该输入信号包括访存样式和地址;根据访存样式和地址生成向量数据中各个操作数在存储器中的地址;根据各个操作数在存储器中的地址依次进行存储器的访存操作。另ー方面,本发明提供了一种存储器控制电路,该电路包括信号接收模块、地址生成状态控制器和访存控制模块,其中信号接收模块用于接收输入信号,该输入信号包括访存样式和地址;地址生成状态控制器用于根据访存样式和地址生成向量数据中各个操作数在存储器的地址;访存控制模块用于根据各个操作数在存储器中的地址依次进行存储器的访存操作。根据本发明存储器控制电路及其控制的向量数据寻址方法,节省了处理器访问存 储器的时间,提高了程序的性能。


通过以下结合附图以举例方式对本发明的实施方式进行详细描述后,本发明的其他特征、特点和优点将会更加明显。图I为现有技术SMD指令操作示意图;图2为16点FFT中数据的倒序处理示意图;图3为现有技术数字信号处理器的访存模型;图4为本发明实施例存储器控制电路示意结构图;图5为本发明实施例存储器控制电路控制的向量数据寻址方法流程图;图6为本发明实施例基于16点FFT样式的读操作示意图;图7为本发明实施例基于16点FFT样式的写操作示意图;图8为本发明实施例数字信号处理器的访存模型。
具体实施例方式下面通过附图和实施例,对本发明的技术方案做进ー步的详细描述。本发明实施例采用基于样式的向量数据寻址方法,通过硬件的方式对存储器中的数据进行有效的组织。图4为本发明实施例存储器控制电路示意图。如图4所示,存储器控制电路30包括信号接收模块31、地址生成状态控制器32和访存控制模块33。信号接收模块31用于接收输入信号,该输入信号包括访存样式(pattern)、地址(address)、读/写控制信号和写入向量数据。地址生成状态控制器32用于根据信号接收模块31接收的访存样式和地址生成向量数据中各个操作数在存储器40中的地址(如图4中的addrC^addiv1)。地址生成状态控制器32包括状态机,该状态机中的每个状态对应生成ー个操作数的地址。访存控制模块33用于根据地址生成状态控制器32生成的各个操作数在存储器中的地址依次进行存储器的访存操作。在一个例子中,存储器控制电路30对存储器40进行读操作,读操作的步骤如下地址生成状态控制器32根据信号接收模块31接收的访存样式和地址生成向量数据中各个操作数在存储器40中的地址;访存控制模块33根据上述各个操作数在存储器40中的地址依次从存储器40中读取各个操作数拼成读出向量数据并输出。在另ー个例子中,存储器控制电路30对存储器40进行写操作,写操作的步骤如下地址生成状态控制器32根据信号接收模块31接收的访存样式和地址生成写入向量数据中各个操作数在存储器40中的地址;访存控制模块33根据上述各个操作数在存储器40中的地址依次写入到存储器40中本发明实施例通过硬件的方式来对存储器中的数据进行有效的组织,向量数据中各个操作数的地址通过访存地址基于样式的变换获得,节省了处理器访问存储器的时间,提闻了程序的性能。图5为本发明实施存储器控制电路控制的向量数据寻址方法流程图。如图5所示,该方法包括步骤501-503。在步骤501,存储器控制电路接收输入信号,所述输入信号包括访存样式和地址。在本发明实施例中,存储器控制电路接收外部输入信号,上述输入信号包括访存样式、地址、读/写控制和写入向量数据。访存样式实际上是ー种映射方式,可以用数学符号标记为f ( ·)。其映射的定义为假设X、Y是两个非空集合,如果存在一个法则f,使得对X中每个元素X,按法则f,在Y中有唯一确定的元素I与之对应,则称f为从X到Y的映射,记作f :X — Y,其中y称为元素X的(在映射f下)的像,并记作f(x),即y = f (X)。在一个例子中,y = f (X) = x2+x+l,则元素X和元素I的映射关系如表I所示。表I
权利要求
1.一种存储器控制电路控制的向量数据寻址方法,其特征在于,所述方法包括步骤 存储器控制电路接收输入信号,所述输入信号包括访存样式和地址; 根据所述访存样式和所述地址生成向量数据中各个操作数在存储器中的地址; 根据所述各个操作数在存储器中的地址依次进行存储器的访存操作。
2.根据权利要求I所述的方法,其特征在于,所述输入信号还包括写入向量数据,所述存储器控制电路根据所述写入向量数据中各个操作数在存储器中的地址依次写入到存储器中。
3.根据权利要求I所述的方法,其特征在于,根据所述各个操作数在存储器中的地址依次进行存储器访存操作步骤后还包括将从存储器中读取的各个操作数拼成读出向量数据并输出。
4.根据权利要求I或3所述的方法,其特征在于,当要读取的所述各个操作数存储在存储器的多个数据块中时,只需要进行一次读操作。
5.根据权利要求I或2所述的方法,其特征在于,当所述写入向量数据中各个操作数处于存储器的多个数据块中时,只需要进行一次写操作。
6.一种存储器控制电路,其特征在于,所述存储器控制电路包括 信号接收模块,用于接收输入信号,所述输入信号包括访存样式和地址; 地址生成状态控制器,用于根据访存样式和地址生成向量数据中各个操作数在存储器的地址; 访存控制模块,用于根据各个操作数在存储器中的地址依次进行存储器的访存操作。
7.根据权利要求6所述的电路,其特征在于,所述地址生成状态控制器包括状态机,所述状态机中的每个状态对应生成一个操作数的地址。
8.根据权利要求6所述的电路,其特征在于,所述信号接收模块还用于接收写入向量数据,存储器控制电路根据所述写入向量数据中各个操作数在存储器中的地址依次写入到存储器中。
9.根据权利要求6所述的电路,其特征在于,所述访存控制模块将从存储器中读取的各个操作数拼成读出向量数据并输出。
全文摘要
本发明公开了一种存储器控制电路及其控制的向量数据寻址方法,该方法包括以下步骤存储器控制电路接收输入信号,该输入信号包括访存样式和地址;根据访存样式和地址生成向量数据中各个操作数在存储器中的地址;根据各个操作数在存储器中的地址依次进行存储器的访存操作。本发明节省了处理器访问存储器的时间,提高了程序的性能。
文档编号G06F13/16GK102622318SQ20121004857
公开日2012年8月1日 申请日期2012年2月27日 优先权日2012年2月27日
发明者侯朝焕, 张铁军, 李泉泉, 洪缨, 王东辉 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1