ЭВМ: принцип действия, понятие, классификация
В силу предъявляемых требований ЭВМ должна была иметь:
• устройство для получения (ввода) информации;
• устройство для хранения информации (память);
• устройство для обработки информации (включает в себя два компонента: 1) арифметическо-логическое устройство, предназначенное для оценки ситуации и 2) устройство управления, предназначенное для выбора способа поведения);
• устройство для вывода результатов обработки информации.
Работа компьютера происходит следующим образом:
– устройство ввода информации воспринимает сигнал и преобразует его в устройство обработки информации;
– устройство обработки информации (арифметически-логический блок) преобразует сигнал в машинно-читаемый код, который передается в блок управления;
– блок управления разделен на ячейки, в каждой из которых «находится» определенная команда, способная производить действия с информацией;
– полученный сигнал активизирует команду из первой ячейки, которая может исполнять какую-либо из следующих операций:
• выполнение логических или арифметических операций с помощью арифметически-логического блока;
• чтение из памяти данных для выполнения арифметических или логических операций;
• запись результатов в память;
• ввод данных из внешнего устройства в память;
• вывод данных из памяти на внешнее устройство.
– после выполнения команды из первой ячейки активизируется следующая ячейка с другой командой. Однако этот линейный порядок может быть изменен с помощью команд передачи управления (перехода). Они заставляют устройство управления активизировать ячейки не одну за другой, а переходить туда, где находится необходимая для решения данной задачи команда.
– после выполнения последней команды результаты обработки информации выводятся на внешнее устройство.
Очевидно, что способности машины в целом определяются количеством ячеек в блоке управления и объемом содержащихся в них команд. Чем больше ячеек – тем больше команд, тем больше задач может решать машина. Например, в калькуляторе количество ячеек невелико, команд по обработке информации там немного. Поэтому калькулятор может работать с числовыми данными, но не способен производить операции с текстовыми или визуальными данными.
Необходимо отметить, что перед создателями первых вычислительных машин стояла проблема – должны ли устройство для хранения информации (память) и устройство для ее обработки находиться в разных аппаратах, или лучше их объединить.
У каждого решения были свои положительные и отрицательные качества.
Разделение памяти и управления позволяло упростить программирование, снижало возможность сбоев, облегчало работу пользователей. На первой машине, в которой память и управление разделялись («Марк I», разработанной в Гарвардском университете), данные хранились в электромеханических устройствах, а программы вводились с помощью перфорационных лент. Разумеется, операции с данными и операции с программами приходилось осуществлять по-разному. Однако это же повлекло увеличение размеров машины и появление дополнительных сложностей в ее обслуживании. Поскольку идея была выдвинута преподавателями Гарвардского университета (главный разработчик – Говард Эйкен), то принцип разделения «памяти» и «программы» в рамках вычислительного устройства получил наименование «гарвардской архитектуры».
Напротив, группа ученых Принстонского университета, членом которой являлся известный американский математик венгерского происхождения Джон (Янош) фон Нейман[5], полагала, что «память» и «программы» должны находиться в одном аппаратном устройстве. То есть, команды и числа, которые с помощью этих команд обрабатываются, находятся в одинаковых ячейках, которые последовательно обрабатываются. Это, в свою очередь, требовало, чтобы как данные, так и команды по их обработке, писались на одном и том же языке, причем и над программами, и над данными можно было выполнять одни и те же операции. Данный принцип, именуемый «принципом единства памяти», стал отличительным признаком «архитектуры фон Неймана».