×
08.03.2019
219.016.d55a

УСТРОЙСТВО ДЛЯ РАСЧЕТА ПОРЯДКОВЫХ НОМЕРОВ БИТОВ С ВЫСОКИМ ЛОГИЧЕСКИМ УРОВНЕМ В СТРОКЕ ДАННЫХ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002451987
Дата охранного документа
27.05.2012
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к области обработки информации и может быть использовано в вычислительной технике, системах коммуникации и защиты информации от несанкционированного доступа. Техническим результатом является упрощение устройства при сохранении высокой скорости выполнения операции. Устройство содержит n=2 бинарных входов битов строки данных, где k-целое положительное число, n выходов значений порядковых номеров битов с высоким логическим уровнем в строке данных, выход POPCNT числа битов с высоким логическим уровнем в строке данных, n элементов логического умножения, каждый из которых имеет выход Y, первый вход X1 и второй бинарный вход Х2, и формирует на выходе Y результат умножения данных на входах X1 и Х2, вычислительные блоки М, содержащие сумматоры и образующие пирамидальную структуру с k уровнями обработки, где индекс j меняется от 1 до k=logn и указывает номер уровня обработки, а индекс i меняется от 1 до 2 и указывает номер блока на уровне. 6 з.п. ф-лы, 7 ил.
Реферат Свернуть Развернуть

Устройство относится к области обработки информации и может быть использовано в вычислительной технике, системах коммуникации и защиты информации от несанкционированного доступа.

Известен многовходовый одноразрядный сумматор (пат. №2047216 Россия, G06F 7/50. Многовходовый одноразрядный сумматор). Многовходовый одноразрядный сумматор содержит К элементов сложения по модулю два (К [log2n] n разрядность входного двоичного слова), выход r-го из которых соединен с r-м выходом сумматора, отличающийся тем, что содержит p мажоритарных элементов (p [n/2]), s-й которых имеет порог, равный 2s, i-й вход сумматора соединен с i-м входом первого элемента сложения по модулю два и 1-м входом s-го мажоритарного элемента, t-й вход j-го элемента сложения по модулю два , , соединен с выходом мажоритарного элемента с порогом t∙2j-1, (k+1)-й выход сумматора соединен с выходом мажоритарного элемента с порогом 2k.

Данный многовходовый одноразрядный сумматор можно использовать для расчета порядковых номеров битов с высоким логическим уровнем в строке данных длиной n. Но для параллельной обработки необходимо использовать n многовходовых одноразрядных сумматоров, при этом общее число используемых в устройстве сумматоров составляет O(n2).

Недостатком такого решения является существенное усложнение схемы с параллельной обработкой. При использовании последовательной обработки, при которой с использованием одного многовходового одноразрядного сумматора последовательно рассчитывается каждый порядковый номер, существенно возрастает время расчета порядковых номеров битов с высоким логическим уровнем.

Известен метод и устройство для подсчета количества бит с высоким логическим уровнем (пат. №5541865 США, G06F 7/60, 007/50. Method and apparatus for performing a population count operation). Устройство, предназначенное для вычисления числа бит с высоким логическим уровнем элемента данных, включает: первый набор сумматоров с сохранением переноса, состоящий из первого, второго, третьего и четвертого сумматоров, входы которых соединены с входами устройства так, чтобы получить первую, вторую, третью и четвертую битовые части первого элемента данных соответственно, первый и второй сумматоры с сохранением переноса формируют на своих выходах первый многобитовый блок данных, а третий и четвертый сумматоры с сохранением переноса формируют на своих выходах второй многобитовый блок данных; второй набор сумматоров, состоящий из пятого и шестого сумматоров с сохранением переноса, входы которых соединены так, чтобы получить первый и второй многобитовые блоки данных соответственно, пятый и шестой сумматоры с сохранением переноса формируют на своих выходах третий многобитовый блок данных; седьмой сумматор с сохранением переноса, входы которого соединены так, чтобы получить третий многобитовый блок выходных данных, который формирует на своих выходах четвертый многобитовый блок данных; полный сумматор, входы которого соединены так, чтобы получить четвертый многобитовый блок данных, который формирует на своих выходах количество бит с высоким логическим уровнем. Каждый сумматор с сохранением переноса представляет собой 4-2 сумматор с сохранением переноса. Полный сумматор представляет собой четырехбитовый полный сумматор.

Данное устройство можно использовать для расчета порядковых номеров битов с высоким логическим уровнем в строке данных длиной n. Но для параллельной обработки необходимо использовать n устройств подсчета количества бит с высоким логическим уровнем, при этом общее число используемых сумматоров составляет O(n2).

