[发明专利]数据压缩方法、处理器、数据压缩装置及存储介质有效
申请号: | 201811620302.3 | 申请日: | 2018-12-28 |
公开(公告)号: | CN111382849B | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 孙岩 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据压缩 方法 处理器 装置 存储 介质 | ||
本申请涉及一种数据压缩方法、处理器、数据压缩装置及存储介质。所述方法包括:在压缩速度较快的流水线插入空泡,从而缩小多条流水线之间的压缩速度差距。采用本方法能够避免发生死锁。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据压缩方法、处理器、数据压缩装置及存储介质。
背景技术
随着信息技术的不断发展,配置有先入先出双口存储器(First Input FirstOutput,FIFO)的芯片以其灵活、方便、高效的特性,逐渐在高效数据采集、高效数据处理、高效数据传输以及多级并行处理系统中得到越来越广泛的应用。
神经网络处理器中,由于数据压缩过程中产生的定长输入,变长输出的情况,也就是说,同样长度的输入数据可能产生不同长度的输出数据,那么,由于FIFO输入输出端口的一致性,多条码流并行压缩过程中压缩速度的差异性,可能会导致死锁。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在输出码长较短的流水线插入预设字符,从而缩小多条流水线之间的压缩速度差距,进而避免发生死锁的数据压缩方法、处理器、数据压缩装置及存储介质。
一种数据压缩方法,所述方法包括:
获取当前码流的流水线级数以及当前码流已经处理的字符数量;
获取多个码流中已经处理的最小字符数量;
若所述当前码流已经处理的字符数量与所述多个码流中已经处理的最小字符数量之间的差值大于或等于所述当前码流的流水线级数,判断流水线会发生死锁,则向所述当前码流中插入第一预设字符。
在其中一个实施例中,所述向所述当前码流中插入第一预设字符,包括:
在配置单元中对所述第一预设字符进行编码,得到第一预设字符编码;
当流水线发生死锁时,在所述当前码流的输出模块中插入所述第一预设字符编码。
在其中一个实施例中,所述方法还包括:
获取多个码流中输出模块的存储容量,其中,所述多个码流中每一码流的输出模块的存储容量一致;
当所述每一码流的输出模块中的输出数据均占满所述存储容量时,将多个所述输出模块中的数据统一进行输出。
在其中一个实施例中,所述方法还包括:
为与所述第一预设字符数值相同的真实数据设置附加字符位。
一种处理器,所述处理器包括运算单元、与所述运算单元邻近设置的存储单元以及控制器单元,所述控制器单元连接于所述运算单元与所述存储单元之间;
其中,所述运算单元包括数据压缩模块,所述数据压缩模块用于若当前码流已经处理的字符数量与多个码流中已经处理的最小字符数量之间的差值大于或等于当前码流的流水线级数时,判断流水线会发生死锁,则向所述当前码流中插入第一预设字符;
所述存储单元用于存储原始数据以及编码后的数据,并与所述控制器单元以及所述运算单元之间进行数据传输;
所述控制器单元用于获取输入数据以及计算指令,并将解析该计算指令得到的多个运算指令以及所述输入数据发送至所述运算单元。
在其中一个实施例中,所述数据压缩模块包括控制信号接口、缓存、多个寄存器、累加模块、配置模块以及输出模块;
其中,所述控制信号接口用于实现所述数据压缩模块与所述控制器单元之间的连接以及数据传输;
所述缓存分别与所述缓存邻近设置的寄存器、所述配置模块以及所述输出模块连接,用于存储输入数据、中间数据、所述第一预设字符、所述第二预设字符以及第一预设字符编码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811620302.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光学膜的端缘部切断分离装置
- 下一篇:一种BOPET模口润滑母料及其制备工艺