Многоуровневая организация компьютера
Цифровой компьютер исполняет только примитивные команды — сложить числа, сравнить с нулём, скопировать блок памяти. Писать игру или сайт сразу на таком языке трудно и утомительно. Решение — уровни абстракции: каждый следующий «язык» удобнее для человека, а нижележащий уровень переводит или исполняет его по правилам.
Эта модель — сквозная нить курса «Как работает компьютер»: она связывает железо, программу и операционную систему.
Проблема — два языка
У реального процессора есть машинный язык Я0 — набор инструкций, которые понимает кремний. Программист хочет писать на Я1 — языке, где есть переменные, циклы и функции.
| Подход | Что происходит | Пример |
|---|---|---|
| Трансляция | Вся программа на Я1 переписывается в программу на Я0, затем исполняется | C → машинный код через компилятор |
| Интерпретация | Каждая команда Я1 по очереди разбирается и сразу выполняется на Я0 | Python в CPython (с байт-кодом) |
Удобнее думать так: существует виртуальная машина M1, для которой «родным» является Я1. Программы пишут для M1, а реальное железо M0 исполняет их через транслятор или интерпретатор. Подробнее про конвейер компиляции — в Компиляторы и интерпретаторы.
Лестница уровней
Если Я1 всё ещё слишком низок, добавляют Я2, Я3 и так далее, пока верхний уровень не станет удобным. Каждый язык опирается на предыдущий — получается иерархия виртуальных машин.
Термин «уровень» и «виртуальная машина» в архитектуре компьютеров часто означают одно и то же. Слово «виртуальная машина» в другом смысле — гостевая ОС в Hyper-V или VirtualBox (раздел про ОС).
Шесть уровней современного ПК
Типичная схема для настольного компьютера и смартфона:
| Уровень | Название | Что здесь | Как поддерживается |
|---|---|---|---|
| 0 | Аппаратура | Транзисторы, провода | Физика |
| 1 | Цифровая логика | Вентили, регистры, шины | Схемы на кристалле |
| 2 | Микроархитектура | Конвейер, АЛУ, кэш L1/L2 | «Внутренности» CPU |
| 3 | ISA | Машинные команды x86 / ARM | Спецификация + реализация в CPU |
| 4 | ОС | Файлы, процессы, сокеты | Windows, Linux, Android |
| 5 | Ассемблер | Мнемоники mov, add | NASM, GNU as |
| 6+ | Языки и приложения | Python, браузер, IDE | Компиляторы, интерпретаторы, JIT |
Уровень 2 — микроархитектура
На этом уровне видны регистры, АЛУ и тракт данных. Одна «микрооперация» — выбрать регистры, выполнить сложение, записать результат.
Современные CPU почти всегда используют конвейер и кэш — это уровень 2, а не то, что описано в справочнике ISA. Команда ADD в ассемблере — уровень 3; то, как Pentium или Apple M2 её разбивает на стадии — уровень 2. Подробнее — Архитектура фон Неймана, RISC и CISC, ЭВМ.
Уровень 3 — архитектура набора команд (ISA)
ISA (Instruction Set Architecture) — контракт между программой и процессором: какие команды есть, какие регистры, как адресовать память. Программа, собранная под x86-64, на ARM без пересборки или эмуляции не запустится.
| Семейство | Где встречается | Заметка |
|---|---|---|
| x86 / x86-64 | ПК, многие серверы | Исторически CISC; внутри — RISC-подобное ядро |
| ARM | Смартфоны, одноплатники, Apple Silicon | Доминирует в мобильных и встраиваемых |
| RISC-V | Эксперименты, новые чипы | Открытая спецификация |
| AVR | Arduino Uno, бытовая электроника | Микроконтроллеры с крошечной памятью |
Три эталонных процессора — Core i7, OMAP4430 (ARM) и ATmega168 (AVR) — показывают один и тот же принцип уровней на разном масштабе: от сервера до микросхемы в бытовой технике. Подробнее — Встраиваемые системы.
Уровень 4 — операционная система (гибридный)
ОС — гибридный уровень: часть команд совпадает с ISA (например, системные вызовы опираются на инструкции процессора), часть — новые абстракции, которых в железе нет буквально.
| Абстракция ОС | Что скрывает от программы |
|---|---|
| Файл | Сектора диска, контроллер NVMe, прерывания |
| Процесс | Переключение регистров, таблицы страниц |
| Сокет | Пакеты Ethernet, драйвер сетевой карты |
| Поток | Планировщик, очереди готовности |
Программист открывает report.pdf — это уровень 4. ОС переводит операцию в обращения к драйверу и DMA — уровни 3–1. Две роли ОС — виртуальная машина и диспетчер ресурсов.
Уровни 5–6 — ассемблер и языки
Ассемблер — символическая форма ISA: вместо 0x48 0x89 0xE5 пишут mov rbp, rsp. Компилятор C или интерпретатор Python поднимают абстракцию ещё выше.
Цепочка для типичной программы на C:
- Исходник
.c→ компилятор → объектный модуль (уровень 3–4). - Линковщик → исполняемый файл.
- ОС загружает файл в память, создаёт процесс (уровень 4).
- CPU исполняет машинные команды (уровни 2–3).
Для Python часть пути — байт-код и виртуальная машина CPython (исполнение программы).
Зачем это знать на практике
| Ситуация | Какой уровень помогает |
|---|---|
| «Программа тормозит» | 2 (кэш, конвейер), 4 (swap, планировщик) |
| «Не запускается на другом процессоре» | 3 (ISA, ARM vs x86) |
| «Файл не читается» | 4 (права, ФС), иногда 1 (диск) |
| «Сборка под Linux, не под Windows» | 4–6 (API, ABI, линковка) |
| «Прошивка Arduino» | 2–3 (AVR, MMIO) — встраиваемые системы |
Куда читать дальше
- Принцип работы компьютера — обзор железа и видов машин.
- Память и накопители — иерархия от кэша до SSD.
- Поколения вычислительной техники — история от механики до VLSI.
- RISC и CISC — философии проектирования ISA.
- ЭВМ — инженерное углубление (регистры, шины, прерывания).
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Не нужно недооценивать знания о компьютере. Если вам не интересны "железки", это не освобождает вас от необходимости понимать, как работает устройство. RAM, ROM, SRAM, DRAM, DDR, HDD и SSD — как устроена иерархия памяти и storage в компьютере, чем отличаются волатильные и постоянные носители. Разбираем устройство и взаимодействие всех ключевых компонентов компьютера. ★ Хранилище данных — устройство, где данные хранятся постоянно; другие устройства «забирают» их для чтения и записывают обратно. Видеокарта (графический адаптер, графическая плата) представляет собой специализированное вычислительное устройство, предназначенное для ускорения обработки, генерации и вывода графической информации. Описываем ключевые периферийные и вспомогательные компоненты компьютера. Каждый раз при включении компьютера запускается цепочка программ, которая превращает «мёртвое» железо в живую вычислительную систему. Компьютер — это электронная система, которая принимает данные, обрабатывает их по заданным правилам и выдаёт результат. Ноутбук — это автономное персональное вычислительное устройство, объединяющее в едином корпусе вычислительные компоненты, средства ввода (клавиатура и тачпад), вывода (встроенный дисплей), источники. В современной цифровой экосистеме мобильные устройства стали неотъемлемым инструментом как повседневной жизни, так и профессиональной деятельности. Клавиатура — раскладка, служебные клавиши, F1–F12, Delete и переключение языка; карта клавиш — в отдельной статье раздела. Где какие клавиши находятся, что делают раскладки, модификаторы и основные клавиши в Windows и на Mac.Принцип работы компьютера
Память и накопители — типы и иерархия
Компоненты компьютерного железа
Устройства хранения данных
Графические процессоры и видеокарты
Периферийные устройства компьютера
Загрузка операционной системы
Архитектура персонального компьютера
Ноутбуки
Мобильные устройства
Клавиатура
Клавиши для новичка