254
Motivaci´ on y objetivos Introducci´ on Dise˜ no Implementaci´ on Evaluaci´ on Conclusiones y trabajos futuros Tesis de Grado de Ingenier´ ıa Electr´ onica Dise˜ no, Implementaci´ on y Evaluaci´ on de un procesador multi-n´ ucleo Alumno: Sr. Federico Giordano Zacchigna Director: Dr. Ing. Ariel Lutenberg Laboratorio de Sistemas Embebidos Facultad de Ingenier´ ıa Universidad de Buenos Aires 13/08/2012 Federico G. Zacchigna Tesis de Grado de Ingenier´ ıa Electr´ onica

LSE FIUBA Tesis Grado Federico Zacchigna 2012 Presentacion

Embed Size (px)

DESCRIPTION

aplicativo

Citation preview

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Tesis de Grado de Ingeniera Electronica

    Diseno, Implementacion y Evaluacion de unprocesador multi-nucleo

    Alumno: Sr. Federico Giordano ZacchignaDirector: Dr. Ing. Ariel Lutenberg

    Laboratorio de Sistemas EmbebidosFacultad de Ingeniera

    Universidad de Buenos Aires

    13/08/2012

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    MOTIVACIONY

    OBJETIVOS

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleo

    I La tendencia a aumentar el numero de nucleos de losprocesadores

    I La flexibilidad que brindan los procesadores multi-nucleosI La flexibilidad que brindan los soft-cores implementados en

    FPGAs para los sitemas embebidosI La falta de procesadores de codigo libre, para realizar

    investigacionesI Continuar con la lnea de investigacion sobre procesadores

    multi-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleoI La tendencia a aumentar el numero de nucleos de los

    procesadores

    I La flexibilidad que brindan los procesadores multi-nucleosI La flexibilidad que brindan los soft-cores implementados en

    FPGAs para los sitemas embebidosI La falta de procesadores de codigo libre, para realizar

    investigacionesI Continuar con la lnea de investigacion sobre procesadores

    multi-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleoI La tendencia a aumentar el numero de nucleos de los

    procesadoresI La flexibilidad que brindan los procesadores multi-nucleos

    I La flexibilidad que brindan los soft-cores implementados enFPGAs para los sitemas embebidos

    I La falta de procesadores de codigo libre, para realizarinvestigaciones

    I Continuar con la lnea de investigacion sobre procesadoresmulti-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleoI La tendencia a aumentar el numero de nucleos de los

    procesadoresI La flexibilidad que brindan los procesadores multi-nucleosI La flexibilidad que brindan los soft-cores implementados en

    FPGAs para los sitemas embebidos

    I La falta de procesadores de codigo libre, para realizarinvestigaciones

    I Continuar con la lnea de investigacion sobre procesadoresmulti-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleoI La tendencia a aumentar el numero de nucleos de los

    procesadoresI La flexibilidad que brindan los procesadores multi-nucleosI La flexibilidad que brindan los soft-cores implementados en

    FPGAs para los sitemas embebidosI La falta de procesadores de codigo libre, para realizar

    investigaciones

    I Continuar con la lnea de investigacion sobre procesadoresmulti-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Motivacion

    I El aumento del uso de procesadores multi-nucleoI La tendencia a aumentar el numero de nucleos de los

    procesadoresI La flexibilidad que brindan los procesadores multi-nucleosI La flexibilidad que brindan los soft-cores implementados en

    FPGAs para los sitemas embebidosI La falta de procesadores de codigo libre, para realizar

    investigacionesI Continuar con la lnea de investigacion sobre procesadores

    multi-nucleos, sobre su funcionamiento bajo efectos deradiacion e interferencia electromagnetica

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Objetivos

    I Disenar un procesador multi-nucleo que sea sintetizable enuna FPGA

    I Que el numero de nucleos sea parametrizableI Que el diseno sea simpleI Realizar una evaluacion del desempeno

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Objetivos

    I Disenar un procesador multi-nucleo que sea sintetizable enuna FPGA

    I Que el numero de nucleos sea parametrizable

    I Que el diseno sea simpleI Realizar una evaluacion del desempeno

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Objetivos

    I Disenar un procesador multi-nucleo que sea sintetizable enuna FPGA

    I Que el numero de nucleos sea parametrizableI Que el diseno sea simple

    I Realizar una evaluacion del desempeno

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    MotivacionObjetivos

    Objetivos

    I Disenar un procesador multi-nucleo que sea sintetizable enuna FPGA

    I Que el numero de nucleos sea parametrizableI Que el diseno sea simpleI Realizar una evaluacion del desempeno

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    INTRODUCCION

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Paralelizacion

    I Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.I SIMD: En ingles Single Instruction Multiple Data.I MISD: En ingles Multiple Instruction Single Data.I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ParalelizacionI Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.I SIMD: En ingles Single Instruction Multiple Data.I MISD: En ingles Multiple Instruction Single Data.I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ParalelizacionI Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.

    I SIMD: En ingles Single Instruction Multiple Data.I MISD: En ingles Multiple Instruction Single Data.I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ParalelizacionI Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.I SIMD: En ingles Single Instruction Multiple Data.

    I MISD: En ingles Multiple Instruction Single Data.I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ParalelizacionI Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.I SIMD: En ingles Single Instruction Multiple Data.I MISD: En ingles Multiple Instruction Single Data.

    I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ParalelizacionI Clasificacion de Flynn

    I SISD: En ingles Single Instruction Single Data.I SIMD: En ingles Single Instruction Multiple Data.I MISD: En ingles Multiple Instruction Single Data.I MIMD: En ingles Multiple Instruction Multiple Data.

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I Inicio

    I Paralelismo a nivel de instruccion

    I Dependencias

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I Dependencias

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I Dependencias

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Instrucciones sin dependencia

    1 add $1 , $2 , $32 sub $4 , $2 , $3

    Instrucciones con dependencia

    1 add $1 , $2 , $32 sub $4 , $1 , $3

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Instrucciones sin dependencia

    1 add $1 , $2 , $32 sub $4 , $2 , $3

    Instrucciones con dependencia

    1 add $1 , $2 , $32 sub $4 , $1 , $3

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I Dependencias

    I Pipeline

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI Pipeline

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    ID EXIF MEM WB

    IF ID EX MEM WB

    Ciclo3

    INSTRUCCIN 1

    Ciclo2

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3

    TIEMPO

    INSTRUCCIONES

    IF ID EXIF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    ID EXIF MEM WB

    IF ID EX MEM WB

    Ciclo3

    INSTRUCCIN 1

    Ciclo2

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3

    TIEMPO

    INSTRUCCIONES

    IF ID EXIF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    ID EXIF MEM WBIFREGISTROS

    REGISTROS

    REGISTROS

    REGISTROS

    CLK

    IF ID EX MEM WB

    Ciclo3

    INSTRUCCIN 1

    Ciclo2

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3

    TIEMPO

    INSTRUCCIONES

    IF ID EXIF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    ID EXIF MEM WBIFREGISTROS

    REGISTROS

    REGISTROS

    REGISTROS

    CLK

    IF ID EX MEM WB

    Ciclo3

    Ciclo4

    Ciclo5

    Ciclo6

    Ciclo7

    Ciclo8

    INSTRUCCIN 1

    Ciclo2

    Ciclo9

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3INSTRUCCIN 4INSTRUCCIN 5

    TIEMPO

    INSTRUCCIONES

    IF ID EX MEM WBIF ID EX MEM WB

    IF ID EX MEM WBIF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI Pipeline

    I Multiple issue slots

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slots

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    IF ID EX MEM WB

    Ciclo3

    Ciclo4

    Ciclo5

    Ciclo6

    Ciclo7

    Ciclo8

    INSTRUCCIN 1

    Ciclo2

    Ciclo9

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3INSTRUCCIN 4INSTRUCCIN 5

    TIEMPO

    INSTRUCCIONES

    IF ID EX MEM WBIF ID EX MEM WB

    IF ID EX MEM WBIF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Ciclo3

    Ciclo4

    Ciclo5

    Ciclo6

    Ciclo7

    Ciclo8

    INSTRUCCIN 1

    Ciclo2

    Ciclo9

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3INSTRUCCIN 4INSTRUCCIN 5

    TIEMPO

    INSTRUCCIONES

    INSTRUCCIN 6INSTRUCCIN 7INSTRUCCIN 8INSTRUCCIN 9

    INSTRUCCIN 10 IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    IF ID EX MEM WB

    Ciclo3

    Ciclo4

    Ciclo5

    Ciclo6

    Ciclo7

    Ciclo8

    INSTRUCCIN 1

    Ciclo2

    Ciclo9

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3INSTRUCCIN 4INSTRUCCIN 5

    TIEMPO

    INSTRUCCIONES

    IF ID EX MEM WBIF ID EX MEM WB

    IF ID EX MEM WBIF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Ciclo3

    Ciclo4

    Ciclo5

    Ciclo6

    Ciclo7

    Ciclo8

    INSTRUCCIN 1

    Ciclo2

    Ciclo9

    Ciclo1

    INSTRUCCIN 2INSTRUCCIN 3INSTRUCCIN 4INSTRUCCIN 5

    TIEMPO

    INSTRUCCIONES

    INSTRUCCIN 6INSTRUCCIN 7INSTRUCCIN 8INSTRUCCIN 9

    INSTRUCCIN 10 IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    IF ID EX MEM WB

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slots

    I Limitaciones

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:

    I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:

    I Infinitos registrosI Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datos

    I Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:

    I Infinitos registrosI Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:

    I Infinitos registrosI Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:

    I Infinitos registrosI Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:I Infinitos registros

    I Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:I Infinitos registrosI Ventana de programa infinita

    I Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:I Infinitos registrosI Ventana de programa infinitaI Perfectas predicciones

    I Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesador ideal:I El lmite de la ILP es impuesto por el flujos de datosI Este lmite no se alcanza en un procesador real

    I Idealmente se tiene:I Infinitos registrosI Ventana de programa infinitaI Perfectas prediccionesI Perfecto analisis de aliasing de memoria

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccion

    I Tareas

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccion

    I Tareas

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI Tareas

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Procesos

    I HilosI Sistemas operativosI Planificacion de tareasI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ProcesosI Hilos

    I Sistemas operativosI Planificacion de tareasI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ProcesosI HilosI Sistemas operativos

    I Planificacion de tareasI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ProcesosI HilosI Sistemas operativosI Planificacion de tareas

    I Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I ProcesosI HilosI Sistemas operativosI Planificacion de tareasI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI Tareas

    I Multi-threading

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI TareasI Multi-threading

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Ejecucion normal de tareas:

    ISSUESLOTS

    TIEMPO

    TAREA A TAREA B TAREA DTAREA C

    ISSUESLOTS

    ISSUESLOTS

    ISSUESLOTS

    Ejecucion de tareas con MT:

    ISSUESLOTS

    TIEMPO

    MT GRUESO MT FINO SMT

    ISSUESLOTS

    ISSUESLOTS

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Ejecucion normal de tareas:

    ISSUESLOTS

    TIEMPO

    TAREA A TAREA B TAREA DTAREA C

    ISSUESLOTS

    ISSUESLOTS

    ISSUESLOTS

    Ejecucion de tareas con MT:

    ISSUESLOTS

    TIEMPO

    MT GRUESO MT FINO SMT

    ISSUESLOTS

    ISSUESLOTS

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI TareasI Multi-threading

    I Multi-procesadores

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI TareasI Multi-threadingI Multi-procesadores

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Multiples nucleos interconectados

    Inteconexinentre ncleos,

    memoria y dispositivos deentrada/salida

    NCLEO

    NCLEONCLEO

    MEMORIANCLEO

    ENTRADA/

    SALIDA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI TareasI Multi-threadingI Multi-procesadores

    I Consumo y frecuencia

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    Evolucion

    I InicioI Paralelismo a nivel de instruccion

    I DependenciasI PipelineI Multiple issue slotsI Limitaciones

    I Paralelismo a nivel de instruccionI TareasI Multi-threadingI Multi-procesadores

    I Consumo y frecuencia

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologaI Limitacion en la tecnologaI Bajar la frecuenciaI Apagar los nucleosI Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologa

    I Limitacion en la tecnologaI Bajar la frecuenciaI Apagar los nucleosI Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologaI Limitacion en la tecnologa

    I Bajar la frecuenciaI Apagar los nucleosI Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologaI Limitacion en la tecnologaI Bajar la frecuencia

    I Apagar los nucleosI Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologaI Limitacion en la tecnologaI Bajar la frecuenciaI Apagar los nucleos

    I Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    El consumo de potencia en un circuito digital esta dado por:

    Potdisipada f CL V 2

    I Mejorar la tecnologaI Limitacion en la tecnologaI Bajar la frecuenciaI Apagar los nucleosI Nucleos asimetricos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidad

    I Bajar el consumoI Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumo

    I Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumoI Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumoI Aumentar la potencia

    I Multi-procesadores

    I Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumoI Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleo

    I Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumoI Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesador

    I Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Paralelizacion y clasificacionParalelismo a nivel de instruccionParalelismo a nivel de tareasTendencia

    I Aumentar la flexibilidadI Bajar el consumoI Aumentar la potencia

    I Multi-procesadoresI Procesadores multi-nucleoI Aumentar el numero de nucleos en un procesadorI Programacion distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    DISENO

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I Comunicacion

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Inteconexinentre ncleos,

    memoria y dispositivos deentrada/salida

    NCLEO

    NCLEONCLEO

    MEMORIANCLEO

    ENTRADA/

    SALIDA

    memoria compartida memoria distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Inteconexinentre ncleos,

    memoria y dispositivos deentrada/salida

    NCLEO

    NCLEONCLEO

    MEMORIANCLEO

    ENTRADA/

    SALIDA

    memoria compartida

    memoria distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Inteconexinentre ncleos,

    memoria y dispositivos deentrada/salida

    NCLEO

    NCLEONCLEO

    MEMORIANCLEO

    ENTRADA/

    SALIDA

    memoria compartida memoria distribuida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Bus simple

    I Bus switcheado

    NCLEO NCLEO NCLEO NCLEO

    MEMORIAPRINCIPAL

    NCLEO NCLEO NCLEO NCLEO

    MEMORIAPRINCIPAL

    BANCO 0 BANCO 1

    SWITCHEDBUS

    BANCO 0 BANCO 1

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Bus simple

    I Bus switcheado

    NCLEO NCLEO NCLEO NCLEO

    MEMORIAPRINCIPAL

    NCLEO NCLEO NCLEO NCLEO

    MEMORIAPRINCIPAL

    BANCO 0 BANCO 1

    SWITCHEDBUS

    BANCO 0 BANCO 1

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I Comunicacion

    I Arquitectura de la memoria

    I Principio de localidad

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I Principio de localidad

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I Principio de localidad

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    La ejecucion del codigo no es uniforme.

    Principio de localidad:

    I Localidad espacial: Posiciones de memoria situadascercanas a otras accedidas recientemente, tienden a seraccesados en un futuro cercano tambien

    I Localidad temporal: Es probable acceder en un futurocercano nuevamente a posiciones de memoria que hansido accesados recientemente

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    La ejecucion del codigo no es uniforme.

    Principio de localidad:

    I Localidad espacial: Posiciones de memoria situadascercanas a otras accedidas recientemente, tienden a seraccesados en un futuro cercano tambien

    I Localidad temporal: Es probable acceder en un futurocercano nuevamente a posiciones de memoria que hansido accesados recientemente

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    La ejecucion del codigo no es uniforme.

    Principio de localidad:

    I Localidad espacial: Posiciones de memoria situadascercanas a otras accedidas recientemente, tienden a seraccesados en un futuro cercano tambien

    I Localidad temporal: Es probable acceder en un futurocercano nuevamente a posiciones de memoria que hansido accesados recientemente

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I Principio de localidad

    I Jerarqua

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I Principio de localidadI Jerarqua

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Jerarqua de memoria

    Velocidad Tamao Costo EjemploCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    PEQUEA

    GRANDE

    COSTOSA

    ECONMICA

    SRAM

    DRAM

    DISCORIGIDO

    MAGNTICO

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidad

    I Memoria cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache sacanprovecho de:

    I la localidad temporal

    I la localidad espacial

    VelocidadCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    BLO

    QUE

    BLO

    QUE

    BLO

    QUE

    MEM

    ORIA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache sacanprovecho de:

    I la localidad temporal

    I la localidad espacial

    VelocidadCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    BLO

    QUE

    BLO

    QUE

    BLO

    QUE

    MEM

    ORIA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache sacanprovecho de:

    I la localidad temporal

    I la localidad espacial

    VelocidadCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    BLO

    QUE

    BLO

    QUE

    BLO

    QUE

    MEM

    ORIA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache sacanprovecho de:

    I la localidad temporal

    I la localidad espacial

    VelocidadCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    BLO

    QUE

    BLO

    QUE

    BLO

    QUE

    MEM

    ORIA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache sacanprovecho de:

    I la localidad temporal

    I la localidad espacial

    VelocidadCPU

    MEMORIA

    MEMORIA

    MEMORIA

    RPIDA

    LENTA

    BLO

    QUE

    BLO

    QUE

    BLO

    QUE

    MEM

    ORIA

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:I Directo

    I Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:I DirectoI Asociativo de N vias

    I Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:I Write-back

    I Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:

    I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:I Write-allocate

    I Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:

    I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:

    I Write-backI Write-through

    I Polticas de escritura en memoria cache:I Write-allocateI Write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Mapeo de bloques:I DirectoI Asociativo de N viasI Full-asociativo

    I Polticas de escritura en memoria principal:I write-backI write-through

    I Polticas de escritura en memoria cache:I write-allocateI write-no-allocate

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    En particular la memoria cache del plasma multi-nucleo:

    I es de mapeo directo

    I con poltica de escritura write-backI con poltica de escritura write-allocateI saca provecho unicamente de la localidad espacial

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    En particular la memoria cache del plasma multi-nucleo:

    I es de mapeo directoI con poltica de escritura write-back

    I con poltica de escritura write-allocateI saca provecho unicamente de la localidad espacial

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    En particular la memoria cache del plasma multi-nucleo:

    I es de mapeo directoI con poltica de escritura write-backI con poltica de escritura write-allocate

    I saca provecho unicamente de la localidad espacial

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    En particular la memoria cache del plasma multi-nucleo:

    I es de mapeo directoI con poltica de escritura write-backI con poltica de escritura write-allocateI saca provecho unicamente de la localidad espacial

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cache

    I Memorias cache en procesadores multi-nucleo

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleo

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache en procesadores multi-nucleo sonfundamentales:

    I sacan provecho de la localidad espacial y temporal

    I reducen el trafico del busI hacen posible la ejecucion de programas desde la memoria

    compartida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache en procesadores multi-nucleo sonfundamentales:

    I sacan provecho de la localidad espacial y temporalI reducen el trafico del bus

    I hacen posible la ejecucion de programas desde la memoriacompartida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Las memorias cache en procesadores multi-nucleo sonfundamentales:

    I sacan provecho de la localidad espacial y temporalI reducen el trafico del busI hacen posible la ejecucion de programas desde la memoria

    compartida

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cacheI algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cache

    I algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cacheI algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleo

    I Protocolos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI Protocolos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Los protocolos dememoria cache:

    I protocolosbasados enun directorio

    I protocolos desnooping

    Memoriacache

    MemoriacacheDirectorio

    bloq

    ues

    Blo

    ques

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Los protocolos dememoria cache:

    I protocolosbasados enun directorio

    I protocolos desnooping

    Memoriacache

    MemoriacacheDirectorio

    bloq

    ues

    Blo

    ques

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Los protocolos dememoria cache:

    I protocolosbasados enun directorio

    I protocolos desnooping

    Memoriacache

    MemoriacacheDirectorio

    bloq

    ues

    Blo

    ques

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Los protocolos dememoria cache:

    I protocolosbasados enun directorio

    I protocolos desnooping

    Memoriacache

    MemoriacacheDirectorio

    bloq

    ues

    Blo

    ques

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Los protocolos dememoria cache:

    I protocolosbasados enun directorio

    I protocolos desnooping

    Memoriacache

    MemoriacacheDirectorio

    bloq

    ues

    Blo

    ques

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Memoriacache

    bloq

    ues

    esta

    do d

    elo

    s bl

    oque

    s

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cacheI algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cache

    I algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Problemaica de la memoria cache en procesadores multi-nucleo:

    Accin Consecuencia Valor encache0Valorreal

    Valor encache1

    0

    2

    1

    4

    3

    Estado inicial

    CPU0 lee

    CPU1 lee

    CPU0 escribe

    CPU1 lee

    Miss en cache0

    Miss en cache1Escritura en cache 0 yen memoria principal

    Lee 0 cuando eldato real es 1

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    1

    1

    I protocolos de cacheI algoritmos de coherencia de cache

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI Protocolos

    I Algoritmo de coherencia

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI ProtocolosI Algoritmo de coherencia

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Algoritmos de coherencia para protocolos de snooping :

    I las memorias cache se comunican entre s

    I envan informacion sobre el estado de los bloquesI envan informacion sobre las acciones que realizan

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Algoritmos de coherencia para protocolos de snooping :

    I las memorias cache se comunican entre sI envan informacion sobre el estado de los bloques

    I envan informacion sobre las acciones que realizan

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Algoritmos de coherencia para protocolos de snooping :

    I las memorias cache se comunican entre sI envan informacion sobre el estado de los bloquesI envan informacion sobre las acciones que realizan

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI ProtocolosI Algoritmo de coherencia

    I Manejador de interrupciones

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI ProtocolosI Algoritmo de coherencia

    I Manejador de interrupciones

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Interrupciones:

    I en procesadores mono-nucleos

    I en procesadores multi-nucleos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Interrupciones:

    I en procesadores mono-nucleosI en procesadores multi-nucleos

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI ProtocolosI Algoritmo de coherencia

    I Manejador de interrupciones

    I Operaciones atomicas

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Diseno

    I ComunicacionI Arquitectura de la memoria

    I JerarquaI Principio de localidadI Memoria cacheI Memorias cache en procesadores multi-nucleoI ProtocolosI Algoritmo de coherencia

    I Manejador de interrupcionesI Operaciones atomicas

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleos

    I deshabilitarinterrupciones

    I en procesadoresmulti-nucleos

    I deshabilitarinterrupciones

    I exclusion mutua ysecciones crticas

    I spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleos

    I deshabilitarinterrupciones

    I en procesadoresmulti-nucleos

    I deshabilitarinterrupciones

    I exclusion mutua ysecciones crticas

    I spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleosI deshabilitar

    interrupciones

    I en procesadoresmulti-nucleos

    I deshabilitarinterrupciones

    I exclusion mutua ysecciones crticas

    I spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleosI deshabilitar

    interrupciones

    I en procesadoresmulti-nucleos

    I deshabilitarinterrupciones

    I exclusion mutua ysecciones crticas

    I spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleosI deshabilitar

    interrupciones

    I en procesadoresmulti-nucleosI deshabilitar

    interrupciones

    I exclusion mutua ysecciones crticas

    I spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    Operaciones atomicas:

    Las operaciones atomicashacen referencia a lalectura-modificacion-escriturade una posicion de memoria

    I en procesadoresmono-nucleosI deshabilitar

    interrupciones

    I en procesadoresmulti-nucleosI deshabilitar

    interrupcionesI exclusion mutua y

    secciones crticasI spin locks

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    exclusion mutua ysecciones crticas

    SECCIN CRTICA de A

    SECCIN CRTICA de BB est

    bloqueada

    TIEMPO

    PROCESO B

    PROCESO A

    T0 T1 T3T2

    T0: A entra a una seccin critica.T1: B intenta entrar a una seccin crtica, pero no puede y se bloquea.T2: A deja la seccin crtica y B entra a una seccin crtica.T3: B deja la seccin crtica.

    spin lock

    Es 0?

    Lectura del registro del lock

    NO

    Deshabilitacin deinterrupciones

    SI

    Lock adquirido

    Inicio de seccin crtica

    Fin de seccin crtica

    RegistroDelLock = 0(Se libera)

    Se hace uso de los recursos compartidos.Todas las operaciones en esta seccin son atmicas

    SpinLock

    Se restaura el estado anteriorde las interrupciones

    FIN

    INICIO

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    exclusion mutua ysecciones crticas

    SECCIN CRTICA de A

    SECCIN CRTICA de BB est

    bloqueada

    TIEMPO

    PROCESO B

    PROCESO A

    T0 T1 T3T2

    T0: A entra a una seccin critica.T1: B intenta entrar a una seccin crtica, pero no puede y se bloquea.T2: A deja la seccin crtica y B entra a una seccin crtica.T3: B deja la seccin crtica.

    spin lock

    Es 0?

    Lectura del registro del lock

    NO

    Deshabilitacin deinterrupciones

    SI

    Lock adquirido

    Inicio de seccin crtica

    Fin de seccin crtica

    RegistroDelLock = 0(Se libera)

    Se hace uso de los recursos compartidos.Todas las operaciones en esta seccin son atmicas

    SpinLock

    Se restaura el estado anteriorde las interrupciones

    FIN

    INICIO

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Problema del spin lock

    Necestio proteger los recursos compartidosNecestio proteger los recursos compartidosNecestio proteger los recursos compartidos:Usando la exclusin mutua, sobre las regiones

    crticas, para ello necesito un lock.

    El registro que guarda el estado dellock es un recurso compartido.

    Para que un CPU adquiera un lockcorrectamente, necesita realizar operaciones

    atmicas sobre el registro del lock.

    Necesito realizar operaciones atmicassobre los recursos compartidos.

    II Solucion

    I implementar instrucciones de MIPS II:LL Load-Linked y SC Store-Conditional

    I plasma multi-nucleo: se brinda soporte por hardware

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Problema del spin lock

    Necestio proteger los recursos compartidosNecestio proteger los recursos compartidosNecestio proteger los recursos compartidos:Usando la exclusin mutua, sobre las regiones

    crticas, para ello necesito un lock.

    El registro que guarda el estado dellock es un recurso compartido.

    Para que un CPU adquiera un lockcorrectamente, necesita realizar operaciones

    atmicas sobre el registro del lock.

    Necesito realizar operaciones atmicassobre los recursos compartidos.

    II Solucion

    I implementar instrucciones de MIPS II:LL Load-Linked y SC Store-Conditional

    I plasma multi-nucleo: se brinda soporte por hardware

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Problema del spin lock

    Necestio proteger los recursos compartidosNecestio proteger los recursos compartidosNecestio proteger los recursos compartidos:Usando la exclusin mutua, sobre las regiones

    crticas, para ello necesito un lock.

    El registro que guarda el estado dellock es un recurso compartido.

    Para que un CPU adquiera un lockcorrectamente, necesita realizar operaciones

    atmicas sobre el registro del lock.

    Necesito realizar operaciones atmicassobre los recursos compartidos.

    II SolucionI implementar instrucciones de MIPS II:

    LL Load-Linked y SC Store-Conditional

    I plasma multi-nucleo: se brinda soporte por hardware

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Comunicacion entre los nucleoArquitectura de la memoriaManejador de interrupcionesOperaciones atomicas

    I Problema del spin lock

    Necestio proteger los recursos compartidosNecestio proteger los recursos compartidosNecestio proteger los recursos compartidos:Usando la exclusin mutua, sobre las regiones

    crticas, para ello necesito un lock.

    El registro que guarda el estado dellock es un recurso compartido.

    Para que un CPU adquiera un lockcorrectamente, necesita realizar operaciones

    atmicas sobre el registro del lock.

    Necesito realizar operaciones atmicassobre los recursos compartidos.

    II SolucionI implementar instrucciones de MIPS II:

    LL Load-Linked y SC Store-ConditionalI plasma multi-nucleo: se brinda soporte por hardware

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    IMPLEMENTACION

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Implementacion

    I Estructura general

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Estructura general del procesador

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Implementacion

    I Estructura general

    I Nivel superior

    I Nexys2

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Implementacion

    I Estructura generalI Nivel superior

    I Nexys2

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Implementacion

    I Estructura generalI Nivel superior

    I Nexys2

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y trabajos futuros

    Estructura GeneralNivel superiorPlasma multi-nucleoNucleo

    Nexys2

    Pla

    sma

    mul

    ti-n

    cleo

    Mem

    oria

    ram

    ext

    erna

    Con

    trol

    ador

    de

    mem

    oria

    32 bits-dataW

    32 bits-dataR

    16 bits-dataIO

    4 bits-byteWE

    request_imemClk_omemAdV_omemCRE_o

    memCE_o

    memOE_o

    memWE_omemLB_o

    clk_ireset_i

    22bits-direccin 23bits-direccin

    busy_o

    memUB_o

    memWait_i

    Federico G. Zacchigna Tesis de Grado de Ingeniera Electronica

  • Motivacion y objetivosIntroduccion

    DisenoImplementacion

    EvaluacionConclusiones y