Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по лабораторным 1 и 2, Р-РС-71. Богачев.docx
Скачиваний:
22
Добавлен:
20.05.2014
Размер:
1.11 Mб
Скачать

Лабораторная работа № 2

Реализация умножения и деления чисел на микропроцессорной установке.

Цель работы: изучение алгоритмов умножения и деления двоичных чисел и принципов их реализации на микропроцессорной установке в микрокомандном и микропрограммном режимах.

Теоретическая часть.

УМНОЖЕНИЕ ДВОИЧНЫХ ЧИСЕЛ

Алгоритм умножения

При реализации умножения двух целых положительных двоичных чисел X и Y на МП используется регистр двойной длинны, составленный из рабочего (РР) и дополнительного (ДР) регистров. В РР размещается сумма двух частичных произведений, а в ДР – множитель Y. Множимое X заносится в один из РОН, например, в Р0; РР устанавливается в нулевое исходное состояние. Чтобы не было переполнения РР при получении сумм частичных произведений, число разрядов множимого X не должно превышать семи. Поэтому старшие разряды X и Y используются как знаковые и в них размещаются нули.

Процедура умножения состоит в следующем:

Перед каждым циклом i производится анализ текущего разряда множителя Y – младшего разряда ДР (ДР0i), который можно контролировать на индикаторе выходного регистра данных (РД), или на гнезде СДВИГ ВПРАВО БМУ. Если ДР0i=0, то производится логический сдвиг вправо РР, ДР с помощью МК (РР,ДР)СЛП-->РР,ДР. При ДР0i=1 выполняется комбинация сложения содержимого РР и Р0 с занесением суммы частичного произведения в РР, и сдвига вправо РР, ДР, для чего используется МК (РР+Р0,ДР)САП-->РР,ДР. После 8-го сдвига в РР оказываются старшие разряды произведения X и Y, а в ДР – младшие разряды. С помощью МК ДР-->ШВых содержимое ДР выводится на индикатор выходного регистра МП ВЫХОД ИНФОРМАЦИИ, при этом содержимое ДР автоматически выводится на индикатор ВЫХОД АДРЕСА(РР-->ШАдр), если гнездо ПРИОРИТЕТ является свободным (ПР=0).

Микропрограммная реализация умножения

Микропрограмма составляется на основании блок-схемы алгоритма умножения двоичных чисел, приведённой на следующем рисунке 1 (цифры в скобках указывают номера ячеек, где размещаются МК или операнды):

Рисунок 1

ДЕЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ

Алгоритм операции деления

Деление двоичных чисел осуществляется путём ряда вычитаний и сдвигов. Пусть необходимо вычислить D=X:Y. Для этого старшие разряды Хст делимого Х следует поместить в РР, а младшие разряды Хмл – в ДР. Делитель У подается на входные шины (ШВх) микропроцессора со входного РЕГИСТРА ДАННЫХ при микрокомандном способе операции деления или из ЗУ – при микропрограммном способе. Старшие разряды делимого Х и делителя У являются значимыми. Чтобы не переполнялись РР и ДР, должно выполнятся неравенство У > Хст. После загрузки Х в РР, ДР выполняется начальный сдвиг их содержимого влево на один разряд микрокомандой (PP,ДР)СЦЛРР,ДР.

Процедура деления состоит в следующем.

В каждом цикле Хст (содержимое РР) сравнивается с У(ШВх), для чего используется микрокоманда РР-ШвхШВых. Результаты сравнения можно наблюдать на выходном гнезде МП ПЕРЕНОС АЛУ(ШВых). Если РР<ШВх, то ПВых=0. В этом случае необходимо выполнить циклический сдвиг РР, ДР влево с помощью микрокоманды (PP,ДР)СЦЛРР,ДР. При РР>ШВх получим ПВых=1. Поэтому осуществляется циклический сдвиг влево разности РР-ШВх, размещенной в РР, с содержимым ДР (остатка) путём введения МК (РР-ШВх,ДР)СЦЛРР,ДР, а затем с ШВх в младший разряд ДР заносится единица с помощью МК ШВхVДРДР, то по окончании деления (после 8 циклов) частное D окажется в ДР, а остаток - в РР.

Микропрограммная реализация деления

Выполнение работы.

Умножим с помощью микрокомандного и микропрограммного способа два числа: 12 и 13, в двоичной системе исчисления имеющих соответственно значения 00001100 и 00001101. Результат должен получиться 156 (10011100).