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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЕС ЭВМ, 1970-е, страны СЭВ. Единая серия, программно совместимая с IBM System/360. Поворот спорный: массовая совместимая техника и доступ к чужому софту ценой отказа от собственных архитектур.

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

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

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

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

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

Выводы

  • ЭВМ (электронно-вычислительная машина) — это устройство, которое автоматически обрабатывает информацию по заранее записанной программе и построено на электронных компонентах: лампах, транзисторах, микросхемах.
  • По смыслу ЭВМ и компьютер — одно и то же: «ЭВМ» — исторический и официальный термин учебников, ГОСТов и законов (в Гражданском кодексе РФ охраняется «программа для ЭВМ»), «компьютер» — калька с английского, вытеснившая его в разговорной речи с 1990-х.
  • Почти все ЭВМ устроены по архитектуре фон Неймана 1945 года: арифметико-логическое устройство, устройство управления, память и устройства ввода-вывода; АЛУ вместе с устройством управления образуют процессор.
  • От калькулятора ЭВМ отличают три принципа: хранимая в памяти программа, двоичное кодирование всех данных и адресуемость памяти.
  • Поколения ЭВМ выделяют по элементной базе: лампы (1940-е — середина 1950-х, ENIAC, МЭСМ), транзисторы (конец 1950-х — 1960-е, БЭСМ-6), интегральные схемы (середина 1960-х — 1970-е, IBM System/360, ЕС ЭВМ), микропроцессоры (с 1970-х по сей день, IBM PC, смартфоны); «пятое поколение» — японский проект 1982-1992 годов, а не новый этап.
  • По назначению ЭВМ делят на суперкомпьютеры, мейнфреймы и серверы, персональные, мобильные и встраиваемые; смартфон — полноценная ЭВМ по фон Нейману с процессором, памятью, вводом-выводом и хранимой программой.

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

Программирование выросло прямо из устройства ЭВМ. Первые программы для EDSAC и МЭСМ писали в машинном коде — числами, которые процессор понимает напрямую. В 1950-х появился ассемблер: те же команды, но мнемониками (ADD, MOV) вместо чисел. С Fortran (1957) начались языки высокого уровня, где одна строка разворачивается транслятором в десятки машинных команд; современные Python, Java, Go — продолжение той же лестницы, только ступеней между кодом и процессором стало больше.

Зачем разработчику знать архитектуру, если языки её прячут? Потому что она никуда не делась. Последовательный обход массива быстрее случайных обращений из-за адресуемой памяти и кэша; целые числа переполняются, а дроби вроде 0.1 хранятся неточно из-за двоичного кодирования; программа падает с «segmentation fault», когда обращается к адресу, которого ей не давали. Понимание уровня ниже языка отличает разработчика, который чинит проблему, от того, кто перебирает варианты. Начать можно с любого языка: в каталоге курсов по программированию Otus есть направления для новичков, где базовые механики — память, типы, представление данных — разбирают на практике. Посмотреть формат занятий заранее можно на бесплатных открытых уроках.

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

FAQ

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

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

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

OTUS Журнал
Скидка 15% 1-6 сентября на курсы (popup)