В предыдущих параграфах мы узнали, почему компьютер оперирует нулями и единицами, и проследили эволюцию его логических элементов: от реле до микротранзисторов.
В этом параграфе мы поднимемся на уровень выше и поговорим о том, из каких частей состоит компьютер, как они связаны между собой и какие задачи выполняют.
Наш рассказ охватит четыре темы:
- Сначала мы посмотрим, из каких компонентов состоит компьютер и что скрывается за аббревиатурами CPU, GPU, RAM и так далее.
- После поговорим о том, почему вообще возникла идея разделить компьютер на компоненты.
- Затем проиллюстрируем, как компоненты компьютера собираются вместе.
- И в конце покажем вам, что происходит с компьютером, когда мы запускаем игру или нажимаем кнопку.
Давайте приступим.
Из чего состоит компьютер
Для начала дадим определение архитектуры.
Архитектура компьютера— это описание его организации и принципов взаимодействия его основных компонентов.
Проще говоря, это план или модель, по которой построен компьютер и работают его устройства. Далее мы составим эту модель сами, собирая её по частям и выстраивая логику работы.
Центральная часть
Всё начинается с процессора и внутренней памяти. Вместе эти компоненты образуют центральную часть. Это блок, который управляет работой компьютера.

В центральной части происходит обработка данных и хранятся инструкции, которые в данный момент выполняются.
Центральная часть состоит из трёх компонентов, каждый из которых решает свою задачу:
- Центральный процессор (CPU) — мозг компьютера, выполняющий программы и управляющий всеми остальными устройствами. CPU отправляет и получает данные, выбирает очередную команду программы из памяти, выполняет вычисления.
- Оперативная память (ОЗУ, RAM) — быстрая энергозависимая память, где хранятся исполняемые программы и данные, с которыми в этот момент работает процессор. CPU напрямую связан с оперативной памятью через шину и постоянно обменивается с ней информацией (читает команды и данные, записывает результаты).
- Постоянная память (ПЗУ, ROM) — энергонезависимая память, предназначенная для хранения критически важных данных и программ, которые должны быть доступны сразу после включения компьютера. В ПЗУ записываются инструкции начальной загрузки (BIOS/UEFI) и базовые настройки системы.
Как вы уже догадались, отличие одной памяти от другой заключается в сроке хранения данных. В ОЗУ они хранятся, пока компьютер включён. В ПЗУ переживают выключение компьютера и используются при запуске для инициализации остальных устройств. Подробнее о памяти мы как раз поговорим в следующем параграфе.
Таким образом, центральная часть выступает ядром всей архитектуры компьютера: процессор выполняет вычисления и управление, а внутренняя память обеспечивает хранение и быструю передачу данных. В связке они формируют основу работы системы и задают темп взаимодействия со всеми остальными устройствами.
Периферийные устройства
Чтобы центральная часть работала, она должна взаимодействовать с другими устройствами. Все компоненты компьютера, которые находятся за пределами центральной части и обеспечивают взаимодействие системы с пользователем и внешним миром, называются периферийными устройствами. Добавим их на схему архитектуры.

Устройства можно разбить на четыре больших блока по типам задач, которые они решают.
Устройства ввода
Это модули, с помощью которых пользователь передаёт информацию компьютеру.
Они преобразуют действия человека или сигналы окружающей среды в цифровые данные, понятные процессору. Классические примеры — клавиатура и мышь, а также более современные устройства: сканеры, микрофоны, веб-камеры.
Устройства вывода
Компоненты, предназначенные для представления результатов работы компьютера в форме, удобной для восприятия человеком.
Сюда относятся монитор, принтер, акустические системы, проекторы. Они принимают цифровые данные по шине и преобразуют их в изображение, звук или печатный текст.
Внешняя память
Долговременное запоминающее устройство, сохраняющее данные и программы независимо от наличия питания.
К внешней памяти относятся жёсткие диски (HDD), твердотельные накопители (SSD), оптические диски и флеш-накопители. Они обеспечивают хранение операционной системы, приложений и пользовательских файлов.
Сейчас проговорим важные отличия от других типов памяти, которые упоминали выше:
- В отличие от ОЗУ, данные во внешней памяти не исчезают при выключении компьютера.
- В отличие от ПЗУ, здесь гораздо больше объём (сотни и тысячи гигабайтов против 64–128 МБ). Процессор обращается к ПЗУ сразу после запуска для загрузки стартовых команд. А к внешней памяти — после запуска операционной системы.
Сетевые устройства
Модули, позволяющие компьютеру обмениваться данными с другими машинами и подключаться к глобальным и локальным сетям. Это могут быть сетевые карты, модемы, Wi-Fi- и Bluetooth-адаптеры.
Функция этих модулей — передавать данные в сеть и принимать ответы от внешних систем.
Таким образом, центральная часть может получать данные от пользователя, обращаться за данными к определённым файлам во внешней памяти или к данным на другом компьютере, а результаты выводить через устройства вывода.
Системная шина
Вы уже собрали центральную часть и периферийные устройства. Как думаете, чего ещё не хватает, чтобы это всё заработало?
А не хватает транспортной магистрали, которая позволила бы передавать данные между периферийными устройствами и центральной частью. Как вы уже догадались, эта магистраль называется системной шиной.

