RU2729509C1 - Device for unpacking data - Google Patents
Device for unpacking data Download PDFInfo
- Publication number
- RU2729509C1 RU2729509C1 RU2019143298A RU2019143298A RU2729509C1 RU 2729509 C1 RU2729509 C1 RU 2729509C1 RU 2019143298 A RU2019143298 A RU 2019143298A RU 2019143298 A RU2019143298 A RU 2019143298A RU 2729509 C1 RU2729509 C1 RU 2729509C1
- Authority
- RU
- Russia
- Prior art keywords
- mask
- input
- data
- register
- outputs
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 33
- 238000007906 compression Methods 0.000 abstract description 13
- 230000006835 compression Effects 0.000 abstract description 13
- 230000006837 decompression Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000010365 information processing Effects 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000012856 packing Methods 0.000 description 12
- 238000011084 recovery Methods 0.000 description 6
- 244000309464 bull Species 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 1
- 101100000595 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ACF4 gene Proteins 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИAREA OF TECHNOLOGY
Изобретение относится к области вычислительной техники и предназначено для использования в системах обработки информации, а также может быть применено в блоках сжатия и распаковки данных без потерь в системах для рационального использования устройств хранения и передачи данных, обработки данных физических экспериментов.The invention relates to the field of computer technology and is intended for use in information processing systems, and can also be applied in blocks of compression and decompression of data without loss in systems for the rational use of storage and data transmission devices, processing data of physical experiments.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИPRIOR ART
Известен способ сжатия восстановления данных без потерь (RU №2403677 С1, МПК Н03М 7/30, заявлено 09.02.2009, опубликовано 10.11.2010, Бюл. №31), в котором используется сжатие данных, ранее подвергнутых сжатию. В сжимаемом потоке данных считают количество нулей n0 и количество единиц n1, выбирают алгоритм присвоения неповторяющихся цифровых кодов всем возможным перестановкам с повторениями из по нулей и n1 единиц и нахождения соответствующей перестановки, которой присваивают цифровой код Nc, считают общее количество кодов nc, определяют значения d1=n0+n1-nc и d2=(n0+n1)/2, а для восстановления потока данных выполняют обратные операции.There is a known method of lossless data recovery compression (RU No. 2403677 C1, IPC Н03М 7/30, declared 02/09/2009, published 11/10/2010, Bull. No. 31), which uses data compression, previously compressed. In the compressed data stream, count the number of zeros n 0 and the number of ones n 1 , select an algorithm for assigning non-repeating digital codes to all possible permutations with repetitions of zeros and n 1 ones and finding the corresponding permutation, which is assigned a digital code N c , count the total number of codes n c , the values d 1 = n 0 + n 1 -n c and d 2 = (n 0 + n 1 ) / 2 are determined, and the reverse operations are performed to restore the data stream.
Известно кодирующее устройство (RU №153302 U1, МПК Н03М 7/30, заявлено 17.06.2014, опубликовано 10.07.2015, Бюл. №19), содержащее входной регистр, анализатор разрядов, блок управления ключами, блок ключей, ПЗУ, блок мультиплексоров, выходной регистр, а также тактовый генератор, делитель частоты, счетчик и выходной регистр со следующими соединениями: выход входного регистра 1-n соединен с входами анализатора разрядов и с блоком управления ключами, выходы 1-n2 анализатора соединены с информационными входами блока ключей, а выходы 1-n2 - с управляющими входами этого блока, выходы которого 1-n2 соединены с входами ПЗУ, а выходы 1-2n ПЗУ соединены с информационными входами блока мультиплексора, выходы которого 1-n являются выходами маркера устройства; выходы 3-8 входного регистра соединены с выходным регистром, выходы которого являются выходами информационных разрядов устройства; выход тактового генератора через счетчик соединен с управляющими входами блока мультиплексоров, а через делитель частоты - с управляющими входами: через выход 1 входного регистра, через выход 2 с блоком управления ключами, а через выход 3 с выходным регистром.Known encoding device (RU No. 153302 U1, IPC
Недостатком данных устройств является схемная сложность, что затрудняет их применение.The disadvantage of these devices is their circuit complexity, which complicates their use.
Известно устройство для упаковки данных (RU №2701711 С1, МПК Н03М 7/30, заявлено 09.01.2019, опубликовано 30.09.2019, Бюл. №28), содержащее N входных символов ID1, ID2, …, IDN по k разрядов соединенных с входным регистром данных 2, формирователь маски 3, содержащий группу из N элементов ИЛИ, коммутатор маски 4, регистр маски 5, многовыходной блок приоритета 6, содержащий w каскадов, блок коммутаторов данных 7, содержащий w коммутаторов 71, 72, …, 7w, коммутатор маски-данных 8, выходной буфер 9, элемент ИЛИ-НЕ 10, синхронный D-триггер 11, внешний вход С синхронизации 12, внешний вход R синхронной установки в нулевое состояние 13, внешние выходы Q устройства 14, содержащие w символов по k разрядов, а также внутреннюю шину данных DD из N символов по k разрядов, внутреннюю N разрядную шину маски символов М, группу из w внутренних шин указателей старших символов U1, U2, …, Uw (где w количество выходных символов), внутреннюю шину остаточной маски MS и флаг нулевых символов (флаг нуля) FZ.Known device for packing data (RU No. 2701711 C1, IPC
Недостатком данного устройства является отсутствие средств для восстановления сжатых данных.The disadvantage of this device is the lack of tools for recovering compressed data.
Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятое за прототип, устройство для декомпрессии данных (RU №2697618 С1, МПК Н03М 7/30, заявлено 30.10.2018, опубликовано 15.08.2019, Бюл. №23), содержащее шину входных данных 1 соединенную с входным регистром данных 2, многовыходной блок приоритета 3, который содержит w групп выходов указателей старших символов S1, S2, …, Sw по N разрядов (где w количество входных символов), группу из N коммутаторов данных 41, 42, …, 4N, группу из N регистров 51, 52, …, 5N с синхронным входом R установки в нулевое состояние, выходной буфер 6, выходы которого содержат N выходных символов Q1, Q2, … QN по k разрядов и которые являются внешними выходами устройства 13, элемент ИЛИ-НЕ 7, N групп 81, 82, …, 8N по k элементов 2И, регистр маски 9, D-триггер 10 с синхронным входом R установки в нулевое состояние,The closest device for the same purpose to the claimed invention in terms of a set of features is, taken as a prototype, a device for data decompression (RU No. 2697618 C1, IPC
а также содержащее внешний вход С синхронизации 11, внешний вход R синхронной установки в нулевое состояние, внутреннюю шину данных D из w символов по k разрядов, внутреннюю шину приоритета MS, которая является группой вторых выходов многовыходного блока приоритета 3, внутреннюю N разрядную первую шину маски символов М, внутреннюю N разрядную вторую шину маски символов QM, которая является группой выходов регистра маски 9, и флаг нуля FZ,and also containing an external input C of
причем внешний вход С синхронизации 11 и внешний вход R синхронной установки в нулевое состояние 12 соединены соответственно с входами синхронизации С и входами R синхронной установки в нулевое состояние входного регистра данных 2, N групп регистров 5, выходного буфера 6, регистра маски 9 и D-триггера 10,moreover, the external input C of
причем выходы входного регистра 2 являются соответствующими w*k разрядами внутренней шины данных D, которые соединены с информационными входами каждого коммутатора данных группы из N коммутаторов данных 41, 42, …, 4N, управляющие входы выборки которых соединены с соответствующими одноименными разрядами w групп выходов S1, S2, …, Sw многовыходного блока приоритета 3,moreover, the outputs of the
при этом выходы группы из N коммутаторов данных 41, 42, …, 4N соединены с соответствующими информационными входами D одноименных регистров группы из N регистров 51, 52, …, 5N, у которых выходы QB1, QB2, …, QBN всех N регистров 51, 52, …, 5N соединены по группам с соответствующими первыми входами элементов 2И одноименных N групп 81, 82, …, 8N, выходы которых соединены с соответствующими группами информационных входов IQ1, IQ2, …, IQN выходного буфера 6, а вторые входы элементов 2И из N групп 81, 82, …, 8N по группам соединены между собой и подключены к соответствующим одноименным разрядам внутренней N разрядной второй шины маски QM,while the outputs of a group of
кроме того выход элемента ИЛИ-НЕ 7 является флагом нуля FZ и соединен с информационным D-входом D-триггера 10, выход которого соединен с входом СЕ разрешения работы регистра маски 9 и соединен с входом СЕ разрешения работы выходного буфера 6,in addition, the output of the OR-
причем шина входных данных 1 содержит группу входных разрядов данных ID из w символов по k разрядов и группу входных N разрядов маски символов IM, при этом вторая группа выходов входного регистра 2 является N разрядами внутренней первой шины маски символов М, которая соединена с входами многовыходного блока приоритета 3 и соединена с входами СЕ одноименных групп регистров 51, 52, …, 5N.moreover, the
Недостатками данного устройства являются аппаратные затраты на хранение текущей маски для каждой упакованной группы символов и передача на каждом такте N разрядов текущей маски.The disadvantages of this device are the hardware costs for storing the current mask for each packed group of symbols and transmitting N bits of the current mask at each clock cycle.
ЗАДАЧА ИЗОБРЕТЕНИЯOBJECT OF THE INVENTION
Задачей изобретения является разработка аппаратных средств для использования в системах обработки информации, блоках сжатия и распаковки данных без потерь в системах для рационального использования устройств хранения и передачи данных.The objective of the invention is to develop hardware for use in information processing systems, compression and decompression units without loss in systems for the rational use of storage and data transmission devices.
Техническим результатом изобретения является сокращение разрядности входных данных и простота реализации с одновременным повышением информационной вместимости без потерь информации за счет сокращения необходимого объема памяти для хранения последовательности групп входных данных двоичных символов и соответствующих масок символов.The technical result of the invention is to reduce the bit width of the input data and simplicity of implementation with a simultaneous increase in information capacity without loss of information by reducing the required amount of memory for storing a sequence of groups of input data of binary symbols and corresponding masks of symbols.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯBRIEF DESCRIPTION OF THE INVENTION
Указанный технический результат при осуществлении изобретения достигается тем, что в устройство для распаковки данных содержащее шину IMD входных данных 1 соединенную с входным регистром RD данных 2, многовыходной блок FU приоритета 3, который содержит w групп выходов указателей старших символов U1, U2, …, Uw по N разрядов (где w количество входных символов), группу из N коммутаторов КD данных 41, 42, …, 4N, группу из N регистров 51, 52, …, 5N с синхронным входом R установки в нулевое состояние, выходной буфер BQ 6, выходы которого содержат N выходных символов Q1, Q2, …, QN по k разрядов и которые являются внешними выходами устройства 13, элемент ИЛИ-НЕ 7, N групп 81, 82, …, 8N по k элементов 2И, регистр RM1 общей маски 9, D-триггер 10 с синхронным входом R установки в нулевое состояние,The specified technical result in the implementation of the invention is achieved by the fact that in the device for unpacking data containing the input
а также содержащее внешний вход С синхронизации 11, внешний вход R синхронной установки в нулевое состояние 12, внутреннюю шину данных-маски MD из w символов по k разрядов, внутреннюю шину приоритета (остаточной маски) MS, которая является группой вторых выходов многовыходного блока приоритета 3, внутреннюю N разрядную шину общей маски символов QM, которая является группой выходов регистра RM1 общей маски 9, и флаг нуля (флаг нулевых символов) FZ,and also containing an external input C of
причем внешний вход С синхронизации 11 и внешний вход R синхронной установки в нулевое состояние 12 соединены соответственно с входами синхронизации С и входами R синхронной установки в нулевое состояние входного регистра RD данных 2, N групп регистров 51, 52, …, 5N, выходного буфера BQ 6, регистра RM1 общей маски 9 и D-триггера 10,moreover, the external input C of
причем выходы входного регистра 2 являются соответствующими w*k разрядами внутренней шины данных-маски MD, которые соединены с информационными входами каждого коммутатора данных КD группы из N коммутаторов данных 41, 42, …, 4N, управляющие входы выборки которых соединены с соответствующими одноименными разрядами w групп выходов U1, U2, …, Uw многовыходного блока FU приоритета 3,moreover, the outputs of the
при этом выходы группы из N коммутаторов КD данных 41, 42, …, 4N соединены с соответствующими информационными входами D одноименных регистров группы из N регистров 51, 52, …, 5N, у которых выходы QB1, QB2, …, QBN всех N регистров 51, 52, …, 5N соединены по группам с соответствующими первыми входами элементов 2И одноименных N групп 81, 82, …, 8N, выходы которых соединены с соответствующими группами информационных входов IQ1, IQ2, …, IQN выходного буфера BQ 6, а вторые входы элементов 2И из N групп 81, 82, …, 8N по группам соединены между собой и подключены к соответствующим одноименным разрядам внутренней N разрядной шины общей маски символов QM,while the outputs of a group of N
кроме того выход элемента ИЛИ-НЕ 7 является флагом нуля FZ и соединен с информационным D-входом D-триггера 10, выход которого соединен с входом СЕ разрешения работы регистра RM1 общей маски 9 и соединен с входом СЕ разрешения работы выходного буфера ВО 6,in addition, the output of the OR-
дополнительно введены коммутатор КМ маски 14 и регистр RM2 текущей маски 15, у которого вход синхронизации С соединен с внешним входом С синхронизации 11, а вход R синхронной установки в нулевое состояние соединен с внешним входом 12 синхронной установки в нулевое состояние, а также введена внутренняя N разрядная шина текущей маски символов М,In addition, the switch KM of the
причем внутренняя шина данных-маски MD также соединена с информационными входами регистра общей маски 9 и с первой группой информационных входов коммутатора КМ маски 14, у которого вторая группа информационных входов соединена с внутренней шиной приоритета (остаточной маски) MS, а третий управляющий вход выборки коммутатора КМ маски 14 соединен с выходом D-триггера 10,moreover, the internal data-mask bus MD is also connected to the information inputs of the
при этом группа выходов коммутатора КМ маски 14 соединена с входами элемента ИЛИ-НЕ 7 и с информационными входами регистра RM2 текущей маски 15, группа выходов которого соединена с группой входов многовыходного блока приоритета 3 и является внутренней шиной текущей маски символов М, разряды которой соединены с входами СЕ одноименных групп регистров 51, 52, …, 5N.the group of outputs of the
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS
На фиг. 1 представлена схема предлагаемого устройства для распаковки данных. На фиг. 2 приведен формат данных до упаковки. На фиг. 3 приведены форматы данных на входе в устройство. На фиг. 4 приведен формат выходных данных. На фиг. 5 приведена потактовая временная диаграмма работы предлагаемого устройства при количестве символов до упаковки N=16 по k=4 разрядов, разрядности маски N=16, разрядности входной шины IMD данных-маски L=16, содержащей w=4 символов по k=4 разрядов или N=16 разрядов маски.FIG. 1 shows a diagram of the proposed device for unpacking data. FIG. 2 shows the format of the data before packing. FIG. 3 shows the data formats at the input to the device. FIG. 4 shows the format of the output data. FIG. 5 shows a clockwise time diagram of the proposed device operation with the number of symbols before packing N = 16 in k = 4 bits, the width of the mask N = 16, the width of the input IMD data-mask bus L = 16, containing w = 4 symbols of k = 4 bits, or N = 16 mask bits.
В устройстве на фиг. 1-5 и в тексте приняты следующие обозначения:In the device of FIG. 1-5 and the following designations are adopted in the text:
С - вход синхронизации,С - synchronization input,
СЕ - вход разрешения работы,CE - work permit entry,
BQ - выходной буфер,BQ - output buffer,
D - информационный вход триггера,D - information input of the trigger,
DD - данные до упаковки (сжатия) - N символов по k разрядов,DD - data before packing (compression) - N characters by k bits,
dd - входные символы, содержащие по k разрядов,dd - input characters, containing k bits each,
IMD - входная шина данных-маски разрядностью L ≥ max (N, w*k), где w количество символов по k разрядов, N разрядов маски,IMD is the input mask data bus with a width of L ≥ max (N, w * k), where w is the number of symbols in k bits, N bits of the mask,
ID - набор из w входных символов по k разрядов,ID - a set of w input characters k-bit each,
IM - входная маска N разрядности,IM - input mask of N bit width,
MD - внутренняя шина данных-маски - w символов по k разрядов или N разрядов маски,MD - internal data-mask bus - w symbols, k-bit each or N mask bits,
FU - многовыходной блок приоритета, содержащий w каскадов,FU - multi-output priority block containing w stages,
FZ - флаг нулевых символов (флаг нуля),FZ - flag of zero characters (flag of zero),
IQ1, IQ2, …, IQN - N групп входов символов выходного буфера 6,IQ1, IQ2, ..., IQN - N groups of input symbols of the
k - разрядность символов,k - character length,
KD - коммутатор данных,KD - data switch,
KM - коммутатор маски,KM - mask switch,
L - разрядность входных данных, где L ≥ max (N, w*k),L is the bit width of the input data, where L ≥ max (N, w * k),
М - внутренняя N разрядная шина текущей маски символов,M - internal N-bit bus of the current character mask,
MS - внутренняя шина приоритета (остаточной маски),MS - internal bus priority (residual mask),
N - количество выходных символов по k разрядовN - the number of output characters by k bits
ТСЕ - выход триггера,TCE - trigger output,
Q1, Q2, …, ON - N выходных символов по k разрядов после распаковки (восстановления),Q1, Q2, ..., ON - N output symbols by k bits after unpacking (restoring),
QB1, QB2, …, QBN - N символов с выходов группы регистров 51, 52, …, 5N,QB1, QB2, ..., QBN - N characters from the outputs of the
QM - внутренняя N разрядная шина общей маски символов,QM - internal N-bit bus of the common character mask,
R - вход синхронной установки в нулевое состояние,R - input of synchronous setting to zero state,
RD - входной регистр данных,RD - input data register,
RG - регистр,RG - register,
RM1 - регистр общей маски,RM1 - general mask register,
RM2 - регистр текущей маски,RM2 - register of the current mask,
S1, S2, …, Sw - группа из w внутренних шин маски символов в блоке приоритета,S1, S2, ..., Sw - a group of w internal buses of the character mask in the priority block,
U1, U2, …, Uw - w групп N разрядных указателей старшей единицы в коде «1 из N»,U1, U2, ..., Uw - w groups of N-bit pointers of the most significant unit in the code "1 of N",
V - количество ненулевых символов во входных данных ID,V is the number of non-zero characters in the input ID,
w - количество символов во входных данных IMD,w is the number of characters in the input IMD data,
Z - максимальное количество групп во входной последовательности ненулевых символов, причем Z=] N/w [(большее целое) когда количество V ненулевых символов больше (N-w+1),Z - the maximum number of groups in the input sequence of non-zero symbols, and Z =] N / w [(greater integer) when the number of non-zero symbols V is greater than (N-w + 1),
1 - внешняя входная шина данных-маски IMD,1 - external input bus of data-mask IMD,
2 - входной регистр данных RD,2 - input data register RD,
3 - многовыходной блок приоритета FU,3 - multi-output priority block FU,
41, 42, …, 4N - группа из N коммутаторов данных по k разрядов,4 1 , 4 2 ,…, 4 N - a group of N data switches, k-bit each,
51, 52, …, 5N - группа из N регистров по k разрядов с синхронным входом R установки в нулевое состояние,5 1 , 5 2 , ..., 5 N - a group of N registers of k bits each with a synchronous input R setting to zero,
6 - выходной буфер BQ,6 - output buffer BQ,
7 - элемент ИЛИ-НЕ,7 - element OR NOT,
81, 82, …, 8N - N групп по k элементов 2И,8 1 , 8 2 , ..., 8 N - N groups of k elements 2I,
9 - регистр общей маски RM1,9 - register of the general mask RM1,
10 - D-триггер с синхронным входом R установки в нулевое состояние,10 - D-flip-flop with synchronous input R setting to zero state,
11 - внешний вход С синхронизации,11 - external input С synchronization,
12 - внешний вход R синхронной установки в нулевое состояние,12 - external input R of synchronous setting to zero state,
13 -внешние выходы Q1, Q2, …, QN,13 - external outputs Q1, Q2, ..., QN,
14 - коммутатор маски КМ,14 - KM mask switch,
15 - регистр текущей маски RM2.15 - register of the current mask RM2.
Устройство для распаковки данных содержит шину IMD входных данных 1 соединенную с входным регистром RD данных 2, многовыходной блок FU приоритета 3, который содержит w групп выходов указателей старших символов U1, US2, …, Uw по N разрядов (где w количество входных символов), группу из N коммутаторов КD данных 41, 42, …, 4N, группу из N регистров с синхронным входом R установки в нулевое состояние, выходной буфер BQ 6, выходы которого содержат N выходных символов Q1, Q2, …, QN по k разрядов и которые являются внешними выходами устройства 13, элемент ИЛИ-НЕ 7, N групп 81, 82, …, 8N по k элементов 2И, регистр RM1 общей маски 9, D-триггер 10 с синхронным входом R установки в нулевое состояние, коммутатор КМ маски 14 и регистр RM2 текущей маски 15.The device for unpacking data contains an input
Кроме того устройство содержит внешний вход С синхронизации 11, внешний вход R синхронной установки в нулевое состояние 12, внутреннюю шину данных-маски MD из w символов по k разрядов, внутреннюю шину приоритета (остаточной маски) MS, которая является группой вторых выходов многовыходного блока приоритета 3, внутреннюю N разрядную шину общей маски символов QM, которая является группой выходов регистра RM1 общей маски 9, флаг нуля FZ и внутреннюю N разрядную шину текущей маски символов М.In addition, the device contains an external
Входной регистр RD данных 2, N группа регистров 51, 52, …, 5N, выходной буфер BQ 6, регистр RM1 общей маски 9, D-триггер 10 и регистр RM2 текущей маски 15 содержат вход синхронизации С и вход синхронной установки в нулевое состояние R.Input
Внешний вход С синхронизации 11 и внешний вход R синхронной установки в нулевое состояние 12 соединены соответственно с входами синхронизации С и входами R синхронной установки в нулевое состояние входного регистра RD данных 2, N групп регистров 51, 52, …, 5N, выходного буфера BQ 6, регистра RM1 общей маски 9, D-триггера 10 и регистра RM2 текущей маски 15.External input C of
Входная шина IMD данных-маски 1 содержит L разрядов (L ≥ max (N, w*k) где w количество символов по k разрядов, N разрядов маски). На входную шину 1 последовательно поступают маски ненулевых символов IM и наборы данных ID.The input IMD bus of the data-
Входной регистр данных 2 предназначен для временного хранения масок ненулевых символов IM и наборов данных ID. При этом выходы входного регистра данных 2 являются внутренней шиной данных-маски MD.Input data register 2 is for temporary storage of IM non-zero character masks and ID data sets. In this case, the outputs of the input data register 2 are the internal data-mask bus MD.
Выходной BQ буфер 9 содержит N*k и предназначен для хранения выходных последовательностей распакованных значений символов.
Регистр RM1 общей маски 9 предназначен для хранения общей маски в течение времени распаковки и используется для выделения всех ненулевых символов и передачи их на входы выходного буфера BQ 6.The register RM1 of the
Регистр RM2 текущей маски 15 предназначен для выделения текущих ненулевых символов и разрешения их загрузки в группу регистров 51, 52, …, 5N.Register RM2 of the
D-триггер 10 предназначен для управления записью в выходной буфер бив регистр RM1 общей маски 9. Выход ТСЕ D-триггера 10 установленный в единичное состояние ТСЕ=1 разрешает загрузку распакованных данных в выходной буфер BQ 6 и определяет передачу общей маски через коммутатор КМ маски 14 и разрешает загрузку маски в регистр RM1 общей маски 9.D-flip-
Коммутатор КМ маски 14 осуществляет передачу общей или текущей масок.The
Многовыходной блок FU приоритета 3 формирует на выходах каждой из w групп унитарные коды «1 из N», которые соответствуют значению кода на внутренней шине текущей маски М. Унитарные коды «1 из N», формируются в порядке старшинства приоритетов. Коммутаторы КD данных 41, 42, …, 4N предназначены для выделения из w символов по k разрядов с внутренней шины маски-данных MD одного из символов разрешенного в соответствии с унитарным кодом «1 из N» установленным на выходах w групп N разрядных указателей старшей единицы U1, U2, …, Uw.Multi-output unit FU of
Выходы группы из N коммутаторов данных 41, 42, …, 4N соединены с соответствующими информационными входами D одноименных регистров группы из N регистров 51, 52, …, 5N, у которых управляющие входы СЕ разрешения работы соединены с одноименными разрядами внутренней N разрядной шины текущей маски символов М.Outputs of a group of N data switches 4 1 , 4 2 , ..., 4 N are connected to the corresponding information inputs D of the same-name registers of a group of N registers 5 1 , 5 2 , ..., 5 N , in which the control inputs of the CE permission to work are connected to the same-name bits internal N-bit bus of the current mask of M.
Группа из N регистров 51, 52, …, 5N предназначена для записи на каждом такте до w ненулевых символов по k разрядов входных данных ID, в соответствии с кодом, установленным на внутренней N разрядной первой шине маски символов М.A group of N registers 5 1 , 5 2 , ..., 5 N is intended for recording at each clock cycle up to w nonzero symbols of k bits of input data ID, in accordance with the code set on the internal N-bit first bus of the M symbol mask.
Выходы QB1, QB2, …, QBN всех N регистров 51, 52, …, 5N соединены по группам с соответствующими первыми входами элементов 2И одноименных N групп 81, 82, …, 8N, выходы которых соединены с соответствующими группами информационных входов IQ1, IQ2, …, IQN выходного буфера ВО 6, который предназначен для хранения восстановленных значений после распаковки данных.The outputs QB1, QB2, ..., QBN of all N registers 5 1 , 5 2 , ..., 5 N are connected in groups with the corresponding first inputs of elements 2I of the same N groups 8 1 , 8 2 , ..., 8 N , the outputs of which are connected to the corresponding groups information inputs IQ1, IQ2, ..., IQN of the
Вторые входы элементов 2И из N групп 81, 82, …, 8N по группам соединены между собой и подключены к соответствующим одноименным разрядам внутренней N разрядной общей маски символов QM, которая является выходами регистра маски 9, у которого группа информационных D-входов соединена с N разрядами внутренней шины текущей маски символов М. Разряды общей маски символов QM разрешают передачу ненулевых символов после восстановления с выходов QB1, QB2, …, QBN всех N регистров 51, 52, …, 5N по группам через элементы 2И из N групп 81, 82, …, 8N на группы входов IQ1, IQ2, …, IQN символов выходного буфера BQ 6.The second inputs of elements 2I from N groups 8 1 , 8 2 , ..., 8 N in groups are interconnected and connected to the corresponding bits of the same name of the internal N-bit common mask of symbols QM, which is the outputs of the
Внутренняя шина приоритета (остаточной маски) MS, которая является группой вторых выходов многовыходного блока приоритета 3, соединена с входами элемента ИЛИ-НЕ 7, выход которого является флагом нуля FZ и соединен с информационным D-входом D-триггера 10, выход которого соединен с входами СЕ разрешения работы выходного буфера ВQ6, регистра RM1 общей маски 9 и управляющим входом коммутатора КМ маски 14.The internal bus of the priority (residual mask) MS, which is a group of second outputs of the multi-output block of
Единичное значение флага нуля FZ=1 формируется если нулевые значения установлены во всех разрядах на выходе коммутатора КМ маски 14.The single value of the zero flag FZ = 1 is formed if zero values are set in all bits at the output of the
Выходы выходного буфера BQ 6 содержат N выходных символов Q1, Q2, …, QN по k разрядов и являются внешними выходами устройства 13.The outputs of the
ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
Принцип работы предлагаемого устройства состоит в следующем.The principle of operation of the proposed device is as follows.
Код маски IM и коды входных данных ID поступают последовательно по одной входной шине 1 данных-маски IMD. Код общей маски IM сохраняется на регистре RM1 общей маски 9 в течение времени распаковки набора данных DD из N символов по k разрядов. Формируемая текущая маска сохраняется на регистре RM2 текущей маски 14.The IMD mask code and the input data ID codes are sequentially received on one input data-
Перед началом работы все регистры и D-триггер 10 устанавливаются в нулевое состояние, а флаг нуля принимает единичное значение FZ=1.Before starting work, all registers and D-flip-
После упаковки (сжатия) данных DD, содержащих N символов по k разрядов (фиг. 2), формируется последовательность сжатых данных, элементы которой состоят из одной группы маски символов IM с разрядностью N и из соответствующих групп данных (символов) ID, содержащих до w ненулевых символов по k разрядов данных (фиг. 3). Максимальное количество элементов входной последовательности составляет Z=] N/w [(большее целое) когда количество V ненулевых символов больше (N-w+1).After packing (compressing) the DD data containing N symbols of k bits each (Fig. 2), a sequence of compressed data is formed, the elements of which consist of one group of the IM symbol mask with a width of N and from the corresponding groups of ID data (symbols) containing up to w nonzero symbols for k data bits (Fig. 3). The maximum number of elements in the input sequence is Z =] N / w [(greater integer) when the number of non-zero characters V is greater than (N-w + 1).
На шину входных данных 1 предлагаемого устройства поступает входная последовательность упакованных данных, содержащая N разрядов маски символов IM и входные разряды данных ненулевых символов ID, начиная со старших символов, которые состоят из w символов по k разрядов (фиг. 3). При этом единичное значение разрядов маски символов IM соответствует ненулевым символам в исходных данных DD до упаковки (сжатия).The
Многовыходной блок FU приоритета 3 определяет не только сигнал с наивысшим приоритетом, но также определяет сигналы со вторым, третьим, …, w-м по старшинству приоритетами. В соответствии с кодом текущей маски М на выходах многовыходного блока приоритета 3 формируются w групп приоритета U1, U2, …, Uw в порядке старшинства приоритета. При этом каждому из N разрядов маски символов М присваивается фиксированный приоритет. В устройстве старший приоритет присвоен старшему N-му разряду из N разрядов маски символов М, а далее приоритет уменьшается от разряда к разряду с уменьшением номера разряда. Младший приоритет задан для младшего 1-го разряда маски символов М. Среди выходных w групп U1, U2, …, Uw многовыходного блока приоритета 3 наивысший приоритет присвоен младшей первой группе U1, а далее приоритет уменьшается от группы к группе с увеличением номера группы. Младший приоритет задан для группы со старшим номером Uw. На выходах каждой из w групп приоритета U1, U2, …, Uw вырабатывается результат в виде унитарного кода «1 из N» - единичный сигнал будет установлен только на одном выходе соответствующем высшему (старшему) приоритету. Старший приоритет в каждой из w групп приоритета U1, U2, …, Uw присвоен разряду со старшим номером.The multi-output unit FU of
Далее в соответствии со значениями w групп приоритета U1, U2, …, Uw на выходы группы из N коммутаторов данных 41, 42, …, 4N передаются не более w соответствующих ненулевых символов входных данных ID с внутренней шины данных-маски MD.Further, in accordance with the values w of the priority groups U1, U2, ..., Uw, no more than w corresponding non-zero symbols of the input data ID from the internal bus of the data-mask MD are transmitted to the outputs of the group of N data switches 4 1 , 4 2 , ..., 4 N.
Одновременно также осуществляется запись в регистр RM2 текущей маски 15 нового значения с внутренней шины приоритета MS, в которой исключены w разрядов старших единичных значений, которые соответствуют обработанным ненулевым символам первой группы ID11, а единичные значения шины приоритета MS соответствуют следующим ненулевым символам последовательности.At the same time, a new value is written into the register RM2 of the
На следующем такте в соответствии с единичными значениями N разрядов текущего кода с внутренней шины маски символов М проводится запись с внутренней шины данных-маски MD до w входных ненулевых символов по k разрядов, соответствующие w единичным значениям, начиная со старших разрядов текущей маски символов М, и нулевые значения символов, соответствующие единичным значениям, превышающим w, начиная со старших разрядов текущей маски символов М, в соответствующие регистры 51, 52, …, 5N.On the next clock cycle, in accordance with the unit values of N bits of the current code, from the internal bus of the mask of symbols M, up to w input non-zero symbols of k bits are written from the internal bus of the mask of symbols MD, corresponding to w unit values, starting with the most significant bits of the current mask of symbols of M, and zero symbol values corresponding to the ones exceeding w, starting from the most significant bits of the current symbol mask M, into the
Одновременно с шины входных данных 1 проводится прием следующих значений элементов упакованной (сжатой) последовательности данных во входной регистр данных 2. Далее аналогично проводится восстановление данных и осуществляется прием до w следующих входных ненулевых символов по k разрядов в соответствующие регистры 51, 52, …, 5N, в соответствии со значениями разрядов текущей маски символов М.Simultaneously, from the
Если на текущем такте обработаны все единичные значении разрядов текущей маски символов М, то нулевые значения устанавливаются во всех разрядах внутренней шины приоритета MS на выходах многовыходного блока FU приоритета 3, формируется единичное значение флага нуля FZ=1 и на следующем такте единичное значение устанавливается на выходе D-триггера 10.If at the current cycle all the unit values of the digits of the current symbol mask M are processed, then zero values are set in all bits of the internal MS priority bus at the outputs of the multi-output unit FU of
Кроме того, для каждых новых входных данных DD на первом такте первичное значение маски символов IM, соответствующее всем V ненулевым символам из N входных символов до упаковки (сжатия), записывается в регистр RM1 общей маски 9 при единичном значении на выходе D-триггера 10.In addition, for each new input data DD on the first clock cycle, the primary value of the symbol mask IM, corresponding to all V non-zero symbols of the N input symbols before packing (compression), is written into the register RM1 of the
В каждом такте, в соответствии с единичными значениями разрядов регистра RM1 общей маски 9, на выходы N групп по k элементов 2И 81, 82, …, 8N передаются значения символов QB1, QB2, …, QBN с выходов соответствующих регистров 51, 52, …, 5N, или формируются нулевые символы соответствующие нулевым значениям разрядов регистра RM1 общей маски 9. Значения с выходов N групп по k элементов 2И 81, 82, …, 8N поступают на входы символов IQ1, IQ2, …, IQN выходного буфера BQ 6, которые, при единичном значении на выходе D-триггера 10, на следующем такте записываются в выходной буфер BQ 6 и поступают на внешние выходы 13 устройства. При этом N выходных символов по k разрядов восстановленных данных Q1, Q2, …, QN (фиг. 4) соответствуют данным DD до упаковки (сжатия) без потери информации.In each cycle, in accordance with the unit values of the bits of the register RM1 of the
Предлагаемое устройство работает следующим образом.The proposed device works as follows.
При подаче единичного сигнала на вход 12 синхронной установки R в нулевое состояние по тактовому сигналу С на внешнем входе 11 в нулевое состояние устанавливаются входной регистр RD данных 1, группа из N регистров 51, 52, …, 5N, выходной буфер ВQ6, регистр RM1 общей маски 9, D-триггер 10 и регистр RM2 текущей маски 15. При этом нулевые значения также устанавливаются во всех N разрядах внутренней шины приоритета (остаточной маски) MS и внутренней шины общей маски символов QM, на всех выходах многовыходного блока FU приоритета 3 и формируется единичное значение флага нуля FZ=1 на выходе элемента ИЛИ-НЕ 7.When a single signal is applied to the
Далее на первом такте во входной регистр RD данных 2 с шины входных данных 1 принимается код первой маски символов IM1. При этом прием в регистры 51, 52, …, 5N, и выходной буфер ВQ6 не выполняется, так как у них на входах разрешения СЕ установлены нулевые сигналы, которые поступают с выхода D-триггера 10. Одновременно в единичное состояние устанавливается D-триггер 10, так как установлен флаг нуля FZ=1.Further, in the first clock cycle, the code of the first symbol mask IM1 is received from the
Далее значение маски символов IM1 передается на вход регистра RM1 общей маски 9 и через коммутатор маски КМ 14 на вход регистра RM2 текущей маски 15, прием в которые осуществляется по следующему тактовому сигналу С на внешнем входе 11. При этом одновременно осуществляется прием первой группы ID11 из w входных символов в регистр RD данных 2 с шины IMD входных данных 1.Further, the value of the symbol mask IM1 is transmitted to the input of the register RM1 of the
При этом в соответствии с кодом маски IM1, с выхода регистра RM2 текущей маски 15, на выходах многовыходного блока FU приоритета 3 формируются w групп приоритета U1, U2, …, Uw в порядке старшинства приоритета. На выходах каждой из w групп приоритета U1, U2, …, Uw вырабатывается результат в виде унитарного кода «1 из N» - единичный сигнал будет установлен только на одном выходе соответствующем высшему (старшему) приоритету. В соответствии с единичными значениями сигналов приоритета U1, U2, …, Uw в группе из N коммутаторов данных 41, 42, …, 4N на выходы передаются не более w соответствующих ненулевых символов данных ID11, а на остальных выходах коммутаторов данных 41, 42, …, 4N устанавливаются значения нулевых символов.In this case, in accordance with the code of the mask IM1, from the output of the register RM2 of the
Одновременно разряды кода маски QM с выхода регистра RM2 текущей маски 15, передаются на соответствующие одноименные входы СЕ разрешения работы регистров 51, 52, …, 5N., прием в которые осуществляется в следующем такте по всем единичным значениям кода общей маски QM. Кроме того, если на текущем такте обработаны все единичные значении разрядов текущей маски символов М или если все разряды входной маски IM имеют нулевые значения, то нулевые значения устанавливаются во всех разрядах внутренней шины приоритета (остаточной маски) MS, которые поступают на выходы многовыходного блока FU приоритета 3 и далее по которым на выходе элемента ИЛИ-НЕ 7 формируется единичное значение флага нуля FZ=1, а при наличии не обработанных единичных разрядов текущей маски символов М формируется нулевое значение флага нуля FZ=0.At the same time, the bits of the QM mask code from the output of the RM2 register of the
По следующему тактовому импульсу С в соответствии с единичными значениями разрядов кода текущей маски М проводится запись в соответствующие регистры 51, 52, …, 5N до w входных ненулевых символов по k разрядов с шины текущей маски М, начиная со старших разрядов текущей маски символов М, и нулевые значения символов, соответствующие единичным значениям текущей маски символов М, превышающим w. При этом также осуществляется запись в регистр RM2 текущей маски 15 нового значения с внутренней шины приоритета (остаточной маски) MS, в которой исключены w разрядов старших единичных значений, которые соответствуют обработанным ненулевым символам первой группы ID11, а единичные значения шины приоритета MS соответствуют следующим ненулевым символам элементов входной последовательности.According to the next clock pulse C, in accordance with the unit values of the bits of the code of the current mask M, the corresponding
Кроме того соответствующее значение флага нуля FZ принимается в D-триггер 10, который управляет коммутатором КМ маски 14. Одновременно осуществляется прием во входной регистр 2 следующих данных ID или маски символов IM с шины входных данных 1.In addition, the corresponding value of the zero flag FZ is received in the D-flip-
Далее аналогично, как в предыдущих тактах, проводится анализ следующих единичных разрядов кода текущей маски М и в группе из N коммутаторов данных 41, 42, …, 4N на выходы передаются соответствующие следующие w ненулевых символов входных данных ID с внутренней шины MD данных-маски.Further, similarly, as in the previous clock cycles, the analysis of the next single digits of the code of the current mask M is carried out and in a group of N data switches 4 1 , 4 2 , ..., 4 N , the corresponding next w nonzero symbols of the input data ID from the internal data bus MD are transmitted to the outputs -masks.
Одновременно на каждом такте, в соответствии с единичными значениями разрядов с регистра RM1 общей маски 9 установленными на шине кода маски QM, на выходы N групп по k элементов 2И 81, 82, …, 8N передаются значения символов QB1, QB2, …, QBN с выходов соответствующих регистров 51, 52, …, 5N, или формируются нулевые символы соответствующие нулевым значениям разрядов регистра RM1 общей маски 9. Значения с выходов N групп по k элементов 2И 81, 82, …, 8N поступают на входы символов IQ1, IQ2, …, IQN выходного буфера BQ 6, которые, при единичном значении на выходе D-триггера 10, на следующем такте записываются в выходной буфер BQ 6 и поступают на внешние выходы 13 устройства. При этом N выходных символов по к разрядов восстановленных данных Q1, Q2, …, QN (фиг. 4) соответствуют данным DD до упаковки (сжатия) без потери информации.Simultaneously at each cycle, in accordance with the unit values of the digits from the register RM1 of the
В потактовой временной диаграмме на фиг. 5 приведен пример последовательности наборов входных данных для DD1, …, DD5, элементы последовательности кодов на входе устройства после упаковки (сжатия), содержащие коды маски IM и коды наборов символов ID, и восстановление сжатых данных в предлагаемом устройстве, при количестве входных символов N=16 по k=4 разрядов и количестве символов w=4 во входных данных ID. На фиг. 5 в скобках указана форма представления данных - двоичная (2) или шестнадцатеричная (16).In the clock cycle in FIG. 5 shows an example of a sequence of input data sets for DD1, ..., DD5, elements of the sequence of codes at the input of the device after packing (compression), containing IM mask codes and codes of ID character sets, and recovery of compressed data in the proposed device, with the number of input characters N = 16 of k = 4 bits and the number of characters w = 4 in the input data ID. FIG. 5 in brackets is the form of data representation - binary (2) or hexadecimal (16).
В такте 1 шестнадцать символов первых данных DD1 до упаковки (сжатия) содержат четыре ненулевых символа (В, А, 5, 2), которые далее сжимаются, и формируется соответствующая маска IM1=0С24, и далее код маски и данные последовательно поступают по входной шине IMD данных-маски 1 в предлагаемое устройство. В такте 1 сначала поступает код маски IM1=0С24, который принимается во входной регистр 2 в такте 2 и передается на внутреннюю шину маски-данных MD. Далее код маски IM1=0С24 передается на вход регистр RM1 общей маски 9 и при единичном значении ТСЕ=1 на выходе D-триггера 10 также передается на вход регистра RM2 текущей маски 15, прием в которые осуществляется в такте 3. При этом устанавливается нулевое значение флага нуля FZ=0, которое на такте 3 передается на выход ТСЕ=0 D-триггера 10.In
Одновременно на такте 3 в соответствии со значением кода маски IM1=0С24 с выхода регистра RM2 текущей маски 15 многовыходной блок FU приоритета 3 формирует w групп приоритета U1=0800, U2=0400, U3=0020, U4=0004, по которым проводится восстановление данных в группе из N=16 коммутаторов данных 41, 42, …, 416, а затем результаты восстановления в такте 4 записываются в регистры 51, 52, …, 516 (QB1, QB2, …, QB16). При этом также код MS=0000, с внутренней шины приоритета (остаточной маски) MS, проходит через коммутатор КМ маски 14, так как нулевое состояние установлено на выходе ТСЕ=0 D-триггера 10, и который на такте 4 записывается в регистр RM2 текущей маски 15. При этом устанавливается единичное значение флага нуля FZ=1, которое далее устанавливает в единичное значение ТСЕ=1 выход D-триггера 10 в такте 5.Simultaneously, on
Одновременно на такте 4 в соответствии с единичными значениями разрядов QM=0C24 регистра RM1 общей маски 9, на выходы N групп по k элементов 2И 81, 82, …, 816 передаются значения символов QB1, QB2, …, QB16 с выходов соответствующих регистров 51, 52, …, 516, которые поступают на входы IQ1, IQ2, …, IQ16 выходного буфера 6 и восстановленные данные (В, А, 5, 2) записываются на следующем такте 5 в выходной буфер 6 и поступают на внешние выходы 13 соответствующих выходных символов Q1, Q2, …, Q16 (QD1 на фиг. 5), при единичном значении на выходе D-триггера 10. Таким образом, распаковка входных данных DDI, содержащих маску IM1=0С24 и четыре ненулевых символа ID1=ВА52, поступивших на тактах 1 и 2, проведена за четыре такта.Simultaneously, on
В такте 3 вторые данные DD2 до компрессии содержат все нулевые символы. Поэтому формируются нулевые разряды маски IM21=0000, которые в такте 4 записываются во входной RD регистр 2 и поступают на шину маски-данных MD, а далее при единичном значении ТСЕ=1 на выходе D-триггера 10 проходят через коммутатор КМ маски 14 и принимаются в регистр RM2 текущей маски 15, а также в регистр RM1 общей маски 9. При этом на всех выходах U1-U4 блока FU приоритета 3 формируются нулевые значения. Поэтому в такте 5 не проводится запись в регистры 51, 52, …, 516, в которых сохраняется предыдущая информация. Но так как в регистре RM1 общей маски 9 установлена нулевая информация, то на выходах элементов 2И 81, 82, …, 8N также устанавливаются нулевые значения кодов символов, поэтому на входах IQ1, IQ2, …, IQ16 выходного буфера BQ 6 также формируются нулевые значения, которые записываются в такте 6 в выходной буфер BQ 6 (QD2 все нули на фиг. 5).In
В такте 4 третьи данные DD3 содержат восемь ненулевых символов (Е, В, 9, 8, 7, 6, 3, 1), которые сжимаются и формируется соответствующая им общая маска IM3=4В6А, содержащая восемь единичных разрядов для всех ненулевых символов. Код маски IM3=4В6А в такте 4 поступает по входной шине IMD данных-маски 1, принимается во входной RD регистр 2 и в такте 5 и передается на внутреннюю шину маски-данных MD. Далее код маски IM3=4В6А передается на вход регистра RM1 общей маски 9 и при единичном значении ТСЕ=1 на выходе D-триггера 10 также передается на вход регистра RM2 текущей маски 15. Прием в регистры 9 и 15 осуществляется в такте 6. Одновременно в такте 5 устанавливается нулевое значение флага нуля FZ=0, которое в такте 6 устанавливает значение ТСЕ=0 на выходе D-триггера 10.In
Одновременно в такте 5 на входную шину IMD данных-маски 1 поступает код ID31=EB98 соответствующий первым четырем ненулевым символам, а в такте 6 поступает код ID32=7631 соответствующий вторым четырем ненулевым символам третьих данных DD3. При этом одновременно на такте 6 для кода текущей маски М=4В6А с регистра RM2 текущей маски 15 передается в многовыходной блок FU приоритета 3 и формируются w=4 групп приоритета U1=4000, U2=0800, U3=0200, U4=0100, по которым проводится восстановление данных ID31=EB98 в группе из N=16 коммутаторов данных 41, 42, …, 416, а затем результаты восстановления в такте 7 записываются в восемь соответствующих регистров 51, 52, …, 516 (QB1, QB2, …, QB16) в соответствии с текущей маской IM3=4В6А с регистра RM2 текущей маски 15. При этом в регистры 51, 52, …, 516 соответствующие четырем младшим единичным разрядам маски будут записаны нулевые значения, а в разрядах, соответствующим всем нулевым значениям кода текущей маски М=4В6А, сохраняются предыдущие значения.Simultaneously, in
Одновременно в такте 6 код MS=006A, с внутренней шины приоритета (остаточной маски) MS, проходит через коммутатор КМ маски 14, так как установлено значение ТСЕ=0 на выходе D-триггера 10, и на такте 7 записывается в регистр RM2 текущей маски 15 и устанавливается код текущей маски М=006А. Поэтому в такте 7 для кода текущей маски М=006А, с выхода регистра RM2 текущей маски 15, в многовыходном блоке FU приоритета 3 формируются w=4 групп приоритета U1=0040, U2=0020, U3=0008, U4=0002, по которым проводится восстановление данных ID32=7631 в группе из N=16 коммутаторов данных 41, 42, …, 416, а затем результаты восстановления в такте 8 записываются в восемь соответствующих регистров 51, 52, …, 516 (QB1, QB2, …, QB16) в соответствии с кодом текущей маски М=006А с регистра RM2 текущей маски 15. Одновременно в такте 7 формируется нулевой код остаточной маски MS=0000, по которому формируется единичное значение флага нуля FZ=1 и далее в такте 8 в единичное состояние ТСЕ=1 устанавливается на выходе D-триггера 10, который разрешает прием следующего кода маски IM4=1610 для четвертых данных DD4.Simultaneously, in
Кроме того на такте 8 в соответствии с единичными значениями разрядов QM=4B6A регистра RM1 общей маски 9, на выходы N групп по k элементов 2И 81, 82, …, 816 передаются значения символов QB1, QB2, …, QB16 с выходов соответствующих регистров 51, 52, …, 516, которые поступают на входы IQ1, IQ2, …, IQ16 выходного буфера BQ 6 и восстановленные данные ненулевых символов (Е, В, 9, 8, 7, 6, 3, 1) записываются на следующем такте 9 в выходной буфер 6, при единичном значении ТСЕ=1 на выходе D-триггера 10, и поступают на внешние выходы 13 соответствующих выходных символов Q1, Q2, …, Q16 (QD3 на фиг. 5).In addition, on cycle 8, in accordance with the unit values of the bits QM = 4B6A of the RM1 register of the
Одновременно в такте 7 четвертые данные DD4, содержащие четыре ненулевых символов (А, С, F, 4), сжимаются и формируется соответствующая общая маска IM4=1610 содержащая четыре единичных разряда для всех ненулевых символов. Код маски IM4=1610 в такте 8 принимается во входной регистр RD2 и с выходов передается на внутреннюю шину маски-данных MD. Далее код маски IM4=1610 передается на вход регистра RM1 общей маски 9 и при единичном значении ТСЕ=1 на выходе D-триггера 10 также передается на вход регистра RM2 текущей маски 15, прием в которые осуществляется в такте 9. Одновременно в такте 8 устанавливается нулевое значение флага нуля FZ=0, так как на выходе коммутатора маски КМ 14 установлен код общей маски IM4=1610, а в такте 9 нулевое состояние устанавливается на выходе ТСЕ=0 D-триггера 10. Одновременно в такте 9 осуществляется прием группы входных символов ID41=ACF4 в регистр RD данных 2 с шины входных данных 1.Simultaneously, in
В такте 9 в соответствии со значением кода маски IM4=1610 с выхода регистра RM2 текущей маски 15 многовыходной блок FU приоритета 3 формирует w групп приоритета U1=1000, U2=0400, U3=0200, U4=0010, по которым проводится восстановление данных в группе из N=16 коммутаторов данных 41, 42, …, 416, а затем результаты восстановления в такте 10 записываются в соответствующие регистры 51, 52, …, 516 (QB1, QB2, …, QB16). При этом с внутренней шины приоритета (остаточной маски) MS, код MS=0000 проходит через коммутатор КМ маски 14,так как нулевое состояние установлено на выходе ТСЕ=0 D-триггера 10, и устанавливается единичное значение флага нуля FZ=1, по которому в такте 10 единичное состояние устанавливается на выходе ТСЕ=1 D-триггера 10.In
Одновременно в такте 10 в соответствии с единичными значениями разрядов QM=1610 регистра RM1 общей маски 9, на выходы N групп по k элементов 2И 81, 82, …, 816 передаются значения символов QB1, QB2, …, QB16 с выходов соответствующих регистров 51, 52, …, 516, которые поступают на входы IQ1, IQ2, …, IQ16 выходного буфера BQ 6 и восстановленные данные (А, С, F, 4), записываются на следующем такте 11 в выходной буфер BQ 6 и поступают на внешние выходы 13 соответствующих выходных символов Q1, Q2, …, Q16 (QD4 на фиг. 5), при единичном значенииТСЕ=1 на выходе D-триггера 10.At the same time, in
Кроме того в такте 9 для пятых данных DD5, которые содержат все нулевые символы, формируются нулевые разряды маски IM5=0000, которые в такте 10 записываются во входной RD регистр 2 и поступают на шину маски-данных MD, а далее при единичном значении ТСЕ=1 на выходе D-триггера 10 проходят через коммутатор КМ маски 14 и принимаются в регистр RM2 текущей маски 15, а также в регистр RM1 общей маски 9. При этом на всех выходах блока FU приоритета 3 формируются нулевые значения, поэтому в такте 11 не проводится запись в регистры 51, 52, …, 516, в которых сохраняется предыдущая информация. Но, так как в регистре RM1 общей маски 9 установлена нулевая информация, то на выходах элементов 2И 81, 82, …, 8N также устанавливаются нулевые значения кодов символов, поэтому на входах IQ1, IQ2, …, IQ16 выходного буфера BQ 6 также формируются нулевые значения, которые записываются в такте 12 в выходной буфер BQ 6 и поступают на внешние выходы 13 соответствующих выходных символов Q1, Q2, …, Q16 (QD5 все нули на фиг. 5), при единичном значении ТСЕ=1 на выходе D-триггера 10.In addition, in
Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемое устройство решает поставленную задачу по распаковке данных без потери информации. При этом N выходных символов по k разрядов восстановленных данных Q1, Q2, …, QN соответствуют данным DD до упаковки (сжатия) без потери информации.Thus, the above information allows us to conclude that the proposed device solves the task of unpacking data without losing information. In this case, N output symbols by k bits of recovered data Q1, Q2, ..., QN correspond to DD data before packing (compression) without loss of information.
В сравнении с прототипом в предлагаемом устройстве сокращается разрядность входных данных за счет исключения внешней N разрядной шины маски символов IM. При этом также сокращается объем памяти для хранения данных после упаковки и объем передаваемой информации.In comparison with the prototype in the proposed device, the bit width of the input data is reduced by eliminating the external N-bit bus of the IM symbol mask. It also reduces the amount of storage space after packaging and the amount of information transferred.
Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемое устройство обеспечивает распаковку входных данных без потерь, обладает регулярностью узлов и связей, простотой конструкции и устройство соответствует заявляемому техническому результату - сокращение разрядности входных данных и уменьшение объема памяти для хранения последовательности групп входных данных двоичных символов.Thus, the above information allows us to conclude that the proposed device provides unpacking of input data without loss, has regularity of nodes and connections, simplicity of design and the device corresponds to the claimed technical result - a reduction in the bit width of the input data and a decrease in the amount of memory for storing a sequence of groups of input data of binary characters ...
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019143298A RU2729509C1 (en) | 2019-12-23 | 2019-12-23 | Device for unpacking data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019143298A RU2729509C1 (en) | 2019-12-23 | 2019-12-23 | Device for unpacking data |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2729509C1 true RU2729509C1 (en) | 2020-08-07 |
Family
ID=72085768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019143298A RU2729509C1 (en) | 2019-12-23 | 2019-12-23 | Device for unpacking data |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2729509C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2785770C1 (en) * | 2022-03-09 | 2022-12-13 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for combining data groups |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5384567A (en) * | 1993-07-08 | 1995-01-24 | International Business Machines Corporation | Combination parallel/serial execution of sequential algorithm for data compression/decompression |
RU2403677C1 (en) * | 2009-02-09 | 2010-11-10 | Сергей Борисович Муллов | Method for lossless data compression and retrieval |
WO2017131579A1 (en) * | 2016-01-29 | 2017-08-03 | Zeropoint Technologies Ab | Methods, devices and systems for compressing and decompressing data |
RU2658147C1 (en) * | 2017-10-05 | 2018-06-19 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) | Data decompression device |
RU2697618C1 (en) * | 2018-10-30 | 2019-08-15 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for decompression of data |
-
2019
- 2019-12-23 RU RU2019143298A patent/RU2729509C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5384567A (en) * | 1993-07-08 | 1995-01-24 | International Business Machines Corporation | Combination parallel/serial execution of sequential algorithm for data compression/decompression |
RU2403677C1 (en) * | 2009-02-09 | 2010-11-10 | Сергей Борисович Муллов | Method for lossless data compression and retrieval |
WO2017131579A1 (en) * | 2016-01-29 | 2017-08-03 | Zeropoint Technologies Ab | Methods, devices and systems for compressing and decompressing data |
RU2658147C1 (en) * | 2017-10-05 | 2018-06-19 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) | Data decompression device |
RU2697618C1 (en) * | 2018-10-30 | 2019-08-15 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for decompression of data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2785770C1 (en) * | 2022-03-09 | 2022-12-13 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Device for combining data groups |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2077271C (en) | Method and apparatus for compressing data | |
US4593393A (en) | Quasi parallel cyclic redundancy checker | |
CA2096176C (en) | Variable length decoder | |
US4506372A (en) | Method and apparatus for recognizing in a receiver the start of a telegram signal consisting of a bit impulse sequence | |
EP4012928B1 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
CN108702160B (en) | Method, apparatus and system for compressing and decompressing data | |
US4498174A (en) | Parallel cyclic redundancy checking circuit | |
Even | On information lossless automata of finite order | |
US20140161139A1 (en) | Method, device and system for compressing time series data | |
AU669746B2 (en) | Method and device for detection and correction of errors in ATM cell headers | |
EP0628228A1 (en) | Data compression using hashing | |
US6307488B1 (en) | LZW data compression and decompression apparatus and method using grouped data characters to reduce dictionary accesses | |
US5594437A (en) | Circuit and method of unpacking a serial bitstream | |
RU2622878C1 (en) | Device for data compression | |
US3588364A (en) | Adaptive encoder and decoder | |
RU2729509C1 (en) | Device for unpacking data | |
IE902591A1 (en) | Data and forward error control coding techniques for digital¹signals | |
US5488366A (en) | Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles | |
RU2672625C1 (en) | Device for compression of data | |
RU2658147C1 (en) | Data decompression device | |
RU2697618C1 (en) | Device for decompression of data | |
RU2701711C1 (en) | Device for packing data | |
RU2710987C1 (en) | Device for data compression | |
US5825314A (en) | Variable-length code decoder | |
JPH0628149A (en) | Data compression method for multiple types of data |