Процессор физически устроен так, что читать данные из памяти удобнее, когда они выровнены.

В подавляющем большинстве современных архитектур (x86/x64, ARM) минимальный адресуемый размер — это байт.

  • int (4 байта) должен быть выровнен по адресу, кратному 4.
  • long long (8 байт) должен быть выровнен по адресу, кратному 8.

Из-за этого младшие 2 бита (для 4-байтовых типов) или младшие 3 бита (для 8-байтовых типов) у корректного указателя всегда равны нулю.

Программисты и компиляторы этим активно пользуются — они прячут в эти “мертвые” биты служебную информацию (например, теги типов, цвет в красно-черных деревьях, флаги сборщика мусора), зануляя их перед разыменованием.

Можно ли сказать, что нижние несколько битов в указателе как правило не используются из-за того, что объекты в памяти выравниваются на размер линейки кеша процессора?

Кеш-линейка современного процессора имеет размер 64 байта (реже 128 байт). Это означает, что она выровнена по границе 64 байт, то есть младшие 6 бит адреса всегда нулевые.

  • Вежливый_ЛисOPM
    link
    fedilink
    arrow-up
    1
    ·
    11 days ago

    2006 — Core (первое поколение линейки Core). Поворотный момент: после проблем с NetBurst (Pentium 4) Intel сделала ставку на энергоэффективность и многоядерность.

    2008 — Nehalem (1-е поколение Core i). Появился встроенный контроллер памяти (снизил задержки), общий кэш L3, вернулась технология Hyper-Threading.

    2010 — Westmere. По сути, Nehalem, перенесённый на более тонкий техпроцесс (32 нм). Важное дополнение — впервые в массовых процессорах Intel появилась встроенная графика.

    2011 — Sandy Bridge (2-е поколение). Ключевое новшество: графическое ядро наконец-то интегрировали прямо в кристалл CPU, а не оставляли отдельным чипом на материнской плате. Также улучшили конвейер, добавили AVX.

    2012 — Ivy Bridge (3-е поколение). Переход на 22 нм. Появилась поддержка PCIe 3.0, более быстрая память DDR3-1600, обновлённая встроенная графика.

    2013 — Haswell (4-е поколение). Увеличили буферы для инструкций, вдвое ускорили кэши L1/L2, у L3 появилась независимая от ядер частота. В топовых мобильных моделях впервые использовали кристалл eDRAM как кэш L4.

    2014–2015 — Broadwell (5-е поколение). Технологический шаг: переход на 14 нм. Чуть доработали буферы и блок операций с плавающей запятой, заметно усилили встроенную графику (Iris Pro). В некоторых моделях сохранили eDRAM.

    2015 — Skylake (6-е поколение). Фундаментальные изменения: переработали контроллер памяти, улучшили обработку ветвлений и работу кэша. Ключевой шаг — переход на DDR4 в массовых процессорах и новый сокет LGA 1151.

    2017 — Kaby Lake (7-е поколение). По сути, оптимизированный 14-нм техпроцесс: удалось заметно поднять тактовые частоты, добавили поддержку более быстрой памяти DDR4-2400.

    2017–2018 — Coffee Lake (8-е поколение). В массовых десктопных моделях впервые появились 6 ядер.

    2018 — Coffee Lake Refresh (9-е поколение). До 8 ядер в массовых моделях. 2020 — Comet Lake (10-е поколение). Дальнейшее увеличение числа ядер на 14 нм. 2021 — Rocket Lake (11-е поколение, десктоп) и Tiger Lake (11-е поколение, мобильный сегмент). В Rocket Lake появилась поддержка AVX-512, в Tiger Lake — новая встроенная графика Xe.

    2021 — Alder Lake (12-е поколение). Революционный шаг: гибридная архитектура. В одном чипе сосуществуют производительные P-ядра (Golden Cove) и энергоэффективные E-ядра (Gracemont). Также появилась поддержка DDR5 и PCIe 5.0, для координации работы ядер ввели Thread Director.

    2022 — Raptor Lake (13-е поколение). Увеличили количество E-ядер, заметно расширили кэш L2, подняли тактовые частоты.

    2023 — Raptor Lake Refresh (14-е поколение). Финальное крупное обновление на сокете LGA 1700. В некоторых моделях (например, i7-14700K) добавили E-ядра.

    2024 — Arrow Lake (Core Ultra Series 2). Смена названия линейки (больше не «Core i»), переход на новую платформу (сокет LGA 1851), продолжение развития гибридной и тайловой архитектуры.

    2026 — Panther Lake (Core Ultra Series 3). Акцент на ИИ-задачи и энергоэффективность. Производится по новейшему техпроцессу Intel 18A.