135850 (Методичка для курсового проектирования по ПТЦА (прикладная теория цифровых автоматов))

2016-08-01СтудИзба

Описание файла

Документ из архива "Методичка для курсового проектирования по ПТЦА (прикладная теория цифровых автоматов)", который расположен в категории "". Всё это находится в предмете "радиофизика и электроника" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "радиоэлектроника" в общих файлах.

Онлайн просмотр документа "135850"

Текст из документа "135850"

 2Антик М.И. 11_03_91 МИРЭА

 _АЛГОРИТМЫ ПРОЦЕДУРНОГО ТИПА. ОПЕРАЦИОННЫЕ УСТРОЙСТВА

Алгоритмы этого типа являются следующим этапом обобщения

описаний вычислительных процессов. Теперь, по сравнению с ал-

горитмами автоматного типа, на каждом шаге, помимо модифика-

ции памяти, идентифицирующей шаг алгоритма, разрешается изме-

нять любую другую память устройства локально (по частям) или

глобально (всю сразу).

Устройство-исполнитель алгоритма этого типа будем назы-

вать операционным устройством (ОУ).

ОУ можно рассматривать как один синхронный автомат со

сложно структурированной памятью - состоянием: часть памяти

используется для идентификации шага алгоритма, остальная па-

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

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

алгоритма. Такая модель вычислителя особенно удобна для рас-

чета продолжительности одного такта работы устройства.

Другой удобной моделью вычислителя является совокуп-

ность взаимодействующих синхронных автоматов, один из которых

называется управляющим автоматом (УА), а объединение всех ос-

тальных автоматов называется операционным автоматом (ОА).

УА является исполнителем алгоритма автоматного типа, ко-

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

типа. Кроме того, УА инициирует действия отдельных шагов ал-

горитма и участвует в их выполнении.

ОА выполняет все вычисления на отдельных шагах алгоритма

под управлением УА; кроме того, к ОА удобно отнести все вы-

числения предикатных функций, оставив УА только анализ вычис-

ленных предикатных значений.

Прежде чем переходить к точным терминам, рассмотрим сле-

дующиe примеры алгоритмов процедурного типа.

Например, каноническое описание синхронного конечного

автомата может быть интерпретировано (истолковано) как одно-

шаговый алгоритм процедурного типа.

┌──────┐ │

│ ┌──V──V─────┐

│ │ B=FO(S,A) │

│ │ │

│ │ S:=FS(S,A)│

│ └─────┬─────┘

└─────────┘

Исполнитель этого алгоритма состоит только из ОА. На

каждом шаге этого алгоритма изменяется вся память устройства,

поэтому управление памятью не требуется, идентифицировать ша-

ги этого алгоритма не надо.

Например, инкрементор с одноразрядным входом и однораз-

рядным выходом может быть реализацией следующих преобразова-

ний:

█ p:=1 █

┌────────┐ │

│ ┌─────V─V───────┐

│ │ (p:, b) = a+p │

│ └───────┬───────┘

└──────────┘

- 2 -

ОА, реализующий инкрементор в целом, будет следующим:

┌──┬─┐

a ──────────────────┤HS│S├────b

┌─┬─┐p │ │ │

начальное значен.─┤S│T├──┤ │P├──┐

├─┤ │ └──┴─┘ │

SYN ─────────/C│ │ │

┌┤D│ │ │

│└─┴─┘ │

└───────────────┘

Конечно, эта реализация совпадает с реализацией алгоритма ав-

томатного типа, если состояние р1 кодируется 1, а состояние

р0 - 0.

Этот пример показывает,что до начала вычислений может

потребоваться начальная установка памяти. На самом деле это

необходимо было уже в алгоритмах автоматного типа, так как

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

ки. Ограничимся здесь обозначением этой проблемы, а решение

ее, связанное прежде всего с корректной синхронизацией ус-

тройства в первом такте его работы, рассмотрим ниже.

При рассмотрении процедуры построения автомата Мура эк-

вивалентного автомату Мили , не обсуждалась простая возмож-

ность ее реализации и на структурном уровне. Например, только

