- •1 Разработка машинного алгоритма выполнения операции автоматом.
- •2 Разработка гса и функциональной схемы операционной части автомата
- •2.1 Выбор длины разрядной сетки функциональных узлов операционного автомата
- •2.2 Содержательный граф автомата
- •2.3 Список микроопераций и логических условий
- •3 Разработка логической схемы управляющей части автомата
- •3.2 Кодирование состояний автомата
- •3.3 Построение функций возбуждения входов элементарных автоматов и логической схемы автомата
- •4 Оценка времени выполнения операции
- •4.1 Расчёт времени выполнения микропрограммы
Содержание
Введение |
2 |
1 Разработка алгоритма выполнения операции автоматомfHfHHHH |
4 |
1.1 Построение алгоритма выполнения операции |
5 |
1.2 Пример выполнения операции |
7 |
1.3 Оценка погрешности перевода чисел в двоичную систему и выполнения операции |
8 |
2 Разработка ГСА и функциональной схемы операционной части автомата |
9 |
2.1 Выбор длинны разрядной сетки функциональных узлов операционного автомата |
9 |
2.2 Содержательный граф автомата |
10 |
2.3 Список микроопераций и логических условий |
13 |
3 Разработка логической схемы управляющей части |
14 |
3.1 Кодирование состояний автомата |
16 |
3.2 Построение функций возбуждения входов элементарных автоматов и логической схемы автомата |
22 |
4 Оценка времени выполнения операции |
24 |
4.1 Расчёт времени выполнения микропрограммы |
24 |
Заключение |
27 |
Список использованных источников |
28 |
|
|
Введение
Исследования в области теории автоматов начались в середине 50-х годов прошлого века. Несмотря на свою простоту, модель конечного автомата оказалась чрезвычайно удобной в огромном числе приложений не только в информатике, но и во многих других областях инженерной деятельности. Большой интерес к этой теории объясняется именно широкими возможностями ее применения. Без преувеличения можно сказать, что теория автоматов является одним из фундаментальных блоков современной теоретической и практической информатики. Наряду с классическими приложениями теории автоматов, такими как проектирование встроенных систем логического управления, обработка текстов и построение компиляторов искусственных языков, в последнее время появились новые, нетрадиционные области применения этой теории - спецификация и верификация систем взаимодействующих процессов (в частности, протоколов коммуникации), языки описания документов и объектно-ориентированных программных систем, оптимизация логических программ и другие.
1 Разработка машинного алгоритма выполнения операции автоматом.
Построение алгоритма выполнения операции
Шаг 1. Присвоить мантиссе частному значение 0.
Шаг 2. Проверить не равно ли значение делителя нулю. Если да, то закончить алгоритм, иначе перейти к шагу 3.
Шаг 3. Найти значение знакового разряда регистра мантиссы С.
Шаг 4. Проверить равно ли значение нулевого разряда регистра мантиссы А 0, если да, то шаг 5, иначе шаг 6.
Шаг 5. Проверить равно ли значение нулевого разряда регистра мантисс В 0, если да, то шаг 7, иначе шаг 9 .
Шаг 6. Проверить равно ли значение нулевого разряда регистра мантисс В 0, если да, то шаг 9, иначе шаг 7 .
Шаг 7. Присвоить сумматору мантисс значение инверсное регистра мантиссы B. Далее шаг 8.
Шаг 8. Присвоить значение сумматора регистру B. Далее шаг 9.
Шаг 9. Если мантисса A меньше мантиссы B , то перейти к 10 ,иначе 16.
Шаг 10. Присвоить сумматору порядков значения суммы порядка A и
инверсного порядка B. Далее шаг 11.
Шаг 11. Присвоить сумматору мантисс значение регистра мантиссы A. Далее шаг 12.
Шаг 12. Сдвинуть сумматор мантисс и регистр мантиссы С на 1 влево. Далее шаг 13.
Шаг 13. Сумматору мантисс присвоить значение суммы сумматора и регистра мантиссы B. Далее шаг 14.
Шаг 14. Сравнить значения нулевых разрядов сумматора мантисс и регистра мантиссы A .Если они равны , то шаг 15 , иначе шаг 16.
Шаг 15. Присвоить последнему разряду регистра мантиссы С значение равное 1. Далее шаг 17.
Шаг 16 Присвоить последнему разряду регистра мантиссы С значение равное 0 и произвести восстановление остатка. Далее шаг 17.
Шаг 17. Сравнить не равно ли нулю значение сумматора мантисс 0.
Если да , то шаг 19 , иначе шаг 18.
Шаг 18. От счетчика отнять 1 и если счетчик не равен нулю , то перейти к шагу 12.
Шаг 19. Проверить равно ли значение смматора порядков нулю.
Если да , то произвести нормализацию , проверить на переполнение и закончить алгоритм.
Если нет , то проверить на переполнение и закончить алгоритм.
Блок-схема изображена на рисунке 1.1
Рисунок 1.1 - Блок-схема алгоритма выполнения операции
Пример выполнения операции
Пример выполнения операции для заданных чисел A, B и результата вычислений C приведён в таблице 1.1. Деление производится в дополнительном коде по правилу 1 с восстановлением остатка .
; ;
Таблица 1.1 - Пример выполнения операции
Сумматор |
Регистр С |
Примечание |
00.10001111 01.00011110 11.0001 00.00101110
00.01011100 11.0001 11.01101100
10.11011000 00.1111 11.11001000
11.10010000 00.1111 00.10000000 |
0000 000-
0001
001-
0010
010-
0100
100-
1001 |
;
|
Ответ получится в прямом коде. Одновременно вычисляется порядок частного следующим образом:
И определяется знак частного:
Ответ:
Оценка погрешности перевода чисел в двоичную систему и выполнения операции
С учетом ограниченной разрядной сетки получим машинное изображение чисел: и.
Абсолютные погрешности представления чисел в машинном коде равны:
Относительные погрешности равны, соответственно:
При условии получения частного погрешность операции деления указанных чисел равна
Также может быть случай, когда частное может быть неправильно округлено.