- •И. В. Потапов элементы прикладной теории цифровых автоматов
- •Оглавление
- •Введение
- •1. Представление чисел в эвм
- •1.1. Позиционные системы счисления
- •1.2. Обоснование применения в эвм двоичной системы счисления
- •1.3. Представление двоичных чисел с фиксированной и плавающей запятой
- •1.4. Прямой и инверсные коды чисел
- •1.5. Двоично-десятичные коды чисел
- •Вопросы для самоконтроля
- •2. Арифметические операции в двоичных кодах
- •2.1. Сложение двоичных кодов
- •2.2. Вычитание двоичных кодов
- •2.3. Выполнение операции округления чисел
- •2.3.1. Округление прямых кодов
- •2.3.2. Округление инверсных кодов
- •2.4. Умножение двоичных кодов
- •2.4.1. Умножение прямых кодов чисел
- •2.4.2. Ускоренное выполнение операции умножения
- •2.4.3. Умножение инверсных кодов чисел
- •2.5. Деление двоичных кодов
- •2.5.1. Деление прямых кодов чисел
- •2.5.2. Ускоренное выполнение операции деления
- •2.5.3. Деление дополнительных кодов чисел
- •2.6. Извлечение квадратного корня
- •2.7. Выполнение арифметических операций в d-кодах
- •2.7.1. Сложение в d-кодах
- •2.7.2. Умножение в d-кодах
- •2.7.3. Деление в d-кодах
- •Вопросы для самоконтроля
- •3. Переключательные функции
- •3.1. Основные определения и способы задания пф
- •3.2. Элементарные логические функции
- •3.3. Основные законы алгебры логики
- •3.4. Полные системы переключательных функций
- •3.5. Канонические формы аналитического представления пф
- •3.6. Кубическое представление пф
- •3.7. Синтез комбинационных схем
- •3.7.1. Синтез кс на логических элементах
- •3.7.2. Синтез кс на дешифраторах
- •3.7.3. Синтез кс на мультиплексорах
- •3.7.4. Синтез многовыходных схем
- •3.8. Риски сбоя в комбинационных схемах
- •Вопросы для самоконтроля
- •4. Минимизация переключательных функций
- •4.1. Минимизация пф с помощью карт Карно
- •4.2. Минимизация пф методом Квайна
- •4.3. Минимизация методом Квайна – Мак-Класки
- •4.4. Минимизация пф методом Блейка – Порецкого
- •4.5. Минимизация пф, заданных в конъюнктивной форме
- •4.6. Минимизация не полностью определенных пф
- •4.7. Минимизация систем пф
- •4.8. Минимизация пф в универсальных базисах и-не, или-не
- •Вопросы для самоконтроля
- •5. Моделирование работы и синтез автоматов с памятью
- •5.1. Основные модели, понятия и определения
- •5.1.1. Общее понятие цифрового автомата с памятью
- •5.1.2. Основные модели цифровых автоматов
- •5.1.3. Описание функционирования цифровых автоматов
- •5.1.4. Задание цифровых автоматов
- •5.1.5. Правила перехода между моделями Мили и Мура
- •5.2. Минимизация числа состояний цифровых автоматов
- •5.2.1. Минимизация числа состояний синхронного автомата методом Полла-Ангера
- •5.2.2. Минимизация числа состояний автомата Мура методом l-эквивалентных разбиений
- •5.2.3. Минимизация числа состояний автомата Мили методом l-эквивалентных разбиений
- •5.3. Структурный синтез цифровых автоматов
- •5.3.1. Типы элементарных автоматов, обладающие полной системой переходов-выходов
- •5.3.2. Основные этапы структурного синтеза
- •5.4. Рациональный выбор варианта кодирования состояний синхронных автоматов
- •Вопросы для самоконтроля
- •Библиографический список
- •Задания для выполнения самостоятельных работ
- •Илья Викторович потапов, канд. Техн. Наук, доцент элементы прикладной теории цифровых автоматов
2.7.3. Деление в d-кодах
По причине больших временных затрат алгоритм деления в D-кодах с восстановлением остатка обычно не реализуется в цифровых вычислительных устройствах, поэтому здесь будем рассматривать только алгоритм деления без восстановления остатка. В качестве упражнения читателю может быть предложено самостоятельно выполнить рассматриваемую арифметическую операцию с восстановлением и без восстановления остатка и оценить разницу в количестве выполняемых действий.
Рассмотрим
следующую методику выполнения операции
деления. Знак частного определяется в
результате анализа знаков операндов
по обычным правилам арифметики, после
чего оба операнда делаются положительными.
Чтобы исключить ситуацию с переполнением,
будем рассматривать случай, когда модуль
делимого меньше модуля делителя.
Поскольку в рассматриваемом алгоритме
делитель сдвигается вправо, для его
хранения необходимо использовать
регистр с k
дополнительными двоичными разрядами;
k
определяется из неравенства
,
где m
– число двоичных разрядов в представлении
операндов. Очевидно, в сумматоре,
содержащем делимое и частичные остатки,
также должны быть предусмотрены k
дополнительных разрядов. Учитывая
особенности представления чисел в
D-кодах,
число дополнительных разрядов,
определяемое вышеприведенным неравенством,
при необходимости должно быть увеличено
до образования соответствующего числа
двоично-десятичных тетрад. Помимо
сумматора и двух регистров (частного и
делителя) устройство также должно
содержать счетчик, используемый для
формирования цифр частного.
Для
получения n
цифр частного необходимо выполнить n
циклов деления. В первом такте каждого
цикла содержимое регистра делителя
сдвигается вправо на один десятичный
разряд, а содержимое регистра частного
сдвигается на один десятичный разряд
влево. При этом в младший разряд регистра
частного заносится текущее содержимое
счетчика. Циклы делятся на четные и
нечетные. Перед началом выполнения
нечетных циклов в счетчике устанавливается
цифра 0. Затем выполняется вычитание
делителя до тех пор, пока содержимое
сумматора не изменит знак на противоположный.
В каждом такте вычитания (кроме последнего,
соответствующего изменению знака)
содержимое счетчика увеличивается на
единицу. Перед началом выполнения четных
циклов в счетчике устанавливается цифра
9. Затем выполняется прибавление делителя
до тех пор, пока содержимое сумматора
не изменит знак. В каждом такте сложения
(кроме последнего) содержимое счетчика
уменьшается на единицу. После выполнения
n
циклов необходимо выполнить действия,
соответствующие первому такту
-го
цикла, для передачи последней определенной
цифры частного из счетчика в соответствующий
регистр.
Пример.
Операнды представим в D-коде 8421+3.
;
;
.
Коррекция
(окончание примера на следующей странице)
Коррекция
Коррекция
Коррекция
Коррекция
Таким
образом,
.
