
- •Вопрос 1. Предмет та.
- •Вопрос 2. Классификация автоматов
- •Вопрос 3. Приложения та
- •Вопрос 4. Двоичное умножение
- •Вопрос 5. Умножение в инверсных кодах
- •Вопрос 6. Деление
- •Вопрос 7. Деление в инверсных кодах. Особенности.
- •Вопрос 8. Особенности выполнения операций в формате с плавающей запятой.
- •Вопрос 9
- •Вопрос 10. Модель дискретного преобразователя Глушкова
- •Вопрос 11. Микропрограммирование
- •Вопрос 12. Структуры операционных автоматов
- •Вопрос 13. Синтез оа процедурного типа
- •Вопрос 14. Синтез оа структурного типа
- •Вопрос 15. Автоматные языки. Формальное задание Автомата.
- •Вопрос 16. Модели автоматов Мили и Мура
- •Вопрос 17. Эквивалентность ка. Теорема Мура.
- •Вопрос 18. Минимизация конечных автоматов.
- •Вопрос 19. Эквивалентность автомата Мили и Мура.
- •Вопрос 20. Виды уа
- •Вопрос 21. Структурные схемы уа. Мили и Мура.
- •Вопрос 22. Этапы синтеза уажл.
- •Вопрос 23. Примеры синтеза уажл.
- •Вопрос 24. Гонки и способы борьбы с ними
- •Вопрос 25. Уа с программируемой логикой (уапл)
- •Вопрос 26. Алгебраическая и структурная теория ка.
- •Вопрос 26 [part2]
- •Вопрос 27. Объединение нескольких уа в один
- •Вопрос 28. Программная реализация ка. Варианты реализации. Шаблон Состояние.
- •Вопрос 29. Назначение и краткая характеристика vhdl.
- •Вопрос 30. Реализация уа на vhdl.
- •Вопрос 31. Понятие о языке моделирования uml.
- •Вопрос 32. Понятие о языках и формальных грамматиках
- •Вопрос 33. Классификация языков
- •Регулярные языки и Конечные Автоматы
- •Вопрос 34. Лемма о накачке
- •Вопрос 35. Понятие о нка. Получение дка по нка.
- •Вопрос 36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини.
- •Вопрос 37. Применение рв. Различные нотации рв.
- •Вопрос 38. Кс-грамматики и магазинные автоматы.
- •Вопрос 39. Машины Тьюринга
- •Вопрос 40. Использование мт для анализа алгоритмов.
Вопрос 7. Деление в инверсных кодах. Особенности.
все операции выполняются по правилам соответствующего инверсного кода (сдвиг влево и сложение)
вместо вычитания используют сложение с числом с противоположным знаком
на каждом шаге к остатку прибавляют число, равное по модулю делителя, и имеющее знак противоположный знаку остатка
очередная цифра частного определяется не по знаку остатка, а по его (знаку) сравнения со знаками одного из операндов:
а) Если результат получается в прямом коде, сравниваются знаки делимого и остатка ЗнRi и ЗнА
б) Если результат получается в инверсном коде, то сравниваются знаки ЗнRi и ЗнВ
Иначе – 0.
Если знаки равны, то очередная цифра частного равна 1, иначе – 0.
1)
2)
Пример:
3/8:5/8
Aдк=Апк=00.011
Вдк=Впк=00.101
-Вдк=11.011
Алгоритм без восстановления остатка
Регистр остатка R |
Комментарий |
00.011 |
R=A; CNT=4 |
+ 11.011 |
R=A+[-B] (пробное вычитание) |
=11.110 |
R<0 => продолжаем |
11.100 |
R=2R (сдвиг влево), |
+ 00.101 |
т.к. R<0 => R=R+B |
=00.101 |
R>0,A>0 => C(1)=1; CNT=3 |
00.010 |
R=2R |
+ 11.011 |
R>0 => R=R+[-B] |
=11.101 |
R<0; A>0 => C(2)=0; CNT=2 |
11.110 |
R=2R |
+ 00.101 |
R<0=> R=R+B |
=11.111 |
R<0; A>0 => C(3)=0; CNT=1 |
11.110 |
R=2R |
+ 00.101 |
R<0=> R=R+B |
00.011 |
R>0,A>0 => C(4)=1; CNT=0 |
Округляем С до 4-х разрядов.
До округления – 0.1001 (9/16)
После округления – 0.101 (5/8)
Вопрос 8. Особенности выполнения операций в формате с плавающей запятой.
операции с плавающей запятой выполняются в три этапа:
– обработка порядков (могут меняться местами)
- обработка мантисов (т.е. умножение, сложение, деление)
- нормализация
Q≤|M|<1
M – мантисса
q – основная система исчисления.
2-1≤|M|<1 признак нормализованного числа.
А=M*2p
Если M меньше в 2 раза, то P=P+1 и наоборот.
Сложение с плавающей запятой Перед сложением обязательно выполняется выравнивание порядков. Т.е. число с меньшим порядком преобразовывается таким образом, что бы его порядок был равен порядку максимального числа (M сдвигается вправо, P увеличивается). Затем выполняется сложение мантис и нормализация выполняется в цикле. При нормализации может произойти переполнение порядка. При положительном переполнении порядка результат приравнивается к 0.
При умножении (делении) с плавающей запятой последовательно (параллельно) выполняется сложение (вычитание) порядков. Затем выполняют нормализацию. Если исходные числа были нормализованы, нормализация может потребовать максимум одного шага.
При выполнении деления, если делимое больше делителя, его мантиссу можно уменьшить в два раза, увеличив порядок на 1, т.е. смасштабировать делимое, либо можно зафиксировать так, чтобы целая часть частного равна 1 и после деления выполнить нормализацию.
В инверсном коде признак нормализации – равенство первого разряда мантиссы и знака разряда.
Пример:
Аок = 11.00101*2-2 + Вок = 00.10001*2-4
выравнивание порядков: Рв<Ра => MB=MB/4; Рв = Рв+2 B=00.00100*2-2
сложение мантисс
Нормализация не требуется, т.к. |MC|≥2-1 (знак С≠МС(1))
Пример:
Аок = 11.01111*2-2 + Вок = 00.11101*2-3
1) B=00.01110*2-2
2)
Знак С=МС(1) => нужна нормализация
Сдвигаем С влево, пока не будет 0 слева (в данном случае 3 раза)
Получаем 11.01111