Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020112171 - LOOP EXIT PREDICTOR

Publication Number WO/2020/112171
Publication Date 04.06.2020
International Application No. PCT/US2019/038965
International Filing Date 25.06.2019
IPC
G06F 9/38 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
38Concurrent instruction execution, e.g. pipeline, look ahead
G06F 9/30 2006.01
GPHYSICS
06COMPUTING; CALCULATING OR COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
CPC
G06F 9/30065
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30003Arrangements for executing specific machine instructions
3005to perform operations for flow control
30065Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
G06F 9/325
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
32Address formation of the next instruction, e.g. by incrementing the instruction counter
322for non-sequential address
325for loops, e.g. loop detection, loop counter
G06F 9/3848
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
38Concurrent instruction execution, e.g. pipeline, look ahead
3836Instruction issuing, e.g. dynamic instruction scheduling, out of order instruction execution
3842Speculative instruction execution
3848using hybrid branch prediction, e.g. selection between prediction techniques
Applicants
  • ADVANCED MICRO DEVICES, INC. [US]/[US]
Inventors
  • JARVIS, Anthony
  • CLOUQUEUR, Thomas
Agents
  • SHEEHAN, Adam D.
Priority Data
16/200,49126.11.2018US
Publication Language English (EN)
Filing Language English (EN)
Designated States
Title
(EN) LOOP EXIT PREDICTOR
(FR) PRÉDICTEUR DE SORTIE DE BOUCLE
Abstract
(EN)
A processor [100] includes a prediction engine [206] coupled to a training engine [210]. The prediction engine includes a loop exit predictor [232]. The training engine includes a loop exit branch monitor [252] coupled to a loop detector [254]. Based on at least one of a plurality of call return levels, the loop detector of the processor takes a snapshot of a retired predicted block during a first retirement time, compares the snapshot to a subsequent retired predicted block at a second retirement time, and based on the comparison, identifies a loop and loop exit branches within the loop for use by the loop exit branch monitor and the loop exit predictor to determine whether to override a general purpose conditional prediction.
(FR)
Un processeur [100] comprend un moteur de prédiction [206] couplé à un moteur d'apprentissage [210]. Le moteur de prédiction comprend un prédicteur de sortie de boucle [232]. Le moteur d'apprentissage comprend un moniteur de branche de sortie de boucle [252] couplé à un détecteur de boucle [254]. D’après au moins un niveau d’une pluralité de niveaux de retour d'appel, le détecteur de boucle du processeur prend un instantané d'un bloc prédit retiré à un premier moment de retrait, compare l'instantané avec un bloc prédit retiré ultérieur à un second moment de retrait et, d’après la comparaison, identifie une boucle ainsi que les branches de sortie de boucle à l'intérieur de la boucle destinées à être utilisées par le moniteur de branche de sortie de boucle et le prédicteur de sortie de boucle afin de déterminer s'il faut annuler une prédiction conditionnelle à usage général.
Also published as
Latest bibliographic data on file with the International Bureau