TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.54K subscribers
Post #3022 164
Как процессор предсказывает ветвления

Псевдотранскрипт доклада объясняет тему с нуля. Конвейер начинает следующую инструкцию до завершения предыдущей, но после условного перехода ещё не знает её адрес. Процессор выбирает путь заранее, а при ошибке отбрасывает начатую работу.

В учебной модели ветвления составляют 20% инструкций, а промах стоит 20 тактов. Без предсказания получается 4,8 такта на инструкцию, с идеальным — один. Прогноз по последнему результату ветвления повышает точность до 85%.

Материал «Branch prediction» ведёт от статических правил к таблице истории и объясняет, почему разные переходы могут занять одну её ячейку. Читать стоит тем, кто исследует низкоуровневую производительность или хочет понимать работы о предсказателях. Расчёты сделаны на упрощённой модели, поэтому цену ветвлений в коде нужно измерять.
More from @prog_stuff
  1. Sep 20, 2026Почему одни движки регулярных выражений зависают, а другие нет Обстоятельная статья Расса…
  2. Sep 19, 2026Как проверять изменения без риска для всего трафика Компактный разбор о снижении риска при…
  3. Sep 19, 2026Как собрать модель пиковой нагрузки из боевой телеметрии Обстоятельный гайд о замене выгру…
  4. Sep 18, 2026Как работает фильтр Блума и когда его неточность экономит память Фильтр Блума сообщает: «э…
  5. Sep 17, 2026Как работает однопошаговый отладчик Linux на ptrace Обстоятельная статья разбирает основу…
  6. Sep 17, 2026Как конечные автоматы индексируют миллиарды строк Обстоятельный разбор Эндрю Галланта пока…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →