Что такое ЭВМ: расшифровка, устройство и поколения вычислительных машин

Что такое ЭВМ: расшифровка, устройство и поколения вычислительных машин Полезное

ЭВМ (электронно-вычислительная машина) — это устройство, которое автоматически обрабатывает информацию по заранее записанной программе и построено на электронных компонентах: лампах, транзисторах, микросхемах. По смыслу ЭВМ и компьютер — одно и то же, разница только в происхождении слова.

«ЭВМ» остаётся официальным термином учебников, ГОСТов и законов (в ГК РФ охраняется именно «программа для ЭВМ»). «Компьютер» — калька с английского, вытеснившая его в разговорной речи с 1990-х.

Ниже — из чего состоит любая ЭВМ, что менялось между поколениями, какие ЭВМ бывают сегодня и зачем их устройство понимать программисту.

Из чего состоит ЭВМ: архитектура фон Неймана

Почти все ЭВМ — от машин с хранимой программой до смартфона — устроены по схеме, которую Джон фон Нейман описал в 1945 году (отчёт о проекте EDVAC). В ней четыре блока:

Блок Что делает Аналог в современном ПК
Арифметико-логическое устройство (АЛУ) Операции над данными: сложение, сравнение, логические И/ИЛИ Вычислительные блоки процессора
Устройство управления (УУ) Читает команду из памяти, расшифровывает её и включает нужные блоки Декодер команд и логика управления
Память Хранит и данные, и программу; каждая ячейка имеет номер (адрес) Оперативная память, кэш
Устройства ввода-вывода Связь с внешним миром: получить данные, показать результат Клавиатура, экран, диск, сеть

АЛУ вместе с устройством управления образуют процессор. Работа машины — бесконечный цикл: взять команду по адресу из счётчика команд, расшифровать, выполнить и перейти к следующей.

Важнее блоков — три принципа фон Неймана, которые отличают ЭВМ от калькулятора:

  • Хранимая программа. Программа лежит в той же памяти, что и данные. Чтобы решить другую задачу, достаточно загрузить другой код, а не перекоммутировать провода — это и делает машину универсальной.
  • Двоичное кодирование. Команды, числа, текст, картинки — всё представлено нулями и единицами: элементу проще всего различать два состояния (есть ток или нет).
  • Адресуемость памяти. Память — ряд пронумерованных ячеек, процессор обращается к любой по номеру. Отсюда указатели, массивы и адресная арифметика.

Схема пришла не сразу: ранние электронные машины (ENIAC, Colossus) программу в общей памяти не хранили — её задавали переключателями и проводами. Именно переход от такой коммутации к загрузке программы в память изменил работу человека с машиной: вместо перенастройки железа — написание кода.

Есть исключение — гарвардская архитектура: память команд и данных разделена (микроконтроллеры, кэш L1 процессоров), поэтому на практике схема смешанная.

Поколения ЭВМ: что менялось и почему это важно

Поколения принято выделять по элементной базе — тому, из чего собран процессор. Смена базы меняла не только скорость, но и то, кто может пользоваться машиной.

Поколение Годы Элементная база Что изменилось по существу Примеры машин
Первое 1940-е — середина 1950-х Электронные лампы Машина занимает зал, лампы горят каждые несколько часов, работают с ней только инженеры; к концу этапа появляется хранимая программа ENIAC (1946), EDSAC (1949), МЭСМ (1951), БЭСМ-1
Второе конец 1950-х — 1960-е Транзисторы Надёжность и размер позволили выпускать ЭВМ серийно для предприятий IBM 1401, БЭСМ-6 (1967)
Третье середина 1960-х — 1970-е Интегральные схемы Семейства совместимых машин: программу можно перенести на более мощную модель той же серии; операционные системы, разделение времени IBM System/360 (1964), PDP-8, ЕС ЭВМ (1970-е)
Четвёртое с 1970-х по сей день Микропроцессоры и большие интегральные схемы Процессор целиком на одном кристалле — компьютер стал персональным и дешёвым; затем сетевым и мобильным Altair 8800 (1975), IBM PC (1981), современные ПК и смартфоны

Развитие языков шло параллельно смене элементной базы, а не следовало из неё. Компилятор Fortran (1957) вышел для лампового IBM 704, COBOL — в конце 1950-х: языки высокого уровня появились ещё до массового перехода на транзисторы. Железо и языки развивались одновременно, а не «сменили лампы на транзисторы — и появились языки».

«Пятое поколение» — не этап, а название государственного проекта Японии 1982-1992 годов по машинам для логического вывода и ИИ. Проект закрыли, не достигнув целей; отдельного поколения по элементной базе не появилось — мы до сих пор в четвёртом, только транзисторов на кристалле стало не тысячи, а десятки миллиардов.

Ключевые машины: не даты, а повороты

Z3 Конрада Цузе, 1941, Германия. Работающая программируемая машина, но электромеханическая: на телефонных реле, а не на лампах; уже двоичная, программа с перфоленты. Поворот: доказано, что автоматический программируемый вычислитель можно построить.

Colossus, 1943-1944, Великобритания. Электронная машина на лампах, построенная в Блетчли-парке для взлома немецкого шифра «Лоренц» (не «Энигмы» — её ломали иначе).

На нём удобно развести три свойства: Colossus был электронным (на лампах) и программируемым (параметры меняли переключателями и коммутацией), но не машиной общего назначения — он умел только анализировать «Лоренц». Поворот: лампы оказались достаточно надёжными для вычислений.

