1 Расщепление внутренних состояний конечных автоматов для минимизации потребляемой мощности В.В. Соловьев, Т.Н. Грэсь Белостокский технологический университет.

Презентация:



Advertisements
Похожие презентации
Методы приведения к системе на стандартном симплексе.
Advertisements

Что нужно знать: динамическое программирование – это способ решения сложных задач путем сведения их к более простым задачам того же типа динамическое.
1. Алгебраические методы решения Если исходить из определения неравенства, в котором в обеих частях записаны выражения с переменной, то при решении неравенств.
АЛГОРИТМЫ НАХОЖДЕНИЯ КРАТЧАЙШИХ ПУТЕЙ НА ГРАФАХ..
Лекция 7 Постникова Ольга Алексеевна1 Тема. Элементы теории корреляции
Л АБОРАТОРНАЯ РАБОТА 4 Тема: Численное дифференцирование Тема: Численное дифференцирование.
СОДЕРЖАНИЕ Полная и неполная индукция Принцип математической индукции Метод математической индукции Применение метода математической индукции к суммированию.
Классификация и регрессия Доклад по курсу Интеллектуальный анализ данных Закирова А.Р. 1.
НазваниеОписание ОбъектПример, шаблон, наблюдение АтрибутПризнак, независимая переменная, свойство Метка класса Зависимая переменная, целевая переменная,
Игра «Русское лото» Тема: «Алгебраические выражения, уравнения, степень с натуральным показателем, одночлены, сумма и разность многочленов». Алгебра 7.
Потоки платежей, ренты. 2 Основные определения Потоком платежей будем называть последовательность (ряд) выплат и поступлений, приуроченных к разным моментам.
Введение в автоматное программирование А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики 2009 г.
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
БИК Специальность ПОВТ Дисциплина Численные методы 1.
Увеличение и уменьшение в несколько раз. Математика. 2 класс.
Глава 2 МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ 2.1. Общая характеристика методов решения систем линейных уравнений.
Теория статистики Корреляционно-регрессионный анализ: статистическое моделирование зависимостей Часть 1. 1.
ОСНОВЫ ПРОГРАММИРОВАНИЯ Раздел 2. Математические основы программирования Логические алгоритмы Старший преподаватель Кафедры ВС, к.т.н. Поляков Артем Юрьевич.
Перейти на первую страницу 2 лекция Методы узловых потенциалов и преобразования, наложения.
Развитие понятия о числе 1. Натуральные числа : N={1,2,3…} 2. Множество целых чисел : Z={…-2,-1,0,1,2…} 3. Множество рациональных чисел : Q={m/n; m Є.
Транксрипт:

1 Расщепление внутренних состояний конечных автоматов для минимизации потребляемой мощности В.В. Соловьев, Т.Н. Грэсь Белостокский технологический университет (Польша)

2 План презентации I. Введение II. Определение энергопотребления конечного автомата III. Суть предлагаемого подхода IV. Метод расщепления внутренних состояний конечных автоматов с целью минимизации потребляемой мощности V. Результаты экспериментальных исследований VI. Заключение

3 I. Введение В настоящей работе для уменьшения энергопотребления конечных автоматов предлагается использовать операцию расщепления внутренних состояний конечного автомата.

4 II. Определение энергопотребления конечного автомата где P r – мощность, потребляемая триггером r; V DD – величина напряжения питания; f – частота функционирования конечного автомата; C – ёмкость выхода каждого триггера; N r – переключательная активность триггера r.

5 Определение переключательной активности триггера где P(a ma s ) – вероятность перехода конечного автомата из состояния a m в состояние a s (a m, a s A); k i – некоторый бинарный код состояния a i A; k r i значение бита r в коде k i состояния a i

6 Определение вероятности P(a ma s ) перехода конечного автомата из состояния a m в состояние a s где P(a m ) – вероятность нахождения конечного автомата в состоянии a m ; P(X(a m,a s )) – вероятность появления на входе конечного автомата входного вектора X(a m,a s ), который инициирует переход из состояния a m в состояние a s.

7 Определение вероятности P(X(a m,a s )) появления на входе конечного автомата входного вектора X(a m,a s ) где d {0,1,-}; P(x b =d) – вероятность того, что входная переменная x b во входном векторе X(a m,a s ) примет значение d. В данной работе принято, что вероятность появления 0 или 1 на каждом входе конечного автомата одинакова, поэтому P(x b =0) = P(x b =1) = 0,5, а P(x b =-) = 1.

8 Определение вероятности P(ai) нахождения конечного автомата в каждом состоянии ai В случае, когда переход между состояниями a m и a i отсутствует, принимается P(X(a m,a i )) = 0. В случае же, когда из состояния a m в состояние a i ведут несколько переходов, значение P(X(a m,a i )) определяется как сумма вероятностей появления каждого входного вектора, который инициирует переход из состояния a m в состояние a i.

9 Решение системы уравнений (5) Система уравнений (5) представляет собой линейную систему M уравнений от M неизвестных P(a 1 ),…,P(a M ), для решения которой может быть применен любой из известных методов, например, Гаусса. Поскольку конечный автомат всегда находится в одном из своих внутренних состояний, справедливым является следующее равенство:

10 Алгоритм определения оценки энергопотребления конечного автомата 1. Согласно (4) для каждого входного вектора X(a m,a s ) (a m, a s A) определяется вероятность P(X(a m,a s )) его появления на входе конечного автомата. 2. Решается система уравнений (5) для определения вероятностей P(a i ) нахождения конечного автомата в каждом состоянии a i, a i A. 3. Согласно (3) определяются вероятности переходов P(a ma s ) конечного автомата, a m, a s A. 4. На основании результатов кодирования внутренних состояний согласно (2) определяется активность каждого триггера Nr. 5. Согласно (1) вычисляется потребляемая мощность P конечного автомата для следующих значений параметров: V DD = 5V, f = 10MHz и C = 5pF (типичные значения для большинства микросхем CMOS-технологии). 6. Конец.

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

12 Суть предлагаемого подхода Анализ выражения (2) показывает, что активность Nr некоторого триггера r, может быть изменена как за счет уменьшения вероятностей переходов между состояниями P(amas), am, as A, так и за счет уменьшения числа разрядов кода, по которым различаются коды состояний am и as. Вероятность P(X(am,as)) появления на входе конечного автомата входного вектора X(am,as) при расщеплении внутренних состояний не изменяется. Однако при расщеплении состояний будет увеличиваться общее число M состояний конечного автомата, а из выполнения равенства (6) следует, что при увеличении M вероятности P(am) для отдельных состояний будут уменьшаться.

13 Влияние расщепления внутренних состояний на число разрядов кода Пусть число разрядов кода R = intlog 2 M, где M – число внутренних состояний. Общее число кодов, доступных для кодирования внутренних состояний, равно 2**R. На практике часто справедливым является неравенство M < 2**R, т.е. число возможных кодов больше, чем число внутренних состояний. Поэтому расщепление внутренних состояний редко увеличивает число разрядов кода R

14 Влияние расщепления внутренних состояний на возможность их кодирования При расщеплении некоторого состояния a i, a i A, уменьшается множество состояний B(a i ), переходы из которых ведут в состояние a i. В результате упрощается подбор кодов с целью минимизации потребляемой мощности для состояний, связанных с состоянием a i. Таким образом, в результате расщепления для переходов с большими вероятностями P(a ma i ) и P(a ia s ) (a m, a s A) становится возможным подобрать коды, которые различаются по меньшему числу разрядов.

15 Случай увеличения числа R разрядов кода когда M = 2**R, расщепление внутренних состояний требует увеличения на единицу числа R разрядов кода, что приводит к увеличению в два раза числа доступных кодов для кодирования состояний. В результате значительно увеличиваются возможности алгоритмов кодирования внутренних состояний с целью уменьшения потребляемой мощности

16 Выводы Расщепление внутренних состояний может приводить к снижению потребляемой мощности как за счет уменьшения вероятности P(am) для отдельных состояний, так и за счет уменьшения числа различных значений разрядов кода для состояний с большой вероятностью переходов P(amas).

17 Пример

18 Пример Приняв значение постоянного множителя равным 1, на основании (2) и (1) значение потребляемой мощности P для фрагмента a) конечного автомата равно 5/6. Значение потребляемой мощности P для фрагмента б) конечного автомата равно 4/6. Таким образом, расщепление состояния a 3 на два состояния a 3_1 и a 3_2 привело к уменьшению потребляемой мощности для данного фрагмента конечного автомата на 20%.

