[发明专利]微处理器向量处理方法无效
申请号: | 01131568.7 | 申请日: | 2001-11-28 |
公开(公告)号: | CN1142484C | 公开(公告)日: | 2004-03-17 |
发明(设计)人: | 王志英;戴葵;陆洪毅;鲁建壮;赵学秘;宋辉;侯方勇;徐虎 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 湖南兆弘专利事务所 | 代理人: | 赵洪 |
地址: | 410073湖南省长沙市砚瓦池正街*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种微处理器向量处理方法,在满足硬件实现简单、功耗低、成本低的前提下实现微处理器向量处理。本发明利用微处理器原有的流水线结构,设计向量指令集,增加向量寄存器组和向量控制逻辑,在译码段增加对向量指令的译码支持,用硬件执行循环过程,利用标量流水线功能部件和控制信号,实现微处理器对向量处理的支持。向量指令集包括向量访存、向量运算、向量长度寄存器操作三类指令;向量寄存器组包括4个向量寄存器和1个向量长度寄存器;在译码段中设计一个有限状态机来完成对向量指令的控制。本发明不需专门的多功能部件实现了微处理器对向量处理的支持,硬件复杂度小,成本低,向量处理效率高,可靠性高。 | ||
搜索关键词: | 微处理器 向量 处理 方法 | ||
【主权项】:
1.一种微处理器向量处理方法,采用它设计的微处理器拥有与一般微 处理器相同的流水线结构、功能部件和控制信号,其特征在于: a.设计向量指令集,增加包括4个向量寄存器和1个向量长度寄存器 VLR,向量指令集包括向量访存指令、向量运算指令以及向量长度寄 存器操作指令三类向量指令: 1)向量访存指令主要在存储器和向量寄存器之间互相传递向量, 向量分量在向量寄存器中从第1个寄存器开始顺序存储,它包括: LDVVd,Rd功能是将Rd寄存器给出的地址对应的向量装载入Vd 向量寄存器; STVVd,Rd功能是将Vd向量寄存器给出的向量存储入Rd寄存器 给出的地址对应的存储器中; 2)向量运算指令用于在两个向量之间或者在一个向量与一个标量 之间进行运算,并将计算结果存储到目标向量寄存器中;向量运算指 令有向量逻辑运算指令和向量算术运算指令及向量分量按位操作指 令;所有向量逻辑运算指令和向量算术运算指令要求在两个等长的向 量之间或者在一个向量与一个标量之间进行运算;向量逻辑运算指令 包括:向量与、向量或、向量异或;向量算术运算指令包括:向量加、 向量减、向量乘、向量无符号乘、向量标量加、向量标量减、向量标 量乘、向量标量无符号乘;向量分量按位操作主要指向量赋值;向量 运算指令具体格式为: ANDVVd,Vn,Vs,功能是向量与,向量寄存器Vn和Vs中的各个分 量分别进行逻辑与操作后赋值到向量寄存器Vd,即Vd:={(Vn)AND (Vs)}; ORRVVd,Vn,Vs,功能是向量或,向量寄存器Vn和Vs中的各个分 量分别进行逻辑或操作后赋值到向量寄存器Vd,即Vd:={(Vn)OR (Vs)}; EORVVd,Vn,Vs,功能是向量异或,向量寄存器Vn和Vs中的各个 分量分别进行逻辑异或操作后赋值到向量寄存器Vd,即Vd:={(Vn) EOR(Vs)}; SUBVVd,Vn,Vs,功能是向量减,将向量寄存器Vn中的各个分量 分别减去Vs中的各个分量后赋值到向量寄存器Vd,即Vd:={(Vn)- (Vs)}; RSBVVd,Vn,Vs,功能是向量反向减,将向量寄存器Vs中的各个 分量分别减去Vn中的各个分量后赋值到向量寄存器Vd,即Vd:={(Vs) -(Vn)}; ADDVVd,Vn,Vs,功能是向量加,向量寄存器Vn和Vs中的各个分 量分别进行加操作后赋值到向量寄存器Vd,即Vd:={(Vn)+(Vs)}; MULVVd,Vn,Vs,功能是向量乘,向量寄存器Vn和Vs中的各个分 量分别进行乘操作后赋值到向量寄存器Vd,即Vd:={(Vn)*(Vs)}; UMULVVd,Vn,Vs,功能是向量无符号乘,向量寄存器Vn和Vs中 的各个分量分别进行无符号乘操作后赋值到向量寄存器Vd,即Vd:= {(Vn)*(Vs)}; ADDSVVd,Vn,Rd,功能是向量标量加,向量寄存器Vn中的各个分 量分别加上标量寄存器Rd的值之后赋值到向量寄存器Vd,即Vd:=Vn +(Rd); SUBSVVd,Vn,Rd,功能是向量标量减,向量寄存器Vn中的各个分 量分别减去标量寄存器Rd的值之后赋值到向量寄存器Vd,即Vd:=Vn -(Rd); RSBSVVd,Vn,Rd,功能是向量标量反向减,标量寄存器Rd的值减 去向量寄存器Vn中的各个分量后赋值到向量寄存器Vd,即Vd:=(Rd) -Vn; MULSVVd,Vn,Rd,功能是向量标量乘,向量寄存器Vn中的各个分 量分别和标量寄存器Rd的值进行乘操作后赋值到向量寄存器Vd,即 Vd:=Vn*(Rd); UMULSVVd,Vn,Rd,功能是向量标量无符号乘,向量寄存器Vn中 的各个分量分别和标量寄存器Rd的值进行无符号乘操作后赋值到向 量寄存器Vd,即Vd:=Vn*(Rd); MOVVVd,Vn,功能是向量赋值,将向量寄存器Vn的各个分量赋值 到向量寄存器Vd中,即Vd:=Vn; 3)向量长度寄存器操作指令是在向量长度寄存器VLR和一个通用 标量寄存器之间互相传递数据或者将一个立即数传递到向量长度寄 存器VLR中,用于决定向量访存、向量逻辑运算、向量算术运算、向 量赋值的有效向量分量的个数;向量长度寄存器操作指令格式为: MOVI2SRd功能是将标量寄存器Rd的低6位传送到VLR中; MOVI2S#S功能是将立即数S的低6位传送到VLR中; MOVS2IRd功能是将VLR传送到标量寄存器Rd的低6位中。 b.增加向量控制逻辑,在译码段增加对向量指令的译码支持,用硬件 执行循环过程,利用标量流水线功能部件和控制信号,实现微处理器 对向量处理的支持,具体实现过程是:译码段中设计了一个有限状态 机来完成对多周期的向量指令的控制,由向量长度寄存器VLR来控制 一条向量指令中相同操作重复执行的次数;有限状态机产生复杂指令 控制信号来控制多周期的向量指令执行:如果是向量指令,首先从 VLR得到向量长度的值以决定向量操作的向量分量的个数;然后区分 该指令是乘法指令、访存指令还是ALU运算指令,并根据VLR的值, 由译码段循环产生相应的控制信号;若在微处理器中乘法操作与ALU 操作分离实现,则对于乘法指令,则进入标量乘法状态并产生用于控 制标量乘法的微控制信号,完成一个向量分量的乘法操作后,再开始 第二个向量分量的乘法操作;如果是访存指令,则译码段发出第一个 向量分量的访存请求控制信号,当第一个向量分量的访存请求完成之 后,再进行第二个向量分量的访存请求的控制;如果是ALU运算指令, 则根据运算的类型,由译码段产生单个向量分量的运算控制微信号, 当完成一个向量分量的运算之后,再开始第二个向量分量的运算;此 时,有限状态机进入多个状态的循环,并发出互锁流水线信号,停止 取指段的后续取指操作;有限状态机的状态转变由向量长度寄存器 VLR控制,如果向量分量操作的次数达到向量长度寄存器的值,则将 状态转变回开始状态,否则继续处理下一个向量分量;如果是向量长 度传输指令,则按照标量寄存器传输指令处理方法进行处理,即在一 个标量寄存器和VLR之间进行传输,或者将一个立即数传递入VLR中; 如果是标量指令、中断指令这样的一般指令,则译码段产生一般指令 的微控制信号。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/01131568.7/,转载请声明来源钻瓜专利网。
- 上一篇:具有改进的地址目标预测的处理器和方法
- 下一篇:流水线控制相关延迟消除方法