что рассмотренный автомат Мили может быть преобразован в эк-

вивалентный автомат Мура по одному из следующих вариантов:

┌┬─┬┐t┌──┬─┐ ┌──┬─┐ ┌┬─┬┐

a ──┤│T│├┤HS│S├─b a ─────┤HS│S├─┤│T│├─b

─/┴┴─┴┘ │ │ │ │ │ │─/┴┴─┴┘

C │ │ │ C │ │ │ C

─/┬┬─┬┐p│ │ │ ─/┬┬─┬┐p│ │ │

┌┤│T│├┤ │P├┐ ┌┤│T│├┤ │P├┐

│ └┴─┴┘ └──┴─┘│ │ └┴─┴┘ └──┴─┘│

└─────────────┘ └─────────────┘

При таких структурных преобразованиях проще истолковы-

вать алгоритмы как процедурные.

█ █

█ p:=1; t:=0 █ █ p:=1 █

█ █

┌────────┐ │ ┌────────┐ │

│ ┌─────V─V───────┐ │ ┌─────V─V───────┐

│ │t:=a;(p:,b)=t+p│ │ │ (p , b):= a+p │

│ └───────┬───────┘ │ └───────┬───────┘

└──────────┘ └──────────┘

БЛОК-ТЕКСТ. Способ описания автоматного алгоритма после

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

алгоритмов в процедурной форме:

Блок-текст состоит из трех частей:

1)- Описание переменных и начальных значений памяти.

2)- Описания функций и связей. Записываются любые функции и

функциональные связи (в том числе предикатные), не использу-

ющие запоминания. Переменные из левой части операции присва-

ивания таких функциональных описаний используются в блоках

процедуры.

3)- Процедура, состоящая из блоков (микроблоков) операторных

и блоков переходов:

- операторные - в скобках вида {.....},

- перехода - в скобках вида <>;

и те, и другие блоки могут снабжаться метками, стоящими перед

блоком. В блоках перехода используется оператор GO в одной

из двух форм:

GO m - безусловный переход,

GO (P; m0,m1,m2,...) - условный переход.

здесь m0,m1,... - метки блоков,

P - предикатное значение,интерпретируемое оператором GO

- 3 -

как неотрицательное целое число, являющееся порядковым номе-

ром метки в списке меток оператора GO. С этой метки должно

быть продолжено выполнение алгоритма. Блоки условных перехо-

дов эквивалентны предикатным вершинам блок-схемы алгоритма.

На следующем более сложном примере демонстрируется пос-

ледовательность синтеза операционного устройства.

Пример. Вычислитель наибольшего общего делителя (НОД)

двух натуральных чисел (8-разрядных).

1) Разработаем интерфейс вычислителя:

8 ┌──┬─────┬──┐

═══╪═>╡I1│ НОД │ │

│ │ │ │ 8

8 │ │ │D ╞══╪══>

═══╪═>╡I2│ │ │

├──┤ ├──┤

─────>┤rI│ │rO├─────>

├──┤ │ │

─────>┤ C│ │ │

└──┴─────┴──┘

I1[7..0], I2[7..0] -входные информационные шины.

rI -входной сигнал готовности: если rI=1, то на входах I1,

I2 готовы операнды.

D[7..0] -выходная информационная шина .

rO -выходной сигнал готовности: если rO=1, то готов резуль-

тат на шине D, который сохраняется до появления новых операн-

дов.

2) Математическое обоснование алгоритма вычислений:

Идея алгоритма, следуя Евклиду (IIIв. до р.Х.), заключа-

ется в том, что НОД двух натуральных чисел А и В в случае ра-

венства этих чисел совпадает с любым из них, а в случае их

неравенства совпадает с НОД двух других чисел: меньшего и

разности между большим и меньшим. Последовательно, уменьшая

числа, получим два равных числа -значение одного из них и бу-

дет НОД исходных чисел.

3) Блок-схема алгоритма (микропрограмма в содержательном

виде):

- 4 -

┌──────V──────┐

m1│ rO: = 0 │

└──────┬──────┘

│┌──────────────────┐

││┌─────┐ │

─VVV─ │ │

