La risposta breve è no.
Sono ragionevolmente certo non CPU Intel ha utilizzato il predittore di un bit che descrivi.
Il Pentium originale utilizzato un descrittore a due bit, proprio come si descrive. I quattro valori usati erano normalmente descritti come "fortemente non presi", "debolmente non presi", "debolmente presi" e "fortemente presi". Ogni volta che viene preso un ramo, il contatore viene spostato di un punto verso "preso con decisione". Ogni volta che un ramo non viene preso, viene spostato di un punto verso "fortemente non preso". È un contatore di saturazione, quindi se (per esempio) viene preso un ramo quando il contatore è già in "preso con decisione", il contatore semplicemente non cambia. [Dovrei aggiungere: questo è il modo in cui Intel l'ha documentato, e apparentemente l'ha destinato a funzionare - se la memoria serve, Agner Fog e Terje Mathiesen hanno scoperto che funziona davvero in modo un po 'diverso - e, generalmente, non così bene come sarebbe).
A partire dal Pentium/MMX e Pentium Pro, hanno progettato un po 'più sofisticato a due livelli predizione delle diramazioni. Aggiunse una cronologia di ramificazione a 4 bit, che usava per selezionare uno dei 16 contatori a 2 bit. Questo significava che se avevi uno schema (per esempio) preso, preso, non preso, preso, (quindi ripetuto) si sarebbe rapidamente adattato a quello, e prevedere tutti i rami correttamente.
io non sono sicuro circa i dettagli della branch prediction nel i7, ma penso che sia giusto dire che è almeno altrettanto complesse come il Pentium Pro è stato, non è un ritorno all'originale Pentium.
fonte
2012-06-30 07:26:28
Posso quasi garantirvi che tutti i dettagli sono segreti di proprietà dell'azienda. – Mysticial