• Логический контракт: абстрактная модель процессора для компилятора и программиста.
• Специфицирует: состав регистров (GPR), форматы команд, разрядность адресации, типы данных, режимы прерываний.
• Примеры ISA: x86-64, ARMv8/v9, RISC-V, MIPS.
• Физическая реализация: конкретное схемотехническое кремниевое воплощение ISA на кристалле.
• Включает: глубину конвейера, предсказатели переходов, размер кэшей L1/L2, число исполнительных блоков ALU.
• Примеры: Intel Raptor Cove, AMD Zen 4, Apple Firestorm.
Ключевой вывод: Разные микроархитектуры могут безупречно исполнять один и тот же бинарный машинный код одной ISA.
Центральный процессор состоит из функционально независимых, но потактово синхронизированных аппаратных блоков:
Вычислительное ядро процессора: аппаратные сумматоры, логические вентили, сдвигатели и матричные умножители.
Дирижер кристалла: выборка инструкций, дешифрация опкодов, генерация управляющих импульсов и тактирование шин.
Сверхбыстрая статическая память прямо в ядре: регистры общего назначения (РОН), счетчик команд (PC), указатель стека (SP), флаги (FLAGS).
Гарвардское разделение: отдельный кэш команд (L1i) для выборки без задержек и кэш данных (L1d) для работы со стеком и операндами.
ALU (Arithmetic Logic Unit) — комбинационная логическая схема, преобразующая операнды по заданному коду операции:
Устройство управления (CU) преобразует машинные инструкции в синхронную последовательность микрокоманд:
В современных процессорах аппаратный декодер трансформирует команды x86 во внутренний поток μops, который затем исполняется RISC-ядром.
| Регистр | Обозначение в x86-64 / ARM / RISC-V | Функциональное назначение |
|---|---|---|
| РОН (GPR) | RAX–RDX, R8–R15 / X0–X31 / x0–x31 | Хранение промежуточных переменных, счетчиков циклов, указателей. |
| PC / IP | RIP (Instruction Pointer) / PC | Адрес в памяти, откуда извлекается следующая команда. |
| SP | RSP / SP (Stack Pointer) | Указатель на вершину стека вызовов (LIFO) в оперативной памяти. |
| FLAGS | RFLAGS / CPSR / fcsr | Битовые признаки операций: ZF (ноль), SF (знак), CF (перенос), OF (переполнение). |
Латентность доступа к регистровому файлу составляет 0–1 такт ядра, что делает его самым быстрым хранилищем процессора.
• Физически разделен внутри ядра:
- L1i (Instruction): кэш команд (32–64 КБ), латентность ~4 такта.
- L1d (Data): кэш данных (32–64 КБ) с портами чтения/записи.
• Исключает конфликт выборки кода и операндов.
• L2 (Уровень ядра): 512 КБ – 2 МБ на ядро, задержка ~12–14 тактов. Содержит и код, и данные.
• L3 (Общий для чипа / LLC): 16–96+ МБ, разделяется всеми ядрами процессора. Сглаживает обращение к DRAM (латентность ~35–45 тактов).
Кэш-память строится на быстрых 6-транзисторных SRAM-ячейках и предотвращает простои ядра при ожидании оперативной памяти.
CISC (Complex Instruction Set Computer) — концепция «богатого» набора инструкций, созданная в эпоху дорогой памяти:
NOP) до 15 байт со сложными префиксами и смещениями.ADD EAX, [EBX+4].RISC (Reduced Instruction Set Computer) — ставка на простоту кремния и эффективность конвейера:
ADD R0, R1, R2). Память доступна только через инструкции LDR (Load) и STR (Store).VLIW (Very Long Instruction Word — Сверхдлинное командное слово):
| Характеристика | CISC (x86-64) | RISC (ARM, RISC-V) | VLIW (Эльбрус) |
|---|---|---|---|
| Длина команд | Переменная (1–15 байт) | Фиксированная (32 бит) | Фиксированная связка (128–512 бит) |
| Доступ к памяти | Любая команда (Регистр-Память) | Только LOAD / STORE | Только через слоты LOAD / STORE |
| Планирование | Аппаратное динамическое (OoO) | In-Order или динамическое OoO | Строго статическое компилятором |
| Энергоэффективность | Умеренная (траты на декодер) | Максимальная | Высокая удельная на ватт |
Выполнение команды разбивается на 5 независимых стадий, работающих одновременно над разными командами:
Intel Core / AMD Ryzen. Высокая однопоточная производительность, агрессивный Out-of-Order, 3D V-Cache L3.
Гетерогенные ядра: мощные Cortex-X для интерактивных задач и экономичные Cortex-A510 для фоновых процессов.
Модульная ISA: базовый набор RV32I/RV64I + расширения (M — умножение, A — атомики, C — сжатые команды).
Векторные процессоры обработки сигналов, радаров и нейросетей с детерминированным временем исполнения.
Частота × IPC (инструкций за такт). 3 ГГц чип с широким конвейером превосходит 4 ГГц чип с узким.