多信道数据打包器和多信道数据解包器制造技术

技术编号:26072408 阅读:24 留言:0更新日期:2020-10-28 16:46
本公开涉及多信道数据打包器和多信道数据解包器。一种多信道数据打包器包括多个两输入复用器和控制器。多个两输入复用器布置在2

【技术实现步骤摘要】
多信道数据打包器和多信道数据解包器
本文公开的主题涉及多信道(channel)数据系统。更具体地说,本文公开的主题涉及能够并行压缩和解压缩多信道比特流的系统。
技术介绍
神经推理加速器硬件可以以并行方式(例如,16个并发通道(lane))存储和检索数据,诸如从激活函数输出的权重和特征图。存储和检索的数据可能有许多零,可以并且应该被压缩以减少动态随机访问存储器(DRAM)和静态随机访问存储器(SRAM)中的存储装置的读写功率和大小。已知的压缩和解压缩数据算法(例如,霍夫曼、基于字典的、ZIP、游程长度编码、GolombRice等)通常是串行过程,并且一次只能处理一个数据比特流。
技术实现思路
示例实施例提供了一种多信道数据打包器,其可以包括多个两输入复用器以及控制器。多个两输入复用器可以布置在2N行和N列中,其中N是大于1的整数,其中,第一列中的每个复用器的每个输入可以接收2N个信道的比特流中的相应比特流,其中,所述相应比特流可以包括基于所述相应比特流中的数据的比特流长度,并且其中最后一列中的输出2N个信道的打包比特流的复用器可以各自具有相同的比特流长度。控制器可以控制所述多个两输入复用器,以使得最后一列中的复用器输出2N个信道的打包比特流,每个打包比特流具有相同的比特流长度。在一个实施例中,N=3,并且所述多个复用器可以布置在8行和3列中,第一列中的复用器的输出可以耦合到同一行中的第二列中的复用器的输入,并且第二列中的复用器的输出可以耦合到同一行中的第三列中的复用器的输入,一列中的一个复用器可以与同一列中的另一个复用器组合,以形成一列中的多对复用器中的一对复用器,所述一列中的每对复用器可以对应于另一列中的一对复用器,第一列中的一对复用器的第一复用器和第二复用器的输出可以进一步耦合到第二列中的相应的一对复用器的第一复用器和第二复用器的相应输入,并且第二列中相应的一对复用器的第一复用器和第二复用器的输出可以进一步耦合到第三列中的相应的一对复用器的第一复用器和第二复用器的相应输入。在另一个实施例中,由第一列中的复用器接收的每个比特流可以包括零比特掩码部分和非零数据部分。比特流的零比特掩码部分可以指示比特流中的零值的位置。示例实施例提供了一种多信道数据打包器,其可以包括可以布置在8行和3列中的多个两输入复用器。第一列中的复用器的输出可以耦合到同一行中的第二列中的复用器的输入,并且第二列中的复用器的输出可以耦合至同一行中的第三列中的复用器的输入。一列中的一个复用器可以与所述一列中的另一个复用器组合,以形成所述一列中的多对复用器中的一对复用器。所述一列中的每对复用器可以对应于另一列中的一对复用器。第一列中的一对复用器的第一复用器和第二复用器的输出可以进一步耦合到第二列中的相应的一对复用器的第一复用器和第二复用器的相应输入,并且第二列中的相应的一对复用器的第一复用器和第二复用器的输出可以进一步耦合到第三列中的相应的一对复用器的第一复用器和第二复用器的相应输入。在一个实施例中,第一列的每个复用器的每个输入可以接收8个信道的比特流中的相应比特流,所述相应比特流可以包括基于所述相应比特流中的数据的比特流长度,并且第三列中的复用器可以输出8个信道的打包比特流,其中每个打包比特流具有相同的比特流长度。在另一实施例中,由第一列中的复用器接收的每个比特流可以包括零比特掩码部分和非零数据部分,其中比特流的零比特掩码部分指示比特流中的零值的位置。示例实施例提供了多信道数据解包器,其可以包括多个两输入复用器以及控制器。多个两输入复用器可以布置在2N行和N列中,其中N是大于1的整数,其中第一列中的每个复用器的每个输入可以接收2N个信道的打包比特流中的相应打包比特流,其中所述相应打包比特流可以包括相同的比特流长度,并且其中最后一列中的复用器可以输出2N个信道的解包比特流,每个解包比特流具有与比特流的解包数据相对应的比特流长度。控制器可以控制多个两输入复用器,以使得最后一列的复用器输出2N个信道的解包比特流,其中每个解包比特流具有与每个比特流的解包数据相对应的比特流长度。在一个实施例中,由第一列中的复用器接收的每个打包比特流可以包括零比特掩码部分和非零数据部分。附图说明图1A描绘了根据本文公开的主题的多信道数据打包器的一个示例实施例的框图;图1B描绘了根据本文公开的主题的蝶式混洗器(butterflyshuffler)复用器的示例实施例的框图;图1C描绘了根据本文公开的主题的蝶式混洗器的一个示例实施例的框图;图1D描绘了根据本文公开的主题的蝶式混洗器的另一示例实施例的框图;图2A至图2C概念性地描绘了根据本文所公开的主题,不同比特流长度的八个示例比特流被递归打包以变成各自具有相等的比特流长度的八个比特流;图3A描绘了根据本文公开的主题的数据打包的另一示例,该数据打包包括原始8比特数据的示例块,诸如8×8的权重集合;图3B描绘了根据本文公开的主题的蝶式混洗器的第一列的多信道输出;图3C描绘了根据本文公开的主题的蝶式混洗器的第二列的多信道输出;图3D描绘了根据本文公开的主题的蝶式混洗器的第三列的多信道输出;图4描绘了根据本文公开的主题的示例数据解包器的框图;图5描绘了根据本文公开的主题的包括流长度部分和压缩数据部分的数据块;图6A描绘了根据本文公开的主题,提供对打包数据的随机访问的示例实施例的零崩溃(zero-collapsing)数据压缩器和打包器电路的框图;图6B描绘了具有对由图6A的零崩溃数据压缩器和打包器电路提供的打包数据的随机访问的示例数据压缩;图6C描绘了根据本文公开的主题的使用零崩溃移位器的零值移除器的示例实施例的框图;图6D描绘了根据本文公开的主题的使用零崩溃移位器的零值移除器的示例替代实施例的框图;图6E描绘了根据本文公开的主题的零崩溃移位器的示例实施例,其中所有信道都接收非零值;图6F描绘了根据本文公开的主题的零崩溃移位器的示例实施例,其中,一个信道(信道12)接收零值输入;图6G至图6J分别描绘了根据本文公开的主题的零崩溃频移位器的示例实施例,其用于其中信道逐渐接收更多零值的另外的更高级的情况;图7描绘了根据本文公开的主题的示例电路的框图,所述示例电路可以用于从比特流中移除零值;图8A和图8B分别示出了根据本文公开的主题的未压缩数据和具有对由图6A的零崩溃数据压缩器和打包器电路提供的打包数据的随机访问的数据压缩的另一示例;图9描绘了根据本文公开的主题的解包器和解压缩器电路的示例实施例的框图;图10A至图10B描绘了根据本文所公开的主题的,由图6A的零崩溃数据压缩器和打包器电路以及图9的解包和解压缩器电路提供的打包数据的随机访问能力的示例细节;图10C是根据本文公开的主题的,使用由图6A的零崩溃数据压缩器和打包器电路提供的打包数据的随机访问能力来访问图10A和图10B中描绘的压缩数据的方法的示例实施例的流程图;图10D描绘了根据本文本文档来自技高网...

