MXPA06006062A - Procesador, sistema multiprocesador, sistema procesador, dispositivo de procesamiento de informacion y metodo de control de temperatura. - Google Patents

Procesador, sistema multiprocesador, sistema procesador, dispositivo de procesamiento de informacion y metodo de control de temperatura.

Info

Publication number
MXPA06006062A
MXPA06006062A MXPA06006062A MXPA06006062A MXPA06006062A MX PA06006062 A MXPA06006062 A MX PA06006062A MX PA06006062 A MXPA06006062 A MX PA06006062A MX PA06006062 A MXPA06006062 A MX PA06006062A MX PA06006062 A MXPA06006062 A MX PA06006062A
Authority
MX
Mexico
Prior art keywords
heat release
execution
frequency
instruction
unit
Prior art date
Application number
MXPA06006062A
Other languages
English (en)
Inventor
Tetsuji Tamura
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of MXPA06006062A publication Critical patent/MXPA06006062A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Un descodificador de instruccion (14) especifica un bloque de computacion y un coeficiente de generacion de calor que se refieren a la ejecucion de una instruccion y los almacena en un perfil de coeficiente de generacion de calor (20). Un programador de instruccion (16) programa las instrucciones que dependen de la relacion de dependencia de datos. Un adicionador de frecuencia de generacion de calor (32) adiciona de manera acumulativa el coeficiente de generacion de calor para la frecuencia de generacion de calor del bloque de computacion relevante sostenido en un registro de frecuencia de generacion de calor del bloque de computacion (22) de acuerdo con el avance de las instrucciones organizadas. Un sustractor de frecuencia de generacion de calor (34) sustrae la frecuencia de generacion de calor de cada bloque de computacion del registro de frecuencia de generacion de calor de bloque de computacion (22) en base a la cantidad de calor irradiado con el paso del tiempo. El detector de punto caliente (36) detecta, como un punto caliente, un bloque de computacion en donde la frecuencia de generacion de calor del registro de frecuencia de generacion de calor del bloque de computacion (22) excede un umbral predeterminado. El organizador de instruccion (16) retrasa la ejecucion de la instruccion que ejecuta el bloque de computacion determinado como un punto caliente.

Description

