Электронно – вычислительные машины
Великая депрессия 1930-х годов нанесла существенный урон и корпорации IBM. Несмотря на спад производства, Уотсон продолжал финансировать научные разработки и в результате к 1935, когда правительству США понадобились системы автоматизированного учета занятости на 26 млн. человек, IBM была готова выполнить этот заказ в кратчайшие сроки. С этого времени корпорация IBM постоянно выполняет заказы на поставку оборудования для правительственных учреждений. В том же 1935 инженеры IBM создали первую электрическую печатную машинку.
В годы Второй мировой войны производственные мощности корпорации были переориентированы на выполнение оборонных заказов. Тем не менее, именно в лабораториях IBM совместно с учеными Гарвардского университета (среди них был Говард Эйкен) шла работа над созданием одной из первых электронно-вычислительных машин. Такая машина была собрана в 1943 и получила название «Марк-1». Эта ЭВМ, весившая более пяти тонн, несмотря на невысокую скорость, могла осуществлять довольно сложную последовательность математических вычислений.
Немногим ранее идеи Ч. Бэббиджа были переоткрыты немецким инженером Конрадом Цузе, который в 1938 г. в домашних условиях собирает электромеханическую машину и называет ее Z1. Затем следует создание более усовершенствованной модели Z2. И наконец в 1941 г., на два года опередив Г. Эйкена, Цузе создает третью модель – Z3, основанную на электромеханических реле и работавшую в двоичной системе счисления.
К этому времени потребность в автоматизации вычислений, главным образом для военных нужд, стала настолько велика, что над созданием машин такого типа одновременно работало несколько групп исследователей. Так, начиная с 1943 г., группа специалистов под руководством Джона Мокли и Преспера Эккерта в США начала конструировать подобную машину (ENIAС), но уже на основе электронных ламп, что позволило повысить ее производительность в 1000 раз по сравнению с машиной Марк-1. Тогда же они начали работу над новой машиной – Эдвак (EDVAС), программа которой должна была храниться в памяти компьютера.
В 1944 г. к группе Мокли и Эккерта присоединяется Джон фон Нейман (03.12.1903 – 08.02.1957) в качестве консультанта по математическим вопросам. Незадолго до этого, а именно в 1937 г., Джон фон Нейман принял американское гражданство и во время Второй мировой войны служил консультантом в атомном центре Лос – Аломоса, где расчитывал взрывной метод детонации ядерной бомбы и участвовал в разработке атомной бомбы. В 1945 г. Нейман опубликовал «Предварительный доклад о машине EDVAC», в котором описывалась сама машина и ее логические свойства. Описанная Нейманом архитектура компьютера получила название «фон Неймановской», и таким образом ему было приписано авторство всего проекта. Это вылилось впоследствии в судебное разбирательство о праве на патент и привело к тому, что Эккерт и Мокли покинули лабораторию и основали собственную фирму. Тем не менее «архитектура фон Неймана» была положена в основу всех последующих моделей компьютеров.
Принципы фон Неймана
Итак, в своем докладе Джон фон Нейман описал, как должен быть устроен компьютер, для того чтобы он был универсальным и эффективным устройством для обработки информации. Прежде всего компьютер должен иметь следующие устройства:
- Арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции;
- Устройство управления (УУ), которое организует процесс выполнения программ;
- Запоминающее устройство (ЗУ или память), предназначенное для хранения программ и данных;
- Внешние устройства для ввода-вывода информации.
Вот каковы должны быть связи между устройствами компьютера (одинарные линии – управляющие связи, двойные – информационные):
Рис. 4. Связи между устройствами компьютера
В общих чертах работа компьютера может быть описана следующим образом: первоначально с помощью какого-либо внешнего устройства в память компьютера вводится программа. УУ считывает содержимое ячейки памяти, где находится первая команда программы и организует ее выполнение. После выполнения команды, УУ переходит к команде, находящейся в следующей ячейке памяти. Однако этот порядок может быть изменен с помощью команд передачи управления, которые указывают УУ, с какой команды ему следует продолжить выполнение программы. Таким образом, УУ выполняет инструкции программы автоматически без вмешательства человека. Оно может обмениваться информацией с оперативной памятью и внешними устройствами компьютера, приостанавливать выполнение программы до завершения операции ввода-вывода с внешним устройством. Все результаты выполненной программы выводятся на внешние устройства компьютера, после чего он переходит к ожиданию каких-либо сигналов от внешних устройств.