19 IV. Метод расщепления внутренних состояний конечных автоматов с целью минимизации потребляемой мощности Расщеплять можно только такие состояния, для которых |B(ai)| > 1, где |A| - мощность множества A (в рассмотренном примере |B(a3)|=2). Пусть для некоторого состояния ai (ai A)|B(ai)| = H > 1. Состояние ai может быть расщеплено на 2,…,H состояний. В первом случае множество B(ai) разбивается на две группы состояний, а в последнем случае множество B(ai) разбивается на H групп состояний

20 Алгоритм расщепления внутренних состояний для уменьшения энергопотребления конечных автоматов 1. Выполняется последовательный алгоритм [5] кодирования внутренних состояний конечного автомата с целью уменьшения потребляемой мощности. С помощью алгоритма 1 определяется потребляемая мощность P конечного автомата. Полагается P* := P, P := P. 2. Последовательно рассматриваются внутренние состояния ai, ai A, для которых |B(ai)| = H > Рассматриваются все возможные способы разбиения множества B(ai) на непересекающиеся подмножества B(ai_1),…,B(ai_h) для всех h. 4. Для некоторого разбиения B(ai_1),…,B(ai_h), полученного в пункте 3, выполняется пробное расщепление состояния ai на состояния ai_1,…,ai_h таким образом, чтобы переходы из состояний каждого подмножества B(ai_j) вели в состояние ai_j.

