Принципы программного управления Фон Неймана
Основные понятия и определения
Если имеется некая задача, то для ее решения нужно разработать алгоритм решения. Конечный алгоритм – это описание решения задачи в виде последовательности действий приводящее к решению задачи за конечное число шагов. То есть создание алгоритма это в первую очередь определение последовательности действий.
Реализацией алгоритма можно назвать создание двух частей – операционной и управляющей. Операционная часть выполняет действия, а управляющая часть задает последовательность выбора действий. Именно такая система реализована в модели Глушкова (рис2).
На рисунке: D – действия. Y – управляющие воздействия. R – результат. X – влияет на порядок выполнения действий.
Допустим, нам нужно обрабатывать множество чисел (числовой вектор). Последовательной сменой значений числового вектора будет называться процесс вычисления. Который будет состоять из двух частей – отслеживание текущего состояния процесса (значения числового вектора) и изменение состояния процесса. Устройство, производящее этот процесс вычисления будет называться процессором. Процессор – это совокупность средств для реализации некоторого процесса. Если нам будет задан некий специализированный процесс, то и процессор для него будет тоже специализированный. В определении не сказано, что процессор – это обязательно какая-то микросхема, так что процессором может так же быть и программа, главное, чтобы она реализовывала некий процесс. Кстати, MSWord – это текстовый процессор, то есть набор средств для реализации процесса набирания документов.
### [КОММЕНТАРИЙ]
1. Состояние меняется непрерывно во времени (аналоговое действие вычислительного устройства).
2. Состояние меняется дискретно во времени. (Дискретное вычислительное устройство – цифровые вычислительные машины). Если состояние меняется дискретно, должен быть датчик, по которому изменяется память состояний. Таким образом, появляется тактовый сигнал.
Не все дискретные вычислительные машины имеют тактовый сигнал. Некоторые изменяют свое состояние не по приходу тактового сигнала, а по мере готовности нового состояния. Такие вычислительные машины называются апериодическими вычислительными машинами.
Метод декомпозиции для решения задачи.
1. Последовательный
2. Параллельный
{A, x, W, l, d, a0}
где, A – множество состояний
x – множество входов
W – множество выходов
l - функции перехода A*X®A
d - A*X®W (автомат Мили (зависит от функций входа и текущего состояния))
A®W (Автомат Мура)
a0 – начальное состояние
Похоже на конечный автомат.
Модель Глушкова (рис.2): совокупность операционного и управляющего автомата – операционное устройство (простейший процессор).
Комбинационные схемы – не содержит памяти, но выполняют некоторые преобразования. Значение на выходе зависит от значения на входе.
Схемы триггерного типа – используются для построения памяти.
Принципы программного управления Фон Неймана
1. Информация кодируется в двоичном коде и разделяется на единицы, которые называются словами. Наилучшее соотношение длины разрядной сетки и основания системы счисления – это число «е». Ближайшие к ней числа – это число 2 и число 3. Троичная система счисления не технологична. Двоичная же система счисления более удобна, так как на ней легко реализуема булева алгебра.
2. Слова различаются не по кодированию, а по использованию. Благодаря этому принципу возможно существование вирусов, так как никто не может отличить данные от собственно программы. Все архитектуры вычислительных машин делятся на два типа – гарвардская, где существуют два памяти – для команд и данных, и принстонская, где только одна память и для команд и для данных (Фон-неймановские машины).
3. Слова информации хранятся в памяти в запоминающих ячейках и идентифицируются номерами (адресами). Номер ячейки есть ее адрес.
4. Решение задачи представляется в виде последовательности управляющих слов, которые содержат наименование операции и адреса слов, участвующих в операции. Последовательность таких управляющих слов называется программой.
5. Решение задачи сводится к последовательному выполнению команд по программе.
Существуют машины, управляемые не командами, а данными, то есть данные определяют последовательность выполнения команд.