Характеристики хранения числовых данных в компьютере
В данном разделе были рассмотрены первичные представления хранения данных. Принципы хранения других типов данных будут рассмотрены далее.
Пусть требуется вычислить выражение Y = при известных значениях составных переменных. Не прибегая к помощи компьютера данное выражение можно вычислить с помощью последовательности инструкций (словесного алгоритма).
1. Сложить данные с именами а и ь, результат сохранить, присвоив ему имя P1.
2. Умножить данное с именем х на это же данное, результат сохранить, присвоив ему имя P2.
3. Из промежуточного результата P2 вычесть данное с именем d, результат сохранить, присвоив ему имя PЗ.
4. Разделить данное с именем P1 на данное с именем PЗ, полученный результат сохранить под именем R.
5. Выдать окончательный результат с именем R.
6. Закончить вычисления.
Для реализации этого алгоритма в компьютере необходимо все его буквенные обозначения закодировать цифрами, поскольку любой компьютер оперирует только с цифрами. Вначале закодируем все элементарные операции данного алгоритма (для наглядности используем числа в десятичной системе счисления):
сложение (+) - 01; деление (:) - 04;
вычитание (-) - 02; выдача результата (Pr) - 05;
умножение (*) - 03; конец вычислений (E) - 06.
Эти номера называются КОП - коды операций.
Вместо букв имен данных введем их адреса:
01 - а; 02 - ь; 03 - *; 04 - d;
05 - P1; 06 - P2; 07 - PЗ; 08 - R.
Таким образом, первую инструкцию в закодированном виде можно записать последовательностью чисел:
КОП
А1
А2
A3
где
первое число (КОП) обозначает операцию (+);
второе число (операнд А1) обозначает адрес первого операнда а;
третье число (операнд А2) - адрес второго операнда в;
четвертое число (операнд A3) - адрес первого промежуточного результата P1.
Закодированная в виде последовательности чисел инструкция о том, какую операцию и над какими операндам» необходимо выполнять и где сохранить результат, называется командой.
Таким образом, команда - это машинное слово, которое содержит код соответствующей операции и адреса операндов. В свою очередь, операнд - это машинное слово, в котором хранится данное для выполнения операции.
Каждая команда содержит КОП и адресную часть. Если в адресной части отведено место для трех адресов, то такие машины называют трехадресными. Однако существуют машины и с большей, и с меньшей адресностью. Правило записи команды называют форматом команды.
Последовательность команд называют программой. Для команд программы выделяют последовательность байтов с последовательными номерами так, чтобы их выборку можно было бы осуществить последовательно друг за другом. Применительно к рассмотренному примеру алгоритм и программа имеют следующий вид:
Алгоритм
КОП
А1
А2
A3
+ а b P1
· x x P2
- P2 d P3
: P3 P1 R
Pr R - -
-
-
E - - -
-
-
-
Черточки означают, что числа, заданные на этих позициях, на работу машины не влияют.
Из сопоставления алгоритма и программы следует, что программа - это алгоритм решения задачи, описанный на языке цифровых слов (команд). И программа и аппаратура компьютера строятся по единому замыслу, который основывается на следующих ключевых идеях:
1. Числовое кодирование и операций, и операндов, а также хранение и тех, и других в одной ОП (принцип числовое кодирования).
2. Введение адресности операндов и промежуточных результатов (принцип адресности ).
3. Хранение команд в ОП, последовательная их выборка и исполнение (принцип хранимости программ и последовательнго их исполнения).
Совокупность перечисленных трех идей называют принципом программного управления, который состоит в том, что компьютер автоматически, без участия человека, реализует предусмотренную программу. Этот принцип положен в основу функционирования компьютеров.