【技术保护点】
1.一种多信道数据打包器,包括:/n布置在2

【技术特征摘要】
20190417 US 62/835,496;20190501 US 62/841,819;20201.一种多信道数据打包器,包括:
布置在2N行和N列中的多个两输入复用器,其中N是大于1的整数,第一列中每个复用器的每个输入接收2N个信道的比特流中的相应比特流,所述相应比特流包括基于所述相应比特流中的数据的比特流长度,并且最后一列中的复用器输出2N个信道的打包比特流,每个打包比特流具有相同的比特流长度;以及
控制器,其控制所述多个两输入复用器,以使得最后一列中的复用器输出2N个信道的打包比特流,每个打包比特流具有相同的比特流长度。


2.根据权利要求1所述的多信道数据打包器,其中,N=3,并且所述多个两输入复用器布置在8行和3列中,
其中,第一列中的复用器的输出耦合到同一行中的第二列中的复用器的输入,并且第二列中的复用器的输出耦合到同一行中的第三列中的复用器的输入,
其中,一列中的一个复用器与同一列中的另一个复用器组合,以形成一列中的多对复用器中的一对复用器,所述一列中的每对复用器对应于另一列中的一对复用器,
其中,第一列中的一对复用器的第一复用器和第二复用器的输出进一步耦合到第二列中的相应的一对复用器的第一复用器和第二复用器的相应输入,并且
其中,第二列中的相应的一对复用器的第一复用器和第二复用器的输出进一步耦合到第三列中的相应的一对复用器的第一复用器和第二复用器的相应输入。


3.根据权利要求2所述的多信道数据打包器,其中,由第一列中的复用器接收的每个比特流包括零比特掩码部分和非零数据部分。


4.根据权利要求3所述的多信道数据打包器,其中,比特流的零比特掩码部分指示比特流中的零值的位置。


5.根据权利要求1所述的多信道数据打包器,其中,第一列中的每个复用器的每个输入还接收2N个信道的打包比特流中的相应打包比特流,所述相应打包比特流包括相同的比特流长度,并且
其中,所述控制器还控制所述多个两输入复用器,以使得最后一列中的复用器输出2N个信道的解包比特流,其中,每个解包比特流具有与每个解包比特流的解包数据相对应的比特流长度。


6.根据权利要求5所述的多信道数据打包器,其中,N=3或N=4。


7.根据权利要求5所述的多信道数据打包器,其中,由第一列中的复用器接收的每个打包比特流包括零比特掩码部分和非零数据部分。


8.一种多信道数据打包器,包括:
布置在8行和3列中的多个两输入复用器,
第一列中的复用器的输出耦合到同一行中的第二列中的复用器的输入,并且第二列中的复用器的输出耦合到同一行中的第三列中的复用器的输入,
一列中的一个复用器与所述一列中的另一个复用器组合,以形成一列中的多对复用器中的一对复用器,所述一列中的每对复用器对应于另一列中的一对复用器,
第一列中的一对复用器的第一复用器和第二复用器的输出进一步耦合到第二列中的相应的一对复用器的第一复用器和第二复用器的相应输入,并且
第二列中的相应的一对复用器的第一复用器和第二复用器的输出进一步耦合到第三列中的相应的一对复用器的第一复用器和第二复用器的相应输入。


9.根据权利要求8所述的多信道数据打包器,其中,第一列的每个复用器的每个输入接收8个信道的比特流中的相应比特流,
其中,所述相应比特流包括基于所述相应比特流中的数据的比特流长度,并且
其中,第三列中的复用...

【专利技术属性】
技术研发人员:I奥夫西安尼科夫L王AA沙菲J哈桑
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1