CN115390770B - 一种用于简化sram输出数据多路选择方法及系统 - Google Patents

一种用于简化sram输出数据多路选择方法及系统 Download PDF

Info

Publication number
CN115390770B
CN115390770B CN202211344653.2A CN202211344653A CN115390770B CN 115390770 B CN115390770 B CN 115390770B CN 202211344653 A CN202211344653 A CN 202211344653A CN 115390770 B CN115390770 B CN 115390770B
Authority
CN
China
Prior art keywords
data
bit
attribute
flag bit
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211344653.2A
Other languages
English (en)
Other versions
CN115390770A (zh
Inventor
伍骏
熊大鹏
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Yizhu Intelligent Technology Co ltd
Original Assignee
Shanghai Yizhu Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Yizhu Intelligent Technology Co ltd filed Critical Shanghai Yizhu Intelligent Technology Co ltd
Priority to CN202211344653.2A priority Critical patent/CN115390770B/zh
Publication of CN115390770A publication Critical patent/CN115390770A/zh
Application granted granted Critical
Publication of CN115390770B publication Critical patent/CN115390770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种用于简化SRAM输出数据多路选择方法及系统,包括以下步骤:读取数据,控制器从大宽度静态存储器SRAM的存储单元读取一行大位宽数据,该行大位宽数据包括一个操作类型的类型标记位,该行大位宽数据的每个数据单位含有一个指示该数据单元的数据属性的属性标记位;数据定向,控制器根据类型标记位和属性标记位,将各数据单元分配至对应的运算器及其相应的输入端口;计算处理,运算器进行计算并输出计算结果。本发明无需大规模的的选择电路,减少的绕线资源,更容易物理实现;同时数据属性存储在sram中,和数据同时读出,伴随数据在计算电路流动,运算时无需软件干预;本发明还可以简化运算单元设计,运算单元根据数据属性使用相应计算电路。

Description

一种用于简化SRAM输出数据多路选择方法及系统
技术领域
本发明涉及技术领域,尤其涉及一种用于简化SRAM输出数据多路选择方法及系统。
背景技术
当前人工智能芯片内部大量使用大宽度静态存储器(sram),每一个存储单元都会存储多个数据单元拼接在一起的大位宽数据,当需要处理这些数据的时候,需要从sram读取大位宽数据并重新划分成数据单元分别运算.
对于这种问题,传统的设计方式是使用位选择电路选出需要的数据单元然后进行逻辑操作,当数据宽度非常大的时候,位选择电路非常复杂,占用大量绕线资源,并且电路时序也比较差。当数据传递到相应的处理单元的时候,需要配置处理单元成特定模式才能有效计算,计算模式和数据分离。
发明内容
基于现有技术中存在的不足之处,本发明提供了一种用于简化SRAM输出数据多路选择方法及系统,具体技术方案如下:
一种用于简化SRAM输出数据多路选择方法,包括以下步骤:
读取数据,控制器从大宽度静态存储器SRAM的存储单元读取一行大位宽数据,该行大位宽数据包括一个操作类型的类型标记位,该行大位宽数据的每个数据单位含有一个指示该数据单元的数据属性的属性标记位;
数据定向,控制器根据类型标记位和属性标记位,将各数据单元分配至对应的运算器及其相应的输入端口;
计算处理,运算器进行计算并输出计算结果。
具体的,所述类型标记位至少包括0、1和2,或其他可区分操作类型的值,分别指代特定的运算操作,所述特定操作至少包括空操作、加法操作和乘加操作。
具体的,所述数据属性标记位至少包括1、2和3,或其他可区分数据属性的值,分别指代特定的数据属性,所述数据属性包括加数、被加数、移位、乘数、被乘数。
具体的,所述类型标记位与所述属性标记位至少包括以下组合:
类型标记位=1时,1代表加数,2代表被加数,3代表移位;
类型标记位=2时,1代表乘数,2代表被乘数,3代表加数。
具体的,所述大位宽数据中数据单元的存放顺序与运算器执行运算操作的顺序相独立。
具体的,还包括一个中断步骤,待运算器完成运算后向CPU发出中断。
具体的,当所述数据单元向下传递的时候,标记属性的信号也向下传递。
具体的,所述类型标记位位于所述大位宽数据的帧头。
具体的,所述属性标记位位于所述大位宽数据的每一个数据单元的头部。
一种用于简化SRAM输出数据多路选择系统,基于所述的一种用于简化SRAM输出数据多路选择方法的实现,包括:
操作符解码模块,用于对大位宽数据的操作类型标记位进行解码;
数据类型解码模块,用于对大位宽数据的各个数据属性标记位进行解码;
运算器模块,用于对输入的数据进行运算;
操作数选择模块,用于操作数选择。
具体的,所述的运算器模块至少包括加法器、乘法器和逻辑运算器。
本发明的有益效果:
1.无需大规模的的选择电路,减少的绕线资源,更容易物理实现。
2.数据属性存储在sram中,和数据同时读出,伴随数据在计算电路流动,运算时无需软件干预。
3.简化运算单元设计,运算单元根据数据属性使用相应计算电路。
附图说明
图1所示的是本发明的存储器中数据摆放示意图;
图2所示的是本发明的实施例1重新排序后数据示意图;
图3所示的是本发明的实施例1计算过程示意图;
图4所示的是本发明的实施例2重新排序后数据示意图;
图5所示的是本发明的实施例2计算过程示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
如图1-3所示,一种用于简化SRAM输出数据多路选择方法,包括以下步骤:
读取数据,控制器从大宽度静态存储器SRAM的存储单元读取一行大位宽数据,该行大位宽数据包括一个操作类型的类型标记位,该行大位宽数据的每个数据单位含有一个指示该数据单元的数据属性的属性标记位;
数据定向,控制器根据类型标记位和属性标记位,将各数据单元分配至对应的运算器及其相应的输入端口;
计算处理,运算器进行计算并输出计算结果。
具体的,所述类型标记位至少包括0、1和2,或其他可区分操作类型的值,分别指代特定的运算操作,所述特定操作至少包括空操作、加法操作和乘加操作。
具体的,所述数据属性标记位至少包括1、2和3,或其他可区分数据属性的值,分别指代特定的数据属性,所述数据属性包括加数、被加数、移位、乘数、被乘数。
具体的,所述类型标记位与所述属性标记位至少包括以下组合:
类型标记位=1时,1代表加数,2代表被加数,3代表移位;
类型标记位=2时,1代表乘数,2代表被乘数,3代表加数。
具体的,所述大位宽数据中数据单元的存放顺序与运算器执行运算操作的顺序相独立。
具体的,还包括一个中断步骤,待运算器完成运算后向CPU发出中断。
具体的,当所述数据单元向下传递的时候,标记属性的信号也向下传递。
具体的,所述类型标记位位于所述大位宽数据的帧头。
具体的,所述属性标记位位于所述大位宽数据的每一个数据单元的头部。
一种用于简化SRAM输出数据多路选择系统,基于所述的一种用于简化SRAM输出数据多路选择方法的实现,包括:
操作符解码模块,用于对大位宽数据的操作类型标记位进行解码;
数据类型解码模块,用于对大位宽数据的各个数据属性标记位进行解码;
运算器模块,用于对输入的数据进行运算;
操作数选择模块,用于操作数选择。
具体的,所述的运算器模块至少包括加法器、乘法器和逻辑运算器。
实施例1:
请着重参阅图1,本实施例中数据在存储器中的摆放位置为图1中第一行。
当读取第一行传输,adder标签匹配到加法器以后,数据根据标签重新排序,请着重参阅图2。
将数据摆放在加法器端口上,请着重参阅图3。
计算结果为(data1+data2)>>data3。
计算完成发出中断,通知CPU。
实施例2:
请着重参阅图1,本实施例中数据在存储器中的摆放位置为图1中第二行。
当读取第二行传输,mac标签匹配到乘加器以后,数据根据标签重新排序,请着重参阅图4。
将数据摆放在乘加器端口上,请着重参阅图5。
计算结果为(data6*data4)+data5。
计算完成发出中断,通知CPU。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

Claims (8)

1.一种用于简化SRAM输出数据多路选择方法,其特征在于,包括以下步骤:
读取数据,控制器从大宽度静态存储器SRAM的存储单元读取一行大位宽数据,该行大位宽数据包括一个操作类型的类型标记位,该行大位宽数据的每个数据单元含有一个指示该数据单元的数据属性的属性标记位;所述类型标记位至少包括0、1和2,分别指代特定的运算操作,所述特定的运算操作至少包括空操作、加法操作和乘加操作;所述数据属性标记位至少包括1、2和3,分别指代特定的数据属性,所述数据属性包括加数、被加数、移位、乘数、被乘数;类型标记位=1时,属性标记位1代表加数,属性标记位2代表被加数,属性标记位3代表移位;类型标记位=2时,属性标记位1代表乘数,属性标记位2代表被乘数,属性标记位3代表加数;
数据定向,控制器根据类型标记位和属性标记位,将各数据单元分配至对应的运算器及其相应的输入端口;
计算处理,运算器进行计算并输出计算结果。
2.根据权利要求1所述的一种用于简化SRAM输出数据多路选择方法,其特征在于,所述大位宽数据中数据单元的存放顺序与运算器执行运算操作的顺序相独立。
3.根据权利要求1所述的一种用于简化SRAM输出数据多路选择方法,其特征在于,还包括一个中断步骤,待运算器完成运算后向CPU发出中断。
4.根据权利要求1所述的一种用于简化SRAM输出数据多路选择方法,其特征在于,当所述数据单元向下传递的时候,标记属性的信号也向下传递。
5.根据权利要求1所述的一种用于简化SRAM输出数据多路选择方法,其特征在于,所述类型标记位位于所述大位宽数据的帧头。
6.根据权利要求1所述的一种用于简化SRAM输出数据多路选择方法,其特征在于,所述属性标记位位于所述大位宽数据的每一个数据单元的头部。
7.一种用于简化SRAM输出数据多路选择系统,基于权利要求1-6任意一项所述的一种用于简化SRAM输出数据多路选择方法的实现,其特征在于,包括:
操作符解码模块,用于对大位宽数据的操作类型标记位进行解码;
数据类型解码模块,用于对大位宽数据的各个数据属性标记位进行解码;
运算器模块,用于对输入的数据进行运算;
操作数选择模块,用于操作数选择。
8.根据权利要求7所述的一种用于简化SRAM输出数据多路选择系统,其特征在于,所述的运算器模块至少包括加法器、乘法器和逻辑运算器。
CN202211344653.2A 2022-10-31 2022-10-31 一种用于简化sram输出数据多路选择方法及系统 Active CN115390770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211344653.2A CN115390770B (zh) 2022-10-31 2022-10-31 一种用于简化sram输出数据多路选择方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211344653.2A CN115390770B (zh) 2022-10-31 2022-10-31 一种用于简化sram输出数据多路选择方法及系统

Publications (2)

Publication Number Publication Date
CN115390770A CN115390770A (zh) 2022-11-25
CN115390770B true CN115390770B (zh) 2023-03-21

Family

ID=84115112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211344653.2A Active CN115390770B (zh) 2022-10-31 2022-10-31 一种用于简化sram输出数据多路选择方法及系统

Country Status (1)

Country Link
CN (1) CN115390770B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956319A (zh) * 2013-01-23 2015-09-30 国际商业机器公司 向量浮点测试数据类立即指令

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995991A (en) * 1996-07-18 1999-11-30 Industrial Technology Research Institute Floating point architecture with tagged operands
JP2012113508A (ja) * 2010-11-24 2012-06-14 Nec Fielding Ltd 浮動小数点演算回路、浮動小数点演算回路を備えたコンピュータ及びその演算制御方法と演算制御プログラム
CN111897674A (zh) * 2020-08-07 2020-11-06 上海富瀚微电子股份有限公司 一种循环冗余校验电路ip核实现系统及方法
WO2022133686A1 (zh) * 2020-12-21 2022-06-30 清华大学 有/无符号乘累加装置及方法
CN114610231A (zh) * 2022-02-07 2022-06-10 西安电子科技大学 大位宽数据总线分段存储的控制方法、系统、设备及介质
CN114666038B (zh) * 2022-05-12 2022-09-02 广州万协通信息技术有限公司 一种大位宽数据处理方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104956319A (zh) * 2013-01-23 2015-09-30 国际商业机器公司 向量浮点测试数据类立即指令

Also Published As

Publication number Publication date
CN115390770A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
US20020178196A1 (en) Modular arithmetic coprocessor comprising two multiplication circuits working in parallel
CN111915001B (zh) 卷积计算引擎、人工智能芯片以及数据处理方法
GB1575213A (en) Floating point data processor
CN110489428B (zh) 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN116561051B (zh) 一种硬件加速卡和异构计算系统
CN104317850A (zh) 数据处理方法和装置
CN115390770B (zh) 一种用于简化sram输出数据多路选择方法及系统
US11409840B2 (en) Dynamically adaptable arrays for vector and matrix operations
CN111047037B (zh) 数据处理方法、装置、设备及存储介质
CN112799598A (zh) 一种数据处理方法、处理器及电子设备
CN109460535B (zh) 一种基于云的有限域矩阵求逆装置及求逆方法
CN105892995A (zh) 查找负数的方法、装置及处理器
CN113591031A (zh) 低功耗矩阵运算方法及装置
CN115495152A (zh) 变长输入的存内计算电路
US20240069868A1 (en) Mac operator related to correcting a computational error
CN114080598A (zh) 具有数据连接器组件的点对点连接的处理元件
US20200057638A1 (en) Linear feedback shift register for a reconfigurable logic unit
CN114528021B (zh) 分时复用量子测控系统及低功耗高效率量子测控编译方法
US20050251658A1 (en) Processing unit
CN111353125B (zh) 运算方法、装置、计算机设备和存储介质
EP1785863A2 (en) A divider comprising a carry save adder and a full adder
US20230259581A1 (en) Method and apparatus for floating-point data type matrix multiplication based on outer product
CN111507178B (zh) 数据处理的优化方法及装置、存储介质、计算机设备
US20220222045A1 (en) Processing-in-memory devices having multiplication-and-accumulation circuits

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Jun

Inventor after: Xiong Dapeng

Inventor after: Li Tao

Inventor before: Wu Jun

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 200120 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Suzhou Yizhu Intelligent Technology Co.,Ltd.

Address before: 200120 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Shanghai Yizhu Intelligent Technology Co.,Ltd.