Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР5.docx
Скачиваний:
4
Добавлен:
16.07.2022
Размер:
2.99 Mб
Скачать

1.4.2 Организация извлечения отсчётов параметров

Извлечение отсчетов параметров обеспечивается процедурой LdX.

Имеет место следующее состояние микроЭВМ перед извлечением. Отсчёты , которые необходимо переместить во внутренние регистры процессора для последующей обработки, находятся в ячейках оперативной памяти с адресами AdrX1, AdrX2. В свою очередь, информация об адресах извлекаемых параметров загружена уже рассмотренной ранее процедурой VvAdrX в ячейки с известными и постоянными адресами PАdrX1, PАdrX2.

В этих условиях для извлечения отсчётов необходимо

  1. извлечь из ячеек информацию об адресах:

    1. в случае, если используется абсолютная адресация, то полученные адреса – исполнительные адреса, которые можно непосредственно использовать для извлечения обрабатываемых отсчётов;

    2. при относительной адресации, из ячеек PАdrX1, PАdrX2 извлекается базовая часть исполнительных адресов и смещения. В этом случае необходимо дополнительно обеспечить формирование исполнительных адресов;

  2. осуществить по полученным адресам извлечение из ячеек с адресами АdrX1, АdrX2 параметров .

Полученные отсчёты сохраняются во внутренних регистрах процессора и используются при вычислении функции ).

    1. Варианты реализации субмодуля вычисления

Различные варианты реализации субмодуля вычислений предопределяются особенностями входных данных обрабатываемых субмодулем, а также особенностями функции ),,.

Особенность 1. Отсчеты ,сохраненные в памяти, представляют собой восьмиразрядные числа со знаком, представленные в дополнительном коде.

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

При делении/умножении в рамках обычных алгоритмов, предполагающих представление операндов в прямых кодах, преимущества дополнительных кодов теряются.

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

На практике это противоречие можно разрешить путём применения специальных алгоритмов, выполняющих деление/умножение непосредственно в дополнительном коде, поэтому более эффективных. Их применение при выполнении лаб.работы не только возможно, но и приветствуется, однако, требует изучения спец. разделов машинной арифметики.

Особенность 2. В восьмиразрядном знаковом формате операнды ограничены диапазоном

Поэтому, при вычислении зависимости ), может возникнуть переполнение разрядной сетки. Переполнение обусловлено тем, что вычисленное значение функции , может выйти за пределы диапазона

Переполнение устранимо, если используются следующие способы:

  1. исходный восьмиразрядный знаковый формат данных (включая результаты промежуточных вычислений) сохраняется, однако, контролируется переполнение разрядной сетки функцией Stat;

  2. диапазон исходных данных X1, X2 ограничивается таким образом, чтобы исключалась возможность переполнения результата;

  3. вычисления организовываются во внутреннем шестнадцатиразрядном знаковом формате.

Сравнительный анализ показывает, что

  • вариант а) не всегда обеспечивает получение конечного результата вследствие возможного переполнения. В этом случае требуется “аварийное” завершение процедуры;

  • вариант б) ограничивает точность результата из-за ограничений диапазонов представления операндов;

  • вариант с) оказывается предпочтительным, так как исключает и возможность переполнения при вычислении и не ограничивает точность оценки .

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

В этих условиях универсальные алгоритмы умножения/деления, обеспечивающие операции при произвольных значениях операндов могут быть заменены более простыми алгоритмами.

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

Аналогичный способ может быть использован в рамках соответствующих ограничений и при делении.

Соседние файлы в предмете Основы микропроцессорной техники