Джон фон Нейман – историческая справка
Принципы фон Неймана
Как я уже говорил, Джон фон Нейман обнародовал основные принципы построения компьютера, заложенные еще Бэббиджем, а впоследствии Эйкеном (MARK-1), Мочли и Экертом (ENIAC). Однако, как это часто бывает, именно под именем фон Неймана они вошли в историю развития ВТ.
В чем же они заключаются?
1. Принцип двоичности: Для представления данных и команд используется двоичная система счисления.
2. Принцип однородности памяти: компьютер должен содержать память и управляться с помощью программы, хранимой в памяти (Бэббидж, Лавлейс). Команды и данные хранятся в одной и той же памяти и кодируются в одной и той же системе счисления. Над командами можно выполнять такие же действия, как и над данными.
3. Принцип программного управления: компьютер должен содержать АЛУ (арифметико-логическое устройство), которое извлекает и выполняет команды, хранящиеся в ОП.
4. Принцип взаимодействия с ВМ: компьютер должен содержать ВУ (внешние устройства) для ввода, вывода и долгосрочного хранения информации
- управляющие потоки
- информационные потоки
УУ (устройство управления), обеспечивает взаимодействие между компонентами.
Эта схема практически не претерпела изменений с момента появления первых ЭВМ.
Произошедшие изменения больше связаны с технологическим исполнением отдельных узлов и перераспределением некоторых функций между основными компонентами ВМ.
Основным принципом построения всех современных ЭВМ является программное управление. В основе его лежит представление алгоритма решения любой задачи в виде программы вычислений.
Алгоритм - конечный набор предписаний, определяющий решение задачи посредством конечного количества операций
Программа для ЭВМ - упорядоченная последовательность команд, подлежащая обработке (стандарт ISO 2382/1-84).
Все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов - команд. Каждая команда содержит указания на конкретную выполняемую операцию, место нахождения (адреса) операндов и ряд служебных признаков.
Операнды - переменные, значения которых участвуют в операциях преобразования данных. Совокупность всех переменных (входных данных, промежуточных значений и результатов вычислений) является еще одним неотъемлемым элементом любой программы.
Для доступа к программам, командам и операндам используются их адреса. В качестве адресов выступают номера ячеек памяти ЭВМ, предназначенных для хранения объектов.
Минимальной единицей информации является бит – один двоичный разряд, принимающий значение 0 или 1.
Минимальной адресуемой единицей информации в ЭВМ является байт. Байт содержит 8 двоичных разрядов. Обычно все форматы данных, используемые в ЭВМ, кратны байту, т.е. состоят из целого числа байтов.
Последовательность битов в формате, имеющая определенный смысл, называется полем. Например, в каждой команде программы различают поле кода операций, поле адресов операндов. Применительно к числовой информации выделяют знаковые разряды, поле значащих разрядов чисел, старшие и младшие разряды.
Последовательность, состоящая из определенного принятого для данной ЭВМ числа байтов, называется словом. Для больших ЭВМ размер слова составляет четыре байта, для ПЭВМ - два байта. В качестве структурных элементов информации различают также полуслово, двойное слово и др.
Введенная информация полностью или частично сначала запоминается в оперативном запоминающем устройстве (ОЗУ), а затем переносится во внешнее запоминающее устройство (ВЗУ), предназначенное для длительного хранения информации, где преобразуется в специальный объект - файл - идентифицированная совокупность экземпляров полностью описанного в конкретной программе типа данных, находящихся вне программы во внешней памяти и доступных программе посредством специальных операций (ГОСТ 20866 - 85)”.
12.
Описание алгоритмов с помощью схем – один из наиболее наглядных и распространенных способов задания алгоритмов.
Схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических фигур, конфигурация которых определяет характер обозначаемых действий.
Условные графические изображения, используемые при построении схем, называются символами. Система символов и правила построения алгоритмов определены соответствующими стандартами.
Основные символы схем алгоритмов представлены на рис. П.2.1. Символы схемы располагаются сверху вниз. Линии соединения символов – линии потока, показывают направление процесса обработки. Стрелки на соединяющих линиях не ставят при направлениях сверху-вниз и слева-направо; противоположные направления показывают стрелкой на линии потока.
Символы на схеме помещаются в положении, изображенном на рис. П.2.1. Линия потока может изображаться как вертикально, так и горизонтально. За исключением символа «решение» остальные символы, относящиеся к процессу обработки информации, имеют один вход и один выход линий потока. В символ «решение» линии потока входят вертикально только один раз, а выходить могут как вертикально, так и горизонтально.
Рис. П.2.1. Основные символы схем алгоритмов
Содержание действия, обозначенного символом, раскрывается внутри символа и может быть записано на формальном или естественном языке.
Схема алгоритма четко определяет последовательность действий, заданную этим алгоритмом. В соответствии со свойством дискретности схема может представлять алгоритм с различной степенью детализации. При этом важно наиболее точно и наглядно изображать управляющие структуры алгоритма, показывающие логику перехода от одного действия к другому.
Алгоритмы бывают трех видов: линейные, разветвляющиеся и циклические.
Линейный алгоритм не содержит логических условий, имеет одну ветвь обработки и изображается линейной последовательностью связанных друг с другом блоков.
Разветвляющийся алгоритм содержит логические условия и имеет несколько ветвей обработки.
Циклический алгоритм содержит одну или несколько многократно повторяемых частей (циклов); число повторений определяется параметром цикла – переменной, принимающей новое значение при каждом вхождении в цикл.
Условные изображения и примеры простейших линейного, разветвляющегося и циклического алгоритмов приведены на рис. П.2.2.
Алгоритм независимо от его структуры – сложной или простой всегда имеет один «Останов». Все ветви алгоритма должны сойтись при движении по нему на символе «Останов». Схемы применимы в любой предметной области, так как они жестко регламентируют и формализуют только способы изображения переходов от действия к действию.
Однако требования к графическому исполнению схем вызывают предубеждение некоторых программистов, представляются основным недостатком схем и заставляют искать новые способы записи алгоритмов.
13.