Недостатком такого решения является существенное усложнение схемы с параллельной обработкой. При использовании последовательной обработки существенно возрастает время расчета порядковых номеров битов с высоким логическим уровнем.

Известно устройство для расчета количества бит с высоким логическим уровнем (пат. №6754685 США, G06F 5/01, 7/60, 007/00. Dynamic popcount/shift circuit). Устройство выполняет функцию расчета количества бит с высоким логическим уровнем входной строки данных и функцию сдвига данных. Метод, положенный в основу работы устройства, обеспечивает баланс между нагрузкой счетчиков числа бит с высоким логическим уровнем и схем сдвига данных. Это приводит к увеличению скорости выполнения операции. Устройство имеет входы для битов первого вектора, второго вектора, средства для вычисления числа бит с высоким логическим уровнем первого вектора, средства для осуществления операции сдвига множества бит второго вектора на основе результатов расчета числа бит с высоким логическим уровнем первого вектора, средств для формирования третьего вектора, получающегося на основе операции сдвига. Устройство состоит из множества динамических уровней, за которыми следуют статические уровни. На динамических уровнях используются динамические узлы, которые вычисляют величины, зависящие от отдельных бит указателя и разреженного вектора. Устройство расширяется путем повторения базовой схемы, поэтому оно может быть изменено в соответствии с размером указателя и разреженного вектора.

Данное устройство можно использовать для расчета порядковых номеров битов с высоким логическим уровнем в строке данных длиной n. Но для параллельной обработки необходимо использовать n устройств подсчета количества бит с высоким логическим уровнем, при этом аппаратурная сложность устройства составляет O(n2).

Недостатком такого решения является существенное усложнение схемы с параллельной обработкой. При использовании последовательной обработки существенно возрастает время расчета порядковых номеров битов с высоким логическим уровнем.

Известно устройство и метод для расчета количества бит с высоким логическим уровнем (пат. №5717616 США, G06F 7/60, 017/00 Computer hardware instruction and method for computing population counts). Устройство предназначено для вычисления числа бит с высоким логическим уровнем в строках большой длины. При этом вся строка разделяется на более мелкие части и для каждой из частей рассчитывается число бит с высоким логическим уровнем. Для ускорения выполнения операции используются сумматоры с сохранением переноса. Устройство состоит из регистра данных, содержащего строку битов, в которой рассчитывается число битов с высоким логическим уровнем, множества полных сумматоров, каждый из которых имеет выход, и суммирует биты с высоким логическим уровнем из уникального набора битов из регистра данных, множества сумматоров с сохранением переноса, каждый из которых имеет выход, и суммирует биты с высоким логическим уровнем из уникального набора битов из аккумулирующего регистра. Каждый из сумматоров с сохранением переноса формирует уникальный набор выходных данных в регистре назначения, где регистр назначения хранит количество бит с высоким логическим уровнем из подмножества бит регистра данных и группу бит из аккумулирующего регистра в формате суммы с сохранением переноса. Множество полных сумматоров образуют иерархическую структуру так, что первый уровень сумматоров рассчитывает число бит с высоким логическим уровнем, хранящихся в регистре данных. Входы полных сумматоров второго уровня соединены с выходами сумматоров первого уровня так, что каждый из сумматоров второго уровня складывает результаты на выходах двух сумматоров первого уровня, причем каждый из выходов сумматора первого уровня соединен с одним входом сумматора второго уровня. Число полных сумматоров первого уровня составляет половину от числа бит в регистре данных, число полных сумматоров на втором уровне составляет четверть от числа бит в регистре данных. Сумматоры с сохранением переноса суммируют одинаковое количество бит. Роль регистра назначения и аккумулирующего регистра выполняет один и тот же регистр.

Данное устройство можно использовать для расчета порядковых номеров битов с высоким логическим уровнем в строке данных длиной n. Но для параллельной обработки необходимо использовать n устройств подсчета количества бит с высоким логическим уровнем, при этом общее число используемых сумматоров составляет O(n2).

Недостатком такого решения является существенное усложнение схемы с параллельной обработкой. При использовании последовательной обработки существенно возрастает время расчета порядковых номеров битов с высоким логическим уровнем.

Задачей настоящего решения является разработка простого устройства с количеством используемых сумматоров не более O(n) для расчета значений порядковых номеров битов и общего числа бит с высоким логическим уровнем в строке данных длиной n бит, обеспечивающего высокое быстродействие за счет параллельной обработки данных.

Техническим результатом является сокращение числа используемых в устройстве сумматоров до 5/2n-2log2(n)-2 при сохранении высокой скорости выполнения операции.