Современные компьютеры строятся по магистрально-модульному принципу: все основные устройства подключены к единой системе соединений — системной шине (или нескольким шинам) и по ней обмениваются данными.
Каждый компонент выполнен в виде отдельного модуля (платы или чипа), который можно заменить или обновить, подключив к общей шине. Такая открытая архитектура обеспечивает гибкость и расширяемость системы.
А почему «шина»? Это как-то связано с автомобилями?
Нет, не связано — просто так совпало.
Дело в том, что в англоязычных странах этот элемент называется bus (автобус). Он закрепился в 1960-е годы в компьютерной архитектуре, когда инженеры стали выделять отдельную общую магистраль вместо жёсткой индивидуальной проводки «точка-точка» между каждым блоком. Это сильно упростило конструкцию и расширило масштабируемость систем.
Тут использовали аналогию: как автобус перевозит много пассажиров по маршруту, так и общий провод может передавать сигналы для многих устройств.
А когда в СССР начали переводить техническую литературу по ЭВМ, то решили не брать кальку, а использовать привычное для инженеров слово «шина». Оно отлично укладывалось в смысл: общая линия, к которой подключено всё оборудование.
Шина многосоставная, включает три группы линий:
- Адресная шина. Передаёт адрес ячейки памяти или порта устройства, с которым хочет работать процессор (указывает «место назначения/источника» данных). Адресные сигналы всегда идут от процессора к памяти/устройствам: шина адреса однонаправленная.
- Шина данных. По ней перемещаются собственно данные между устройствами. Здесь движение двунаправленное: процессор может читать данные из памяти (тогда данные текут от памяти к CPU по шине) или записывать данные в память/устройство (текут от CPU к памяти).
- Шина управления. Несёт управляющие сигналы, которые координируют обмен данными, например: сигнал чтения/записи, сигналы синхронизации (тактовые импульсы), подтверждения выполнения операций и др. Эти сигналы позволяют устройствам понимать, какая операция сейчас проводится (чтение из памяти, запись, ответ от устройства и т. п.).
Отлично! Мы собрали все элементы архитектуры и увидели, за какие задачи они отвечают.
Центральная часть выполняет вычисления и управление, периферийные устройства обеспечивают ввод, хранение, обмен и вывод информации, а системная шина соединяет их в единую работающую систему. В такой связке компьютер способен обрабатывать команды пользователя, взаимодействовать с внешним миром и выполнять любые вычислительные задачи.
Теперь давайте поговорим, а почему вообще появилось такое разделение и как инженеры к нему пришли.
Развитие архитектуры компьютера
Архитектура компьютера, которую вы собрали выше, — это классическая архитектура фон Неймана (принстонская), принципы которой были сформулированы ещё в середине 1940-х годов.
Ключевая идея состоит в том, что данные и программы (инструкции) хранятся вместе в одной общей памяти компьютера. Процессор поочерёдно читает команды программы из памяти, интерпретирует их и выполняет, работая с данными, которые лежат в той же памяти.
Такой принцип получил название хранение программы в памяти (stored-program concept) и стал революционным для своего времени: он позволил компьютерам быть перепрограммируемыми без физической перестройки схем. Да, в самых первых машинах программа задавалась переключателями или проводами.
Схематически архитектуру фон Неймана можно изобразить так:

