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

1. Алгоритм умножения и деления заданных двоичных чисел.

Принимаем X=00001100, Y=00001101, тогда X х Y = 10011100. В таблице 1 приведём последовательность действий, приводящих к указанному результату. Для наглядности младший разряд ДР(ДР0i) вынесен в отдельную графу.

Таблица 1

i

M0i

PP ДР

ДР0i

M0i+1

0000000 00001100

0

Сдвиг 1

1

Сдвиг 1

0000000 00000110

0

Сдвиг 2

2

Сдвиг 2

0000000 00000011

1

Сложение

+Сдвиг 3

3

Сложение

00001101

+

00001101

Сдвиг 3

00000110 10000001

1

Сложение

+Сдвиг 4

4

Сложение

00001101 10000001

1

Сдвиг 5

+

00010011 10000001

Сдвиг 4

00001001 11000000

0

5

Сдвиг 5

00000100 11100000

0

Сдвиг 6

6

Сдвиг 6

00000010 01110000

0

Сдвиг 7

7

Сдвиг 7

00000001 00111000

0

Сдвиг 8

8

Сдвиг 8

00000000 10011100

0

i – номер цикла при реализации алгоритма умножения на МП; М0i – микрооперация, используемая в i-ом цикле алгоритма; М0i+1 – микрооперация, рекомендуемая по результатам анализа ДР0i для исполнения в i+1 цикле алгоритма. После 8-ого цикла в РР, ДР фиксируется результат.

2. Реализация микрокомандного режима.

  1. Соединение гнезда СИМ с гнездом СИНХР микропроцессора;

  2. Занесение МК 0000 01 000 в РМК: обнуление рабочего регистра (0РР);

  3. Занесение МК 0001 11 010 в РМК для переноса вводимых данных в регистр данных (РД) в дополнительный регистр (ДР) (ШВхДР);

  4. Занесение данных в РД операнда Y00001101 (ШВх=Y) в ДР и МК 1111 10 000 в РМК для переноса вводимых на следующей операции данных в нулевой регистр регистров общего назначения (РОН) (ШВхР0);

  5. Ввод данных в РД операнда Х 00001100 в Р0 и МК 1110 11 010 (ШВх=X) для вывода содержимого РД в выходной регистр, то есть на шину выхода (РДШВых), и с помощью индикации светодиодов в выходном регистре определяем младший разряд дополнительного регистра: если 0, то выполняем на следующей операции логический сдвиг вправо, если 1, то прибавляем к содержимому рабочего регистра значение операнда X в нулевом регистре РОН и потом арифметический сдвиг вправо;

  6. Так как младший разряд ДР равен 0, то выполняем логический сдвиг вправо рабочего и дополнительного регистра (РР,ДР)СЛПРР,ДР с помощью ввода команды с кодом 1100 11 101, тем самым реализуя первый цикл i=1;

  7. Ввод команды 1110 11 010 для вывода дополнительного регистра на шину выхода, и рабочего регистра на шину адреса, отображающихся индикаторами на выходных регистрах сверху от мнемосхемы в прямоугольниках «Выход информации» и «Выход адреса» соответственно (ДРШВых, РРШАдр);

  8. Снова младший разряд ДР равен 0, выполняем то же , что и в пункте 6, цикл i=2;

  9. Повторяем пункт 7;

  10. По индикаторам на выходных панелях снова определяем младший разряд ДР, в этом случае равный 1, поэтому вводим в РМК команду 1011 10 000, которая к нулевому значению РР 00000000 прибавляет содержимое регистра Р0 в РОН, равное 00001100, в результате получается 00001100 и затем выполняет арифметический сдвиг вправо (РР+Р0,ДР)САПРР,ДР, реализуется циклi=3;

  11. Далее всё аналогично повторяем в зависимости от значения пладшего разряда ДР, пока число циклов не достигнет 8;

  12. На панелях «Выход информации» и «Выход адреса» (ШВых и ШАдр) с помощью индикации светодиодов видим результат: значение произведения X*Y, равное 10011100, то есть работа в системе микрокоманд выполнена верно.

Все выполненные операции представлены для удобства в таблице 2:

Таблица 2

k

i

Установка

Контроль

Пояснения

П

ШВх

Код вводимой МК вводимойМК

ДР0

1

0

0000 01 000

0РР

2

1

0001 11 010

ШВхДР

3

0

00001101

1111 10 000

ШВх=Y, ШВхР0

4

0

00001100

1110 11 010

0

ШВх=X, РДШВых

5

1

0

1100 11 101

(РР,ДР)СЛПРР,ДР

6

0

1110 11 010

0

ДРШВых, РРШАдр

7

2

0

1100 11 101

(РР,ДР)СЛПРР,ДР

8

0

1110 11 010

1

ДРШВых, РРШАдр

9

3

0

1011 10 000

(РР+Р0,ДР)САПРР,ДР

10

0

1110 11 010

1

ДРШВых, РРШАдр

11

4

0

1100 11 101

(РР+Р0,ДР)САПРР,ДР

12

0

1110 11 010

0

ДРШВых, РРШАдр

13

5

0

1011 10 000

(РР,ДР)СЛПРР,ДР

14

0

1110 11 010

0

ДРШВых, РРШАдр

15

6

0

1011 10 000

(РР,ДР)СЛПРР,ДР

16

0

1110 11 010

0

ДРШВых, РРШАдр

17

7

0

1100 11 101

(РР,ДР)СЛПРР,ДР

18

0

1110 11 010

0

ДРШВых, РРШАдр

19

8

0

1100 11 101

(РР,ДР)СЛПРР,ДР

20

0

1110 11 010

ДРШВых, РРШАдр

Примечания: k – порядковый номер шага реализуемого алгоритма или введённой в МП микрокоманды; i – порядковый номер цикла;