Научная статья на тему 'Конвейеризация комбинационных схем'

Конвейеризация комбинационных схем Текст научной статьи по специальности «Математика»

CC BY
217
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМБИНАЦИОННАЯ СХЕМА / КОНВЕЙЕРИЗАЦИЯ / ОРИЕНТИРОВАННЫЙ ГРАФ / COMBINATIONAL CIRCUIT / PIPELINING / DIRECTED GRAPH

Аннотация научной статьи по математике, автор научной работы — Поттосин Юрий Васильевич, Кардаш Сергей Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Поттосин Юрий Васильевич, Кардаш Сергей Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Pipelining of combinational circuits

The problem is set to divide a given multilevel combinational circuit into a given number of cascades with registers providing pipeline-wise development of incoming signals. To solve this problem a model based on representation of combinational circuit in the form of digraph is used.

Текст научной работы на тему «Конвейеризация комбинационных схем»

программной реализации параллельной версии алгоритма на языке С+—Н с использованием интерфейса передачи данных MPI. Вычисления будут проводиться на суперкомпьютере Сибирского федерального университета.

ЛИТЕРАТУРА

1. Halt D., Eick B., and O’Brien E. Handbook of computational group theory. Boca Raton:

Chapman & Hall/CRC Press, 2005.

2. Кузнецов А. А., Шлёпкин А. К. Сравнительный анализ бернсайдовых групп B(2, 5) и

B0(2, 5) // Тр. Ин-та математики и механики УрО РАН. 2009. №2. С. 125-132.

УДК 519.7

КОНВЕЙЕРИЗАЦИЯ КОМБИНАЦИОННЫХ СХЕМ

Ю. В. Поттосин, С. Н. Кардаш

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

Ключевые слова: комбинационная схема, конвейеризация, ориентированный граф.

Повышению производительности систем обработки информации всегда уделялось большое внимание. Одним из способов повышения производительности является применение структуры конвейерного типа, который имеет ещё название «трубопровод» (перевод с англ. слова «pipeline») [1]. Подобную структуру образуют несколько независимых процессоров, соединённых между собой последовательно.

При построении систем цифровой обработки сигналов в режиме реального времени широкое распространение получил систолический принцип организации вычислений [2]. Информация в систолическом процессоре распространяется по конвейеру подобно тому, как пульсирует кровь при сокращении систолы сердца. В данной работе излагается попытка найти способ повышения быстродействия путем конвейеризации многоуровневой комбинационной схемы, построенной на основе СБИС.

В многоуровневой схеме устройства задержка складывается из задержек элементов самой длинной цепочки. Пусть на вход комбинационной схемы поступает последовательность p наборов двоичных сигналов. Если T — время задержки схемы, то период смены сигналов не может быть меньше T. Время реакции устройства на данную последовательность в этом случае не меньше pT. Разобьём схему на к каскадов (C1, С2,..., Ck), и если Тс — время задержки самого медленно действующего каскада, то T ^ ктс. На выходы каждого каскада поставим элементы задержки (триггеры D), пропускающие сигналы с выходов каскада по сигналу синхронизации. Этот же сигнал синхронизации определяет период смены сигналов на входе устройства, который должен быть не меньше суммы двух задержек: задержки тс и задержки тд элемента D (тС1оск ^ тс+тд). Теперь время реакции устройства на упомянутую последовательность равно (к + р)тс1оск.

Нижняя граница длины p последовательности наборов двоичных сигналов на входе устройства, при которой имеет место ускорение обработки сигналов, определяется

неравенством (к + р)тс1оск < рТ. Учитывая нижнюю границу периода следования сигналов синхронизации тс1оск, получим

ктс1оск . к(тс + тъ)

Р > ™^--------------------.

Т — тс1оск Т — тС — тЪ

Заданную схему требуется разбить на заданное число к каскадов, чтобы обеспечить по возможности максимальное быстродействие при описанном конвейерном режиме.

В качестве модели схемы используется бесконтурный орграф О = (V, А). Его вершины из множества V представляют логические элементы и входные полюсы схемы, а дуги из множества А показывают направления сигналов от выходов одних элементов к входам других. Каждой вершине V Е V приписан вес т(V), представляющий задержку соответствующего элемента. Вершины, соответствующие входам схемы, имеют вес 0.

Сформируем последовательность слоев ¿1, Ь2, ..., Ьт, представляющую собой упорядоченное разбиение множества вершин V орграфа О с таким свойством, что если вершина V принадлежит полуокрестности исхода N +(и) вершины и, то эти вершины находятся в разных слоях и слой, содержащий вершину и, предшествует в этой последовательности слою с вершиной V (не обязательно непосредственно). Если длины путей от входов схемы к её выходам различны, то такое разбиение не является единственным. Следует выбрать такой вариант разбиения на слои, чтобы сумма весов всех слоев была по возможности минимальной. Под весом слоя понимаем максимум весов вершин, принадлежащих данному слою.

Можно выделить два типа вершин орграфа О. К одному типу отнесем вершины, которые лежат на самых длинных путях в орграфе О. Они строго распределяются по слоям и не могут менять своё положение. Их назовём неподвижными. Положение в слоях других вершин, которые назовём подвижными, можно менять в определённых пределах, скажем, от слоя Ь\ до слоя Ьг (/ < г). Эти пределы устанавливаются с помощью алгоритма, подобного алгоритму топологической сортировки [3].

Для окончательного распределения вершин по слоям так, чтобы сумма весов сло-ёв была по возможности минимальной, предлагается следующий способ. Удалив из орграфа О неподвижные вершины вместе с инцидентными им рёбрами, получим орграф Н, в каждой компоненте которого выделим вершину с максимальным весом. Эту вершину поместим в один из допустимых для неё слоёв с максимальным весом. Границы положения вершин при этом изменятся и некоторые вершины из подвижных перейдут в неподвижные. Дальнейшее распределение по слоям можно вести для каждой компоненты орграфа Н описанным способом.

Все пути в орграфе приводятся к единой длине путем добавления новых вершин с нулевым весом. Каждому из слоёв соответствует множество значений веса, приписанных вершинам, принадлежащим данному слою. Максимальное значение веса в слое представляет собой задержку прохождения сигнала в этом слое. Заданную комбинационную схему надо разбить на заданное число каскадов с минимизацией задержки в самом медленно действующем каскаде. Каждый каскад представляет собой упорядоченное множество слоёв.

Рассматриваемая задача теперь сводится к следующему. Дана последовательность положительных чисел (а1,а2,... , ап). Требуется её разбить на заданное число к отрезков Вь £2, ..., Вк, где Bi = (а„4-1+1,..., ат), г = 1, 2,..., к, по = 0, пк = п. При этом надо, чтобы величина шах(51, 52,..., 5к}, где 5 = а„4_1+1 + ... + ап, была по

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

ЛИТЕРАТУРА

1. Каган Б. М., Каневский М. М. Цифровые вычислительные машины и системы. М.: Энергия, 1973.

2. Кухарев Г. А., Шмерко В. П., Зайцева Е. Н. Алгоритмы и систолические процессоры для обработки многозначных данных. Минск: Навука 1 тэхнжа, 1990.

3. Кнут Д. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы. М.: Мир, 1976.

УДК 519.7

АЛГОРИТМ ПОИСКА ЗАПРЕТОВ БУЛЕВЫХ ФУНКЦИЙ

Д. В. Рябоконь

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

Ключевые слова: запрет булевой функции, граф де Брёйна.

Будем обозначать Р2(п) множество всех булевых функций от п переменных.

Определение 1. Говорят, что булева функция f еР2(п) имеет запрет у1... ут Е Е {0,1}т, если система булевых уравнений

f (^,... ,жга+^1) = yi, г =1,...,т, (1)

несовместна. Если для любых т Е N и у1... ут Е {0,1}т система (1) совместна, то функция f называется функцией без запрета.

Определение 2. Графом де Брёйна Оп^) функции f Е Р2(п) называют граф, у которого вершины — это все булевы векторы длины п — 1, а дуги поставлены во взаимно однозначное соответствие всевозможным булевым векторам длины п так, что вектору Ь1Ь2 ... Ьп соответствует дуга, направленная от вершины Ь1Ь2 ... Ьп-1 к вершине Ь2Ь3 ... Ьп и помеченная значением f (Ь1Ь2 ... Ьп).

Вершину графа Оп^) назовём особой вершиной типа 5 Е {0,1}, если обе исходящие из неё дуги помечены значением 5. Будем говорить, что вектор у1у2 ... уп является продолжением вектора ж1ж2 ... хп, если у1... уп-1 = х2 ... хп.

Утверждение 1. В графе де Брёйна Оп^) функции f Е Р2(п), п > 1, имеющей запрет, есть хотя бы одна особая вершина.

Доказательство. Среди всех запретов функции f выберем любой запрет минимальной длины т. Пусть это есть е1... ет. Так как т — минимальная длина запрета, граф Оп^) является (т — 1)-полным графом де Брёйна, т. е. для любой последовательности у1 . ..ут-1 Е {0,1}т-1 существует путь, её несущий. Рассмотрим последовательность е1 . ..ет-1. Для неё в Оп^) есть несущий путь, пусть он оканчивается в вершине V. Так как е1... ет — запрет, из вершины V нет дуги, помеченной ет, т. е. обе исходящие из V дуги имеют значение ет и, следовательно, V — особая вершина. ■

i Надоели баннеры? Вы всегда можете отключить рекламу.