一种卷积计算中4bit特征图的存储和解析方法技术

技术编号:36648909 阅读:20 留言:0更新日期:2023-02-18 13:10
本发明专利技术提供一种卷积计算中4b it特征图的存储和解析方法,包括:S1,特征图数据存储前的预处理;S2,特征图数据的解析:1)使用向右移位,得到高4位有符号数据;2)使用位与运算,得到低4位的无符号数据,再将无符号减8得到低4位的原始数据;S3,数据的整体存储:在芯片的指令使用中,一个寄存器一次加载16个8比特数据,在处理中,每连续32个数据一组,将这32个4比特数据转化存储成16个8比特存储的数据;S4,数据的整体解析:每16个8比特数据实际存储了32个4比特数据;根据实际顺序再进行解析出原始的顺序。该方法可以将数据存储空间缩小一倍,在数据加载过程中,极大的减少了加载时间,等效速度加快一倍,而计算量没有增加。而计算量没有增加。而计算量没有增加。

【技术实现步骤摘要】
一种卷积计算中4bit特征图的存储和解析方法


[0001]本专利技术涉及图像处理
,特别涉及一种卷积计算中4bit特征图的存储和解析方法。

技术介绍

[0002]集成电路技术现在越来越成为技术发展的焦点,很多芯片厂商也都开发自己的芯片。而在芯片应用中,在各自的芯片设计中也会产生各自的需求问题。例如,北京君正集成电路股份有限公司生产的芯片,目前市场大部分的芯片只支持的8位数据运算,对应的存储最小单位为8比特存储,不能直接支持4比特的存储,如北京君正的T30,T31型号的芯片。存放4比特数据,以8位存储数据,也就是一个字节,使用数据时最小单位也是一个字节,占用更大的存储空间,加载数据时间增加,使得在整个卷积计算的时间增加。
[0003]另外,现有技术中的常用术语如下:
[0004]1、特征图:输入数据通过卷积计算后得到的结果称之为特征图,数据通过全连接后生成的结果也称为特征图。特征图大小一般表示为长
×

×
深度,或1
×
深度。深度也被称为通道数。

技术实现思路

[0005]为了解决上述现有技术中的问题,本申请的目的在于:降低占用的存储空间。加载到二级缓存中的特征图数据更多,缓解数据传输中导致的等待问题。特别是,能适应例如北京君正的T30,T31型号类型的芯片指令的需要,根据适用于T30,T31型号的芯片上运行卷积的效率进行设计存储方式。
[0006]具体地,本专利技术提供一种卷积计算中4b it特征图的存储和解析方法,所述方法包括:
[0007]S1,特征图数据存储前的预处理:
[0008]由于一次只能存储8位数据,所以需要在存储前进行数据的预处理,在4比特卷积计算量化处理中,对8位数据中高4位使用带有符号的存储4比特数据,低4位使用无符号的存储4比特数据;
[0009]S2,特征图数据的解析:
[0010]1)使用向右移位,得到高4位有符号数据;
[0011]2)使用位与运算,即对应的原始无符号4bit数据&00001111,得到低4位的无符号数据,再将无符号减8得到低4位的原始数据;
[0012]S3,数据的整体存储:
[0013]在芯片的指令使用中,一个寄存器一次加载16个8比特数据,在处理中,每连续32个数据一组,将这32个4比特数据转化存储成16个8比特存储的数据;
[0014]S4,数据的整体解析:
[0015]每16个8比特数据实际存储了32个4比特数据;这32个4比特数据排列相对转化前
的顺序为:第0个,第16个,第1个,第17个,第2个,第18个,

,第15个,第31个;根据实际顺序再进行解析出原始的顺序:
[0016]首先将数据加载到寄存器vrs中,再通过右移得到高4位有符号数据,结果存到寄存器vrd0中;
[0017]接着对vrs通过位与运算,得到低4位的无符号数据,再将无符号减8得到低4位的原始数据,结果存到寄存器vrd1中;
[0018]vrd0存储的顺序为:第0个,第1个,第2个,

,第15个;vrd1存储的顺序为:第16个,第17个,第18个,

,第31个。
[0019]所述步骤S1中,在4比特卷积计算量化处理中,把卷积结果进行量化到无符号4比特数据,根据实际需要再进一步处理成有符号4比特数据;每一层输入使用4比特有符号数据,能够直接使用有符号数据,也能够使用无符号数据,即将无符号数据减去8得到有符号数据。
[0020]所述步骤S1中,所述一个8位数据的存储方式包括:高4位,带有符号,即无符号4位减8后的数据,再左移位4位;低4位,无符号的8位存储,也就是不减8;然后再将这两个数使用位或运算,得到的数据即是要存储的8位的数据;设8位数据中的高4位为a,对应的原始无符号4bit数据是x,低4位为b,对应的原始无符号4比特数据是y,使用位或运算后的数据为z,公式为:
[0021][0022]z=[(x

8)<<4]|y (0≤x≤15,0≤y≤15,x∈N,y∈N)。
[0023]设有两个无符号4位数x=6,y=11;将a处理有符号数据为6