Поставленная задача достигается тем, что устройство для расчета порядковых номеров битов с высоким логическим уровнем в строке данных, согласно решению содержит n=2k бинарных входов битов строки данных Db1, Db2,.…, Dbn, где k - целое положительное число, n выходов Q1, Q2,.…, Qn значений порядковых номеров битов с высоким логическим уровнем в строке данных, выход POPCNT числа битов с высоким логическим уровнем в строке данных, n элементов логического умножения И1, И2…, Иn, каждый из которых имеет выход Y, первый вход X1 и второй бинарный вход Х2, и формирует на выходе Y результат умножения данных на входах X1 и Х2, вычислительные блоки Mij, образующие структуру с k уровнями обработки, где индекс j меняется от 1 до k=log2n и указывает номер уровня обработки, а индекс i меняется от 1 до 2l-1 и указывает номер блока на уровне j, каждый блок Mij имеет вход I_NUM1 результатов суммирования с нижнего уровня и выход O_NUM2 результатов суммирования, каждый блок Mij, где j=2,.…, k, i=1, 2, …, 2j-1 дополнительно имеет вход I_NUM2 результатов суммирования с нижнего уровня и выход O_NUM результатов суммирования, передаваемых на верхний уровень, каждый блок Mij, где j=2,.…, k, i=2, 3, …, 2j-1 дополнительно имеет вход I_NUM результатов суммирования с верхнего уровня и выход O_NUM1 результатов суммирования, блок Ml,k дополнительно имеет выход O_NUM1 результатов суммирования, блок Mn/2,k дополнительно имеет выход I_NUM2 результатов суммирования, при этом у блока Mij уровня j, где j=1, 2,.…, k-1, i=1, 2,.…, 2j-1, выход O_NUM1 соединен с входом I_NUM блока M2i-1, j+1 выход O_NUM2 соединен с входом I_NUM блока M2ij+1 вход I_NUM1 соединен с выходом O_NUM блока M2ij+1, вход I_NUM2 соединен с выходом O_NUM блока M2ij+1 у блоков Mi,k последнего уровня k, где k=log2n, i=1, 2,.…, 2k-1 выход O_NUM1 соединен с первым входом X1 логического элемента И2i-1 вход I_NUM1 соединен с входом Db2i-1 устройства и вторым бинарным входом Х2 логического элемента И2i-1, выход логического элемента И2i-1, соединен с выходом Q2i-1 устройства, выход O_NUM2 блока Мi,k соединен с первым входом X1 логического элемента И2i, вход I_NUM2 блока Мi,k соединен с входом Db2i устройства и вторым бинарным входом Х2 логического элемента И2i, выход логического элемента И2i соединен с выходом Q2i, устройства, выход O_NUM2 блока Mn/2,k дополнительно соединен с выходом POPCNT устройства. У блока М11 вход I_NUM1 соединен с выходом O_NUM2. Каждый блок промежуточного уровня Mi,j, где j=2,.…, k-1, i=2j-l, включает в себя сумматор с первым I1 и вторым I2 входами, и выходом OU, причем вход блока I_NUM1 соединен с первым входом сумматора I1, вход I_NUM соединен со вторым входом сумматора I2 и с выходом O_NUM1, выход O_NUM2 соединен с выходом OU сумматора. Каждый блок Ml.j, где j=2,.…, k-1 включает в себя сумматор с первым I1 и вторым I2 входами, и выходом OU, причем вход I_NUM1 соединен с первым входом сумматора I1 и с выходом O_NUM2, вход I_NUM2 соединен со вторым входом сумматора I2, выход O_NUM соединен с выходом OU сумматора. Блок М1,k включает в себя сумматор с первым I1 и вторым I2 входами, и выходом OU, причем вход I_NUM1 соединен с первым входом сумматора I1 и с выходом O_NUM1, вход I_NUM2 соединен со вторым входом сумматора I2, выход O_NUM соединен с выходом OU сумматора и с выходом O_NUM2. Каждый блок Мi,k последнего уровня k, где i=2,.…, n/2, состоит из трех сумматоров, каждый из которых имеет первый I1 и второй I2 входы, и выход OU, причем вход I_NUM1 соединен с первыми входами I1 первого и второго сумматоров, вход I_NUM2 соединен со вторым входом I2 первого сумматора, вход I_NUM соединен со вторым входом I2 второго сумматора и с первым входом I1 третьего сумматора, выход OU первого сумматора соединен со вторым входом I2 третьего сумматора и с выходом O_NUM при его наличии, выход O_NUM1 соединен с выходом OU второго сумматора, выход O_NUM2 соединен с выходом OU третьего сумматора. Каждый блок промежуточного уровня Mi,j, где j=2,.…, k-1, i=2, 3,.…, 2j-1-1 состоит из двух сумматоров, имеющих первый I1 и второй I2 входы, и выход OU, причем вход I_NUM1 соединен с первыми входами I1 первого и второго сумматоров, вход I_NUM2 соединен со вторым входом I2 первого сумматора, вход I_NUM соединен с вторым входом I2 второго сумматора и с выходом O_NUM1, выход O_NUM соединен с выходом OU первого сумматора, выход O_NUM2 соединен с выходом OU второго сумматора.