У компьютеров фоннеймановской архитектуры есть одна особенность: они обладают единой шиной для обмена как данными, так и инструкциями между процессором и памятью.
Это упрощает конструкцию, но вводит ограничение по скорости — процессор не может одновременно считать инструкцию и передавать данные. Это ограничение известно как «узкое место фон Неймана». Оно означает, что скорость работы системы во многом определяется пропускной способностью шины памяти.
Несмотря на этот недостаток, архитектура фон Неймана оказалась проще и дешевле в реализации, поэтому получила широчайшее распространение в первых поколениях ЭВМ.
То есть подавляющее большинство современных компьютеров логически всё ещё основываются на этой модели: единое адресное пространство для данных и программ, программы хранятся в памяти вместе с данными.
Альтернативный подход, появившийся практически одновременно с фоннеймановским, — гарвардская архитектура. Её основное отличие — раздельное хранение команд и данных в разных модулях памяти.
То есть компьютер имеет два независимых хранилища: одно — только для инструкций программы, другое — для обрабатываемых данных. Соответственно, используются раздельные шины (каналы) для доступа к инструкциям и к данным.
Этот принцип был реализован в гарвардском Mark I (прообразе архитектуры, разработанном Говардом Эйкеном в конце 1930-х годов) и впоследствии получил название «гарвардская архитектура» по месту разработки.

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

Выше мы сказали про кэш. Давайте дадим определение:
Кэш— это очень быстрая, но небольшая по объёму память, встроенная в процессор. Она сохраняет копии часто используемых инструкций и данных, чтобы снизить количество обращений к более медленной, оперативной памяти.
Кэш инструкций (Instruction Cache) хранит команды программы, а кэш данных (Data Cache) — сами данные, с которыми работает процессор. Благодаря этому уменьшаются задержки при выполнении операций и существенно возрастает производительность.
Почти все современные центральные процессоры (Intel, AMD, ARM) используют принципы модифицированной гарвардской архитектуры: раздельные кэши и единая память. Ещё она широко применяется в микроконтроллерах, цифровых сигнальных процессорах, работающих с аудио- и видеопотоками, а также в графических процессорах (GPU), где особенно важно одновременно и быстро обрабатывать команды и данные.
Кэш как-то связан с наличными?
Нет. Порой встречается неверное написание cash. Наличность здесь ни при чём: правильно писать cache, это слово происходит от французского глагола cacher — прятать.
Дальнейшая эволюция архитектуры затрагивала устройство процессора — конкретного элемента архитектуры. Глубоко погружаться в изменения мы не будем, лишь упомянем, за счёт чего происходила трансформация.
Пара слов об эволюции процессоров
В 1980-х годах активно развивается принцип построения набора команд процессора (ISA, Instruction Set Architecture). То есть теперь можно было запускать заранее заготовленную инструкцию, которая запускала определённую, часто повторяемую последовательность команд.
Примеры архитектур: CISC- и RISC-архитектура процессора.
В 2000-е годы развитие получили многоядерные процессоры. Теперь можно было решать несколько задач одновременно на разных ядрах. Это способствовало развитию потоковых и параллельных архитектур, которые нарезают задачи на маленькие кусочки и распределяют по ядрам.
В целом эволюция архитектуры компьютеров шла по пути повышения скорости и гибкости: от простого последовательного выполнения команд — к параллельному, от единичных вычислительных блоков — ко множеству ядер и специализированных ускорителей.
Тем не менее базовые принципы, заложенные фон Нейманом, остаются актуальными и по сей день.
Теперь у нас достаточно знаний, чтобы собрать свой компьютер. Мы увидим, какие именно устройства реализуют функции, о которых мы поговорили выше.
Современное устройство компьютера
Давайте соберём современный компьютер и проследим, как заложенные ранее принципы архитектуры в нём реализуются. Архитектур реализаций немного, но они зависят зачастую от используемого процессора. Рассмотрим одну из них.
Роль магистрали, которая связывает все элементы, выполняет материнская плата. Своё название плата получила благодаря тому, что в 1980-х годах к ней подсоединялись дочерние платы (daughterboards). А также она является как бы матерью для всех других устройств, потому что они к ней подключаются.
Забавный факт
Произносить «материнская плата» довольно долго, поэтому в русскоязычной среде был принят термин «материнка» или «мать».
Компьютерные энтузиасты часто прибегали к «разгону», то есть принудительно увеличивали тактовую частоту процессора, оперативки или видеокарты выше заводских значений, чтобы компьютер мог запускать игры с более высокими системными требованиями.
Иногда при неправильном «разгоне» материнская плата не выдерживала и выгорала. На сленге это звучало как «мать умерла».
Ну и представьте себе удивление и шок одного из авторов этого хендбука, когда отец в детстве взял его с собой на корпоратив, а там один из программистов спокойно бросает: «День сегодня неудачный, у меня мать умерла».
Современная материнская плата выглядит так: огромная плата с большим количеством разнообразных разъёмов для подключения.