/ \ 0 │ │

─────┘ │

\_/ │

│1 │

┌──────V──────┐ │

│ rO: = 0 │ │

│ │ │

m2│ А: = I1 │ │

│ │ │

│ B: = I2 │ │

└──────┬──────┘ │

┌───────────────────┐│ │

│ ┌─────VV──────┐ │

│ m3│ (p,S)=A - B │ │

│ └──────┬──────┘ │

│ ─V─ m6 │

│ / \ =0 ┌──────────┐│

│ z ───>┤ rO:=1;D=A├┘

│ \__/ └──────────┘

│ │╪0

│ V

│ 0 / \ 1

│ ┌───────

────────┐

│ ┌───────V──────┐ \_/ ┌───────V──────┐

│m4│ (x,B:)=-A+B │ m5│ (x,A:)=A - B │

│ └───────┬──────┘ └───────┬──────┘

└──────────┴────────────────────┘

Или в виде блок-текста:

I1[7..0], I2[7..0] --входные шины

D[7..0] --выходная шина

rI, rO --сигналы готовности

A[7..0]:, B[7..0]: --память текущих значений

S[7..0] --разность

z, p --предикатные переменные

z=┐(!/S) --сжатие(свертка) S[7..0] по ИЛИ-НЕ

--можно записать иначе z=(S==0)

D=A

-------------------------------------------------------------------

m1{rO:=0}

g1<>

m2{rO:=0; A:=I1; B:=I2}

m3{(p,S)=A-B}

<>

g2<>

m4{(x,B:)=-A+B}

<>

m5{(x,A:)= A-B}

<>

m6{rO:=1}

<>

- 5 -

4) Разработка функциональной схемы операционного автомата.

В ОА должны быть реализованы все переменные с памятью и

без,а также вычислительные операции,используемые в алгоритме.

A ╔══════════════════════════════>D

─/┬┬──┬┐ ║ ┌────────────┐

C││RG││ ║ │ f1=(A-B) │

││ ││ ║ A│ │

I1═════>══>╡│ │╞══╝ ═>╡ f2=(-A+B)│ ┌─┐

││ ││ │ │S S│1│

││ ││ │ ╞> ═>┤ o───>z

┴┴──┴┘ │ │ │ │

B │ │ └─┘

─/┬┬──┬┐ │ │

C││RG││ │ ├────────────>p

││ ││B B│ │

I2═════>═>╡│ │╞> ═>╡ │ ─/┬┬─┬┐

││ ││ │ │ C││ │├>rO

││ ││ │ │ ││ ││

rI─────>┴┴──┴┘ └────────────┘ └┴─┴┘

Кроме того, в ОА необходимо реализовать все информацион-

ные связи, соответствующие микрооперации коммутации, а также

микрооперации запоминания (загрузки, записи) и обнуления.

╔══════════════════════════════════════════════╗

║ A ╔══════════════════════║═══════>D

║ ┌────┐ ─/┬┬──┬┐ ║ ┌────┐ ┌──────┐ ║

║ │ MUX│ C││RG││ ║ │M2*8│ 1─>┤cr SM│ ║

╠═>┤0 │ ││ ││ ║ │ │ ├─ │ ║

I1══║═>┤1 ╞══════>╡│ │╞══╩══>╡ ╞═══>╡I1 │ ║ ┌─┐

║ ├ │ ││ ││ A │ │ │ │ ║ │1│

║ │А │ W││ ││ ├─ │ │ S╞═╩>╡ o───>z

║ └A───┘ ─A┴┴──┴┘ └A───┘ │ │ │ │

║ │ │ │ │ │ └─┘

║ umA uA uiA │ │

║ B │ │

║ ┌────┐ ─/┬┬──┬┐ ┌────┐ │ │

║ │ MUX│ C││RG││ │M2*8│ │ p├─────────>p

╚═>╡0 │ ││ ││ B │ │ │ │

I2════>╡1 ╞══════>╡│ │╞═════>╡ ╞═══>╡I2 │ C

├ │ ││ ││ │ │ │ │ ─/┬┬─┬┐

