Представление данных в ЭВМ. Типы данных. Погрешности решения задач в ЭВМ.
Архитектуры вычислительных систем.
Архитектурой компьютера называется его описание на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти и т.д. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера: процессора, оперативного ЗУ, внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя.
Классическая архитектура (архитектура фон Неймана) — одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд — программа Это однопроцессорный компьютер. К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью.
Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Структура такой машины, имеющей общую оперативную память и несколько процессоров.
Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе — то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных.
Одно и то же число может быть записано в различных формах
452,34 = 452340·10-3 = 0,0045234·105 = 0,45234·103
Естественная форма Нормальная форма
Машинным изображением числа называют его представление в разрядной сетке ЭВМ. Числа в ЭВМ также могут быть представлены в двух формах
1) Естественная (с фиксированной запятой ФЗ)
2) Нормальная или полулогарифмическая (с плавающей запятой ПЛЗ)
В форме с ФЗ в разрядной сетке выделяется строго определенное число разрядов для целой и для дробной частей числа. Левый (старший) разряд хранит признак знака (0 – "+", 1 – "-") и для записи числа не используется.
Сама запятая никак не изображается, но ее место строго фиксировано и учитывается при выполнении всех операций с числами. Независимо от положения запятой в машину можно вводить любые числа, т.к.
A = [A] · KA
где А – произвольное число
[A] – машинное изображение числа в разрядной сетке
KA - масштабный коэффициент.
С целью упрощения разработки программ запятую часто размещают сразу после знака числа, тогда -1< [A] <1, т.е. в ЭВМ хранятся только правильные дроби в диапазоне ±[A]min = 0,0000….1 = 2-n до ±[A]max = 0,1111….1 = 1 – 2-n (n – количество разрядов для хранения дробной части). Второй распространенный вариант – использование целочисленной арифметики, когда запятая фиксируется на правом краю разрядной сетки. При любом выборе места запятой максимальная абсолютная погрешность представления числа - единица младшего разряда разрядной сетки.
Для машинного представления чисел с ПЛЗ используют формулу [A] =m·2P, где m - мантисса (|m|<1), а р – порядок (целое число). В разрядной сетке выделяется определенное количество разрядов для хранения мантиссы и порядка с их знаками. Основание системы счисления (2) нигде не хранится, но используется при вычислениях.
Существуют форматы с другим размещением мантиссы и порядка в разрядной сетке.
Для каждого числа существует множество нормальных форм:
0,25 = 0,25·100= 0,025·101 = 0,0025·102
При увеличении порядка происходит сдвиг мантиссы вправо, младшие разряды могут выйти за пределы разрядной сетки, что уменьшит точность представления чисел. Поэтому для представления чисел с ПЛЗ используется нормализованная форма записи, когда первая цифра мантиссы должна быть обязательно значащей. (двоичная единица):
В большинстве языков программирования существуют следующие базовые типы данных: целый, вещественный, строковый, логический.
Тип | Описание | Диапазон значений |
нат | натуральные числа | от 1 ДО — ∞ |
цел | целые числа | от — ∞ до + ∞ |
действ | действительные числа, десятичные дроби | от — ∞ до + ∞ |
лит | литерный (строковый) | любые символы или группы символов |
лог | логический | истина, ложь |
При решении задачи на ЭВМ практически невозможно получить точное решение. Получаемое численное решение почти всегда содержит погрешность, т.е. является приближенным. Погрешности решения задач на ЭВМ объясняются следующими причинами:
1) математическая модель задачи является приближенным описанием реального объекта или процесса. Поэтому получаемые результаты также всегда будут приближенными, а их погрешности зависят от степени адекватности моделей реальному объекту или процессу;
2) исходные данные при решении вычислительной задачи, как правило, содержат погрешности. Это объясняется тем, что исходные данные получают в результате экспериментов, наблюдений, измерений или в результате решения вспомогательных задач;
3) применяемые для решения вычислительных задач методы в большинстве случаев являются приближенными, так как получить аналитическое решение задачи обычно не удается;
4) использование ЭВМ вносит ошибки, которые появляются при вводе-выводе данных в процессе вычислений.