Изобретение поясняется чертежами, где на фиг.1 приведена структурно-функциональная схема устройства для расчета порядковых номеров битов с высоким логическим уровнем в строке данных длиной n=8, на фиг.2 приведена схема блоков Мi,k последнего уровня преобразования k, где k=log2n, i=2, 3,.…, 2k-1, на фиг.3 приведена схема блоков промежуточного уровня Мs,t, где 1<t<k, a 1<s<2t-1, на фиг.4 приведена схема блоков М1,m, где 1<m<k, на фиг.5 приведена схема блоков Mpq, где q=2,.…, k-1, p=2q-1, на фиг.6 приведена схема блока М1,k, на фиг.7 приведена схема блока Mn/2,k, где

М11 - первый блок первого уровня;

М12, М22 - первый и второй блоки второго уровня;

M13, М23, M33, M43 - первый, второй, третий и четвертый блоки третьего уровня;

И1- И8 - логические элементы И;

X1 - первый вход логического элемента И;

Х2 - второй бинарный вход логического элемента И;

Y - выход логического элемента И;

O_NUM - выход результатов суммирования, передаваемых на верхний уровень;

O_NUM1, O_NUM2 - первый и второй выходы результатов суммирования, передаваемых на нижний уровень;

I_NUM - вход результатов суммирования с верхнего уровня;

I_NUM1, I_NUM2 - первый и второй входы результатов суммирования с нижнего уровня;

Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8 - выходы значений порядковых номеров битов с высоким логическим уровнем;

Db1, Db2, Db3, Db4, Db5, Db6, Db7, Db8 - бинарные входы битов входной строки данных;

POPCNT - выход суммы битов с высоким логическим уровнем;

ADD - сумматор;

I1, I2 - входы сумматора;

OU - выход сумматора.

В общем случае предлагаемое устройство имеет n бинарных входов для получения битов входной строки данных, n выходов результатов расчета порядковых номеров битов с высоким логическим уровнем, выход результатов расчета количества битов с высоким логическим уровнем. Предлагаемое устройство содержит вычислительные блоки Mi,j, образующие пирамидальную структуру с k=log2n уровнями обработки, причем индекс i меняется от 1 до 2j-1 и указывает номер блока на уровне, а индекс j меняется от 1 до k и указывает номер уровня обработки. Таким образом, на первом уровне (j=1) расположен единственный блок М11, на втором уровне расположено два блока, на третьем - четыре и так далее до последнего уровня (j=k), содержащего n/2 блоков. Устройство также содержит n элементов логического умножения И1, И2…, Иn, каждый из которых имеет выход Y, первый вход X1 и второй бинарный вход Х2, при этом число на выходе Y равно числу на входе Х1, если на входе Х2 высокий логический уровень, если на входе Х2 низкий логический уровень, то число на выходе Y равно нулю.

Блоки Mi,j разделяются на семь типов.

1. Блок М11 имеет вход I_NUM1 и выход J_NUM2, которые соединены между собой.

Остальные блоки состоят из сумматоров ADD, каждый из которых имеет первый I1 и второй I2 входы для подачи суммируемых чисел и выход OU, на котором формируется сумма чисел, подаваемых на входы I1 и I2.

2. Блоки Mi,k последнего уровня преобразования k, где k=log2n, i=2, 3,.…, 2k-l-1 состоят из трех сумматоров ADD. Схема блоков Mi,k приведена на фиг.2. Блоки Мi,k имеют выход результатов суммирования, передаваемых на верхний уровень O_NUM, первый O_NUM1 и второй O_NUM2 выходы результатов суммирования, передаваемых на нижний уровень, вход I_NUM результатов суммирования с верхнего уровня, первый I_NUM1 и второй I_NUM2 входы результатов суммирования с нижнего уровня. Вход I_NUM1 блока Mi,k соединен с первым входом I1 первого сумматора и со вторым входом I2 второго сумматора. Вход I_NUM2 блока Mi,k соединен со вторым входом I2 первого сумматора. Вход I_NUM блока Mi,k соединен со вторым входом I2 второго сумматора и с первым входом I1 третьего сумматора. Выход O_NUM блока Mi,k соединен с выходом OU первого сумматора и со вторым входом I2 третьего сумматора. Выход O_NUM1 блока Mi,k соединен с выходом OU второго сумматора. Выход O_NUM2 блока Mi,k соединен с выходом OU третьего сумматора. На фиг.1 блоки М23, М33 соответствуют описанию блока Mi,k, схема которого представлена на фиг.2.