PROCESADOR. SISTEMA MUtTJPRQCESADOR. SISTEMA PROCESADOR, DISPOSITIVO PE FROCESAM.ENTO DE INFORMACIÓN Y MÉTODO DE CONTROL DE TEMPERATU RA CAMPO TÉCNICO La presente invención se refiere a una tecnología de procesador y, de manera más particular, a un procesador, un sistema mu i ti procesador, un sistema procesador, un aparato de procesamiento de información y un método de control de temperatura capaz de controlar ei vaior de caior.
TECNOLOGÍA ANTECEDENTE A medida que el proceso de fabricación se vuelve cada vez más fino y ios componentes están más integrados, e valor de calor tiene un interés importante en el diseño de un LSI como un parámetro que indica un límite de rendimiento de míerocírcu?to. A medida que un microcírcuito se calienta a una alta temperatura, el icrocircuito puede operar de forma inadecuada o se reduce la confiabilidad a largo plazo del mismo. Por lo tanto, se toman varias contramedidas para la liberación de calor. Por ejemplo, se puede proporcionar una aleta de radiador en la parte superior del microcircuito a fin de permitir que escape et calor desde ei rpieroeírcutto.
Ya que fa distribución del consumo de energía en un microcircuito no es uniforme, no se puede evitar el problema de "punto caliente33, una parte del microcircuito a una temperatura anormalmente elevada. En consecuencia, se ha realizado un estudio de programación de tarea de procesador en base a la distribución del consumo de energía en un m?eroc?rcuito (véase por ejemplo, documento de patente No. 1). [documento de patente No. 1J Soiicitud de patente publicada de ios Estados Unidos de Norteamérica 2002/0065049 Cuando una parte de un microcircuito libera calor, un área de alta temperatura se extiende con el tiempo dentro de un área que circunda la parte calentada mediante conducción de calor hasta que la temperatura de todo el m crocírcuito se incrementa finalmente. Una contramedida de la técnica relacionada para la liberación de calor es observar la distribución de temperatura de todo el microcircuito en una escala microscópica e irradiar el calor durante el paso del tiempo (por ejemplo, desde varios segundos hasta un minuto). Como tal, la respuesta en tiempo es escasa. Algunos LSls altamente integrados fabricados de manera reciente consumen energía del orden de 10-100 KM por microcircuíto. A menos que el calor sea irradiado en un espacio de tiempo del orden de 10-100 microsegundos, Ja mala operación puede ser ocasionada debido al incremento repentino de la temperatura. En un caso en donde el calor es liberado de manera local aunque e? mícrocircuito como un todo esté a una temperatura segura, la reducción de la frecuencia de operación del microcircuito es ineficiente ya que resulta en el sacrificio del rendimiento de procesamiento de todo el procesador. En este antecedente, se ha vuelto evidente la necesidad de localizar un área de liberación de calor cuando una parte de un microcircuito libera el calor antes de que se incremente un área de alta temperatura por medio de conducción de calor y ejerce una contramedida sobre un nivel microscópico para evitar el incremento de temperatura.
DESCRIPCIÓN DE LA INVENCIÓN Se ha efectuado la presente invención en vista de los problemas antes mencionados y su objeto es proporcionar un procesador, un sistema de multiprocesador, un sistema procesador, un aparato de procesamiento de información y un método de control de temperatura capaz de controlar la liberación de calor de un microcircuito en una escala muy fina en términos de espacio y tiempo. La presente invención de acuerdo con un aspecto proporciona un procesador. El procesador de acuerdo con este aspecto comprende: una unidad de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos al control de liberación de calor; una unidad de identificación de liberación de calor que identifica un bloque involucrado en la ejecución de cada unidad de ejecución que comprende por lo menos una instrucción, y que identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque identificado; y una unidad adicionadora de frecuencia de liberación de calor ía cual incrementa de forma acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia al coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones. Un bloque es una unidad mínima producida mediante segmentación del área de procesador. El área de procesador es segmentada en bloques caracterizados cada uno por un pico localizado en la liberación de calor. Por ejemplo, el bloque puede ser un componente discreto que forma parte del procesador tal como un transistor. De manera alternativa, el bloque puede ser un conjunto de algún número de componentes. En el caso del multiprocesador que incluye una pluralidad de procesadores, ei bloque puede ser un segmento en cada uno de los procesadores individuales. De manera alternativa, el procesador completo puede representar un bloque. Una unidad de ejecución puede ser un código de instrucción que comprende cada etapa. Be manera alternativa, una unidad de ejecución puede ser una subrutina o una tarea constituida por una colección de etapas de instrucción. El tamaño de un bloque y la granularidad de una unida de ejecución se pueden diseñar de manera flexible dependiendo de la precisión requerida en ei control de liberación de calor y la condición impuesta en el diseño def procesador. La presente invención de acuerdo con otro aspecto proporciona también un procesador. El procesador de acuerdo con éste aspecto comprende: una unidad de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos ai control deliberación de calor; una unidad adicionadora de frecuencia de liberación de calor que incrementa de manera acumulativa para cada unidad de ejecución que comprende por lo menos una instrucción, la frecuencia de liberación de calor de un bloque implicado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor estimado para la unidad de ejecución, a medida que procede ía ejecución de instrucciones; y un organizador que organiza las instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques. De acuerdo con otro aspecto más, la presente invención proporciona también un procesador. El procesador de acuerdo con este aspecto comprende: un registro de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos ai control de liberación de calor; un perfil de coeficiente de liberación de calor que almacena, en correspondencia entre sí, una instrucción que se va a ejecutar, un bloque involucrado en la ejecución de la instrucción y un coeficiente de liberación de calor relacionado con un valor de calor del bloque involucrado; un descodificador que analiza una instrucción que se va a ejecutar para identificar, para cada unidad de ejecución que comprende por lo menos una instrucción, el bloque involucrado en la ejecución de la instrucción y ei coeficiente de liberación de calor asociado, y que almacena información identificada en el perfil de coeficiente de liberación de calor; una unidad adicionadora de frecuencia de liberación de calor que incrementa de manera acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia al perfil de coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones; y un organizador que organiza las instrucciones que se can a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques. La presente invención de acuerdo con otro aspecto más proporciona un sistema multiprocesador. El sistema muitiprocesador incluye una pluralidad de subprocesadores y an procesador principal. El procesador principal comprende: un registro de sostenimiento de frecuencia de liberación de calor qu& sostiene una frecuencia de liberación de calor de una pluralidad de bloques en cada uno de los subprocesadores; una unidad de identificación de liberación de calor que identifica un bloque involucrado en la ejecución de cada unidad de ejecución que comprende por ío menos una instrucción, y que identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque identificado; una unidad adicionadora de frecuencia de liberación de calor que incrementa de manera acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia al coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones; y un organizador que asigna las instrucciones que se van a ejecutar entre la pluralidad de subprocesadores de acuerdo con la frecuencia de liberación de calor de los bloques. De acuerdo con otro aspecto, la presente invención proporciona también un procesador. En este procesador, se proporciona un descodificador para ia descodificación de una instrucción que se va a ejecutar con ia función de analizar la liberación de calor de un bloque en el procesador implicado en ia ejecución de la instrucción.
La presente invención de acuerdo con otro aspecto proporciona un método de control de temperatura. En este método de control de temperatura, la liberación de calor ocurre a medida que son detectados los códigos de ejecución que son ejecutados en unidades de bloques, al incrementar de manera acumulativa, para cada unidad de ejecución que comprende por lo menos una instrucción, una frecuencia de liberación de calor e un bloque implicado en la ejecución de ia unidad de ejecución, a medida que procede la ejecución de la instrucción y sosteniendo la frecuencia de liberación de calor acumulada en un registro. La presente invención de acuerdo con otro aspecto más proporciona un método de control de temperatura. Este método de control de temperatura incrementa de forma acumulativa, para cada unidad de ejecución que comprende por lo menos una instrucción, una frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado por ia unidad de ejecución, a medida que avanza la ejecución de instrucciones, sostiene la frecuencia de liberación de calor acumulada en un registro y organiza las instrucciones que se van a ejecutar de acuerdo con ia frecuencia de liberación de calor de los bloques sostenida en ei regístro. La presente invención de acuerdo con oros aspecto de la invención proporciona también un método de control de temperatura. Este método de control de temperatura calcula, para cada unidad de ejecución que comprende por lo menos una instrucción, un valor de calor de bloques en cada uno de tos procesadores en un sistema de multiprocesador, pronostica la variación de temperatura en los bloques a medida qu& avanza la ejecución de las instrucciones, y asigna instrucciones para los procesadores de acuerdo con la variación de temperatura pronosticada. Combinaciones arbitrarias de los elementos constitutivos mencionados con anterioridad, e ímptementaciones de la invención en la forma de métodos, aparatos, sistemas y programas de computadora también pueden practicarse como modos adicionales de la presente invención. De acuerdo con ia presente invención, el valor de calor generado a partir del procesador es controlado y se evita la mala operación, sin incurrir en degradación del rendimiento del procesador.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La figura 1 ilustra la estructura de un sistema procesador de acuerdo con una primera modalidad de la presente invención; La figura 2 es una ilustración detallada de bloques funcionales en el sistema procesador de la figura 1 implicados en el control de liberación de calor; La figura 3 ilustra un perfil de coeficiente de liberación de calor; La figura 4 ilustra una frecuencia de liberación de calor almacenada en un registro de frecuencia de liberación de calor de bloque operativo de la figura 1; La figura 5 es un diagrama de flujo que ilustra un procedimiento para control de liberación de calor en el sistema procesador de la figura 1; y La figura 6 ilustra la estructura de un sistema procesador de acuerdo con una segunda modalidad de la presente invención.
MEJOR FORMA DE LLEVAR A CABO LA INVENCIÓN Primera modalidad La figura 1 ilustra la estructura de un sistema procesador de acuerdo con una primera modalidad de la presente invención. El sistema procesador incluye un núcleo CPU 100 y una memoria principal 1 10 que están conectados a una barra colectora de dirección 28 y una barra colectora de datos 30. El núcleo de CPU 100 designa una dirección en la memoria principal 110 y lee y escribe datos en ia memoria principal 110. El núcleo de CPU 100 incluye una memoria caché de instrucción 12, un descodificador de instrucción 14, un organizador de instrucción 18, una unidad de ejecución 18, un perfil de coeficiente de liberación de calor 20 y un registro de coeficiente de liberación de calor de bloque operativo 22. La memoria principal 110 almacena una instrucción 24 y un resultado operativo 26. La instrucción 24 leída por e? núcleo de CPU 100 desde la memoria principal 110 colocados en la memoria caché de instrucción 12. El descodifícador de instrucción 14 descodifica de manera secuencial ia instrucción 24 almacenada en la memoria caché de instrucción 12 y suministra la instrucción descodificada 16. El organizador de instrucción 16 organiza las instrucciones 24 al reacomodar el orden de ejecución de las instrucciones 24 y/o ajustar la sincronización de ejecución de acuerdo con ia dependencia de los datos de cada una de las instrucciones 24 descodificadas por el descodificador de instrucción 14. La unidad de ejecución 18 ejecuta la instrucción 24 organizada de esta manera y escribe el resultado operativo 26 en la memoria principal 12. Toda el área ocupada por el microcircuito del microcircuito del sistema procesador es segmentada en pequeñas áreas sometidas a control de liberación de calor. Cada una de las pequeñas áreas es referida como un bloque o un bloque operativo. El bloque operativo puede ser un transistor discreto que forma parte del microcircuito o un conjunto de un número de transistores que forman parte del microcircuito. El área de microcircuito es segmentada en bloques operativos caracterizados cada uno de ellos por un pico localizado en liberación de calor. El tamaño del bloque operativo puede ser determinado según se desee para cumplir con una precisión de objetivo en el control de liberación de calor y las especificaciones requeridas del procesador. El área de microc?rcuito puede ser segmentada en bloques operativos de tamaño uniforme o segmentada de acuerdo con ios límites entre las unidades operativas en tamaños no uniformes. El perfil de coeficiente de liberación de calor 20 es un perfil almacenado que almacena, en correspondencia entre sí, una etapa de instrucción, un bloque operativo del sistema procesador involucrado en la ejecución de la etapa de instrucción y un coeficiente de liberación de calor que indica el valor de calor del bloque operativo involucrado. Un registróte frecuencia de liberación de calor del bloque operativo 22 es un registro para sostener un total acumulado de ia frecuencia de liberación de calor de los bloques operativos. La figura 2 ilustra bloques funcionales del CPU 100 con relación al control de liberación de calor. El descodificador de instrucción 14 está provisto con una función de análisis de liberación de calor. El descodificador de instrucción 14 identifica un bloque operativo implicado en ia ejecución de cada etapa de instrucción al hacer referencia a ía información de hardware del sistema procesador, pronostica el valor de calor debido a la operación del bloque operativo Identificado y determina el coeficiente de liberación de calor. Et descodificador de instrucción 14 almacena, en correspondencia entre sí, una etapa de instrucción, información sobre la ubicación del bloque operativo identificado y el coeficiente de liberación de calor asociado, en el perfil de coeficiente de liberación de calor 20. La figura 3 ilustra un ejemplo del perfil de coeficiente de liberación de calor 20. Una etapa de instrucción 40, una ubicación de bloque operativo 42 y un coeficiente de liberación de calor 44, son almacenados en el perfil en correspondencia entre sí. La etapa de instrucción 40 representa una instrucción etapa por etapa descodificada por el descodificador de instrucción 14 y está identificado por un comando tai como MOV (transferencia) , ADD (adición), LD (carga), y ST (Almacenamiento), seguido por un argumento. Por ejemplo, la etapa de instrucción "MOV AX BX" es una instrucción que determina la sustitución del contenido de un registro aritmético del núcleo CPU 100 dentro de un registro aritmético AX. La etapa de instrucción ttLD AX 2D°es una instrucción que determina la carga de datos en una dirección 2D de la memoria principal 1 10 dentro del registro aritmético AX del CPU 100. La ubicación del bloque operativo 42 está dada como un índice de matriz que se presenta cuando una matriz en el paquete de sistema procesador es segmentada en áreas rectangulares. El coeficiente de liberación de calor 44 es un valor numérico determinado a partir del valor pronosticado de calor generado cuando el bloque operativo ubicado en un área designada por la ubicación del bloque operativo 42 ejecuta la instrucción. AI utilizar los resultados cuando la ejecución de los códigos de programa es simulada en una simulación lógica conducida a la terminación de la distribución LSI del sistema procesador, la variación n ia condición encendido-apagado de los transistores del procesador puede rastrearse en pequeños Intervalos. La utilización de esos resultados permite et análisis completo capaz de identificar un bloque operativo que se torna activo en cada etapa de instrucción. El valor de calor del bloque operativo es pronosticado mediante el uso de una herramienta CAD o similar cuando se designa un circuito en consideración de la temperatura estática característica del bloque operativo. La temperatura estática característica del bloque operativo es cuantificada principalmente mediante referencia a las características físicas o la ubicación relativa de los componentes. Por ejemplo, un transistor p-canai y un transistor n-canal de un CMOS son encendidos de manera simultánea cuando ocurre la inversión, produciendo una corriente pasante. La corriente pasante representa ia mayor parte del consumo de energía de un CMOS. El consumo de energía incrementa en proporción con la frecuencia de operación del CMOS. Al calcular el consumo de energía, se puede pronosticar el valor de calor del bloque operativo. El coeficiente de liberación de calor es un valor obtenido mediante cuantificación del valor de calor pronosticado. La información tal como los resultados de ia simulación ejecutada cuando se designa el circuito o el valor de calor pronosticado pueden referidos a partir del descodificador de instrucción 14 como información de hardware. En el ejemplo ilustrado en la figura 3, la ejecución de la etapa de instrucción "MOV AX BXß involucra bloques operativos ubicados en (2, 3) y (2, 4). El coeficiente de liberación de calor es 2. La ejecución de la etapa de instrucción *LD AX 2D" requiere un bloque operativo en (2, 2) para su ejecución. El coeficiente de calor es 1 . Haciendo eferencia de nuevo a ía figura 2, el organizador de instrucción 16 organiza las instrucciones 24 descodificadas por el descodíficador de instrucción 14 de acuerdo con la dependencia de cada una de las instrucciones sobre tos datos y selecciona una etapa de instrucción que se ejecutará a continuación. El organizador de instrucción 16 se refiere al perfil de coeficiente de liberación de calor 20 para identificar ía ubicación y el coeficiente de liberación de calor del bloque operativo involucrado en ia ejecución de ia etapa de instrucción seleccionada y proporciona la Información identificada a un adicionador de frecuencia de liberación de calor 32. El adicionador de frecuencia de liberación de calor 32 lee la frecuencia de liberación de calor actual del bloque operativo así identificado desde el registro de frecuencia de liberación de calor del bloque operativo 22. Ei adicionador de frecuencia de liberación de calor 32 adiciona el coeficiente de liberación de calor suministrado desde el organizador de Instrucción 16 a ía frecuencia de liberación de calor que se lee y suma de esta forma al registro de frecuencia de liberación de calor de bloque operativo 22. El sustractor de frecuencia de liberación de calor 34 lee la frecuencia de liberación de calor de los bloques operativos desde el registro de frecuencia de liberación de calor de bloque operativo 22 y ejecuta un proceso de sustracción en base a una constante de descarga de calor predeterminada. El sustractor de frecuencia de liberación de calor 34 escribe ei resultado de sustracción en el registro de frecuencia de liberación de calor del bloque operativo 22. El sustractor de frecuencia de liberación de calor 34 opera en un horario predeterminado y sustrae a partir de la frecuencia de liberación de calor de los bloques operativos en el registro de bloque de frecuencia de liberación de calor de bloque operativo 22. Con esto, la descarga de calor que ocurre con el tiempo es reflejada en la frecuencia de liberación de calor en el registro de frecuencia de liberación de calor dei bloque operativo. El sustractor de frecuencia de liberación de calor 34 sustrae hasta que la frecuencia de liberación de calor es cero. A mayor frecuencia de liberación de calor del bloque operativo, mayor la cantidad de sustracción. Esto es debido a que se considera que la temperatura desciende más rápido debido a ia descarga de calor, como una diferencia entre la temperatura pronosticada a partir de la frecuencia de liberación de calor del bloque operativo y los incrementos de la temperatura circundante. Se puede utilizar un valor medido, un valor calculado o un valor preestablecido como la temperatura circundante. La figura 4 ilustra un ejemplo de la frecuencia de liberación de calor almacenada en el registro de frecuencia de liberación de calor del bloque operativo 22. La frecuencia de liberación de calor de los bloques operativos almacenada en el registro de frecuencia de liberación de calor del bloque operativo 22 es Incrementada de forma acumulativa por medio del adtcionador de frecuencia de liberación de calor 32 a medida que procede la ejecución de instrucciones. El sustractor de frecuencia de liberación de calor 34 sustrae a partir de la frecuencia acumulada conforme transcurre ei tiempo. El adicionador de frecuencia de liberación de calor 32 y el sustractor de frecuencia de liberación de calor 34 pueden ajustar la frecuencia de liberación de calor del bloque operativo en consideración al aspecto dinámico de la temperatura característica de los bloques operativos. La temperatura dinámica característica de los bloques operativos depende principalmente del historial de ejecución de tareas o la condición de cargas. En algunos casos, la temperatura característica es afectada por condiciones físicas. Por ejemplo, probablemente se genera más calor cuando una tarea es asignada de forma simultánea a bloques adyacentes que cuando una tarea es distribuida entre bloques alejados. Ei adicionador de frecuencia de liberación de calor 32 puede adicionar la frecuencia de liberación de calor al tomar en cuenta la condición de asignación de tareas para bloques operativos o la interacción de calor liberado desde bloques operativos adyacentes. El sustractor de frecuencia de liberación de calor 34 puede sustraer a partir de la frecuencia de liberación de calor en consideración de cómo procede la descarga de calor alrededor del bloque operativo. Haciendo referencia de nuevo a la figura 2T el detector de punto caliente 36 detecta un bloque operativo con su frecuencia de liberación de calor, sostenida en ei registro de frecuencia de liberación de calor del bloque operativo 22, que excede un valor de umbral. Ei detector de punto callente 36 informa al organizador de instrucción 16 de la ubicación del bloque operativo detectado. El valor de umbral es suministrado como la frecuencia de liberación de calor que corresponde a una temperatura menor que una temperatura marginal a la cual ei bloque operativo falla en su operación adecuada. En consecuencia, el detector de punto caliente 36 no solamente detecta un bloque operativo que se convierte en realidad en un punto caliente sino que detecta también un bloque operativo que tiene ia probabilidad de convertirse en un punto caliente a futuro. El organizador de instrucción 16 reorganiza las instrucciones al desplazar la sincronización de ejecución por medio de la inserción de una instrucción de espera antes de una etapa de instrucción que involucra para su ejecución el btoquen operativo determinado por ser un punto caliente, o al dar prioridad a la ejecución de una instrucción que no involucra para su ejecución et bloque operativo determinado por ser un punto caliente. Como tal, et organizador de instrucción 16 ejecuta la organización que utiliza, como parámetros de evaluación, la temperatura estática/dinámica cuantificada característica de los bloques operativos. En la estructura antes mencionada, el descodificador de instrucción 14 identifica los bloques operativos para cada etapa de instrucción at hacer referencia a la información de hardware y determina el coeficiente de liberación de calor asociado. De forma alternativa, el coeficiente de liberación de calor puede ser incrustado en la instrucción como parte de un operando en el proceso de generación del código de instrucción. Por ejemplo, un programador o un compilador pueden designar un coeficiente de liberación de calor para cada instrucción. La figura 5 es un diagrama de flujo que ilustra un procedimiento para el control de liberación de calor ejecutado por el descodificador de instrucción 14 y el programador de instrucción 16 del núcleo de CPU 100. Cuando una instrucción que se va a descodlf?car es colocada en la memoria caché de instrucción 12 (Y de S10), el descodificador de instrucción 14 descodlfica ia Instrucción colocada en la memoria caché (S12). Et descodificador de instrucción 14 identifica un bloque operativo implicado en la ejecución de la instrucción descodificada, determina el coeficiente de liberación de calor del bloque operativo involucrado, y genera un perfil de coeficiente de liberación de calor 20 (S14).
El organizador de instrucción 16 organiza las instrucciones descodificadas por medio del descodifícador de instrucción 14 de acuerdo con la dependencia de cada una de las Instrucciones con los datos (S16). A medida que avanza la ejecución de los códigos de instrucción organizados, el adicionador de frecuencia de liberación de calor 32 adiciona de manera acumulativa et coeficiente de liberación de calor a la frecuencia de liberación de calor de los bloques operativos asociados sostenida en el registro de frecuencia de liberación de calor de bloque operativo 22 (S18). En consideración de la interacción con bloques operativos adyacentes, el adicionador de frecuencia de liberación de calor 32 puede incrementar la cantidad de adición a la frecuencia de liberación de calor de los bloques operativos asociados cuando la frecuencia de liberación de calor de los bloques operativos adyacentes es grande. El detector de punto caliente 38 evalúa ia frecuencia de liberación de calor de to bloques operativos en el registro de frecuencia de liberación de calor del bloque operativo 32 para pronosticar la temperatura y determinar si hay cualquier bloque operativo que tenga la probabilidad de ser un punto caliente. Cuando hay un bloque operativo que tiene la probabilidad de ser un punto caliente (Y de S20), el organizador de instrucción 16 reorganiza las instrucciones al ajustar et orden de ejecución y/o la sincronización de ejecución de las instrucciones de manera que se retrasa la ejecución de una instrucción que involucra para su ejecución del bloque operativo que tiene la probabilidad de ser un punto caliente (S22). El susíractor de frecuencia de liberación de calor 34 sustrae a partir de la frecuencia de liberación de calor de los bloques operativos en el registro de frecuencia de liberación de calor del bloque operativo 22 de acuerdo con un valor pronosticado de descarga de calor que ocurre con ei tiempo (S24). El control es devuelto entonces a S10. por to que se repite una serie de etapas hasta que no hay más instrucciones por ser descodificadas (N de S10). De acuerdo con el sistema procesador de esta modalidad, el valor de calor es pronosticado bloque por bloque y etapa por etapa a medida que procede la ejecución de códigos de Instrucción. En consecuencia, la distribución de temperatura del paquete de sistema procesador como un todo es conocida de forma precisa en una escala muy fina en términos de tiempo y espacio. Con esto, incluso cuando se impone la carga de procesamiento Intensiva sobre un bloque operativo específico del sistema procesador de manera que se pronostica un Incremento de temperatura repentino, ía ejecución de instrucciones que implica para su ejecución el bloque operativo específico es organizada en una base de tiempo real, con el resultado de que se evita que la liberación de calor alcance su pico. Por lo tanto, se evita la mala operación localizada debida a la liberación de calor sin sacrificar ei rendimiento de procesamiento del procesador como un todo.
Segunda modalidad La figura 6 ilustra ía estructura de un sistema procesador de acuerdo con un segundo ejemplo de la presente invención. El sistema procesador de acuerdo con Ja segunda modalidad es un sistema multiprocesador que incluye dos subprocesadores 230a y 230b conectados a una barra colectora, además de un procesador principal 200 que corresponde at núcleo de CPU 100 de la primera modalidad. Ei procesador principal 200 accesa una DRAM 220 a través de una barra colectora y lee datos desde la misma. El procesador principal 200 coloca los datos en ía memoria caché 210.
El procesador principal 200 asigna tareas a tos dos subprocesadores 230a y 230b según sea apropiado para la ejecución de un programa.
El procesador principal 200 incluye varios bloques funcionales del núcleo de CPU 100 descrito en la primera modalidad que incluyen la memoria caché de instrucción 12, el descodif?cador de instrucción 14, el organizador de instrucción 16, la unidad de Instrucción 18, el perfil de coeficiente de liberación de calor 20, el registro de frecuencia de liberación de calor del bloque operativo 22, el adicionador de frecuencia de liberación de calor 32, el sustractor de frecuencia de liberación de calor 34 y ei detector de punto caliente 36. La siguiente descripción de esos bloques se refiere a una diferencia en operación a partir de la primera modalidad. En el sistema procesador de acuerdo con la segunda modalidad, el valor de calor del paquete de sistema procesador como un todo, que incluye tos módulos tales como el procesador principal 200 y los subprocesadores 230a y 230b, es un sujeto de control de liberación de calor. Segmentos en cada uno de los módulos tales como el procesador principal 200 y los subprocesadores 230a y 230b representan bloques operativos descritos en ía primera modalidad. La adición y sustracción de la frecuencia de liberación de calor para cada bloque operativo es ejecutada como en la primera modalidad. El organizador de instrucción 18 programa las Instrucciones al asignar instrucciones a los subprocesadores 230 y 230b, además de cambiar el orden de ejecución y ajustar la sincronización de ejecución como se describe en la primera modalidad. La asignación de instrucciones por parte del organizador de Instrucción 16 para los subprocesadores 230a y 230b puede tener lugar en unidades de etapas de Instrucción o en unidades de tarea de ciertos tamaños como subrutinas. El organizador de instrucción 16 equilibra la carga al asignar instrucciones a los subprocesadores 230a y 230b de acuerdo con la condición de carga. Además, et organizador de carga 16 controla el valor de calor mediante la asignación adaptada para la condición de liberación de calor de tos bloques operativos en los subprocesadores 230a y 230b. Por ejemplo, cuando se detecta un bloque operativo que tiene la probabilidad de ser un punto caliente en el subprocesador 230a, el organizador de instrucción 16 asigna instrucciones al subprocesador 230b. El sistema procesador de acuerdo con esta modalidad evita que un punto caliente se cree en et sistema procesador al promediar la distribución de temperatura en todo el sistema procesador mediante la asignación de tareas a los subprocesadores 230a y 230b de acuerdo con la condición de liberación de calor de los bloques operativos en ios subprocesadores 230a y 230b. Descrita arriba se encuentra una descripción basada en las modalidades. La modalidad es solamente de naturaleza ilustrativa y será obvio para aquellos con experiencia en la técnica que son posibles variaciones en los elementos constitutivos y procesos dentro del alcance de la presente invención. Dichas variaciones se describirán en la siguiente sección. En las modalidades descritas, se describe un método como una contramedida para la liberación de calor en el cual las instrucciones son organizadas de manera que un bloque operativo que tiene la probabilidad de convertirse en un punto caliente no es cargado de manera excesiva. De forma alternativa, un bloque operativo que tiene la probabilidad de ser un punto caliente puede ser enfriado de manera local por medio de una boquilla de enfriamiento. Cuando la liberación de calor desde un bloque operativo no puede ser controlada mediante ia organización de instrucción, se puede tomar una medida de emergencia. Por ejemplo, la frecuencia de operación de todo el procesador puede reducirse o se puede reducir el voltaje de suministro de energía. En las modalidades descritas, el valor de calor es calculado al operar un simulador cuando se diseña un circuito y la información sobre el coeficiente de liberación: de calor es proporcionada en el procesador como información de hardware. De forma alternativa, se puede proporcionar un sensor para medir la temperatura del procesador de manera que el control de liberación de calor de acuerdo con la organización descrita en las modalidades se ejecuta a través de la medición local de ia temperatura de los bloques operativos. En las modalidades descritas, e¡ valor de calor es pronosticado para cada etapa de instrucción y la frecuencia de liberación de calor es contabilizada. De forma alternativa, el valor de calor puede ser pronosticado en unidades de tarea de ciertos tamaños tales como subrutinas de manera que la frecuencia de liberación de calor puede ser contabilizada en consecuencia. Asimismo, la organización puede ser ejecutada en unidades de tarea en lugar de unidades de etapas de instrucción. Se puede proporcionar una unidad de control de conmutación que conmuta entre la organización de tarea por tarea y la organización instrucción por instrucción. Cuando los bloques operativos del procesador están dentro de un rango de temperatura relativamente seguro, la frecuencia de liberación de calor contabilizada en unidades de tarea puede ser referida como organización tarea por tarea. Cuando la temperatura se incrementa hasta un nivel crítico, la frecuencia de liberación de calor de los bloques operativos puede ser contabilizada en unidades de etapas de instrucción para organización Instrucción por instrucción de escala fina.
En las modalidades descritas, et control de liberación de calor se ejecuta por medio del hardware del sistema procesador. De forma alternativa, se puede proporcionar un generador de código de instrucción fuera del sistema procesador. En este caso, la organización de instrucción en base al análisis de códigos de instrucción y el pronóstico de la temperatura se pueden ejecutar como un proceso de software fuera del sistema procesador de manera que las instrucciones organizadas son suministradas al procesador. Se puede proporcionar una unidad de verificación que genera un perfil característico de liberación de calor de cada aplicación, y que corrige la Información de perfil tal como el coeficiente de liberación de calor al verificar el perfil contra la distribución de temperatura medida en realidad por medio de un sensor de temperatura sobre et ii?ícrocircuito. Con esto, se mejora aún más la precisión en el control de liberación de calor. El procesador de acuerdo con tas modalidades puede ser montado en un sustrato junto con otros componentes tales como una memoria para formar un sistema procesador. Se puede formar un aparato de procesamiento de información en el cual se instala dicho sistema procesador. Una computadora personal y una variedad de equipos portátiles son ejemplos de dichos aparatos de proceso de información.
APL1CAB1LIDAD INDUSTRIAL La presente invención es aplicable at campo de control de calor en un procesador.

