[发明专利]一种运算装置和方法有效
申请号: | 201710256445.X | 申请日: | 2017-04-19 |
公开(公告)号: | CN108733412B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F9/302 | 分类号: | G06F9/302;G06F9/312 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东新区上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 运算 装置 方法 | ||
本公开是关于一种运算装置和方法,装置包括,输入输出模块,控制器模块,运算器模块和存储模块。其中,输入输出模块用于数据的输入、输出和输入输出数据的存储;控制器模块将运算指令译码为控制信号,以控制其它各模块完成操作;运算器模块用于完成数据的四则运算、逻辑运算、移位操作和求补运算;存储模块用于指令和数据的暂存。本公开的优点在于能准确高效地执行复合标量指令。
技术领域
本公开涉及指令集和指令集执行方法及实现,具体涉及一种支持复合标量指令的装置和运算方法,可用于图像处理,数字处理,智能设备和片上网络数据运算等。
背景技术
随着大数据时代的来临,复合标量指令被越来越多地运用于各种场合,准确、高效地执行复合标量指令具有重大意义。在现代智能芯片中,标量指令在各类算法中有着广泛的应用。
传统的标量指令通过操作码来区分浮点指令和定点指令,如定点加法指令和浮点加法指令的操作码不同,这种方式使得指令集和译码逻辑变得复杂。
另一种方法是通过在数据上附加一个用硬件解释的表示类型的标志位,用来区分指令所用的数据是浮点还是定点,这种方法并没有减少指令集的大小,并且一般只适用于操作数为立即数的情形,也可以在数据中加入标志位,这样就增加了存储所需的空间。
公开内容
(一)要解决的技术问题
鉴于上述问题,本公开在研究复合标量指令的基础上,提供一种复合标量指令、一种支持复合标量指令的装置,以及一种复合标量指令的执行方法,用以解决上述技术问题中的至少之一。
(二)技术方案
本公开是通过以下技术方案实现的:
一种支持复合标量指令的装置,包括控制器模块、存储模块和运算器模块,其中:
所述存储模块,用于存储复合标量指令和数据,所述数据有一种以上的类型,不同类型的数据存储于存储模块中不同的地址内;
所述控制器模块,用于从存储模块读取复合标量指令并译码为控制信号;
所述运算器模块,用于接收控制信号,从所述存储模块读取数据,根据读取数据的地址判断数据类型,并对数据进行运算。
优选地,所述数据包括初始数据和中间数据;所述装置还包括输入输出模块,所述输入输出模块将所述初始数据和复合标量指令传输给所述存储模块;所述运算器模块将运算的中间结果存储至存储模块,将最终结果传输给所述输入输出模块。
优选地,所述复合标量指令是将浮点指令和定点指令统一起来的指令,包括操作码域、操作数地址域和目的地址域,在译码时不区分指令类型,在运算时根据操作数地址域中的地址来确定数据类型;
其中,所述操作码域中存储的操作码用于区分不同类型的操作,所述操作数地址域用于区分操作数的类型,所述目的地址域为运算结果存储的地址。
优选地,所述不同类型的数据包括浮点数据和定点数据;所述存储模块包括寄存器堆、RAM和/或ROM;所述不同的地址包括不同的RAM地址和/或不同的寄存器号。
优选地,所述运算器模块通过读取数据所用的RAM地址或寄存器号来判断所读取的数据为浮点数据或定点数据。
一种复合标量指令,包括操作码域、操作数地址域和目的地址域;
所述操作码域中存储的操作码用于区分不同类型的操作,所述操作数地址域用于区分操作数的类型,所述目的地址域为运算结果存储的地址。
优选地,所述操作数地址域包括RAM地址、寄存器号或立即数;所述目的地址域包括RAM地址或寄存器号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710256445.X/2.html,转载请声明来源钻瓜专利网。