3. Блоки Ms,t промежуточного уровня преобразования t, где 1<t<k, a 1<s<2t-1 состоят из двух сумматоров ADD. Схема блоков Ms,t приведена на фиг.3. Блоки Ms,t имеют выход результатов суммирования, передаваемых на верхний уровень O_NUM, первый O_NUM1 и второй O_NUM2 выходы результатов суммирования, передаваемых на нижний уровень, вход I_NUM результатов суммирования с верхнего уровня, первый I_NUM1 и второй I_NUM2 входы результатов суммирования с нижнего уровня. Вход I_NUM1 блока Ms,t соединен с первым входом I1 первого сумматора и со первым входом I1 второго сумматора. Вход I_NUM2 блока Ms,t соединен со вторым входом I2 первого сумматора. Вход I_NUM блока Ms,t соединен со вторым входом I2 второго сумматора и с выходом O_NUM1 блока M Ms,t. Выход O_NUM блока Ms,t соединен с выходом OU первого сумматора. Выход O_NUM2 блока Ms,t соединен с выходом OU второго сумматора. На фиг.1 не изображены блоки, которые соответствуют описанию блоков Ms,t, схема которых представлена на фиг.3, так как эти блоки появляются при длине входной строки данных n более восьми бит.

4. Блоки М1m промежуточного уровня преобразования m, где 1<m<k состоят из одного сумматора ADD. Схема блоков М1m приведена на фиг.4. Блоки М1,m, имеют выход результатов суммирования, передаваемых на верхний уровень O_NUM, выход O_NUM2 результатов суммирования, передаваемых на нижний уровень, первый I_NUM1 и второй I_NUM2 входы результатов суммирования с нижнего уровня. Вход I_NUM1 блока М1,m соединен с первым входом I1 сумматора и с выходом O_NUM2. Вход I_NUM2 блока М1,m соединен со вторым входом I2 сумматора. Выход O_NUM блока М1,m соединен с выходом OU сумматора. На фиг.1 блок MI2 соответствуют описанию блока М1m, схема которого представлена на фиг.4.

5. Блоки Mp,q промежуточного уровня преобразования q, где 1<q<k, p=2q-1 состоят из одного сумматора ADD. Схема блоков Mp,q приведена на фиг.5. Блоки Mp,q имеют первый O_NUM1 и второй O_NUM2 выходы результатов суммирования, передаваемых на нижний уровень, вход результатов суммирования с нижнего уровня I_NUM1, вход I_NUM результатов суммирования с верхнего уровня. Вход I_NUM1 блока Mp.q соединен с первым входом I1 сумматора. Вход I_NUM блока Mp,q соединен со вторым входом I2 сумматора и с выходом O_NUM1 блока Mp,q. Выход O_NUM2 блока Mp.q соединен с выходом OU сумматора. На фиг.1 блок М22 соответствуют описанию блока Mp,q, схема которого представлена на фиг.5.

6. Блок M1,k последнего уровня преобразования k, где k=log2n, состоит из одного сумматора ADD. Схема блока М1,k приведена на фиг.6. Блок M1,k имеет выход результатов суммирования, передаваемых на верхний уровень O_NUM, первый O_NUM1 и второй O_NUM2 выходы результатов суммирования, передаваемых на нижний уровень, первый I_NUM1 и второй I_NUM2 входы результатов суммирования с нижнего уровня. Вход I_NUM1 блока M1,k соединен с первым входом I1 сумматора блока M1,k и с выходом O_NUM1 блока M1,k. Вход I_NUM2 блока M1,k соединен со вторым входом I2 сумматора блока M1,k. Выход O_NUM блока M1,k соединен с выходом OU сумматора блока M1,k и с выходом O_NUM2 блока Mi,k. На фиг.1 блок M13 соответствует описанию блока М1,k, схема которого представлена на фиг.6.

7. Блок Mn/2,k последнего уровня преобразования k, где k=log2n, состоит из трех сумматоров ADD. Схема блока Mn/2,k приведена на фиг.7. Блок Mn/2,k имеет первый O_NUM1 и второй O_NUM2 выходы результатов суммирования, передаваемых на нижний уровень, вход I_NUM результатов суммирования с верхнего уровня, первый I_NUM1 и второй I_NUM2 входы результатов суммирования с нижнего уровня. Вход I_NUM1 блока Mn/2,k соединен с первым входом I1 первого сумматора и с первым входом I1 второго сумматора. Вход I_NUM2 блока Mn/2,k соединен со вторым входом I2 первого сумматора. Вход I_NUM блока Mn/2,k соединен со вторым входом I2 второго сумматора и с первым входом I1 третьего сумматора. Выход OU первого сумматора блока Mn/2,k соединен со вторым входом I2 третьего сумматора. Выход O_NUM1 блока Mn/2,k соединен с выходом OU второго сумматора. Выход O_NUM2 блока Mn/2,k соединен с выходом OU третьего сумматора. На фиг.1 блок М43 соответствует описанию блока Mn/2,k, схема которого представлена на фиг.7.

