Архитектура компьютеров: чем современные компьютеры похожи на совсем древние
Говорим «архитектура» — подразумеваем здания. Но в компьютерных делах архитектура тоже бывает — правда, внутренняя: это компоненты, из которых состоит компьютер, и их взаимодействие друг с другом.
Всё это не зря называют архитектурой. Когда-то сами компьютеры были размером с дом!
Пожалуй, с этого и начнём.
Первые компьютеры — и их первые проблемы
Первой универсальной ЭВМ был ENIAC (Electronic Numerical Integrator and Computer, «электронный цифровой интегратор и вычислитель»), который закончили к 1945 году.
Он весил почти 30 тонн и содержал около 18 тысяч электронных ламп. Ни клавиатуры, ни монитора не было, компьютером управляли с помощью тумблеров на огромных коммуникационных панелях. На подготовку расчёта, который мог занять у ЭВМ всего несколько минут, уходили часы, а порой и дни.
Главные разработчики ENIAC, Джон Мокли и Джон Преспер Эккерт из Пенсильванского университета, понимали недостатки своего детища ещё в 1943 году.
Счастливые Джон Мокли и Джон Преспер Эккерт держат в руках блок от ENIAC, отвечающий за работу с одним десятичным разрядом
Мокли и Эккерт начали думать над будущими компьютерами ещё до запуска «Эниака». Чтобы побороть один из главных недостатков — длительный и неудобный процесс перепрограммирования — Эккерт предложил хранить саму программу вычислений в той же памяти, что и данные, необходимые для расчёта. Назвать более совершенную машину предполагалось EDVAC (Electronic Discrete Variable Automatic Computer, «электронный дискретный настраиваемый автоматический вычислитель»). Она, конечно, тоже была размером с дом: лампы требуют много места.
Архитектура фон Неймана
В сентябре 1944 года к разработчикам ENIAC присоединился Джон фон Нейман — выдающийся американский математик и участник Манхэттенского проекта.
Фон Нейман был единственным участником проекта, который не появился в фильме «Оппенгеймер» Нолана. Потому что он был бы довольно скучным персонажем: математика интересовали не интриги, а формулы.
Джон фон Нейман в 1952 году на фоне компьютера IAS machine
Он довольно быстро вник в суть и также стал приверженцем идеи хранимой в памяти программы. Чтобы добиться финансирования перспективной разработки, нужно было заручиться поддержкой военных.
Фон Нейман составил «Черновик доклада об EDVAC» (First Draft of a Report on the EDVAC), в котором описал основные архитектурные принципы:
- В состав компьютера входит устройство для выполнения арифметических операций, устройство управления, память, устройства ввода и устройства вывода.
- Программы состоят из команд, каждая из которых требует от компьютера выполнить одну из доступных ему операций.
- По умолчанию команды выполняются последовательно, но этот порядок можно изменить за счёт выполнения специальных команд.
- И данные, и команды хранятся в памяти. Над командами можно выполнять те же действия, что и над данными.
- Память состоит из пронумерованных ячеек, к каждой из которых можно обратиться по её адресу.
- Данные и команды представлены в двоичной системе счисления.
В общем, фон Нейман описал принципы, по которым работают сегодня все вычислительные устройства: от стиральных машин до суперкомпьютеров. Голова!
Отчёт поступил математику Герману Голдстайну, курировавшему проект со стороны военных. Тот был настолько впечатлён перспективностью изложенных идей, что в июне 1945 года решил разослать копии отчёта разным учёным, не спрашивая разрешения разработчиков и не вникая в тонкости авторства. В итоге на титульном листе отчёта осталась лишь фамилия составителя — Джона фон Неймана. С лёгкой руки Голдстайна изложенный в документе подход к конструированию компьютеров стал известен как «архитектура фон Неймана».
В СССР независимо от Джона фон Неймана к тем же выводам касательно оптимального устройства ЭВМ в конце 1940-х годов пришёл Сергей Лебедев. В Германии схожие принципы сформулировал Конрад Цузе, хотя от идеи совместно хранить программы и данные в памяти он всё же отказался.
Из-за ухудшения отношений между фон Нейманом, Эккертом и Мокли работа над постройкой EDVAC сильно затормозилась. В итоге первый компьютер с фоннеймановской архитектурой был создан не в США, а в Великобритании. Он получил название EDSAC (Electronic Delay Storage Automatic Calculator, «электронный автоматический вычислитель с памятью на линиях задержки»).
EDSAC, 1949 год. Компьютер всё ещё похож на шкафы с коллекцией ламп и проводочков
EDSAC навсегда останется в истории вычислительной техники не только как одна из первых ЭВМ современного типа, но и как первый компьютер, для которого была написана компьютерная игра. Сегодня мы знаем её как OXO либо Noughts and Crosses — это был вариант хорошо всем известных крестиков-ноликов.
Noughts and Crosses на экране электронно-лучевой трубки компьютера EDSAC
Устройство компьютера
Хотя Джон фон Нейман в своём отчёте выделял пять основных частей компьютера, в современной информатике их обычно упрощают до трёх. Арифметическое устройство и устройство управления вместе принято называть процессором.
Процессор — основное устройство компьютера, выполняющее заданные программой арифметические и логические операции и управляющее периферийными устройствами.
Устройства ввода и устройства вывода тоже можно объединить в одну группу. Таким образом, обязательные части любого компьютера — это:
- Процессор.
- Память.
- Устройства ввода-вывода.
В общем, всё как сегодня. Правда, сейчас всю логику ЭВМ первого поколения, таких как ENIAC и EDVAC, можно «зашить» в крошечную микросхему, которую получится увидеть только в микроскоп.
Миниатюризация базовых элементов электроники на картинке из рекламной брошюры IBM
Процессор современного компьютера — это одна микросхема размером с почтовую марку. Если, конечно, вы ещё помните, что это такое.
Функции памяти выполняют несколько разных устройств: модули оперативной памяти и накопители. Обо всём этом мы обязательно скоро расскажем!
P.S. Спасибо, мистер фон Нейман!