Claims (1)

  1. REIVINDICACIONES 1 . Un procesador que comprende: una unidad de sostenimiento de frecuencia de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad de identificación de liberación de calor que identifica un bloque involucrado en la ejecución de cada unidad de ejecución que comprende por lo menos una Instrucción , y que identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque identificado; y una unidad adicíonadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución , la frecuencia de liberación de calor del bloque identificado mediante referencia al coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones. 2. El procesador de conformidad con la reivindicación 1 , caracterizado porque la unidad de identificación de liberación de calor es un descodlficador para descodíficar instrucciones que se van a ejecutar. 3. El procesador de conformidad con la reivindicación 1 o 2 , que comprende además una unidad sustractora de frecuencia de liberación de calor que sustrae a partir de la frecuencia de liberación de calor de los bloques de acuerdo con la descarga de calor que ocurre con el tiempo. 4. El procesador de conformidad con la reivindicación 3, caracterizado porque la unidad sustractora de frecuencia de liberación de calor sustrae de manera que a mayor frecuencia de liberación de calor del bloque operativo, mayor fa cantidad de sustracción. 5. Un procesador que comprende: una unidad de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad ad?cionadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución que comprende por lo menos una instrucción, la frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que procede la ejecución de instrucciones; y un organizador que organiza tas instrucciones que se van a ejecutar de acuerdo con ia frecuencia de liberación de calor de los bloques. 6. Ei procesador de conformidad con la reivindicación 5, caracterizado porque et organizador retrasa la ejecución de instrucciones que involucran un bloque con su frecuencia de liberación de calor que excede un valor de umbral predeterminado. 7. El procesador de conformidad con la reivindicación 5 o 6, que comprende además una unidad sustractora de frecuencia de liberación de calor que sustrae a partir de la frecuencia de de liberación de calor de los bloques de acuerdo con la descarga de calor que ocurre con el tiempo. 8. Un procesador que comprende: un registro de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; un perfil de coeficiente de liberación de calor que almacena, en correspondencia entre sí, una instrucción que se va a ejecutar, un bloque involucrado en ia ejecución de la Instrucción y un coeficiente de liberación de calor relacionado con un valor de calor del bloque involucrado; un descodíficador que analiza una instrucción que se va a ejecutar para Identificar, para cada unidad de ejecución que comprende por lo menos una instrucción, el bloque involucrado en la ejecución de la instrucción y el coeficiente de liberación de calor asociado, y que almacena información identificada en el perfil de coeficiente de liberación de calor; una unidad adicionadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución , la frecuencia de liberación de calor del bloque identificado mediante referencia al perfil de coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones; y un organizador que organiza las Instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques. 9. Un sistema multiprocesador que incluye una pluralidad de subprocesadores y un procesador principal, en donde el procesador principal comprende: un registro de sostenimiento de frecuencia de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques en cada uno de los subprocesadores; una unidad de identificación de liberación de calor que identifica un bloque involucrado en la ejecución de cada unidad de ejecución que comprende por to menos una instrucción, y que identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque identificado; una unidad adíclonadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia at coeficiente de liberación de calor, a medida que procede la ejecución de Instrucciones; y un organizador que asigna instrucciones que se van a ejecutar entre la pluralidad de subprocesadores de acuerdo con la frecuencia de liberación de calor de tos bloques. 10. Un procesador en el cual un descodificador para descodificar una instrucción que se va a ejecutar está provisto con la función de analizar la liberación de calor de un bloque en el procesador implicado en la ejecución de la instrucción. 1 1 . Un método de control de temperatura en el cual la liberación de calor que ocurre a medida que se ejecutan los códigos de instrucción es detectada en unidades de bloques, mediante incremento acumulativo, para cada unidad de ejecución que comprende por lo menos una Instrucción, una frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución, a medida que avanza la ejecución de códigos de instrucción, y medíante et sostenimiento de la frecuencia de liberación de calor acumulada en un registro. 12. Un método de control de temperatura que incrementa de manera acumulativa, para cada unidad de ejecución que comprende por lo menos una instrucción, una frecuencia de liberación de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que procede la ejecución de Instrucciones, que sostiene la frecuencia de liberación de calor acumulada en un registro, y que organiza las Instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de bloques sostenidos en el registro. 13. Un método de control de temperatura que calcula, para cada unidad de ejecución que comprende por lo menos una instrucción, un valor de calor de bloques en cada uno de los procesadores en un sistema multíprocesador, que pronostica la variación de temperatura en tos bloques a medida que procede la ejecución de instrucciones y que asigna las instrucciones a los procesadores de acuerdo con la variación de temperatura pronosticada. 14. Un programa que ocasiona que una computadora ejecute las etapas de: incrementar de manera acumulativa, para cada unidad de ejecución que comprende por lo menos un Instrucción, una frecuencia de liberación de calor de un bloque involucrado en la ejecución de ia unidad de ejecución, a medida que avanza la ejecución de códigos de instrucción, y sostener la frecuencia de liberación de calor en un registro; y detectar la liberación de calor que ocurre a medida que son ejecutados los códigos de Instrucción en unidades de bloques, de acuerdo con la frecuencia de liberación de calor de los bloques sostenida en ei registro. 15. Un programa que ocasiona que una computadora ejecute las etapas de: incrementar de manera acumulativa, para cada unidad de ejecución que comprende por lo menos un Instrucción, una frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que avanza la ejecución de instrucciones; y organizar instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques sostenida en el registro. 16. Un programa que ocasiona que una computadora ejecute las etapas de: calcular, para cada unidad de ejecución que comprende por lo menos una instrucción, un valor de calor de ios bloques en cada uno de los procesadores en un sistema muttíprocesador; y pronosticar la variación de temperatura en los bloques a medida que procede la ejecución de instrucciones y asignar instrucciones a ios procesadores de acuerdo con la variación de temperatura pronosticada. 17. Un medio de registro que almacena un programa que ocasiona que la computadora ejecute las etapas de: incrementar de manera acumulativa, para cada unidad de ejecución que comprende por to menos un instrucción, una frecuencia de liberación de calor de un bloque Involucrado en la ejecución de la unidad de ejecución, a medida que avanza la ejecución de códigos de Instrucción y sostener ia frecuencia de liberación de calor acumulada en un registro; y detectar la liberación de calor que ocurre a medida que son ejecutados los códigos de Instrucción en unidades de bloques, de acuerdo con la frecuencia de liberación de calor de los bloques sostenida en el registro. 18. Un medio de registro que almacena un programa que ocasiona que una computadora ejecute tas etapas de: incrementar de manera acumulativa, para cada unidad de ejecución que comprende por to menos un instrucción, una frecuencia de liberación de calor de un bloque Involucrado en la ejecución de ta unidad de ejecución, mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que avanza la ejecución de instrucciones; y organizar instrucciones que se van a ejecutar de acuerdo con una frecuencia de liberación de calor de tos bloques en el registro. 19. Un medio de registro que almacena un programa que ocasiona que una computadora ejecute las etapas de: calcular, para cada unidad de ejecución que comprende por lo menos una instrucción, un valor de calor de los bloques en cada uno de los procesadores en un sistema muitíprocesador; y pronosticar la variación de temperatura en los bloques a medida que procede la ejecución de Instrucciones y asignar instrucciones a tos procesadores de acuerdo con la variación de temperatura pronosticada. 20. Un sistema procesador que comprende: una unidad de sostenimiento de frecuencia de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad de identificación de liberación de calor que identifica un bloque Involucrado en ía ejecución de cada unidad de ejecución que comprende por io menos una instrucción, y que identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque identificado; y una unidad adícionadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia al coeficiente de liberación de calor, a medida que procede ia ejecución de instrucciones. 21. Un procesador que comprende: una unidad de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad adicionadora de frecuencia de liberación de calor que adiciona de manera acumulativa^ para cada uni?a? de ejecución que comprende por lo menos una Instrucción, ia frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que procede la ejecución de Instrucciones; y un organizador que organiza tas instrucciones que se van a ejecutar de acuerdo con ia frecuencia de liberación de calor de los bloques. 22. Un procesador que comprende: un registro de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; un perfil de coeficiente de liberación de calor que almacena, en correspondencia entre sí, una instrucción que se va a ejecutar, un bloque involucrado en la ejecución de la Instrucción y un coeficiente de liberación de calor relacionado con un valor de calor del bloque involucrado; un descodifícador que analiza una instrucción que se va a ejecutar para Identificar, para cada unidad de ejecución q ue comprende por to menos una instrucción, el bloque involucrado en la ejecución de la instrucción y el coeficiente de liberación de calor asociado, y que almacena información identificada en el perfil de coeficiente de liberación de calor; una unidad adícionadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución , la frecuencia de liberación de calor del bloque identificado mediante referencia al perfil de coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones; y un organizador que organiza las instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques. 23. Un procesador en et cual un descodificador para descodificar una instrucción que se va a ejecutar está provisto con la función de analizar la liberación de calor de un bloque en el procesador implicado en la ejecución de la Instrucc?ón. 24. Un aparato de procesamiento de información que comprende: una unidad de sostenimiento de frecuencia de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad de Identificación de liberación de calor que identifica un bloque involucrado en la ejecución de cada unidad de ejecución que comprende por ío menos una Instrucción, y q ue identifica un coeficiente de liberación de calor relacionado con un valor de calor del bloque Identificado; y una unidad adicíonadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución , la frecuencia de liberación de calor del bloque identificado mediante referencia al coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones. 25. Un aparato de procesamiento de información que comprende: una unidad de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; una unidad adic?onadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución que comprende por to menos una instrucción, la frecuencia de liberación de calor de un bloque involucrado en la ejecución de la unidad de ejecución mediante referencia a un valor de calor calculado para la unidad de ejecución, a medida que procede la ejecución de instrucciones; y un organizador que organiza las instrucciones que se van a ejecutar de acuerdo con ia frecuencia de liberación de calor de los bloques. 26. Un aparato de procesamiento de Información que comprende: un registro de sostenimiento de frecuencia de liberación de calor que sostiene una frecuencia de liberación de calor de una pluralidad de bloques sujetos a control de liberación de calor; un perfil de coeficiente de liberación de calor que almacena, en correspondencia entre sí, una instrucción que se va a ejecutar, un bloque involucrado en la ejecución de la instrucción y un coeficiente de liberación de calor relacionado con un valor de calor del bloque involucrado; un descodificador que analiza una instrucción que se va a ejecutar para identificar, para cada unidad de ejecución que comprende por lo menos una instrucción, el bloque involucrado en la ejecución de ía instrucción y el coeficiente de liberación de calor asociado, y que almacena información identificada en el perfil de coeficiente de liberación de calor; una unidad adiclonadora de frecuencia de liberación de calor que adiciona de manera acumulativa, para cada unidad de ejecución, la frecuencia de liberación de calor del bloque identificado mediante referencia al perfil de coeficiente de liberación de calor, a medida que procede la ejecución de instrucciones; y un organizador que organiza las Instrucciones que se van a ejecutar de acuerdo con la frecuencia de liberación de calor de los bloques. 27. Un aparato de procesamiento de información en el cual un descodificador para descodificar una instrucción que se va a ejecutar está provisto con la función de analizar la liberación de calor de un bloque en eí procesador implicado en la ejecución de la instrucción.