21 Алгоритм расщепления внутренних состояний для уменьшения энергопотребления конечных автоматов 5. Для вновь образованного конечного автомата выполняется последовательный алгоритм [5] кодирования внутренних состояний конечного автомата с целью уменьшения потребляемой мощности. С помощью алгоритма 1 определяется потребляемая мощность P. Выполняется возврат к конечному автомату до расщепления состояния ai в п Если P < P, то полагается P := P, запоминается разбиение B(ai_1),…,B(ai_h). Иначе перейти к п.3 для рассмотрения следующего разбиения B(ai_1),…,B(ai_h). 7. Пункты 2-6 выполняются для всех состояний ai, ai A. 7. Если P < P*, то выполняется расщепление состояния ai на состояния ai_1,…,ai_h в соответствии с разбиением B(ai_1),…,B(ai_h), запомненным в п.6, далее перейти к п.1. Иначе перейти к п Конец.

22 Упрощенный алгоритм расщепления внутренних состояний для уменьшения энергопотребления конечных автоматов Применение рассмотренного алгоритма связано с большим перебором при выполнении пункта 3. Поэтому для практического использования может быть рекомендован упрощенный вариант алгоритма. В упрощенном варианте алгоритма каждое подмножество B(ai) разбивается только на два непересекающихся подмножества B(ai_1) и B(ai_2), причем подмножество B(ai_1) включает только одно состояние. В качестве такого состояния в подмножество B(ai_1) выбирается состояние, для которого вероятность перехода в состояние ai максимальна.

23 Упрощенный алгоритм расщепления внутренних состояний для уменьшения энергопотребления конечных автоматов В упрощенном варианте алгоритма пункт 3 выглядит следующим образом: 3. Множество B(ai) разбивается на два непересекающихся подмножества B(ai_1) и B(ai_2). Для этого в множестве B(ai) находится состояние aj такое, что P(ajai) = max; полагается B(ai_1) := {aj}, B(ai_2) := B(ai)\ {aj}.

24 V. Результаты экспериментальных исследований FSMMQPP3P3 ΔP 3 %P2P2 ΔP 2 % dk ,65204,258,67203,529,00 dk ,46154,812,91154,812,91 dk ,95291,873,97291,204,19 dk ,98187,803,68187,803,68 dk ,21218,752,00218,752,00 donfile ,66208,986,14208,986,14 ex ,68117,3515,38117,3515,38 ex ,9790,012,1290,012,12 ex ,22188,565,35188,135,57 mark ,29172,273,37172,273,37 planet ,87207,324,41207,324,41 pma ,4193,0610,8793,0610,87 sand ,29106,208,68106,208,68 shifreg816210,94199,225,56199,225,56 tma204465,2512,3881,0212,3881,02 mid7,167,25

25 Анализ результатов экспериментальных исследований Использование упрощенного алгоритма 3 позволяет, в среднем, уменьшить энергопотребление конечных автоматов на 7,16%, а для отдельных примеров – на 81,02% (пример tma). В то же время применение алгоритма 2, по сравнению с алгоритмом 3, позволило незначительно снизить потребляемую мощность от 0,22% до 0,70% для 6 примеров конечных автоматов. Среднее снижение потребляемой мощности при этом составляет 7,25%. Поэтому для практического использования можно рекомендовать упрощенный алгоритм

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

27 Спасибо за внимание!