Представление данных в ЭВМ. Типы данных. Погрешности решения задач в ЭВМ.

Архитектуры вычислительных систем.

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

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

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

Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе — то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных.

 

Одно и то же число может быть записано в различных формах

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) использование ЭВМ вносит ошибки, которые появляются при вводе-выводе данных в процессе вычислений.