- •Часть 1. Исследование систем счисления и методов конвертирования
- •Часть 2. Кодирование данных в микропроцессорной технике
- •Часть 3. Арифметические операции при обработке данных
- •Лабораторная работа №1. Основы машинной арифметики.
- •Часть 1. Исследование систем счисления и методов конвертирования
- •Содержание отчета
- •1. Введение в системы счисления
- •1.1 Общие положения. Классификация систем счисления
- •1.2 Позиционные системы счисления. Полиномиальное представление чисел
- •1.3 Системы счисления, применяемые в микропроцессорной
- •1.4 Некоторые свойства позиционных однородных систем с естественным множеством цифр
- •2. Преобразование чисел из одной системы счисления в другую
- •2.1 Методы конвертирования
- •2.2 Метод подбора
- •2.3 Метод замещения полиномиальных элементов (поэлементное замещение)
- •2.4 Метод, основанный на “схеме Горнера”
- •2.5 Метод “цифра за цифрой”
- •2.5.1 Конверсия целого числа методом “цифра за цифрой”
- •2.5.2 Конверсия дробного числа методом “цифра за цифрой”
- •2.6 Методы, учитывающие специфические соотношения оснований систем счисления
- •2.6.1 Двоично-шестнадцатеричные и шестнадцатерично-двоичные преобразования
- •2.6.2 Двоично-восьмеричные и восьмерично-двоичные преобразования
- •2.7 Методы, использующие промежуточные системы систем счисления
- •Часть 2. Кодирование данных в микропроцессорной технике
- •2. Теоретические основы кодирования чисел
- •3. Обратные коды двоичных чисел.
- •Дополнительные коды числовых данных
- •Часть 3. Арифметические операции при обработке данных
- •1. Предварительные замечания
- •3.1.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.1.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.1.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.1.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.1.5. Сложение отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.6.Сложение чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.1.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •3.1.7 Обнаружение переполнения разрядной сетки в пдк
- •3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ок)
- •3.1.4. Сложение в обратных кодах дробных и целых отрицательных чисел с переполнением (Случай 4ок)
- •3.1.5. Сложение в обратных кодах отрицательных чисел с “особым случаем переполнением ” при сложении в дополнительных кодах (Случай 5)
- •3.1.6.Сложение в обратных кодах чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.4 Обнаружение переполнения разрядной сетки в пок
- •4. Cложение чисел в модифицированных дополнительных кодах (мдк)
- •4.2.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.2.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.2.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.2.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.2.5. Сложение целых отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.2.6.Сложение чисел разного знака в модифицированных дополнительных кодах
- •3.2.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6,9)
- •3.2.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •4. Обнаружение переполнения разрядной сетки в модифицированных дополнительных кодах
4. Обнаружение переполнения разрядной сетки в модифицированных дополнительных кодах
Модифицированные коды позволяют существенно упросить процедуру обнаружения переполнения разрядной сетки.
Исследование Случаев 1–5 позволяет так сформулировать признаки переполнения:
признаком положительного переполнения является формирование комбинации 01 в знаковых разряде числа (“отрицательная” сумма);
признаком отрицательного переполнения является формирование комбинации 10 в знаковых разряде числа (“положительная” сумма).
при сложении может возникнуть т.н. “особый случай переполнения”
особый случай переполнения может возникнуть только при сложении отрицательных операндов (отрицательное переполнение) и только при использовании дополнительных кодов;
“особый случай переполнения” не обнаруживается путем сравнения знаков операндов со знаком суммы, а требует особой процедуры;
признаком переполнения такого типа является: а) комбинация 11 в знаковых разрядах суммы SS=1; б) нулевое значение модуля суммы.
На рисунке 2 представлен алгоритм сложения чисел в дополнительных модифицированных кодах.
Используется метод сравнения знаков.
Исходные предпосылки следующие:
на входе сумматора поток чисел с произвольным знаком и произвольным модулем;
отрицательные числа суммируются в дополнительном модифицированном коде
в случае обнаружения переполнения алгоритм суммирования прерывается и формируется признак переполнения OF;
вследствие использования дополнительных кодов, возможен “особый случай переполнения”.
Алгоритм предполагает, что возможны все случаи 1–9, рассмотренные ранее. Коротко комментируя алгоритм, необходимо отметить, что за анализом формальных признаков (знаки SA,SB,SS слагаемых и суммы, а также величины модуля суммы) стоит логическая процедура соотнесения полученного результата суммирования с одним из случаев, рассмотренных ранее. Цель соотнесения – ответ на вопрос “ Переполнение есть?”.
В Блоке 3 алгоритма, путем сравнения знаков SAи SB слагаемых А и В локализуются Случаи 6–9 (разные знаки операндов), при которых переполнение в принципе невозможно. Далее в Блоке 4, переход в который возможен только при равенстве знаков слагаемых SA=SB, путем сравнения знака любого слагаемого, например, SA со знаком SS суммы, локализуются Случаи 2,4 переполнения. Далее, путем совместного анализа на 0 модуля суммы и на единичное значение ее знакового разряда, Блоком 5 локализуется Случай 5 наличия особого переполнения. На выходе Блока5 –результат, соответствующий Случаям 1,3 т.е. сумме без переполнения.
Рассмотренный алгоритм находит широкое практическое применение при реализации арифметических операций в средствах вычислительной и информационной техники.
Библиографический список
Каган Б.Н. Электронные вычислительные машины и системы: Учеб. пособие для вузов. – М.: Энергия, 1973.– 528с., ил.
Карцев М.А. Арифметика цифровых машин. М., «Наука», 1969.– 575 стр.
Григорьев В.В. Кодирование чисел в микропроцессорных системах: Метод. указания. – ПГУПС, 2006.
Григорьев В.В. Дополнительные коды при выполнении вычислительных операций: Метод. указания. – ПГУПС, 2008.