MXPA06006062A 2004-03-29 2004-12-22 Procesador, sistema multiprocesador, sistema procesador, dispositivo de procesamiento de informacion y metodo de control de temperatura. MXPA06006062A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004096410A JP3830491B2 (ja) 2004-03-29 2004-03-29 プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
PCT/JP2004/019208 WO2005093569A1 (ja) 2004-03-29 2004-12-22 プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法

Publications (1)

Publication Number Publication Date
MXPA06006062A true MXPA06006062A (es) 2006-08-11

Family

ID=35056365

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06006062A MXPA06006062A (es) 2004-03-29 2004-12-22 Procesador, sistema multiprocesador, sistema procesador, dispositivo de procesamiento de informacion y metodo de control de temperatura.

Country Status (9)

Country Link
US (1) US20070198134A1 (es)
EP (1) EP1734446B1 (es)
JP (1) JP3830491B2 (es)
KR (1) KR100863387B1 (es)
CN (1) CN100495349C (es)
CA (1) CA2560451C (es)
MX (1) MXPA06006062A (es)
TW (1) TWI326819B (es)
WO (1) WO2005093569A1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313709B2 (en) * 2004-11-05 2007-12-25 International Business Machines Corporation Instruction set with thermal opcode for high-performance microprocessor, microprocessor, and method therefor
US7848901B2 (en) 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7376532B2 (en) 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US20070260894A1 (en) * 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US8027798B2 (en) 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7953957B2 (en) * 2008-02-11 2011-05-31 International Business Machines Corporation Mapping and distributing parallel algorithms to compute nodes in a parallel computer based on temperatures of the compute nodes in a hardware profile and a hardware independent application profile describing thermal characteristics of each parallel algorithm
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
US8311683B2 (en) 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US20110138395A1 (en) * 2009-12-08 2011-06-09 Empire Technology Development Llc Thermal management in multi-core processor
CN102221875B (zh) * 2010-06-30 2014-06-25 威盛电子股份有限公司 微处理器、操作微处理器的方法
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
JP2014106917A (ja) * 2012-11-29 2014-06-09 Canon Inc 情報処理装置、その制御方法、及びプログラム
US10942503B2 (en) 2013-09-09 2021-03-09 Seagate Technology Llc Mobile data storage device with predicted temperature management via command time delay
KR20150050135A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
US10416737B2 (en) * 2014-11-04 2019-09-17 Qualcomm Incorporated Thermal mitigation based on predicted temperatures
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US10114649B2 (en) 2015-05-26 2018-10-30 International Business Machines Corporation Thermal availability based instruction assignment for execution
WO2018018424A1 (zh) * 2016-07-26 2018-02-01 张升泽 基于芯片的温度控制方法及系统
US20220300324A1 (en) * 2021-03-19 2022-09-22 Mediatek Inc. Thermal-aware task scheduling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US5502838A (en) * 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US5452277A (en) * 1993-12-30 1995-09-19 International Business Machines Corporation Adaptive system for optimizing disk drive power consumption
US6000036A (en) * 1996-07-17 1999-12-07 International Business Machines Corp. Logical steering to avoid hot spots on integrated circuits
JP3567354B2 (ja) * 1996-12-26 2004-09-22 株式会社リコー マルチプロセッサシステムおよび命令作成装置
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
DE69920460T2 (de) * 1999-10-25 2005-01-20 Texas Instruments Inc., Dallas Intelligente Leistungssteuerung in verteilten Verarbeitungssystemen
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
US6687636B2 (en) * 2001-04-09 2004-02-03 Burgett, Inc. Method of estimating solenoid heat accumulation and compensating for solenoid force loss
JPWO2003083693A1 (ja) * 2002-04-03 2005-08-04 富士通株式会社 分散処理システムにおけるタスクスケジューリング装置
US7086058B2 (en) * 2002-06-06 2006-08-01 International Business Machines Corporation Method and apparatus to eliminate processor core hot spots