Соединения между блоками устройства следующие.

Если у блока Мр,m уровня m, где m=1, 2,.…, k-1; р=1, 2,.…, 2m-1 существует выход O_NUM1, то он соединен с входом I_NUM блока M2p-1, m+1 уровня m+1. Выход O_NUM2 блока Мр,m уровня m соединен с входом I_NUM блока М2р,m+1 уровня m+1. Вход I_NUM1 блока Мр,m уровня m соединен с выходом O_NUM блока M2p-1, m+1 уровня m+1, если у блока Мр,m уровня m существует вход I_NUM2, то он соединен с выходом O_NUM блока М2р,m+1 уровня m+1. Выход O_NUM1 каждого блока Mi,k последнего уровня k, где k=lоg2n, a i=1, 2,.…, 2k-1 соединен с первым входом X1 логического элемента И2i-1, вход I_NUM1 блока Мi,k соединен с входом Db2i-1 устройства и вторым бинарным входом Х2 логического элемента И2i-1, выход логического элемента И2p-1 соединен с выходом Q2p-1 устройства, выход O_NUM2 блока Мi,k последнего уровня k, где k=log2n, i=1, 2,.…, 2k-l, соединен с первым входом X1 логического элемента И2i, вход I_NUM2 блока Мi,k соединен с входом Db2i устройства и вторым бинарным входом Х2 логического элемента И2i, выход логического элемента И2i соединен с выходом Q2i устройства. Выход O_NUM2 блока Мn/2,k дополнительно соединен с выходом POPCNT суммы битов с высоким логическим уровнем во входной строке данного устройства.

Устройство работает следующим образом. На бинарные входы Db1, Db2,.…, Dbn устройства для расчета порядковых номеров битов с высоким логическим уровнем поступают биты входной строки данных. Через время задержки t3 на выходах Q1, Q2,.…, Qn, устройства появляются значения порядковых номеров битов с высоким логическим уровнем во входной строке данных. Скорость выполнения операции зависит от типа используемых сумматоров. Если задержка сумматора не зависит от числа суммируемых разрядов и равна τ, задержка t3 выполнения предлагаемым устройством расчета порядковых номеров битов с высоким логическим уровнем составляет tз=2τ(log2(n)-1). Задержка формирования результата на выходе POPCNT также равна tз.

В блоках Mi,j могут использоваться сумматоры с сохранением переноса, сумматоры со сквозным переносом, сумматоры с ускоренным переносом и другие сумматоры, описанные, например, в книге Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования. М.: Вильямс, 2007, 912 с. При расчете порядковых номеров битов с высоким логическим уровнем в n разрядной строке данных используются схемы для суммирования входных данных с числом разрядов от 1 до lоg2n.

В блоках Mi,j могут использоваться сумматоры, суммирующие входные данные по модулю 2. В этом случае устройство определяет четность или нечетность порядкового номера бита с высоким логическим уровнем в строке данных. В общем случае, если в блоках Mi,j используются сумматоры, суммирующие входные данные по модулю d, порядковые номера битов с высоким логическим уровнем в строке данных также будут вычисляться по модулю d.

Число разрядов суммируемых величин в блоках различно. У блока Мр,m уровня m, где m=1, 3,.…, k; p=1, 2,.…, 2m-1 выход O_NUM1 имеет число двоичных разрядов, равное int(log2(p))+k-m+1, где функция int(log2(p)) вычисляет ближайшее целое число, большее чем log2(p), а выходы O_NUM2 и O_NUM имеют число двоичных разрядов, равное int(log2(p))+k-m+2. Таким образом, последний сумматор последнего уровня, формирующий результат на выходе O_NUM2, имеет k+1 разряд. У блока Мр,m уровня m, где m=1, 3,.…, k; р=1, 2,.…, 2m-1 входы I_NUM1, I_NUM2 имеют число двоичных разрядов, равное k-m+1. В блоках Мр,m можно использовать одинаковые сумматоры с числом разрядов суммируемых чисел, равным k, но при этом часть старших разрядов части сумматоров не будет использоваться.

