[发明专利]一种二维寻址方法及装置无效
申请号: | 200710122537.5 | 申请日: | 2007-09-26 |
公开(公告)号: | CN101398784A | 公开(公告)日: | 2009-04-01 |
发明(设计)人: | 李谦;徐英韬 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京信远达知识产权代理事务所 | 代理人: | 王学强 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二维 寻址 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,尤其设计一种二维寻址方法及装置。
背景技术
在现有的数据处理过程种,处理器的处理对象很大部分是二维的矩阵数组,由于数据存储器是一维线性结构,所以要将X(m,n)(m对应行坐标,n对应列坐标)的下标(m,n)变换为数据存储器对应的一维线性地址。
传统的DSP(Digital Signal Processor,数字信号处理器)只有一维线性地址寻址,其放在数据存储器中的方式为
A0,A1,A2,A3,A4,......An-2,An-1,An,
DSP中地址寄存器R和数据存储器中元素的对应关系为AR:即R寄存器的内容对应此元素在存储器中的地址;改变地址寄存器R的内容就可以寻找特定的元素;对于矩阵的一个特定元素AR0,R1,它应该由两个下标R0,R1分别对应此元素在矩阵中的行地址和列地址。
例如,如图1所示,左边的是三角矩阵,右边是矩形矩阵,当其放入存储器后其排列格式如下:
三角矩阵:A0,0,A1,0,A1,1,A2,0,A2,1,A2,2,...A6,3,...A7,0,A7,1,A7,2,...A7,7
矩形矩阵:A0,0,A0,1,...A0,10,A1,0,A1,1,...A1,10,...A6,0,...A6,3,...A6,10,A7,0,A7,1,...A7,10
因此很容易推出矩阵二维地址和其存放的线性地址之间的二维关系:
三角矩阵线性地址=基址+行地址*(行地址+1)/2+列地址
矩形矩阵线性地址=基址+行地址*列维数+列地址
对于一维寻址的DSP,如果给定三角矩阵的行地址和列地址,其要转化成数据存储器所需的线性地址,至少要经过下面的5个步骤:
步骤1:行地址+1
步骤2:行地址*(行地址+1)
步骤3:行地址*(行地址+1)/2
步骤4:行地址*(行地址+1)/2+列地址
步骤5:基址+行地址*(行地址+1)/2+列地址
而对于矩形矩阵需要3个步骤:
步骤1:行地址*列维数
步骤2:行地址*列维数+列地址
步骤3:基址+行地址*列维数+列地址
每完成一个矩阵元素的存取,三角矩阵的5个步骤需要5条指令,矩形矩阵的3个步骤需要3条指令。
综上所述,现在所有处理器的寻址方式都是基于memory(寄存器)是线性地址的一维寄存器间接寻址,这种寻址方式尽管有了很多演进,但是核心都是基于一个寄存器产生地址或者是一个偏移寄存器加上基址寄存器产生地址,如果要对一个矩阵操作就必须使用指令将二维地址变成线性地址;这样会造成指令执行时间的加长和代码长度的增加,即在进行矩阵操作时,会造成效率的下降。
发明内容
有鉴于此,本发明解决的问题是提出一种二维寻址方法及装置,用以在进行矩阵寻址时减少了将二维地址转换成线性地址所需的诸多指令,同时也减少执行时间和指令的长度
为解决上述问题,本发明提供的技术方案如下:
一种二维寻址方法,该方法包括:
将元素在矩阵的行地址、列地址、基址和列维数送入相应的寄存器中;
利用二维取址指令将元素在矩阵中的行列位置转化为该元素在数据存储器中存放的一维线性地址。
相应的,该方法进一步包括:
当矩阵为三角矩阵时,所述二维指令为取行地址及其加1后乘积的一半,再和列地址和基址相与。
相应的,该方法进一步包括:
当矩阵为矩形矩阵时,所述二维指令为将行地址与列维数相乘再和列地址和基址相与。
相应的,该方法进一步包括:
将该元素的行、列位置分别加上下一个元素和本元素之间的偏移值得到下一个元素的行、列位置。
一种二维寻址装置,该装置包括:地址寄存器和二维算术单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710122537.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:涡轮机叶片用的垫片
- 下一篇:一种计量控制系统、混凝土湿喷机及计量控制方法