Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

В табл. 10.1 приведены варианты заданий. Их особенность состоит в том, что
часто операнды и результат представляются в различных кодах. Конечно,
в реальных АЛУ такого разнобоя в кодировке быть не может (это значитель-
но усложняет алгоритм при отсутствии преимуществ реализации). Однако
в учебных заданиях такой подход можно считать приемлемым, поскольку
это, во-первых, увеличивает разнообразие вариантов и, во-вторых, позволяет
читателю в рамках одного задания вспомнить особенности выполнения опе-
рации в различных кодах.
В табл. 10.1 приняты следующие обозначения:
􀂈 ПК — прямой код;
􀂈 ОК — обратный код;
􀂈 ДК — дополнительный код.
В задании указываются операция, код выполнения операции, коды входных
операндов и код результата. Если код выполнения операции прямой, необхо-
димо в процессе ее выполнения перевести оба операнда в прямой код и осу-
ществить заданную операцию с использованием микроопераций суммирова-
ния или вычитания двоичных векторов.
Если код выполнения операции дополнительный (обратный), необходимо
в процессе выполнения операции перевести оба операнда в дополнительный
(обратный) код. В случае выполнения вычитания далее необходимо опреде-
лить дополнительный (обратный) код противоположного по знаку числа,
осуществить операцию с использованием микрооперации суммирования дво-
Часть III. Лабораторный 290 практикум и курсовое проектирование
ичных векторов и, возможно, провести коррекцию результата. После выпол-
нения операции результат необходимо перевести в код, указанный в задании
как код результата.

screenshot 92 2

В качестве образца реализации подобных заданий можно рассмотреть при-
меры 8.1 и 8.2.

Задания повышенной сложности
1. Разработать и отладить микропрограмму умножения. Формат сомножите-
лей — целое без знака, 8 бит. Формат произведения — целое без знака, 16 бит.
2. Разработать и отладить микропрограмму умножения. Формат сомножите-
лей — правильная дробь без знака, 8 бит. Формат произведения — пра-
вильная дробь без знака, 16 бит.
3. Разработать и отладить микропрограмму умножения. Формат сомножите-
лей — правильная дробь без знака, 8 бит. Формат произведения — пра-
вильная дробь без знака, 8 бит без округления.

4. Разработать и отладить микропрограмму умножения. Формат сомножи-
телей — правильная дробь без знака, 8 бит. Формат произведения — пра-
вильная дробь без знака, 8 бит с округлением.
5. Разработать и отладить микропрограмму умножения. Формат сомножи-
телей и произведения — правильная дробь со знаком, 8 бит, прямой код.
6. Разработать и отладить микропрограмму умножения. Формат сомножи-
телей — правильная дробь со знаком, 8 бит, прямой код. Формат произ-
ведения — правильная дробь со знаком, 16 бит, прямой код.
7. Разработать и отладить микропрограмму умножения. Формат сомножи-
телей — целое без знака, 4 бита. Формат произведения — целое без зна-
ка, 8 бит.
8. Разработать и отладить микропрограмму деления методом «без восста-
новления остатка». Формат операндов и результата — правильная дробь
без знака, 8 бит. Результат не округляется.
9. Разработать и отладить микропрограмму деления методом «с восстанов-
лением остатка». Формат операндов и результата — правильная дробь без
знака, 8 бит. Результат не округляется.
10. Определить вес (количество единичных компонент) двоичного вектора.
11. Определить расстояние Хэмминга (количество несовпадающих компо-
нентов) между двумя двоичными векторами.
12. Сравнить веса двоичных векторов.
13. Определить позиции старшей единицы и младшего нуля двоичного век-
тора.
14. Определить позиции младшей единицы и старшего нуля двоичного век-
тора.

Порядок выполнения заданий
Задания как первой, так и второй группы можно выполнять на программной
модели ОА АЛУ ALU-1 или ALU-R. В рамках выполнения задания необхо-
димо:
1. Разработать граф-схему (ГСА) или текстовое описание алгоритма задан-
ной операции.
2. Разработать микропрограмму (в терминах микроопераций и логических
условий), реализующую разработанный в п. 1 алгоритм для ОА выбран-
ной модели АЛУ (ALU-1 или ALU-R).

3. Проверить выполнение разработанной микропрограммы на нескольких
тестовых примерах (в частности, для микропрограммы выполнения ариф-
метической операции должны быть рассмотрены случаи одинаковых
и разных знаков операндов, отсутствия и наличия переполнения и т. д.),
убедиться в корректности работы микропрограммы для всех возможных
вариантов сочетаний операндов.
4. Предложить структуру операционного автомата (ОА), оптимальную для
реализации разработанного алгоритма.

Контрольные вопросы
1. Как обнаружить факт переполнения разрядной сетки при выполнении
операции алгебраического сложения в прямом коде? В обратном? В до-
полнительном?
2. По какому признаку можно завершать цикл умножения?
3. Как определить знак произведения при умножении дробных чисел, пред-
ставленных в прямом коде?
4. Как формируется очередная цифра частного при выполнении операции
деления методом «с восстановлением остатка»?
5. В чем отличие и преимущество метода деления «без восстановления ос-
татка» по сравнению с методом «с восстановлением остатка»?
6. Каким образом можно определить в АЛУ вес двоичного вектора?

Была ли полезна данная статья?
Да
61.16%
Нет
38.84%
Проголосовало: 1107

или напишите нам прямо сейчас:

⚠️ Пожалуйста, пишите в MAX или заполните форму выше.
В России Telegram и WhatsApp блокируют - сообщения могут не дойти.
Написать в MAXНаписать в TelegramНаписать в WhatsApp