Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ЭВМ СиС. 2012-2013.doc
Скачиваний:
31
Добавлен:
01.03.2025
Размер:
8 Мб
Скачать
☆

03.12.2012 — Лекция №19

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

Операция округления - это процесс установления значения последней сохраняемой цифры после записи ее меньшим, чем в исходном представлении числом разрядов.

Округление бывает 2х видов: путем усечения и путем симметричного округления

1. Путем усечения - округления путем отбрасывания младших неиспользуемых разрядов, при этом погрешность округления ровняется единице первого сохраняемого младшего разряда.

2. Путем симметричного округления - округления с учетом значения последней отбрасываемой цифры после сохраняемого разряда, при этом максимальная погрешность симметричного округления равна половине младшего сохраняемого разряда. В ЭВМ этот алгоритм реализуется следующим образом: отбрасываемый бит сохраняется в бите переноса регистра признаков/флагов и затем выполняется операция сложения этого бита переноса с округляемым числом.

При обработке чисел с плавающей точкой приведенная погрешность вычисляется путем деления на минимальное число данного порядка. Таким образом, при усечении приведенная погрешность с плавающей точкой будет равна 1.0*2^(-n), где n - младший сохраняемый разряд после округления. Таким образом, погрешность округления чисел с плавающей точкой не зависит от величины числа, а зависит только от порядка числа.

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

При операции сложения и вычитания максимальные погрешности операндов складываются по модулю. Получается максимальная результирующая погрешность. Для операции умножения погрешность вычисляется более сложным алгоритмом.

Погрешность от деления существенно возрастает при малых значениях делителя.

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

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

05.12.2012 — Лекция №20

Применение разложения в ряд Тейлора - самый универсальный аналитический способ нахождения погрешности для любых дифференцируемых функций. Обычно в алгоритмах имеется несколько переменных, поэтому необходимо найти результирующую максимальную погрешность результата вычисления. от всех переменных и констант, имеющих свои погрешности. В таком случае используется разложение в ряд Тейлора с применением аппарата частных производных. Таким образом, например

Благодаря этому можно вычислить погрешность от операции деления

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

Если число вычислений очень большое для анализа погрешностей алгоритма и все возможные комбинации переменных невозможно учесть, используют метод Монте-Карло: запускают генератор случайных чисел и все переменные в алгоритме задаются случайным образом со случайной погрешностью и погрешность результата оценивается аналогично предыдущему способу, при чем продолжительность вычислений можно прекратить, если результат погрешности стабилизирует свои параметры.

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

Устройства управления ЭВМ.

УУ предназначены для синхронизации всех блоков ЭВМ и внешних устройств.

Функции:

    1. Принимать сигнал «сброс» и приводить все устройства ЭВМ в исходные для работы состояния. Поэтому все устройства, имеющие элементы памяти, требуют начальной инициализации (сброс).

    2. Считывать состояние программного счётчика (обычно 0 после сброса). Код первой команды, находящийся по указанному адресу, считывается в регистр команд. В регистре команд код команды сохраняется в процессе ее выполнения и поступает на дешифратор команд, который определяет тип команды и запускает датчик управляющих сигналов, который подает нужные сигналы для выполнения этой команды соответствующим блоком ЭВМ. К содержимому программного счетчика прибавляется 1 и работа ЭВМ продолжается со считывания следующей команды из сегмента кода и до бесконечности до отключения питания.

    3. Реализует работу ЭВМ в пошаговом режиме для отладки программ, в циклическом режиме для применения готовых подпрограмм, и в автономном режиме, когда постоянно выполняют какую-либо программу.

Существуют 2 принципа управления:

    1. Схемное (аппаратное) — жесткая логика

    2. микропрограммное — гибкая логика

Схемное управление ЭВМ

УУ реализуется в виде набора комбинации схем и регистров для временного хранения информации. Каждая команда реализуется на основе последовательности микрокоманд и микроопераций, которые реализованы в УУ в процессе изготовления ЭВМ и не могут быть изменены пользователем.

Схемное управление может быть реализовано 3 способами:

    1. Центральное

    2. Индивидуальное

    3. Смешанное

В большинстве современных ЭВМ малой и средней производительности реализован схемный принцип управления как наиболее простой и надежный. В центральной схеме управления (ЦСУ) при этом в составе УУ имеется один центральный датчик управляющих сигналов, который управляет всеми блоками ЭВМ. Схема ЦСУ:

ЗУком — запоминающее устройство команд

РК — регистр команд

ДШК — дешифратор команд

ЦДУС — центральный датчик управляющих сигналов

РИ — распределитель управляющих импульсов

ЦД управляющих сигналов способен реализовать функции для выполнения любой команды ЭВМ, как самой простой, так и самой сложной. Поэтому ЦСУ требует минимальных аппаратных затрат и постоянства командного цикла работы в ЭВМ, что очень удобно для синхронизации работы с другими устройствам. Основной недостаток ЦСУ: низкая эффективность работы ЭВМ, т.к командный цикл рассчитан на выполнение самой длинной команды; если встречается более короткая команда, ЭВМ простаивает, ожидая окончание цикла.