Заметим, что устройство можно использовать при значениях длины входной строки данных n, отличной от степени числа 2. При этом используется только часть блоков, на которые поступают биты строки входных данных. Неиспользуемые блоки и логические элементы Иi можно исключить из устройства.

Таким образом, устройство выполняет расчет порядковых номеров битов с высоким логическим уровнем входной бинарной строки данных. Одновременно с расчетом порядковых номеров битов устройство осуществляет расчет количества битов с высоким логическим уровнем во входной строке данных. Устройство характеризуется небольшим числом используемых сумматоров. Аппаратурная сложность устройства, определяемая количеством используемых сумматоров, составляет 5/2n-2log2(n)-2, где n - число бит входной строки данных. Это значительно меньше количества сумматоров, необходимого для расчета порядковых номеров битов с высоким логическим уровнем с использованием n устройств расчета количества бит с высоким логическим уровнем. Обработка данных в предлагаемом устройстве выполняется параллельно, что обеспечивает высокую скорость выполнения операции.

Источник поступления информации: Роспатент

Showing 1-10 of 22 items.
10.01.2013
№216.012.1719

Способ оценки прогрессирования стадии первичной открытоугольной глаукомы

Изобретение относится к медицине, в частности к офтальмологии, и может быть использовано для оценки стадии прогрессирования первичной открытоугольной глаукомы. Для конкретного пациента с уже установленным клиническими методами диагнозом первичная открытоугольная глаукома стадии S проводят...
Тип: Изобретение
Номер охранного документа: 0002471405
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.171a

Способ бесконтактного измерения внутриглазного давления

Изобретение относится к области медицины и может быть использовано для измерения внутриглазного давления. Способ заключается в том, что на глаз воздействуют пневмоимпульсом, с одновременным освещением его поверхности лазером, используя калибровочную кривую для модели глаза. Преобразуют...
Тип: Изобретение
Номер охранного документа: 0002471406
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a22

Устройство обнаружения электропроводящих объектов на базе датчиков магнитного поля с частотным выходом

Изобретение относится к металлоискателям для целей диагностики и дефектоскопии, археологии, входного контроля в системах безопасности и т.п. и может использоваться для обнаружения локальных неоднородностей в виде металлических и металлосодержащих предметов ограниченных размеров, проводных линий...
Тип: Изобретение
Номер охранного документа: 0002472182
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a53

Способ экспериментального моделирования стресс-индуцированного развития острого язвенного кровотечения

Изобретение относится к области экспериментальной медицины, в частности к гастроэнтерологии, и касается моделирования развития острого язвенного кровотечения. Для этого обеспечивают индуцированное последовательное воздействие на крыс путем хронического социального и иммобилизационного стрессов....
Тип: Изобретение
Номер охранного документа: 0002472231
Дата охранного документа: 10.01.2013
20.02.2013
№216.012.2801

Способ изготовления зонда для ближнеполевой сверхвысокочастотной микроскопии

Изобретение относится к измерительной технике и может быть использовано в ближнеполевой сканирующей СВЧ и оптической микроскопии. Способ изготовления стеклянного зонда с проводящей сердцевиной включает помещение в стеклянную трубку легкоплавкого металла или металлического сплава, температура...
Тип: Изобретение
Номер охранного документа: 0002475761
Дата охранного документа: 20.02.2013
10.04.2013
№216.012.344d

Способ визуализации аминокислот на целлюлозной матрице, средство для его реализации и способ получения средства

Группа изобретений относится к аналитической химии, а именно к идентификации и экспрессного полуколичественного определения биологически активных соединений в сложных смесях. Способ получения средства для визуализации аминокислот на целлюлозной матрице включает приготовление водного раствора,...
Тип: Изобретение
Номер охранного документа: 0002478932
Дата охранного документа: 10.04.2013
10.06.2013
№216.012.4868

Способ повышения стабильности водного раствора квантовых точек - наночастиц селенида кадмия, покрытых меркаптокислотами

Изобретение относится к аналитической химии. Водный раствор квантовых точек на основе селенида кадмия, покрытых меркаптокислотой, стабилизируют, вводя сульфит натрия до его концентрации в растворе 0,02-0,2 моль/л. Технический результат - повышение стабильности водного раствора квантовых точек...
Тип: Изобретение
Номер охранного документа: 0002484116
Дата охранного документа: 10.06.2013
27.09.2013
№216.012.70cb

Способ получения электромагнитных колебаний в свч и квч диапазоне со сверхширокополосной перестройкой частоты

Изобретение относится к области твердотельной сверхвысокочастотной микроэлектроники, в частности к методам получения электромагнитных колебаний в СВЧ и КВЧ диапазоне, и может использоваться в устройствах для передачи информации. Достигаемый технический результат - расширение диапазона...
Тип: Изобретение
Номер охранного документа: 0002494526
Дата охранного документа: 27.09.2013
20.02.2019
№219.016.becb

