Как устроен компьютер: четыре главные части
Любой компьютер — от школьного ноутбука до сервера — состоит из 4 главных частей: процессора, оперативной памяти, постоянной памяти и устройств ввода-вывода. Различаются они мощностью и размером, а схема остаётся одной и той же.
Удобно представить компьютер как кухню. Процессор — повар, который умеет выполнять простые действия очень быстро. Оперативная память — рабочий стол: на нём лежат продукты и рецепт, которые нужны сейчас. Постоянная память — кладовка и шкаф с книгами рецептов: там хранится всё, но доставать оттуда дольше. Устройства ввода — заказы, которые приносят повару, а вывода — готовые блюда. Если стол маленький, повар постоянно бегает в кладовку и работает медленнее; так и компьютеру с малым объёмом оперативной памяти тяжело с большими программами.
Эта схема — не только тема для любопытных. По федеральной образовательной программе основного общего образования устройство компьютера входит в курс информатики, а двоичную систему изучают в 8 классе[1]. Программисту знание устройства помогает понять, почему программа «тормозит», куда пропадают данные после закрытия и что на самом деле делает строка print("Привет").
Разбираться, как устроен компьютер, лучше не по учебнику, а на собственных программах: каждое понятие ниже связано с тем, что происходит при запуске кода. Уверенная работа с файлами и папками пригодится и на экзамене: по материалам ФИПИ, в ОГЭ по информатике задания 11–16 выполняются на компьютере[4].
Процессор выполняет команды
Процессор — это микросхема, которая выполняет команды: сложить два числа, сравнить их, записать результат в память, перейти к другой команде. Каждая команда очень простая, но процессор выполняет миллионы и миллиарды таких команд в секунду.
Работа процессора — бесконечный повтор трёх шагов: взять из памяти очередную команду, понять, что она значит, выполнить. Затем всё повторяется со следующей командой. Если команда — «перейти», процессор продолжает не со следующей по порядку, а с указанного места. Понимать, как устроен компьютер на уровне команд, полезно именно здесь: так внутри работают условия и циклы, и для процессора if и while превращаются в сравнения и переходы.
programma = [("загрузить", 5), ("прибавить", 3), ("умножить", 2), ("вывести", 0)]
registr = 0
for komanda, chislo in programma:
if komanda == "загрузить":
registr = chislo
elif komanda == "прибавить":
registr += chislo
elif komanda == "умножить":
registr *= chislo
elif komanda == "вывести":
print(registr)
16
Эта маленькая программа на Python изображает игрушечный процессор: у него есть одна ячейка-регистр и 4 команды. Он выполняет их по порядку и выводит 16. Настоящий процессор устроен сложнее, но принцип тот же — список простых команд, выполняемых одна за другой. Попробуйте переписать «программу» в списке и посмотрите, как изменится результат, в онлайн-редакторе Python.
Оперативная память — рабочий стол
Оперативная память — это быстрая память, где лежат запущенные программы и их данные. Когда компьютер выключают, её содержимое пропадает, поэтому её называют энергозависимой.
Каждая переменная в вашей программе на время работы получает место в оперативной памяти. Когда вы пишете ochki = 10, Python выделяет кусочек памяти, записывает туда число и запоминает, что имя ochki связано с этим местом. Закрыли программу — память освобождается, и значение исчезает. Поэтому результат игры или список рекордов пропадёт, если не сохранить его в файл. Так устроен компьютер любого размера, и обойти это правило не получится: что должно пережить выключение, записывают на диск.
Память состоит из ячеек, у каждой есть номер — адрес. Процессор обращается к данным по адресам, примерно как почтальон находит квартиру по номеру. Программисту на Python об адресах думать не нужно: язык сам решает, куда что положить. А вот в C++ работа с адресами — важная тема, и это одна из причин, почему Python считают более простым для старта.
Постоянная память: диск и флешка
Постоянная память — это хранилище, которое сохраняет данные без электричества: жёсткий диск, SSD, флешка, карта памяти. Там живут операционная система, программы и ваши файлы с кодом.
Когда вы сохраняете программу в IDLE через Ctrl+S, текст копируется из оперативной памяти на диск в виде файла с расширением .py. Когда запускаете её, происходит обратное: файл читается с диска в оперативную память, и процессор начинает выполнять команды. Постоянная память медленнее оперативной, зато намного больше по объёму и не забывает данные.
| Свойство | Оперативная память | Постоянная память |
| Что хранит | Запущенные программы и их переменные | Файлы, программы, систему |
| После выключения | Всё стирается | Всё сохраняется |
| Скорость | Очень быстрая | Медленнее |
| Объём | Меньше | Обычно в разы больше |
| Пример из программирования | Значение переменной ochki | Файл igra.py |
Устройства ввода и вывода
Устройства ввода передают информацию в компьютер, устройства вывода — из компьютера человеку. Клавиатура, мышь, микрофон и камера — это ввод; монитор, динамики и принтер — вывод.
Для программиста ввод и вывод — не абстракция. Функция input() ждёт, пока вы наберёте текст на клавиатуре и нажмёте Enter, а print() отправляет текст на экран. В Scratch то же самое делают блоки «спросить и ждать» и «говорить». Некоторые устройства работают в обе стороны: сенсорный экран показывает картинку и принимает касания, сетевая карта и отправляет, и получает данные. Чтобы ребёнок мог писать программы, хватает самого обычного набора: клавиатура, мышь и экран; подробнее о выборе — в статье про компьютер для программирования.
Программа — последовательность команд
Программа — это последовательность команд, которую процессор выполняет одну за другой. Но процессор понимает только машинные команды в двоичном виде, поэтому текст на Python нужно сначала перевести.
Этим занимается интерпретатор — программа, которая читает ваш код и превращает его в действия процессора. Цепочка выглядит так: вы пишете текст в редакторе, сохраняете файл на диск, нажимаете F5, интерпретатор загружает файл в оперативную память, разбирает строки и даёт процессору команды, а результат появляется на экране. Одна из первых глав официальной документации Python посвящена как раз интерпретатору: как его запустить и как он читает команды. В C++ перевод делает компилятор заранее, и на выходе получается готовый файл с машинным кодом. Термины «интерпретатор», «компилятор» и другие собраны в словаре терминов программирования.
Эта идея старше персональных компьютеров. Сеймур Пейперт в книге «Mindstorms» описывал, как ребёнок, управляя черепашкой на языке Logo, начинает понимать компьютер как исполнителя, которого можно научить[2]. Исполнители Робот и Черепашка на школьных уроках продолжают ту же линию: у каждого есть набор команд, а программа — их последовательность.
Двоичный код: почему нули и единицы
Внутри компьютера всё — числа, буквы, картинки, команды — записано двоичным кодом: последовательностями из 0 и 1. Один такой знак называется битом, 8 битов составляют 1 байт.
Почему именно два знака? Электронной схеме проще всего различать два состояния: есть сигнал или нет. Из комбинаций битов можно составить любое число: 3 бита дают 8 вариантов, 8 битов — 256. Буквы тоже кодируются числами: латинская «A» имеет код 65, русская «ж» — 1078. Python умеет показывать двоичную запись и переводить обратно.
print(bin(13))
print(int("1101", 2))
print(ord("A"), ord("ж"))
print(chr(1078))
0b1101
13
65 1078
ж
Приставка 0b означает «дальше двоичное число». По федеральной образовательной программе в 8 классе учатся переводить целые числа от 0 до 1024 из десятичной системы в двоичную и обратно, а потренироваться можно в тренажёре на странице про двоичную систему счисления.
Когда упрощённая схема не подходит
Не стоит считать схему «процессор, память, ввод-вывод» полной картиной: она верна для начала, но в 4 случаях реальность сложнее.
- Несколько ядер. В современном процессоре часто 2 ядра и больше, и они выполняют команды одновременно, а не строго по одной.
- Видеокарта. У неё свой процессор и своя память, рассчитанные на тысячи одинаковых операций с пикселями сразу; 1 центральный процессор так не умеет.
- Кэш. Между процессором и оперативной памятью есть ещё 1–3 уровня очень быстрой памяти, о которых школьная схема молчит.
- Облако. Файлы в облачном хранилище лежат на чужом сервере, а ваш компьютер — лишь 1 из устройств, которые к ним обращаются.
Миф: «Компьютер думает и понимает, что ему пишут». Это не подтверждается тем, как он устроен: процессор выполняет команды, не понимая их смысла. Если в программе ошибка, компьютер честно выполнит ошибку — поэтому и нужна отладка.
Миф: «Чем больше памяти, тем быстрее любая программа». Прямой зависимости не существует: если программе хватает оперативной памяти, добавка не ускорит её. Скорость зависит и от процессора, и от того, как написан алгоритм.
Чего делать нельзя
Нельзя изучать устройство компьютера, вскрывая корпус без взрослого: внутри есть детали под напряжением и хрупкие разъёмы. Вот шесть правил для юного исследователя.
- Нельзя открывать корпус включённого компьютера или ноутбука на зарядке.
- Не следует выключать компьютер кнопкой питания во время сохранения файла — данные на диске могут повредиться.
- Не стоит хранить единственную копию проекта только на флешке: сделайте вторую.
- Не допускается ставить напитки рядом с клавиатурой и ноутбуком.
- Не стоит запускать программы с незнакомых сайтов, чтобы «проверить, как работает процессор».
- Не следует сидеть за экраном без перерывов: СанПиН ограничивает непрерывное использование электронных средств обучения[3].
Как компьютер хранит текст, картинки и звук в битах и байтах, подробно рассказано на странице про кодирование информации.
Источники
[1] Приказ Минпросвещения России от 18.05.2023 № 370 «Об утверждении федеральной образовательной программы основного общего образования».
[2] Papert S. Mindstorms: Children, Computers, and Powerful Ideas. New York: Basic Books, 1980.
[3] СанПиН 1.2.3685-21 «Гигиенические нормативы и требования к обеспечению безопасности и (или) безвредности для человека факторов среды обитания», утв. постановлением Главного государственного санитарного врача РФ от 28.01.2021 № 2, таблица 6.8.
[4] ФИПИ. Методические рекомендации для обучающихся по организации индивидуальной подготовки к ОГЭ 2026 года. Информатика. М., 2026.
[5] The Python Tutorial (официальная документация Python 3). Python Software Foundation.
Вопросы и ответы
Зачем программисту знать, как устроен компьютер?
Чтобы понимать, почему данные пропадают без сохранения, почему одна программа работает быстрее другой и что происходит при запуске кода. Для первых программ глубокие знания не нужны, но общая схема помогает.
Чем оперативная память отличается от диска?
Оперативная память быстрая, но забывает всё при выключении. Диск медленнее, зато хранит файлы годами. Программа во время работы живёт в оперативной памяти, а в выключенном виде — на диске.
Сколько бит в одном байте?
Восемь. Одним байтом можно записать 256 разных значений — от 0 до 255. В школьной информатике 1 килобайт считают равным 1024 байтам.
Смартфон тоже компьютер?
Да, в нём те же части: процессор, оперативная и постоянная память, ввод через сенсорный экран и микрофон, вывод на экран и в динамик. Различаются размер и операционная система.
Понимает ли процессор Python?
Нет, процессор понимает только машинные команды. Текст на Python переводит интерпретатор, который устанавливается вместе с языком.
С какого класса изучают устройство компьютера?
Базовая информатика по федеральной программе идёт в 7–9 классах по 1 часу в неделю, и устройство компьютера относится к её начальным темам. Двоичную систему изучают в 8 классе.