Разработка вычислительного устройстваВторая часть схемы, состоящая из регистров A m , B m и Z , мультиплексора, сумматора и компаратора предназначена для работы с мантиссами чисел. При выполнении операции деления используется два числа - A (делимое) и B (делитель). Число A хранится в регистрах A o и A m соответственно порядок и мантисса. Число B хранится в регистрах B o и B m соответственно порядок и мантисса. В начале работы делимое A заносится в регистры: мантисса в регистр A m с помощью сигнала Y 3 , порядок в регистр A o - Y 4 , а делитель B : мантисса в регистр B m ( Y 5 ) , порядок в регистр B o ( Y 6 ) . Мантисса делимого A сдвигается влево путем косой передачи из регистра A m в сумматор. Делитель B поступает в сумматор SM из регистра B m в прямом или обратном кодах ( Y 9 ) . Дополнительный код делимого образуется в SM за счет подсуммирования обратного кода делимого B сигналом “+1 SM ” ( Y 10 ) . Цифры частного Z i , определяемые по знаку частичных остатков в регистре A m , фиксируются в регистре Z путем последовательного занесения их в младший разряд регистра Z ( Y 7 ) и сдвига содержимого регистра Z ( Y 8 ) . Порядок частного определяется вычитанием порядков на SM путем подачи обратного значения порядка делителя из регистра B o и фиксации результата в регистре B o . При выполнении операции изменения знака используется одно число. Число записывается в регистр B m ( Y 5 ) и подается на сумматор SM в обратном коде ( Y 9 ) и записывается в регистр A m ( Y 3 ) с предварительным подсумированием единицы в сумматоре ( Y 10 ). Рисунок SEQ Рисунок * ARABIC 1 4. Блок-схема выполнения операций представлена на рисунке 2. В начале работы гасится выходная готовность ( Y 14 ) и проверяется входная готовность ( P 1 ) . После получения сигнала входной готовности обнуляются регистры A o и A m (Y 0 ), B o и B m (Y 1 ) и Z (Y 2 ) . Далее проверяется код операции ( P 2 ) для определения дальнейших действий. Операция изменения знака числа - ветвь один. Записываем исходное число в регистр Bm ( Y 5 ). Передаем на SM его обратный код с подсуммированием единицы младшего разряда ( Y 10 ) . Данные с SM записываем в регистр A m ( Y 3 ). После этого устанавливаем выходную готовность ( Y 13 ) и заканчиваем работу. Операция деления чисел - ветвь два. Производим запись: мантиссы делимого в регистр A m ( Y 3 ) , порядка делимого в регистр A o (Y 4 ) и мантиссы и порядка делителя в регистр B m (Y 5 ) и B o (Y 6 ) соответственно. Вычисляем разность порядков чисел путем сложения первого порядка с обратным кодом второго ( Y 11 ) и сохраняем результат в регистре B o (Y 6 ) . Проверяем равенство делителя нулю ( P 3 ) . Если делитель равен нулю, то сигнализируем об ошибке аргументов и устанавливаем выходную готовность ( Y 13 ). Если делитель не равен нулю, тогда деление возможно и начинается цикл поразрядного получения мантиссы частного. На SM передается сдвинутое косой передачей в сторону старших разрядов делимое и обратный код делителя ( Y 9 ) с подсуммированием единицы младшего разряда ( Y 10 ). С выхода SM частичный остаток заносится в регистр A m ( Y 3 ) . Цифра модуля частного вычисляется как сумма по модулю два знаковых разрядов частичного остатка и делителя и заносится в предварительно сдвинутый на один разряд влево ( Y 8 ) регистр Z (Y 7 ) . Проверяем счетчик чисел ( P 4 ) . Если он не равен нулю, продолжаем цикл по определению разрядов частного. Если счетчик равен нулю, то мы определили все разряды частного, и переходим к нормализации результата. Если число не нормализовано ( P 6 ), то производим сдвиг Z в сторону старших разрядов ( Y 8 ) и уменьшение порядка ( Y 12 ). После нормализации числа устанавливаем выходную готовность и заканчиваем работу. Для реализации устройства используется управляющий автомат с выделенной адресной памятью, его схема изображена на рисунке 3, в таблице 1 представлены состояния его переходов, в таблице 2 управляющие сигналы и в таблице 4 описаны префиксные функции. Рисунок SEQ Рисунок * ARABIC 2
Используемый мультиплексор 2 1 на вход которого подается число в прямом и дополнительном коде и в зависимости от ситуации выбирается одно из двух чисел. В процессе работы осуществляется контроль делителя на равенство нулю, поэтому используемый мультиплексор должен иметь стробируемый вход. Сумматор складывает числа, которые пришли с выхода мультиплексора и регистра A m , результат переписывается в регистр A m , который запоминает это число, сдвигает его влево в сторону старших разрядов и снова передает его на сумматор. Так же старший разряд регистра подается на результирующий последовательно параллельный регистр Z , в котором происходит накопление результата. После определение результата, полученное число надо нормализовать и поэтому результирующий регистр кроме последовательного входа и параллельного вывода должен осуществлять сдвиг числа влево в сторону старших разрядов. Рисунок SEQ Рисунок * ARABIC 5 7. Принципиальная схема устройства представлена на рисунке 6. Два числа поступают на сумматор, который их суммирует и передает результат на регистр. В качестве сумматора используется микросхема К555ИМ6, а в качестве регистра К155ИР13 и К555ИР11 которые отличаются только разрядностью. Старший разряд регистра поступает на вход результирующего последовательно – параллельного регистра, в котором накапливается результат. В данной схеме в качестве результирующего регистра используется микросхема К531ИР24. Рисунок SEQ Рисунок * ARABIC 6 8. В данной курсовой работе было разработано вычислительное устройство, выполняющее следующие операции: · · Построен алгоритм обработки чисел. |