Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020069236 - PROVIDING PREDICTIVE INSTRUCTION DISPATCH THROTTLING TO PREVENT RESOURCE OVERFLOWS IN OUT-OF-ORDER PROCESSOR (OOP)-BASED DEVICES

Publication Number WO/2020/069236
Publication Date 02.04.2020
International Application No. PCT/US2019/053320
International Filing Date 26.09.2019
IPC
G06F 9/38 2018.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
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/30145
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
30145Instruction analysis, e.g. decoding, instruction word fields
G06F 9/3836
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
G06F 9/3842
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
Applicants
  • QUALCOMM INCORPORATED [US]/[US]
Inventors
  • HSU, Lisa Ru-feng
  • KOTHINTI NARESH, Vignyan Reddy
  • WRIGHT, Gregory Michael
Agents
  • MEISAROSH, Edward J.
Priority Data
16/143,88327.09.2018US
Publication Language English (EN)
Filing Language English (EN)
Designated States
Title
(EN) PROVIDING PREDICTIVE INSTRUCTION DISPATCH THROTTLING TO PREVENT RESOURCE OVERFLOWS IN OUT-OF-ORDER PROCESSOR (OOP)-BASED DEVICES
(FR) FOURNITURE D'UN ÉTRANGLEMENT DE RÉPARTITION D'INSTRUCTIONS PRÉDICTIVE POUR EMPÊCHER DES DÉPASSEMENTS DE RESSOURCES DANS DES DISPOSITIFS BASÉS SUR UN PROCESSEUR À EXÉCUTION DANS LE DÉSORDRE (OOP)
Abstract
(EN)
Providing predictive instruction dispatch throttling to prevent resource overflow in out-of-order processor (OOP)-based devices is disclosed. In this regard, an OOP-based device includes a system resource that may be consumed or otherwise occupied by instructions, as well as an execution pipeline comprising a decode stage and a dispatch stage. The OOP further maintains a running count and a resource usage threshold. Upon receiving an instruction block, the decode stage extracts a proxy value that indicates an approximate predicted count of instructions within the instruction block that will consume a system resource. The decode stage then increments the running count by the proxy value. The dispatch stage compares the running count to the resource usage threshold before dispatching any younger instruction blocks. If the running count exceeds the resource usage threshold, the dispatch stage blocks dispatching of younger instruction blocks until the running count no longer exceeds the resource usage threshold.
(FR)
L'invention concerne la fourniture d'un étranglement de répartition d'instructions prédictive pour empêcher un dépassement de ressources dans des dispositifs basés sur un processeur à exécution dans le désordre (OOP). À cet égard, un dispositif basé sur OOP comprend une ressource système qui peut être consommée ou autrement occupée par des instructions, ainsi qu'un pipeline d'exécution comprenant un étage de décodage et un étage de répartition. L'OOP tient en outre à jour un compte courant et un seuil d'utilisation de ressources. Lors de la réception d'un bloc d'instructions, l'étage de décodage extrait une valeur de délégation qui indique un compte prédit approximatif d'instructions dans le bloc d'instructions qui consommeront une ressource système. L'étage de décodage incrémente ensuite le compte courant par la valeur de délégation. L'étage de répartition compare le compte courant au seuil d'utilisation de ressources avant de répartir d'éventuels blocs d'instructions plus jeunes. Si le compte courant dépasse le seuil d'utilisation de ressources, l'étage de répartition bloque la répartition des blocs d'instructions plus jeunes jusqu'à ce que le compte courant ne dépasse plus le seuil d'utilisation de ressources.
Also published as
Latest bibliographic data on file with the International Bureau