ENIAC, представлен публично в феврале 1946, США. Электронная машина общего назначения: около 17,5 тысяч ламп, 30 тонн, десятичная. Программу задавали переключателями и проводами, перенастройка занимала дни; хранимой программы в общей памяти у исходного ENIAC не было — это его отличие от более поздних фон-неймановских машин. Поворот: скорость в тысячи раз выше электромеханики, но именно из-за отсутствия хранимой программы она дальше и понадобилась.

EDSAC, май 1949, Кембридж. Одна из ранних рабочих машин с хранимой программой по схеме фон Неймана. Поворот: рождение программирования как занятия — для EDSAC собрали одну из первых библиотек подпрограмм.

МЭСМ, 1951, Киев. Малая электронная счётная машина Сергея Лебедева — одна из первых ЭВМ в СССР и континентальной Европе. Из той же школы вышла линейка БЭСМ (БЭСМ-6, 1967). Поворот: советская школа стартовала на собственной архитектуре.

Altair 8800, 1975, США. Набор для сборки на микропроцессоре Intel 8080; для него Гейтс и Аллен написали интерпретатор BASIC — продукт, с которого началась Microsoft.

Персональные машины существовали и раньше (например, Kenbak-1, 1971), но именно Altair превратил ПК из единичных образцов в массовое явление: вокруг него сложились сообщество энтузиастов, рынок плат расширения и программ. Поворот: сформировался сам рынок ПК.

IBM PC, 1981. Открытая архитектура на процессоре Intel 8088 и ОС от Microsoft. Поворот: другие производители смогли выпускать совместимые машины, появился стандарт, из которого выросли современные ПК.

Какие бывают ЭВМ: классификация по назначению

Класс Назначение Примеры Что важно
Суперкомпьютеры Научные расчёты, моделирование климата, обучение больших нейросетей Машины из рейтинга TOP500; первые экзафлопсные — с 2022 года Тысячи процессоров и ускорителей работают параллельно над одной задачей
Мейнфреймы и серверы Транзакции банков, хостинг сайтов, базы данных IBM Z, стоечные серверы в дата-центрах Работают круглосуточно; через виртуализацию на одном сервере живут десятки виртуальных машин
Персональные Работа и досуг одного пользователя Настольные ПК, ноутбуки Универсальность и удобство важнее пиковой производительности
Мобильные Связь и приложения «в кармане» Смартфоны, планшеты Процессор, память и ввод-вывод на одном кристалле; ограничение — энергия батареи
Встраиваемые Управление устройством, в которое встроены Микроконтроллеры в стиральной машине, автомобиле, роутере Часто без ОС, программа записана раз и надолго

Смартфон — тоже полноценная ЭВМ по фон Нейману: процессор, память, ввод-вывод, хранимая программа. Он мощнее суперкомпьютеров 1990-х, просто мощность уходит на экран, камеру и сеть.

Выводы

  • ЭВМ и компьютер — одно и то же; «ЭВМ» остаётся официальным термином (в ГК РФ охраняется «программа для ЭВМ»), «компьютер» — разговорная калька с английского.
  • Большинство ЭВМ устроены по архитектуре фон Неймана 1945 года, но схема пришла не сразу: ранние электронные машины (ENIAC, Colossus) хранимой программы в общей памяти не имели.
  • От калькулятора ЭВМ отличают три принципа: хранимая программа, двоичное кодирование данных и адресуемость памяти.
  • Поколения выделяют по элементной базе; языки высокого уровня развивались параллельно железу, а не как его следствие. «Пятое поколение» — японский проект 1982-1992 годов, а не новый этап.
  • По назначению ЭВМ делят на пять классов — от суперкомпьютеров до встраиваемых; смартфон — полноценная ЭВМ по фон Нейману.

Где применяется / связь с практикой

Программирование выросло прямо из устройства ЭВМ. От машинного кода (числа) к ассемблеру (мнемоники ADD, MOV) и к языкам высокого уровня (Fortran, C, сегодня Python, Java, Go) — это одна лестница абстракций, только ступеней между кодом и процессором стало больше.

Зачем знать архитектуру, если языки её прячут? Потому что она никуда не делась: последовательный обход массива быстрее случайных обращений из-за кэша и адресуемой памяти, а дроби вроде 0.1 хранятся неточно из-за двоичного кодирования.

Освойте тему на практике

Понимание уровня ниже языка отличает того, кто чинит проблему, от того, кто перебирает варианты. Начать можно с любого языка: в каталоге курсов по программированию Otus есть направления для новичков, где базовые механики — память, типы, представление данных — разбирают на практике, а формат занятий можно заранее посмотреть на бесплатных открытых уроках.

Смежные темы: Бинарное представление данных, ПК-сервер: все о серверах для новичков, Технология аппаратной виртуализации — что нужно знать начинающему специалисту.

FAQ

Калькулятор — это ЭВМ? Простой калькулятор — нет: он выполняет фиксированный набор операций и не хранит программу. Программируемый калькулятор и микроконтроллер — уже да, у них есть память с загружаемой программой.

Почему в законах до сих пор пишут «ЭВМ», а не «компьютер»? Термин закрепился в нормативных документах в 1970-1980-е и переходит из редакции в редакцию, чтобы не переписывать всю связанную базу; в ГК РФ он используется и сейчас.

Квантовый компьютер — это ЭВМ следующего поколения? Нет, это другой принцип вычислений, а не новая элементная база для той же архитектуры: он не заменяет классические ЭВМ, а решает узкий класс задач и управляется обычным компьютером.

OTUS Журнал