8=

2,再左移4位是

32;z=

32|11,得z=

21。
[0024]数据的解析中,使用位与运算,即x&00001111,
[0025]公式为:
[0026][0027]设z=

21,x=

21>>4,得x=

2,y=(

21)&(0x0F),得y=11,对应的无符号结果为6,11,这个结果与原始数据a=6,b=11,z=

21完全吻合。
[0028]所述步骤S3中,每连续32个4bit数据一组即一个8bit中存储两个4比特数据,其中前16个数据为有符号4比特数据,后16个数据为无符号4比特数据。
[0029]设寄存器vrs0里面存储的是前16个8比特数据,寄存器vrs1里面存储的是后16个8比特数据,里面的8比特数据的有效数据只有一个4比特数据,处理后的数据用寄存器vrd表示,最后将vrd中的数据保存到ddr硬件中即可;
[0030]将无符号4比特数据转化为有符号4比特数据,结果存储到vrs0:
[0031]使用减法指令,输入变量vrs0、8,输出变量是vrs0,vrs0存储的是16个8比特的数据;可表示为vrd1=ingenic_sub(vrd1,8);
[0032]移位操作,结果存储到vrs0:
[0033]使用左移位指令,将变量vrs0里的数据进行左移动4位;可表示为vrs0=ingenic_shift_left(vrs0,4);
[0034]将高4比特有符号数据与低4比特无符号数据相加:
[0035]使用位或指令,输入变量vrs0、vrs1,输出变量是vrd,vrd存储的是16个8比特的数据,vrs0和vrs1存储的是16个8比特数据;可表示为vrd=ingenic_or(vrs0,vrs1)。
[0036]所述步骤S4,进一步包括:
[0037]对vrs移位操作,结果存储到vrd0中:
[0038]使用右移位指令,将变量vrs0里的数据进行右移动4位;可表示为vrd0=ingenic_shift_right(vrs0,4);
[0039]对vrs位与操作,结果存储到vrd1中:
[0040]使用位与指令,输入变量vrs0,15,输出变量vrd1,vrd1存储的是16个8比特的数据,vrs0存储的是16个8比特数据;可表示为vrd1=ingenic_and(vrs0,15)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积计算中4bit特征图的存储和解析方法,其特征在于,所述方法包括:S1,特征图数据存储前的预处理:由于一次只能存储8位数据,所以需要在存储前进行数据的预处理,在4比特卷积计算量化处理中,对8位数据中高4位使用带有符号的存储4比特数据,低4位使用无符号的存储4比特数据;S2,特征图数据的解析:1)使用向右移位,得到高4位有符号数据;2)使用位与运算,即对应的原始无符号4bit数据&00001111,得到低4位的无符号数据,再将无符号减8得到低4位的原始数据;S3,数据的整体存储:在芯片的指令使用中,一个寄存器一次加载16个8比特数据,在处理中,每连续32个数据一组,将这32个4比特数据转化存储成16个8比特存储的数据;S4,数据的整体解析:每16个8比特数据实际存储了32个4比特数据;这32个4比特数据排列相对转化前的顺序为:第0个,第16个,第1个,第17个,第2个,第18个,

,第15个,第31个;根据实际顺序再进行解析出原始的顺序:首先将数据加载到寄存器vrs中,再通过右移得到高4位有符号数据,结果存到寄存器vrd0中;接着对vrs通过位与运算,得到低4位的无符号数据,再将无符号减8得到低4位的原始数据,结果存到寄存器vrd1中;vrd0存储的顺序为:第0个,第1个,第2个,

,第15个;vrd1存储的顺序为:第16个,第17个,第18个,

,第31个。2.根据权利要求1所述的一种卷积计算中4bit特征图的存储和解析方法,其特征在于,所述步骤S1中,在4比特卷积计算量化处理中,把卷积结果进行量化到无符号4比特数据,根据实际需要再进一步处理成有符号4比特数据;每一层输入使用4比特有符号数据,能够直接使用有符号数据,也能够使用无符号数据,即将无符号数据减去8得到有符号数据。3.根据权利要求2所述的一种卷积计算中4bit特征图的存储和解析方法,其特征在于,所述步骤S1中,所述一个8位数据的存储方式包括:高4位,带有符号,即无符号4位减8后的数据,再左移位4位;低4位,无符号的8位存储,也就是不减8;然后再将这两个数使用位或运算,得到的数据即是要存储的8位的数据;设8位数据中的高4位为a,对应的原始无符号4bit数据是x,低4位为b,对应的原始无符号4比特数据是y,使用位或运算后的数据为z,公式为:z=[(x

8)<<4]|y(0≤x≤15,0≤y≤15,x∈N,y∈N)。4.根据权利要求3所述的一种卷积计算中4bit特征图的存储和解析方法,其特征在于,设有两个无符号4位数x=6,y=11;将a处理有符号数据为6

8=

2,再左移4位是

32;z=

32|11,得z=

【专利技术属性】
技术研发人员:田凤彬于晓静
申请(专利权)人:北京君正集成电路股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1