Also Published As

Publication number Publication date
EP1734446A1 (en) 2006-12-20
CA2560451C (en) 2014-06-17
EP1734446A4 (en) 2011-06-01
CA2560451A1 (en) 2005-10-06
US20070198134A1 (en) 2007-08-23
JP2005284625A (ja) 2005-10-13
WO2005093569A1 (ja) 2005-10-06
CN1894668A (zh) 2007-01-10
JP3830491B2 (ja) 2006-10-04
EP1734446B1 (en) 2012-11-21
CN100495349C (zh) 2009-06-03
KR20060130593A (ko) 2006-12-19
TW200604789A (en) 2006-02-01
KR100863387B1 (ko) 2008-10-13
TWI326819B (en) 2010-07-01

Similar Documents

Publication Publication Date Title
MXPA06006062A (es) Procesador, sistema multiprocesador, sistema procesador, dispositivo de procesamiento de informacion y metodo de control de temperatura.
Coskun et al. Proactive temperature management in MPSoCs
Coskun et al. Proactive temperature balancing for low cost thermal management in MPSoCs
Coskun et al. Static and dynamic temperature-aware scheduling for multiprocessor SoCs
Chantem et al. Temperature-aware scheduling and assignment for hard real-time applications on MPSoCs
Coskun et al. Temperature-aware MPSoC scheduling for reducing hot spots and gradients
Coskun et al. Temperature aware task scheduling in MPSoCs
US20130158892A1 (en) Method for selecting a resource from a plurality of processing resources so that the probable times to failure of the resources evolve in a substantially identical manner
CN103154890A (zh) 模拟装置、方法以及程序
TWI507990B (zh) 多核心指令集模擬之高平行化同步方法
Ranjbar et al. Power-aware runtime scheduler for mixed-criticality systems on multicore platform
Wächter et al. Predictive thermal management for energy-efficient execution of concurrent applications on heterogeneous multicores
Rashid et al. Cache-persistence-aware response-time analysis for fixed-priority preemptive systems
Ma et al. Improving lifetime of multicore soft real-time systems through global utilization control
Djedidi et al. Modular Modelling of an Embedded Mobile CPU-GPU Chip for Feature Estimation
Chien et al. A thermal-aware scheduling for multicore architectures
Pitter Time-predictable memory arbitration for a Java chip-multiprocessor
Ma et al. Resource management for improving overall reliability of multi-processor systems-on-chip
Reineke Challenges for timing analysis of multi-core architectures
Li et al. System-level, thermal-aware, fully-loaded process scheduling
JP4397843B2 (ja) プロセッサ、マルチプロセッサシステムおよび温度制御方法
Sapra et al. Exploring multi-core systems with lifetime reliability and power consumption trade-offs
Luo et al. Thermal management for fpga nodes in hpc systems
Rashid et al. Trading between intra-and inter-task cache interference to improve schedulability
Phavorin et al. Cacherelated preemption delays and real-time scheduling: A survey for uniprocessor systems

Legal Events

Date Code Title Description
FG Grant or registration