en.wikipedia.org/wiki/Branch_predictor
3 corrections found
In static prediction, all decisions are made at compile time, before the execution of the program.
This is too absolute: static branch prediction is not always purely compile-time. CPUs can also apply fixed hardware heuristics, such as predicting from branch direction, without using dynamic history.
Full reasoning
The statement says all static-prediction decisions are made at compile time, but authoritative sources describe hardware static prediction as well.
- Intel’s optimization manual states that when there is no dynamic-branch-history entry, “the static predictor makes a prediction based on the direction of the branch.” That is a hardware decision made at run time, not at compile time.
- A classic branch-prediction paper likewise says “Static branch prediction can also be done with simple hardware such as prediction using branch direction (backward taken, forward not taken).”
So while some static prediction is indeed compile-time/compiler-driven, it is incorrect to say that all static prediction decisions are made at compile time.
2 sources
- Compiler Synthesized Dynamic Branch Prediction
“Static branch prediction can also be done with simple hardware such as prediction using branch direction (backward taken, forward not taken) [15].”
- Intel® 64 and IA-32 Architectures Optimization Reference Manual
“... the static predictor makes a prediction based on the direction of the branch.”
Most of the state-of-the-art branch predictors are using a perceptron predictor (see Intel's "Championship Branch Prediction Competition").
This overstates perceptron use. Modern high-accuracy branch predictors are widely described as TAGE/TAGE-derived, and the cited Championship Branch Prediction competition was won by TAGE-based designs, not by perceptron-only predictors.
Full reasoning
Current high-end branch-prediction literature does not support the claim that most state-of-the-art predictors are using a perceptron predictor.
Evidence points the other way:
- The BOOM processor documentation explicitly describes TAGE as a “state-of-the-art global history predictor.”
- A MICRO 2020 paper states even more strongly that “All state-of-the-art branch predictors are variants of TAGE.”
- The branch-prediction competition cited in the article did not establish perceptrons as the dominant state of the art: INRIA’s report on the 2016 Championship Branch Prediction competition says the PACAP team’s TAGE-SC-L and MTAGE-SC predictors won the three tracks of the competition.
Perceptron-based predictors are an important line of research, and some modern predictors use neural/perceptron components or hybrids. But the sentence as written is inaccurate because it presents perceptrons as the predominant state-of-the-art approach, whereas authoritative sources describe TAGE/TAGE-derived predictors as the main state-of-the-art baseline and competition winners.
3 sources
- The Backing Predictor (BPD) - RISCV-BOOM documentation
“TAGE is a highly-parameterizable, state-of-the-art global history predictor.”
- 2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
Search snippet: “All state-of-the-art branch predictors are variants of TAGE”.
- PACAP - 2016 - Rapport annuel d'activité
“The predictors submitted by the PACAP-team, respectively TAGE-SC-L and MTAGE-SC, for limited storage budgets and infinite storage budgets won the three tracks of the competition [46], [45].”
The AMD Ryzen multi-core processor's Infinity Fabric and the Samsung Exynos processors include perceptron-based neural branch predictors.
This is inaccurate as written because AMD Infinity Fabric is an interconnect, not the branch-prediction mechanism. Samsung Exynos cores have been described as using a neural-net branch predictor, but Infinity Fabric itself is AMD’s system interconnect.
Full reasoning
The problem is the AMD part of the sentence. Infinity Fabric is AMD’s interconnect technology, not the CPU branch predictor.
- AMD’s own materials describe Infinity Fabric as a “system-wide interconnect” and as the technology by which dies/chiplets “interconnect with each other.”
- By contrast, Samsung’s Exynos M1 documentation explicitly describes its branch prediction as “Neural Net based predictor.”
So the sentence is misleading because it treats AMD Ryzen’s Infinity Fabric as though it were the branch-prediction mechanism. Even if a Ryzen core were to use a neural predictor, that would be a property of the core’s front-end/branch predictor, not of Infinity Fabric.
3 sources
- Engineering the Future of AI: How AMD Interconnects, Infinity Fabric, and Advanced Packaging Drive Scalable Compute
AMD describes “Infinity Fabric™” as a “system-wide interconnect.”
- AMD EPYC 7003 Series Processors Microarchitecture Overview
“All dies (or chiplets) interconnect with each other via AMD’s Infinity Fabric Technology.”
- Samsung Exynos M1 Processor (Hot Chips presentation)
The presentation’s branch-prediction slide states: “Neural Net based predictor.”