Генератор случайных перестановок

Устройство относится к вычислительной, информационно-измерительной радиотехнике и может быть использовано в системах защиты информации от несанкционированного доступа. Технический результат - обеспечение высокой скорости работы устройства, формирующего уникальные случайные числа путем генерации...
Тип: Изобретение
Номер охранного документа: 0002395834
Дата охранного документа: 27.07.2010
20.02.2019
№219.016.c2c3

Генератор импульсов случайной длительности

Изобретение относится к вычислительной технике, информационно-измерительной радиотехнике и может быть использовано в качестве источника подкачки энтропии в систему генерирования случайных чисел для различных устройств информационной безопасности. Техническим результатом является обеспечение...
Тип: Изобретение
Номер охранного документа: 0002408059
Дата охранного документа: 27.12.2010
Showing 1-8 of 8 items.
10.01.2013
№216.012.1a22

Устройство обнаружения электропроводящих объектов на базе датчиков магнитного поля с частотным выходом

Изобретение относится к металлоискателям для целей диагностики и дефектоскопии, археологии, входного контроля в системах безопасности и т.п. и может использоваться для обнаружения локальных неоднородностей в виде металлических и металлосодержащих предметов ограниченных размеров, проводных линий...
Тип: Изобретение
Номер охранного документа: 0002472182
Дата охранного документа: 10.01.2013
20.07.2013
№216.012.5819

Устройство перестановок и сдвигов битов данных в микропроцессорах

Изобретение относится к средствам перестановок и сдвигов битов данных в микропроцессорах. Технический результат заключается в увеличении скорости выполнения операций. Устройство содержит n-разрядный вход данных X-X, n-разрядный выход данных Y-Y, n-разрядный вход битов маскирования F-F,...
Тип: Изобретение
Номер охранного документа: 0002488161
Дата охранного документа: 20.07.2013
20.02.2019
№219.016.becb

Генератор случайных перестановок

Устройство относится к вычислительной, информационно-измерительной радиотехнике и может быть использовано в системах защиты информации от несанкционированного доступа. Технический результат - обеспечение высокой скорости работы устройства, формирующего уникальные случайные числа путем генерации...
Тип: Изобретение
Номер охранного документа: 0002395834
Дата охранного документа: 27.07.2010
20.02.2019
№219.016.c2c3

Генератор импульсов случайной длительности

Изобретение относится к вычислительной технике, информационно-измерительной радиотехнике и может быть использовано в качестве источника подкачки энтропии в систему генерирования случайных чисел для различных устройств информационной безопасности. Техническим результатом является обеспечение...
Тип: Изобретение
Номер охранного документа: 0002408059
Дата охранного документа: 27.12.2010
08.03.2019
№219.016.d55c

Быстродействующее устройство для расчета порядковых номеров битов с высоким логическим уровнем в строке данных

Изобретение относится к области обработки информации. Техническим результатом является повышение быстродействия расчета порядковых номеров битов и общего числа бит с высоким логическим уровнем в строке данных длиной n, при этом число используемых сумматоров должно быть более O(nlogn), при этом...
Тип: Изобретение
Номер охранного документа: 0002451988
Дата охранного документа: 27.05.2012
10.04.2019
№219.017.0834

Устройство управляемой перестановки информации, хранимой в эвм

Устройство относится к области преобразования информации и может быть использовано в вычислительной технике, системах коммуникации и защиты информации от несанкционированного доступа. Техническим результатом является возможность высокоскоростного параллельного преобразования форматов блоков...
Тип: Изобретение
Номер охранного документа: 0002405187
Дата охранного документа: 27.11.2010
29.04.2019
№219.017.4518

Устройство кросс-кластерной управляемой перестановки информации, хранимой в персональной эвм

Изобретение относится к области вычислительной техники, в частности к кодированию информации, и может быть использовано в системах коммуникации и защиты информации от несанкционированного доступа. Техническим результатом является возможность высокоскоростной кросс-кластерной перестановки...
Тип: Изобретение
Номер охранного документа: 0002409842
Дата охранного документа: 20.01.2011
18.05.2019
№219.017.5661

Полосовой ферритовый фильтр сверхвысоких частот

Устройство относится к области использования ферритовых резонаторов, частота которых управляется внешним постоянным магнитным полем. Техническим результатом изобретения является увеличение уровня режекции устройства преобразования индукции магнитного поля (УПИ) до минус 10 - минус 15 дБ, а...
Тип: Изобретение
Номер охранного документа: 0002393594
Дата охранного документа: 27.06.2010
+ добавить свой РИД