Когда компьютер включается, начинают работать три основных элемента — процессор, оперативная память и устройства хранения данных. Они образуют основу всей системы. Процессор исполняет команды программ, память удерживает данные во время работы, а диски сохраняют их надолго. Понимание того, как распределяются роли между ними, помогает разобраться в устройстве компьютера.
Центральный процессор или CPU называют мозгом компьютера. Он обрабатывает команды, выполняет арифметические и логические операции, управляет потоками данных. Скорость работы зависит от тактовой частоты и числа ядер. Чем выше частота, тем больше шагов процессор успевает выполнить за секунду.
Когда говорят о процессоре, чаще всего вспоминают два слова — ядро и тактовая частота. За ними скрывается сама суть работы компьютера.
Ядро — это как маленький исполнитель внутри процессора. Оно берёт команду и выполняет её шаг за шагом.
Тактовая частота показывает ритм, в котором работает ядро. Это своего рода метроном, задающий темп. Каждый такт — один шаг, одна операция. Чем выше частота, тем быстрее ядро движется по инструкциям. Миллиарды тактов в секунду превращают простейшие команды вроде «сложи два числа» или «сравни значения» в сложное и непрерывное поведение программ.
Вместе ядро и тактовая частота определяют характер процессора. Ядро дает возможность выполнять работу, а частота задаёт скорость, с которой ядро движется вперёд.
Когда компьютеры только начинали развиваться, у процессора было одно ядро. Оно работало всё быстрее и быстрее, потому что инженеры повышали тактовую частоту. Сначала это были сотни мегагерц, потом один гигагерц, потом два и больше. Чем выше частота, тем быстрее одно ядро выполняло команды.
Но у этого подхода быстро появилась проблема. Повышение частоты означало рост потребления энергии и тепла. Процессоры грелись настолько, что обычное охлаждение переставало справляться. Частота не могла расти бесконечно, иначе чипы просто перегревались бы.
Решение оказалось в другом. Вместо того чтобы заставлять одно ядро бежать всё быстрее, в процессоры начали добавлять ещё одно. Так в 2000-х появились первые массовые двухъядерные чипы. Теперь одно ядро могло заниматься, например, проигрыванием музыки, а второе — браузером. Задачи перестали мешать друг другу, и компьютер стал отзывчивее.
После этого количество ядер стало расти. Два, четыре, восемь — каждое добавляло возможность обрабатывать ещё одну цепочку команд параллельно. А тактовая частота сохранила значение, но уже как баланс: ядра отвечают за многозадачность, а частота — за скорость работы каждого из них.
Когда смотришь на характеристики процессора в магазине или в документации, ядра и частота всегда стоят на первых местах. Их стараются показать максимально понятно, потому что именно они формируют представление о мощности чипа.
Количество ядер обычно пишут как «2 ядра», «4 ядра», «8 ядер» или «16 ядер». Иногда указывают ещё и потоки: например, «6 ядер / 12 потоков». Это значит, что каждое ядро может выполнять сразу два набора инструкций. У Intel такую возможность называют Hyper-Threading, у AMD — SMT.
Тактовую частоту записывают в гигагерцах (ГГц). Например: «базовая частота 3.4 ГГц, в турбо-режиме до 5.0 ГГц». Базовая частота — это минимальный гарантированный уровень работы, а турбо — максимальный разгон при нагрузке. В характеристиках иногда указывают отдельно частоты для разных типов ядер: «P-cores 5.6 ГГц, E-cores 4.3 ГГц».
Когда процессор получает задачу, он действует очень просто: берёт команду из памяти, выполняет её и переходит к следующей. Этот цикл называют принципом «выбрать–выполнить».
Все команды и данные в компьютере представляют собой цепочки сигналов: есть ток — «1», нет тока — «0». Процессор работает только с такими сигналами. Каждый «0» или «1» называется битом. Из битов складываются байты и большие наборы данных.
Бит — это минимальная единица информации в компьютере. Он может принимать только два значения: 0 или 1. Для процессора это значит «нет сигнала» или «есть сигнал». Всё, что компьютер делает — числа, буквы, картинки, музыка — в итоге представлено набором нулей и единиц.
Байт — это набор из восьми бит. Почему именно восемь? Так исторически сложилось: восемь удобно разместить в одном элементе памяти, и этого хватает, чтобы закодировать большой набор символов.
Чтобы понять на примере:
- один бит может хранить только два состояния:
0
или1
- два бита дают уже четыре варианта:
00
,01
,10
,11
- восемь бит (байт) дают 256 вариантов — от
00000000
до11111111
.
Этого достаточно, чтобы закодировать, например, все буквы латинского алфавита, цифры, знаки препинания и ещё служебные символы. Поэтому текст «Привет» в памяти компьютера хранится как набор байтов — у каждой буквы есть свой числовой код, а этот код записан в двоичном виде.
Просто: бит — это 0 или 1, байт — это восемь бит, из которых можно собрать до 256 разных значений.
Да, конечно. Бит и байт — это самые маленькие кирпичики, но над ними есть более крупные единицы измерения. Они нужны, чтобы удобнее описывать объём данных и скорость работы компьютера.
После байта обычно идут:
— Килобайт (КБ) — примерно тысяча байтов (точно 1024 байта, потому что всё в компьютере считается степенями двойки). — Мегабайт (МБ) — около миллиона байтов (1024 КБ). — Гигабайт (ГБ) — около миллиарда байтов (1024 МБ). — Терабайт (ТБ) — примерно триллион байтов (1024 ГБ). — Петабайт (ПБ), эксабайт (ЭБ) и так далее — это уже размеры для суперкомпьютеров и огромных дата-центров.
Кроме единиц объёма, есть и другие понятия. Например: — Слово (word) — это порция данных, с которой процессор работает за один шаг. У разных архитектур слово может быть 16, 32 или 64 бита. — Ниббл (nibble) — это половина байта, то есть 4 бита. Иногда используется для описания очень маленьких данных.
Получается иерархия: бит — байт — слово — килобайт — мегабайт — гигабайт и дальше вверх.
Начнём с бита. Для процессора бит — это сигнал: 0 или 1. Внутри чипа миллиарды транзисторов переключаются, пропуская или не пропуская ток. Эти переключения и есть «логика», на которой строится всё вычисление. Процессор складывает, сравнивает и двигает именно биты.
Байт для процессора — это минимальный удобный кусок данных. Почти все современные архитектуры устроены так, что байт (8 бит) — это стандартная «ячейка», с которой CPU работает. Например, один байт может хранить код символа «A» или число от 0 до 255.
Дальше идёт важное понятие — разрядность процессора. Это ширина «слова», то есть сколько бит процессор обрабатывает за один такт. Старые процессоры были 8-битные (например, первые домашние компьютеры). Потом появились 16-битные, затем 32-битные, а сегодня массово используются 64-битные CPU.
Для процессора это значит:
- 8-битный CPU работает с байтами как с основными числами
- 32-битный CPU за один шаг может обработать число из 32 бит (4 байта)
- 64-битный CPU — число из 64 бит (8 байт).
То есть для нас «гигабайт памяти» — это объём хранения. А для процессора байт и слово — это его рабочие единицы, инструменты, которыми он оперирует на каждом шаге.
Команды, которые исполняет процессор, тоже закодированы нулями и единицами. Например, для него «сложить два числа» или «сравнить значения» — это определённая комбинация бит. Когда процессор видит такую комбинацию, он понимает: нужно выполнить соответствующее действие.
Числа, текст, изображения — всё сводится к двоичному коду. Буква «А» в памяти — это цепочка из 0 и 1. Цвет пикселя на экране — тоже набор битов. Процессор не видит букв и картинок, он работает только с двоичным представлением.
Поэтому можно сказать просто: процессор живёт в мире нулей и единиц, а всё, что мы видим — текст, звук, видео, — это лишь разные способы представить и обработать эти комбинации.
Хорошо, давай разберём пошагово и очень просто: как процессор превращает нули и единицы в работу программы.
Шаг 1. Команда хранится в памяти.
Любая программа в конце концов сводится к длинному списку чисел — это и есть машинный код. Каждое число записано в двоичном виде: нули и единицы.
Шаг 2. Процессор читает команду.
Он достаёт из памяти очередной набор битов. Например, комбинация
10110000
может означать «запиши число в регистр», а00000001
— «прибавь единицу».Шаг 3. Декодирование.
Специальный блок внутри процессора, блок управления, смотрит на последовательность 0 и 1 и решает, что именно нужно сделать: сложить, сравнить или перейти к другому шагу.
Шаг 4. Выполнение.
Арифметико-логическое устройство выполняет действие: складывает числа, сравнивает значения или сохраняет результат в память.
Шаг 5. Переход к следующей команде.
Процессор берёт следующий набор битов и повторяет цикл снова. Это идёт непрерывно, миллиарды раз в секунду.
Таким образом, «0» и «1» для процессора — это язык команд. Он не видит букв и картинок, а работает только с двоичными кодами. Всё остальное — лишь представление этих кодов для человека.
На человеческом языке
Мы пишем:
2 + 3
На языке программирования (например, C)
int a = 2 + 3;
Это удобно человеку, но процессор такого не понимает.
В ассемблере (язык ближе к «железу»)
Ассемблер переводит задачу на команды, которые CPU умеет исполнять:
MOV AX, 2 ; записать число 2 в регистр AX ADD AX, 3 ; прибавить к регистру AX число 3
Тут видно: процессор выполняет команды пошагово — «положи» и «прибавь».
В машинном коде (нули и единицы)
Ассемблер транслируется в набор битов. Например, для x86 команды будут такими:
1011 0000 0000 0010 ; MOV AX, 2 0000 0101 0000 0011 ; ADD AX, 3
Это уже язык, который процессор читает напрямую. Каждая последовательность 0 и 1 — это инструкция.
Выполнение внутри CPU
- блок управления считывает комбинацию битов
- понимает, что нужно сделать (например, «добавить»)
- арифметико-логическое устройство выполняет операцию
- результат (5) записывается обратно в регистр или память.
И всё это занимает доли наносекунды. Мы видим ответ «5», но процессор просто прошёл через цепочку из команд, представленных нулями и единицами.
Бит — это минимальная единица информации в компьютере. Он может принимать только два значения: 0 или 1. Для процессора это значит «нет сигнала» или «есть сигнал». Всё, что компьютер делает — числа, буквы, картинки, музыка — в итоге представлено набором нулей и единиц.
Байт — это набор из восьми бит. Почему именно восемь? Так исторически сложилось: восемь удобно разместить в одном элементе памяти, и этого хватает, чтобы закодировать большой набор символов.
Чтобы понять на примере:
- один бит может хранить только два состояния:
0
или1
- два бита дают уже четыре варианта:
00
,01
,10
,11
- восемь бит (байт) дают 256 вариантов — от
00000000
до11111111
.
Этого достаточно, чтобы закодировать, например, все буквы латинского алфавита, цифры, знаки препинания и ещё служебные символы. Поэтому текст «Привет» в памяти компьютера хранится как набор байтов — у каждой буквы есть свой числовой код, а этот код записан в двоичном виде.
Просто: бит — это 0 или 1, байт — это восемь бит, из которых можно собрать до 256 разных значений.
Да, конечно. Бит и байт — это самые маленькие кирпичики, но над ними есть более крупные единицы измерения. Они нужны, чтобы удобнее описывать объём данных и скорость работы компьютера.
После байта обычно идут:
- Килобайт (КБ) — примерно тысяча байтов (точно 1024 байта, потому что всё в компьютере считается степенями двойки).
- Мегабайт (МБ) — около миллиона байтов (1024 КБ).
- Гигабайт (ГБ) — около миллиарда байтов (1024 МБ).
- Терабайт (ТБ) — примерно триллион байтов (1024 ГБ).
- Петабайт (ПБ), эксабайт (ЭБ) и так далее — это уже размеры для суперкомпьютеров и огромных дата-центров.
Кроме единиц объёма, есть и другие понятия. Например:
- Слово (word) — это порция данных, с которой процессор работает за один шаг. У разных архитектур слово может быть 16, 32 или 64 бита.
- Ниббл (nibble) — это половина байта, то есть 4 бита. Иногда используется для описания очень маленьких данных.
Получается иерархия: бит — байт — слово — килобайт — мегабайт — гигабайт и дальше вверх.
Начнём с бита. Для процессора бит — это сигнал: 0 или 1. Внутри чипа миллиарды транзисторов переключаются, пропуская или не пропуская ток. Эти переключения и есть «логика», на которой строится всё вычисление. Процессор складывает, сравнивает и двигает именно биты.
Байт для процессора — это минимальный удобный кусок данных. Почти все современные архитектуры устроены так, что байт (8 бит) — это стандартная «ячейка», с которой CPU работает. Например, один байт может хранить код символа «A» или число от 0 до 255.
Дальше идёт важное понятие — разрядность процессора. Это ширина «слова», то есть сколько бит процессор обрабатывает за один такт. Старые процессоры были 8-битные (например, первые домашние компьютеры). Потом появились 16-битные, затем 32-битные, а сегодня массово используются 64-битные CPU.
Для процессора это значит:
- 8-битный CPU работает с байтами как с основными числами
- 32-битный CPU за один шаг может обработать число из 32 бит (4 байта)
- 64-битный CPU — число из 64 бит (8 байт).
То есть для нас «гигабайт памяти» — это объём хранения. А для процессора байт и слово — это его рабочие единицы, инструменты, которыми он оперирует на каждом шаге.
Современные процессоры строятся на разных архитектурах, то есть системах команд, которые они способны выполнять. Наибольшее распространение получили x86-64 и ARM.
Архитектура x86 появилась в 1978 году с выпуском процессора Intel 8086. Цифры «86» стали обозначать всё семейство: позже были выпущены модели 286, 386, 486. Позднее архитектура получила поддержку 64-битных чисел и стала называться x86-64. Сегодня её используют настольные компьютеры и большинство серверов.
Архитектура ARM расшифровывается как Advanced RISC Machine. Она появилась в 1980-х годах в Великобритании. В её основе лежит принцип RISC (Reduced Instruction Set Computer) — сокращённый набор команд. Для сравнения, x86 относится к классу CISC (Complex Instruction Set Computer), где инструкции более сложные. В RISC-командах меньше действий, зато они выполняются быстрее и требуют меньше энергии. Поэтому ARM широко применяется в телефонах, планшетах и других мобильных устройствах. На базе ARM работают и процессоры Apple серии M (M1, M2, M3), используемые в ноутбуках и настольных компьютерах.
Внутри процессора можно выделить несколько ключевых блоков. Арифметико-логическое устройство (ALU) выполняет математические операции. Блок управления (CU) определяет порядок команд. Регистры хранят временные данные. Кеш стоит между ядром и оперативной памятью и ускоряет доступ к последним использованным значениям. В основе всех этих элементов лежат транзисторы — переключатели электрических сигналов.
Разные процессоры создаются под разные задачи.
Настольные CPU — это знакомые серии Intel Core и AMD Ryzen. Они рассчитаны на сочетание производительности, энергопотребления и цены. Такие процессоры ставят в игровые и рабочие ПК.
Серверные CPU работают в дата-центрах и корпоративных системах. Здесь важны количество ядер, поддержка больших объёмов оперативной памяти и стабильная работа без перерывов. У Intel это линейка Xeon, у AMD — EPYC. Эти процессоры могут содержать десятки ядер, поддерживать терабайты памяти и работать в многопроцессорных конфигурациях. Часто они поддерживают ECC-память для защиты от ошибок и технологии виртуализации.
Мобильные CPU применяются в ноутбуках, планшетах и смартфонах. Их главная цель — энергоэффективность. Обычно они строятся на архитектуре ARM. Здесь заметны Qualcomm (Snapdragon), MediaTek, Samsung (Exynos), а также Apple с сериями A и M. Процессоры Apple M1, M2, M3 объединяют CPU, графику и нейросетевой блок в одном кристалле. Такой тип называют SoC (System on a Chip) — система на кристалле.
Встроенные CPU (embedded) используют в бытовой технике, автомобилях, промышленных контроллерах и системах «умного дома». Они компактны, надёжны и часто выполняют одну задачу, но стабильно и с минимальными затратами энергии.
Специализированные процессоры появились для работы с искусственным интеллектом и машинным обучением. У Google это TPU, у NVIDIA — ускорители Hopper и Ampere, у Apple — Neural Engine. Формально они не CPU, а сопроцессоры, но дополняют центральный процессор, выполняя задачи параллельно.
Скорость компьютера нельзя оценить только по гигагерцам. На работу процессора влияет сразу несколько вещей: его частота, количество ядер, размер внутренней памяти и то, как устроена сама архитектура.
Внутренняя память процессора называется кеш. Она работает быстрее обычной оперативной памяти и хранит последние использованные данные. У кеша есть уровни.
- L1 — самый быстрый, но маленький.
- L2 — чуть больше и медленнее.
- L3 — самый большой и общий для нескольких ядер, но скорость у него ниже. Чем ближе данные к ядру, тем быстрее процессор их получает.
У процессора есть несколько ступеней доступа к данным. Сначала он смотрит в регистры — это совсем крошечная память внутри ядра. Потом — в кеш. Если данных там нет, он обращается к оперативной памяти. В крайнем случае идёт на накопитель — жёсткий диск или SSD. Чем дальше ступень, тем больше задержка. Иногда процессор простаивает не потому, что ему сложно посчитать, а потому что он ждёт данные. Чтобы уменьшить такие паузы, инженеры придумали предвыборку — процессор загружает вперёд то, что может пригодиться, — и многопоточность, когда ядро берёт сразу несколько задач.
Есть ещё один приём — конвейер. Процессор делит работу на этапы. Пока одна команда выполняется, другая уже считывается, а третья готовится к запуску. Так удаётся сделать больше за то же время.
Современный процессор включает в себя не только ядра и кеш (Cache). В него встроены разные дополнительные блоки. Есть контроллер памяти (Memory Controller) — он управляет работой с оперативной памятью (RAM) и помогает процессору быстрее получать данные. Есть каналы связи с устройствами — это шина PCI Express (PCIe), через неё процессор соединяется с видеокартами (GPU) и накопителями (SSD, HDD). В некоторых моделях есть встроенная графика (iGPU, Integrated Graphics Processing Unit), которая позволяет выводить изображение без отдельной видеокарты. В новых поколениях встречаются специальные блоки для нейросетей (NPU, Neural Processing Unit).
Когда все эти элементы собраны в одном чипе, такой процессор называют SoC (System on a Chip) — «система на кристалле».
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.