│А │ W││ ││ ├─ │ │ │1─>┤│T│├>rO

└A───┘ ─A┴┴──┴┘ └A───┘ └──────┘R W││ ││

│ │ │ ─A─A┴┴─┴┘

uMB uB uiB urO uwO

5) Формулировка требований к управляющему автомату.

При формировании управляющих сигналов следует обратить

внимание не только на операции, которые необходимо выполнить

на данном шаге, но и на те оперции, которые нельзя выполнять

на этом шаге, это - как правило, операции изменения памяти.

Будем считать, что операция активна, если значение уп-

равляющего сигнала равно 1.

- 6 -

Для управления вычислениями на каждом шаге алгоритма

потребуются следующие управляющие сигналы:

║umA│umB│uwA│uwB│uiA│uiB│urO│uwO│

══╬═══╪═══╪═══╪═══╪═══╪═══╪═══╪═══╡

m1║ │ │ │ │ │ │ 1 │ 0 │

──╫───┼───┼───┼───┼───┼───┼───┼───┤

m2║ 1 │ 1 │ 1 │ 1 │ │ │ 1 │ 0 │

──╫───┼───┼───┼───┼───┼───┼───┼───┤

m3║ │ │ 0 │ 0 │ 0 │ 1 │ │ 0 │

──╫───┼───┼───┼───┼───┼───┼───┼───┤

m4║ │ 0 │ 0 │ 1 │ 1 │ 0 │ │ 0 │

──╫───┼───┼───┼───┼───┼───┼───┼───┤

m5║ 0 │ │ 1 │ 0 │ 0 │ 1 │ │ 0 │

──╫───┼───┼───┼───┼───┼───┼───┼───┤

m6║ │ │ 0 │ │ │ │ 0 │ 1 │

──╨───┴───┴───┴───┴───┴───┴───┴───┘

В незаполненных клетках сигналы безразличны.

Заметив, что umA = umB , uiB = ┐uiA , окончательно полу-

чаем:

╔══════════════════════════════════════════════╗

║ A ╔══════════════════════║═══════>D

║ ┌────┐ ─/┬┬──┬┐ ║ ┌────┐ ┌──────┐ ║

║ │ MUX│ C││RG││ ║ │M2*8│ 1─>┤cr SM│ ║

╠═>╡0 │ ││ ││ ║ │ │ ├─ │ ║

I1══║═>╡1 ╞══════>╡│ │╞══╩══>╡ ╞═══>╡I1 │ ║ ┌─┐

║ ├ │ ││ ││ │ │ │ │ ║ │1│

║ │А │ W││ ││ ├─ │ │ S╞═╩>╡ o───>z

║ └A───┘ ─A┴┴──┴┘ └A───┘ │ │ │ │

║ └────┐ ┌─┘ B ┌────┘ ├─ │ └─┘

║ ┌────┐│ │─/┬┬──┬┐ │ ┌────┐ │ │

║ │ MUX││ │ C││RG││ │ │M2*8│ │ p├─────────>p

╚═>╡0 ││ │ ││ ││ │ │ │ │ │

I2════>╡1 ╞│═══│═>┤│ │╞══│══>┤ ╞═══>╡I2 │

├ ││ │ ││ ││ │ │ │ │ │

│А ││ │ W││ ││ │ ├─ │ │ │ C

└A───┘│ │─A┴┴──┴┘ │ └A───┘ └──────┘ ─/┬┬─┬┐

│ │ │ └─┐ │ ┌─┐│ 1─>┤│T│├>rO

│ │ │ │ ├>┤ o┘ R W││ ││

├────┘ │ │ │ └─┘ ─A─A┴┴─┴┘

umB uwA uwB uiA urO uwO

---│--------│----│-----│----------------------│-│-----

y1 y2 y3 y4 y5 y6

║y1│y2│y3│y4│y5│y6│

══╬══╪══╪══╪══╪══╪══╡

m1║ │ │ │ │ 1│ 0│

──╫──┼──┼──┼──┼──┼──┤

m2║ 1│ 1│ 1│ │ 1│ 0│

──╫──┼──┼──┼──┼──┼──┤

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее