Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GP.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
663.55 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

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

пояснительная записка

к курсовой работе

по дисциплине «Теория автоматов»

Выполнила:

студентка группы 10ВВ2

Чепанова А.Г.

Принял:

Калиниченко Е.И.

Пенза 2012

Содержание

Введение 4

Расчетная часть 5

1. Разработка алгоритма работы управляющего автомата 5

1.1. Алгоритм работы 5

1.2 Представление на языке Assembler 6

2. Тестирование алгоритма 7

2.1. Тестирование и отладка алгоритма работы 7

2.2. Переход к графической схеме алгоритма 9

9

3. Проектирование управляющего автомата с жесткой логикой 10

3.1. Переход к стандартному языку задания автомата 10

10

3.2. Построение прямой таблицы переходов ЦА Мура. 11

3.3. Формирование СКУ ЦА Мура 11

3.4. Синтез функции возбуждения и выхода 14

3.4. Построение схемы на заданной элементарной базе 15

3.5. Тестирование работоспособности схемы 16

3.6. Расчет максимально допустимой тактовой частоты генератора 17

4. Проектирование УА с программируемой логикой 18

4.1. Определение формата микрокоманд 18

4.2. Разработка функциональной схемы 19

4.3. Составление таблицы прошивки ПЗУ 19

Перечень элементов 20

Приложения 21

Введение

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

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

Разрядность обрабатываемых операндов – 32 бит. Формат операндов – целые числа со знаком, крайний левый разряд – знаковый. Данные в оперативной памяти представляются в дополнительном коде. Тип автомата – Мура. Элемент памяти – JK-триггер. Адресация управляющего автомата с программируемой логикой – принудительная.

Расчетная часть

1. Разработка алгоритма работы управляющего автомата

1.1. Алгоритм работы

Составим алгоритм работы для выполнения операции .

Алгоритм:

  1. Помещаем в регистр ebx значение b.

  2. Помещаем в регистр eax значение a.

  3. Обнуляем переменную err,которая отвечает за наличие ошибки.

  4. Совершаем операцию конъюнкции ebx и eax.

  5. Помещаем в регистр ebx значение c.

  6. Совершаем операцию дизъюнкции регистров eax и ebx.

  7. Заносим значение eax в регистры edx и ebx.

  8. Заносим в ecx количество тактов (32).

  9. Если младший бит ebx равен 0, то переходим к пункту 7.

  10. Если младший бит ebx равен 0, то прибавляем ebx к eax.

  11. Циклически сдвигаем регистры eax и edx вправо на один разряд.

  12. Обнуляем флаг CF.

  13. Уменьшаем ecx на один.

  14. Если ecx!=0, то переходим к пункту 5.

  15. Помещаем в регист ebx значение d.

  16. Прибавляем ebx к edx.

  17. Совершаем операцию сложения с учетом флага CF регистра eax с 0.

  18. Проверяем на переполнение. Если флаг OF установлен в 1, то переходим к пункту 19, если флаг установлен в 0, то переходим к пункту 20

  19. Увеличиваем переменную err на 1.

  20. Заносим значение нашего выражения в 64-разрядную переменную.

1.2 Представление на языке Assembler

Реализованный мною алгоритм на языке программирования низкого уровня – Assembler:

mov ebx, b

mov eax, a

mov err,0

and eax, ebx

mov ebx,c

or eax, ebx

mov edx, eax

mov ebx, eax

mov ecx, 32

mult:

test edx, 1

jz shift

add eax, ebx

shift:

rcr eax, 1

rcr edx, 1

clc

dec ecx

cmp ecx, 0

jg mult

mov ebx,d

add edx, ebx

adc eax, 0

jno noerr

inc err

noerr:

mov dword ptr [result], edx

mov dword ptr [result+4], eax

}

2. Тестирование алгоритма

2.1. Тестирование и отладка алгоритма работы

Для проверки правильности работы алгоритма, проверим некоторые наборы входных данных.

Например, а=1, b=1, c=1, d=1.

Например, а=5, b=4, c=3, d=2.

Результаты вычислений верны.

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

2.2. Переход к графической схеме алгоритма

3. Проектирование управляющего автомата с жесткой логикой

3.1. Переход к стандартному языку задания автомата

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

3.2. Построение прямой таблицы переходов ЦА Мура.

Si(t)(yi)

xi,j(t)

Sj(t+1)

yj

S0(y0)

1

S1

y1

S1(y1)

X0

S2

y2

!X0

S3

y3

S2(y2)

1

S3

y3

S3(y3)

1

S4

y4

S4(y4)

1

S5

y5

S5(y5)

1

S6

y6

S6(y6)

X0

S7

y7

!X0

S2

y2

S7(y7)

1

S8

y8

S8(y8)

1

S9

y9

S9(y9)

X1

S10

y10

!X1

S12

y12

S10(y10)

1

S11

y11

S11(y11)

1

S13

yk

S12(y8)

1

S13

yk

S13(yk)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]