Как можете видеть, здесь есть разъёмы под любой компонент, который вы рассматривали ранее.
- Для процессора заготовлено отдельное место под номером 1.
- Оперативная память (RAM) подключается в разъём 2. Кстати, этот разъём и есть шина. То есть в этой архитектуре не одна общая шина, а несколько.
- Постоянная память (ROM) встроена в материнскую плату и спрятана за болтами под номером 3.
- Дополнительные компоненты в виде видеокарты, звуковой карты (аудиокарты), сетевой карты, Wi-Fi адаптера можно подключить в заготовленные разъёмы-шины под номером 4.
- Также есть разъёмы под внешнюю память и части периферийных устройств под номером 5.
- Блоки питания и система охлаждения подключаются через разъёмы под номером 6.
- Также разъёмы для подключения периферийных устройств расположены на боковой панели материнской платы под номером 7.
С точки зрения архитектуры в этой модели реализованы несколько дополнительных идей. Схематически её можно изобразить так:

На рисунке изображена современная реализация смешанной архитектуры. Набор компонентов тут тот же, а логика работы чуть изменилась. Давайте рассмотрим поподробнее.
Первое изменение: теперь процессор напрямую работает с большим количеством компонентов, с которыми раньше обменивался через общую шину.
- Напрямую связан с оперативной памятью DDR 4-5, с каждым компонентом через отдельную шину.
- Обрабатывает часть периферии, взаимодействуя с видеокартой (GPU) и графическим выводом.
- Добавилось взаимодействие с быстрой внешней памятью NVMe SSD, в которой лежат ОС и программы. Это самое быстрое хранилище/ NVMe — современный протокол доступа к накопителям SSD, который вместе с быстрой шиной и организовывает быструю обработку данных.
Второе изменение: появился новый управляющий контроллер — чипсет. Он управляет оставшимися компонентами и передаёт всё необходимое в процессор. Логика работы стала следующей: все быстрые компоненты (видеокарта, оперативная память и быстрая внешняя память) обслуживает напрямую процессор. Это позволяет ему реализовывать их запросы на быстрых скоростях. Все более медленные компоненты ушли под контроль чипсета.
Если посмотреть на историческое развитие архитектуры, то в какой-то момент (1990–2000-е годы) появились два контроллера, которые играли похожие роли: южный мост и северный мост. Северный мост — контроллер памяти, видеокарты и высокоскоростных шин. Южный мост отвечал за остальные медленные устройства.

Как видим, в современной архитектуре северный мост исчез, его функции взял на себя процессор. А южный мост сохранился, только теперь его называют чипсетом.
И последнее: заметьте, что все толстые синие линии, соединяющие компоненты, — это отдельные шины. Нет теперь единой общей шины.
В зависимости от используемого процессора архитектура работы компьютера будет немного меняться. У разных линеек процессоров — Pentium, Core i3–i9, Xeon, Ryzen, Threadripper, EPYC — будет по-разному выглядеть перечень возможных компонентов для использования: где-то видеокарта сразу интегрирована в процессор, могут быть разные шины и соединения и так далее.
Подведём промежуточный итог. Архитектура компьютеров стремится к тому, чтобы процессор как можно быстрее реализовывал как можно больше самых срочных и критичных запросов. Для этого у него есть всё больше быстрой памяти и быстрых шин.
А за медленные запросы отвечает другой модуль — чипсет, который разгружает процессор.
Если попробовать структурировать все компоненты в первоначальную общую архитектуру, то выглядеть она будет так:

Как компоненты компьютера работают с реальными задачами
Давайте рассмотрим на двух следующих примерах, как компьютер выполняет типовые сценарии работы.
Для этого представим, что вы сели поиграть в какую-нибудь «Доту». Посмотрим, что будет, когда вы запускаете игру и, например, нажимаете в игре кнопку.
Запуск игры
Дважды кликаем по иконке игры на рабочем столе. Дальше происходит следующее:

Последовательность действий
Шаг 1. Фиксируем двойной щелчок мыши
Устройство ввода определяет два быстрых клика и передаёт сигнал в систему через контроллер, подключённый к чипсету.
Шаг 2. Принимаем сигнал чипсетом
Чипсет получает событие от контроллера ввода и пересылает его процессору по шине от CPU в чипсет.
Шаг 3. Интерпретируем действие процессором. Запрашиваем данные
Процессор вместе со встроенным программным обеспечением (ОС, драйверы) понимает, что пользователь хочет запустить игру. Формируется запрос к внешней памяти (SSD/HDD/NVMe) для чтения файлов игры.
Шаг 4. Отдаём данные из внешней памяти
Накопитель передаёт исполняемые файлы и ресурсы игры. Поток данных идёт через контроллер памяти процессора в оперативную память.
Шаг 5. Загружаем данные в оперативную память
ОЗУ принимает и хранит код игры, текстуры и другие ресурсы, чтобы процессор мог быстро обращаться к ним во время работы.
Шаг 6. Выполняем инструкции игры на процессоре
CPU пошагово выполняет игровой код: обрабатывает ввод пользователя, считает физику и логику, готовит команды для видеокарты.
Шаг 7. Рендерим кадры на видеокарте
GPU получает команды от процессора, строит трёхмерную сцену и формирует кадры игры. Готовое изображение отправляется на видеовыход.
Шаг 8. Отображаем картинку и выводим звук
Монитор показывает первый экран игры, а звуковая система (через чипсет) воспроизводит стартовый звук в колонки или наушники.
Другой сценарий — когда в самой игре вы делаете определённое действие. Допустим, вы хотите сколдовать определённое заклинание.
Нажимаем кнопку
Итак, вы уже нажали необходимое сочетание клавиш на клавиатуре или левой клавишей мыши на иконку заклинания. Давайте посмотрим, что получилось.

Последовательность действий
Шаг 1. Фиксируем нажатие клавиши
Клавиатура или мышь определяет действие игрока. Сигнал уходит через контроллер ввода, подключённый к чипсету.
Шаг 2. Принимаем сигнал чипсетом
Чипсет принимает событие и пересылает его в процессор по системной шине (например, DMI).
Шаг 3. Интерпретируем действие в процессоре
CPU получает событие, сопоставляет его с контекстом игры и запускает обработку кода заклинания: считает урон, применяет эффекты, обновляет взаимодействия с другими объектами.
Шаг 4. Обновляем данные в оперативной памяти
В ОЗУ хранится код игры и состояние мира. CPU записывает новые значения: здоровье врагов, баффы и дебаффы, статус героя и активные эффекты.
Шаг 5. Формируем сетевой пакет
CPU подготавливает информацию о заклинании (урон, позиция, эффекты) и через сетевой контроллер, связанный с чипсетом, отправляет её другим игрокам по сети.
Шаг 6. Готовим данные для вывода
CPU вычисляет, какие объекты и эффекты должны быть показаны на экране: анимация огня, частицы, вспышки, звуковой эффект.
Шаг 7. Рендерим кадр на видеокарте
GPU получает команды от CPU, строит сцену, применяет шейдеры (маленькие программы для отрисовки элементов) и визуальные эффекты заклинания. Итоговый кадр передаётся на видеовыход.
Шаг 8. Отображаем картинку и звук
Монитор выводит анимацию заклинания, а звуковая карта (через чипсет) воспроизводит соответствующий звук — взрыв, удар или магический эффект.
Как видите, логика одна и та же: данные попадают в систему через устройства ввода или из накопителя, процессор обрабатывает их, память хранит промежуточные результаты, а шины соединяют модули.
Разница лишь в том, какие элементы архитектуры активнее всего задействованы: при запуске игры — накопитель, при подгрузке объектов — память и видеокарта, при действиях игрока — ввод, сеть и вывод.
Вот и всё, с архитектурой компьютера разобрались!
Давайте коротко вспомним, что мы узнали:
- Концептуально подход фон Неймана остаётся неизменным и по сей день. Программы и данные находятся в одной памяти (DDR, SSD и т. п.), а CPU загружает инструкции, обрабатывает данные и выполняет вычисления.
- Появились модификации и дополнения, которые сглаживают узкие места. Например, модифицированная архитектура Гарварда. Или то, что внутри современных CPU разделены кэши: i-cache (инструкции) и d-cache (данные), или есть несколько ядер, которые могут решать задачи параллельно.
На этом всё. Переходите к следующему параграфу — поговорим подробнее о памяти: углубимся в её разновидности и выясним, как компьютер вообще хранит информацию.
