Tesis de Grado de Ingeniería Electrónica 0.5mm Diseño

Anuncio
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Tesis de Grado de Ingenierı́a Electrónica
Diseño, Implementación y Evaluación de un
procesador multi-núcleo
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ónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
MOTIVACIÓN
Y
OBJETIVOS
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
El aumento del uso de procesadores multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
I
El aumento del uso de procesadores multi-núcleo
La tendencia a aumentar el número de núcleos de los
procesadores
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
I
I
El aumento del uso de procesadores multi-núcleo
La tendencia a aumentar el número de núcleos de los
procesadores
La flexibilidad que brindan los procesadores multi-núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
I
I
I
El aumento del uso de procesadores multi-núcleo
La tendencia a aumentar el número de núcleos de los
procesadores
La flexibilidad que brindan los procesadores multi-núcleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
I
I
I
I
El aumento del uso de procesadores multi-núcleo
La tendencia a aumentar el número de núcleos de los
procesadores
La flexibilidad que brindan los procesadores multi-núcleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos
La falta de procesadores de código libre, para realizar
investigaciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Motivación
I
I
I
I
I
I
El aumento del uso de procesadores multi-núcleo
La tendencia a aumentar el número de núcleos de los
procesadores
La flexibilidad que brindan los procesadores multi-núcleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos
La falta de procesadores de código libre, para realizar
investigaciones
Continuar con la lı́nea de investigación sobre procesadores
multi-núcleos, sobre su funcionamiento bajo efectos de
radiación e interferencia electromagnética
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Objetivos
I
Diseñar un procesador multi-núcleo que sea sintetizable en
una FPGA
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Objetivos
I
Diseñar un procesador multi-núcleo que sea sintetizable en
una FPGA
I
Que el número de núcleos sea parametrizable
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Objetivos
I
Diseñar un procesador multi-núcleo que sea sintetizable en
una FPGA
I
Que el número de núcleos sea parametrizable
I
Que el diseño sea simple
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Motivación
Objetivos
Objetivos
I
Diseñar un procesador multi-núcleo que sea sintetizable en
una FPGA
I
Que el número de núcleos sea parametrizable
I
Que el diseño sea simple
I
Realizar una evaluación del desempeño
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
INTRODUCCIÓN
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Clasificación de Flynn
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Clasificación de Flynn
I
SISD: En inglés Single Instruction Single Data.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Clasificación de Flynn
I
I
SISD: En inglés Single Instruction Single Data.
SIMD: En inglés Single Instruction Multiple Data.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Clasificación de Flynn
I
I
I
SISD: En inglés Single Instruction Single Data.
SIMD: En inglés Single Instruction Multiple Data.
MISD: En inglés Multiple Instruction Single Data.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Paralelización
Clasificación de Flynn
I
I
I
I
SISD: En inglés Single Instruction Single Data.
SIMD: En inglés Single Instruction Multiple Data.
MISD: En inglés Multiple Instruction Single Data.
MIMD: En inglés Multiple Instruction Multiple Data.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
Inicio
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
Dependencias
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Instrucciones sin dependencia
1 add $ 1 , $ 2 , $3
2 sub $ 4 , $ 2 , $3
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Instrucciones sin dependencia
1 add $ 1 , $ 2 , $3
2 sub $ 4 , $ 2 , $3
Instrucciones con dependencia
1 add $ 1 , $ 2 , $3
2 sub $ 4 , $ 1 , $3
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
Dependencias
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
Dependencias
Pipeline
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
IF
ID
EX
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
MEM
WB
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
IF
ID
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
EX
MEM
INSTRUCCIONES
Ciclo
1
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
IF
ID
WB
Ciclo
2
Ciclo
3
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX
TIEMPO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
EX
MEM
REGISTROS
ID
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
REGISTROS
REGISTROS
IF
REGISTROS
IF
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
WB
CLK
INSTRUCCIONES
Ciclo
1
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
IF
ID
Ciclo
2
Ciclo
3
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX
TIEMPO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
EX
MEM
REGISTROS
ID
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
REGISTROS
REGISTROS
IF
REGISTROS
IF
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
WB
CLK
INSTRUCCIONES
Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo
1
3
4
5
6
7
8
9
2
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
INSTRUCCIÓN 4
INSTRUCCIÓN 5
IF
ID
IF
EX MEM WB
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
TIEMPO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
Dependencias
Pipeline
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
Dependencias
Pipeline
Multiple issue slots
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
INSTRUCCIONES
Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo
1
3
4
5
6
7
8
9
2
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
INSTRUCCIÓN 4
INSTRUCCIÓN 5
IF
ID
IF
EX MEM WB
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
TIEMPO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
INSTRUCCIONES
Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo
1
3
4
5
6
7
8
9
2
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
INSTRUCCIÓN 4
INSTRUCCIÓN 5
IF
ID
IF
EX MEM WB
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
TIEMPO
INSTRUCCIONES
Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo Ciclo
1
2
3
4
5
6
7
8
9
INSTRUCCIÓN 1
INSTRUCCIÓN 2
INSTRUCCIÓN 3
INSTRUCCIÓN 4
INSTRUCCIÓN 5
INSTRUCCIÓN 6
INSTRUCCIÓN 7
INSTRUCCIÓN 8
INSTRUCCIÓN 9
INSTRUCCIÓN 10
IF
IF
ID
ID
IF
IF
EX MEM WB
EX MEM WB
ID
EX MEM WB
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM WB
IF
ID
EX MEM
IF
ID
EX MEM
IF
ID
EX
IF
ID
EX
WB
WB
MEM WB
MEM WB
TIEMPO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
Dependencias
Pipeline
Multiple issue slots
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Procesador ideal:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Procesador ideal:
I
El lı́mite de la ILP es impuesto por el flujos de datos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Procesador ideal:
I
I
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesador ideal:
I
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Idealmente se tiene:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesador ideal:
I
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Idealmente se tiene:
I
Infinitos registros
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesador ideal:
I
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Idealmente se tiene:
I
I
Infinitos registros
Ventana de programa infinita
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesador ideal:
I
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Idealmente se tiene:
I
I
I
Infinitos registros
Ventana de programa infinita
Perfectas predicciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesador ideal:
I
I
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El lı́mite de la ILP es impuesto por el flujos de datos
Este lı́mite no se alcanza en un procesador real
Idealmente se tiene:
I
I
I
I
Infinitos registros
Ventana de programa infinita
Perfectas predicciones
Perfecto análisis de aliasing de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
Tareas
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Procesos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesos
I
Hilos
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesos
I
Hilos
I
Sistemas operativos
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesos
I
Hilos
I
Sistemas operativos
I
Planificación de tareas
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Procesos
I
Hilos
I
Sistemas operativos
I
Planificación de tareas
I
Programación distribuida
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
Tareas
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
I
Tareas
Multi-threading
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Ejecución normal de tareas:
TAREA B
TAREA C
TAREA D
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
TIEMPO
TAREA A
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Ejecución normal de tareas:
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Ejecución de tareas con MT:
TAREA C
TAREA D
MT GRUESO
MT FINO
SMT
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
ISSUE
SLOTS
TIEMPO
TAREA B
TIEMPO
TAREA A
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
I
Tareas
Multi-threading
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
I
I
Tareas
Multi-threading
Multi-procesadores
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Múltiples núcleos interconectados
NÚCLEO
NÚCLEO
NÚCLEO
Inteconexión
entre núcleos,
memoria y
dispositivos de
entrada/salida
NÚCLEO
ENTRADA
/
SALIDA
MEMORIA
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Paralelismo a nivel de instrucción
I
I
I
Tareas
Multi-threading
Multi-procesadores
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Evolución
I
I
Inicio
Paralelismo a nivel de instrucción
I
I
I
I
I
Paralelismo a nivel de instrucción
I
I
I
I
Dependencias
Pipeline
Multiple issue slots
Limitaciones
Tareas
Multi-threading
Multi-procesadores
Consumo y frecuencia
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
I
Mejorar la tecnologı́a
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
I
Mejorar la tecnologı́a
I
Limitación en la tecnologı́a
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
I
Mejorar la tecnologı́a
I
Limitación en la tecnologı́a
I
Bajar la frecuencia
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
I
Mejorar la tecnologı́a
I
Limitación en la tecnologı́a
I
Bajar la frecuencia
I
Apagar los núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
El consumo de potencia en un circuito digital esta dado por:
Potdisipada ∝ f × CL × V 2
I
Mejorar la tecnologı́a
I
Limitación en la tecnologı́a
I
Bajar la frecuencia
I
Apagar los núcleos
I
Núcleos asimétricos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Aumentar la flexibilidad
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Aumentar la flexibilidad
I
Bajar el consumo
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Aumentar la flexibilidad
I
Bajar el consumo
I
Aumentar la potencia
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Aumentar la flexibilidad
I
Bajar el consumo
I
Aumentar la potencia
I
Multi-procesadores
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Aumentar la flexibilidad
I
Bajar el consumo
I
Aumentar la potencia
I
Multi-procesadores
I
Procesadores multi-núcleo
Federico G. Zacchigna
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
I
Aumentar la flexibilidad
I
Bajar el consumo
I
Aumentar la potencia
I
Multi-procesadores
I
Procesadores multi-núcleo
I
Aumentar el número de núcleos en un procesador
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Paralelización y clasificación
Paralelismo a nivel de instrucción
Paralelismo a nivel de tareas
Tendencia
I
Aumentar la flexibilidad
I
Bajar el consumo
I
Aumentar la potencia
I
Multi-procesadores
I
Procesadores multi-núcleo
I
Aumentar el número de núcleos en un procesador
I
Programación distribuida
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
DISEÑO
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
Comunicación
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
NÚCLEO
NÚCLEO
NÚCLEO
Federico G. Zacchigna
NÚCLEO
Inteconexión
entre núcleos,
memoria y
dispositivos de
entrada/salida
ENTRADA
/
SALIDA
MEMORIA
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
NÚCLEO
NÚCLEO
NÚCLEO
NÚCLEO
Inteconexión
entre núcleos,
memoria y
dispositivos de
entrada/salida
ENTRADA
/
SALIDA
MEMORIA
memoria compartida
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
NÚCLEO
NÚCLEO
NÚCLEO
memoria compartida
Federico G. Zacchigna
NÚCLEO
Inteconexión
entre núcleos,
memoria y
dispositivos de
entrada/salida
ENTRADA
/
SALIDA
MEMORIA
memoria distribuida
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
NÚCLEO
I
NÚCLEO
NÚCLEO
Bus simple
MEMORIA
PRINCIPAL
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
NÚCLEO
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
NÚCLEO
I
NÚCLEO
NÚCLEO
NÚCLEO
Bus simple
MEMORIA
PRINCIPAL
NÚCLEO
I
Bus switcheado
NÚCLEO
NÚCLEO
SWITCHED
BUS
BANCO 0
BANCO 1
BANCO 0
MEMORIA
PRINCIPAL
Federico G. Zacchigna
NÚCLEO
Tesis de Grado de Ingenierı́a Electrónica
BANCO 1
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
Comunicación
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
Principio de localidad
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
La ejecución del código no es uniforme.
Principio de localidad:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
La ejecución del código no es uniforme.
Principio de localidad:
I
Localidad espacial: Posiciones de memoria situadas
cercanas a otras accedidas recientemente, tienden a ser
accesados en un futuro cercano también
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
La ejecución del código no es uniforme.
Principio de localidad:
I
Localidad espacial: Posiciones de memoria situadas
cercanas a otras accedidas recientemente, tienden a ser
accesados en un futuro cercano también
I
Localidad temporal: Es probable acceder en un futuro
cercano nuevamente a posiciones de memoria que han
sido accesados recientemente
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
Principio de localidad
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
Principio de localidad
Jerarquı́a
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Jerarquı́a de memoria
CPU
MEMORIA
Velocidad Tamaño
RÁPIDA
PEQUEÑA
Costo
Ejemplo
COSTOSA
SRAM
DRAM
MEMORIA
MEMORIA
LENTA
Federico G. Zacchigna
GRANDE ECONÓMICA
DISCO
RIGIDO
MAGNÉTICO
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
Jerarquı́a
Principio de localidad
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Las memorias cache sacan
provecho de:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Las memorias cache sacan
provecho de:
I
la localidad temporal
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Las memorias cache sacan
provecho de:
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
CPU
MEMORIA
Velocidad
RÁPIDA
MEMORIA
MEMORIA
I
LENTA
la localidad temporal
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Las memorias cache sacan
provecho de:
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
CPU
MEMORIA
Velocidad
RÁPIDA
MEMORIA
MEMORIA
I
la localidad temporal
I
la localidad espacial
Federico G. Zacchigna
LENTA
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Las memorias cache sacan
provecho de:
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
CPU
MEMORIA
Velocidad
RÁPIDA
MEMORIA
MEMORIA
la localidad temporal
I
la localidad espacial
LENTA
Federico G. Zacchigna
BLOQUE
BLOQUE
MEMORIA
BLOQUE
I
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Mapeo de bloques:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Mapeo de bloques:
I
Directo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Mapeo de bloques:
I
I
Directo
Asociativo de N vias
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Mapeo de bloques:
I
I
I
Directo
Asociativo de N vias
Full-asociativo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria principal:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria principal:
I
Write-back
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria principal:
I
I
Write-back
Write-through
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria cache:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria cache:
I
Write-allocate
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Polı́ticas de escritura en memoria cache:
I
I
Write-allocate
Write-no-allocate
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Mapeo de bloques:
I
I
I
I
Directo
Asociativo de N vias
Full-asociativo
Polı́ticas de escritura en memoria principal:
I
I
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
write-back
write-through
Polı́ticas de escritura en memoria cache:
I
I
write-allocate
write-no-allocate
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
En particular la memoria cache del plasma multi-núcleo:
I
es de mapeo directo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
En particular la memoria cache del plasma multi-núcleo:
I
es de mapeo directo
I
con polı́tica de escritura write-back
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
En particular la memoria cache del plasma multi-núcleo:
I
es de mapeo directo
I
con polı́tica de escritura write-back
I
con polı́tica de escritura write-allocate
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
En particular la memoria cache del plasma multi-núcleo:
I
es de mapeo directo
I
con polı́tica de escritura write-back
I
con polı́tica de escritura write-allocate
I
saca provecho únicamente de la localidad espacial
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Las memorias cache en procesadores multi-núcleo son
fundamentales:
I
sacan provecho de la localidad espacial y temporal
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Las memorias cache en procesadores multi-núcleo son
fundamentales:
I
sacan provecho de la localidad espacial y temporal
I
reducen el tráfico del bus
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Las memorias cache en procesadores multi-núcleo son
fundamentales:
I
sacan provecho de la localidad espacial y temporal
I
reducen el tráfico del bus
I
hacen posible la ejecución de programas desde la memoria
compartida
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
Federico G. Zacchigna
0
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
I
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
0
protocolos de cache
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
I
protocolos de cache
I
algoritmos de coherencia de cache
Federico G. Zacchigna
0
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Los protocolos de
memoria cache:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Los protocolos de
memoria cache:
I
protocolos
basados en
un directorio
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
bloques
Memoria
cache
I
protocolos
basados en
un directorio
Federico G. Zacchigna
Memoria
cache
Directorio
Tesis de Grado de Ingenierı́a Electrónica
Bloques
Los protocolos de
memoria cache:
estado de
los bloques
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
bloques
Memoria
cache
I
protocolos
basados en
un directorio
I
protocolos de
snooping
Federico G. Zacchigna
Memoria
cache
Directorio
Tesis de Grado de Ingenierı́a Electrónica
Bloques
Los protocolos de
memoria cache:
estado de
los bloques
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Memoria
cache
bloques
protocolos
basados en
un directorio
Federico G. Zacchigna
Memoria
cache
estado de
los bloques
protocolos de
snooping
bloques
I
estado de
los bloques
Memoria
cache
bloques
I
Memoria
cache
Directorio
Bloques
Los protocolos de
memoria cache:
estado de
los bloques
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
Federico G. Zacchigna
0
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
I
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
0
protocolos de cache
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problemaica de la memoria cache en procesadores multi-núcleo:
Acción
Consecuencia
Valor en
cache0
Valor en
cache1
Valor
real
0
0
Estado inicial
1
CPU0 lee
Miss en cache0
0
2
CPU1 lee
Miss en cache1
0
0
0
3
CPU0 escribe
1
0
1
4
CPU1 lee
Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1
1
0
1
I
protocolos de cache
I
algoritmos de coherencia de cache
Federico G. Zacchigna
0
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Algoritmo de coherencia
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Algoritmos de coherencia para protocolos de snooping :
I
las memorias cache se comunican entre sı́
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Algoritmos de coherencia para protocolos de snooping :
I
las memorias cache se comunican entre sı́
I
envı́an información sobre el estado de los bloques
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Algoritmos de coherencia para protocolos de snooping :
I
las memorias cache se comunican entre sı́
I
envı́an información sobre el estado de los bloques
I
envı́an información sobre las acciones que realizan
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Algoritmo de coherencia
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Algoritmo de coherencia
Manejador de interrupciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Interrupciones:
I
en procesadores mono-núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Interrupciones:
I
en procesadores mono-núcleos
I
en procesadores multi-núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Algoritmo de coherencia
Manejador de interrupciones
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Diseño
I
I
Comunicación
Arquitectura de la memoria
I
I
I
I
I
I
Jerarquı́a
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-núcleo
Protocolos
Algoritmo de coherencia
I
Manejador de interrupciones
I
Operaciones atómicas
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Operaciones atómicas:
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
I
en procesadores
mono-núcleos
Operaciones atómicas:
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
I
Operaciones atómicas:
en procesadores
mono-núcleos
I
deshabilitar
interrupciones
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
I
Operaciones atómicas:
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
Federico G. Zacchigna
en procesadores
mono-núcleos
I
I
deshabilitar
interrupciones
en procesadores
multi-núcleos
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
I
Operaciones atómicas:
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
Federico G. Zacchigna
en procesadores
mono-núcleos
I
I
deshabilitar
interrupciones
en procesadores
multi-núcleos
I
deshabilitar
interrupciones
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
I
Operaciones atómicas:
Las operaciones atómicas
hacen referencia a la
lectura-modificación-escritura
de una posición de memoria
en procesadores
mono-núcleos
I
I
en procesadores
multi-núcleos
I
I
I
Federico G. Zacchigna
deshabilitar
interrupciones
deshabilitar
interrupciones
exclusión mutua y
secciones crı́ticas
spin locks
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
exclusión mutua y
secciones crı́ticas
TIEMPO
PROCESO A
SECCIÓN CRÍTICA de A
B está
bloqueada
PROCESO B
T0
T1
SECCIÓN CRÍTICA de B
T2
T3
T0: A entra a una sección critica.
T1: B intenta entrar a una sección crítica, pero no puede y se bloquea.
T2: A deja la sección crítica y B entra a una sección crítica.
T3: B deja la sección crítica.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
spin lock
INICIO
Deshabilitación de
interrupciones
exclusión mutua y
secciones crı́ticas
SpinLock
Lectura del registro del lock
TIEMPO
PROCESO A
NO
Es 0?
SECCIÓN CRÍTICA de A
SI
Lock adquirido
B está
bloqueada
PROCESO B
T0
T1
SECCIÓN CRÍTICA de B
T2
Inicio de sección crítica
T3
T0: A entra a una sección critica.
T1: B intenta entrar a una sección crítica, pero no puede y se bloquea.
T2: A deja la sección crítica y B entra a una sección crítica.
T3: B deja la sección crítica.
Se hace uso de los recursos compartidos.
Todas las operaciones en esta sección son
atómicas
Fin de sección crítica
RegistroDelLock = 0
(Se libera)
Se restaura el estado anterior
de las interrupciones
FIN
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problema del spin lock
Necesito realizar operaciones atómicas
sobre los recursos compartidos.
Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusión mutua, sobre las regiones
críticas, para ello necesito un lock.
El registro que guarda el estado del
lock es un recurso compartido.
Para que un CPU adquiera un lock
correctamente, necesita realizar operaciones
atómicas sobre el registro del lock.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problema del spin lock
Necesito realizar operaciones atómicas
sobre los recursos compartidos.
Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusión mutua, sobre las regiones
críticas, para ello necesito un lock.
El registro que guarda el estado del
lock es un recurso compartido.
Para que un CPU adquiera un lock
correctamente, necesita realizar operaciones
atómicas sobre el registro del lock.
I
Solución
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problema del spin lock
Necesito realizar operaciones atómicas
sobre los recursos compartidos.
Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusión mutua, sobre las regiones
críticas, para ello necesito un lock.
El registro que guarda el estado del
lock es un recurso compartido.
Para que un CPU adquiera un lock
correctamente, necesita realizar operaciones
atómicas sobre el registro del lock.
I
Solución
I
implementar instrucciones de MIPS II:
LL Load-Linked y SC Store-Conditional
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Comunicación entre los núcleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones atómicas
Problema del spin lock
Necesito realizar operaciones atómicas
sobre los recursos compartidos.
Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusión mutua, sobre las regiones
críticas, para ello necesito un lock.
El registro que guarda el estado del
lock es un recurso compartido.
Para que un CPU adquiera un lock
correctamente, necesita realizar operaciones
atómicas sobre el registro del lock.
I
Solución
I
I
implementar instrucciones de MIPS II:
LL Load-Linked y SC Store-Conditional
plasma multi-núcleo: se brinda soporte por hardware
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
IMPLEMENTACIÓN
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
Estructura general
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Estructura general del procesador
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
Estructura general
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
Nexys2
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
32 bits-dataW
32 bits-dataR
4 bits-byteWE
busy_o
request_i
reset_i
clk_i
Federico G. Zacchigna
23bits-dirección
16 bits-dataIO
memCE_o
memWE_o
memLB_o
memUB_o
memOE_o
memClk_o
Memoria ram externa
Plasma multi-núcleo
22bits-dirección
Controlador de memoria
Nexys2
memAdV_o
memCRE_o
memWait_i
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
Nexys2
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
I
Nexys2
Controlador de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Lectura
I
Escritura
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Lectura
I
Escritura
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
I
Nexys2
Controlador de memoria
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
I
I
Nexys2
Controlador de memoria
Plasma multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
Núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
Núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
Núcleo
Generador de señales
memRequest_s
memRequest_s
memRequest_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Árbitro de
bus
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Árbitro de
bus
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Árbitro de
bus
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Árbitro de
bus
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
Árbitro de
bus
Manejador de
interrupciones
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
Árbitro de
bus
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
cpuPause_s
Manejador de
interrupciones
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
Árbitro de
bus
Manejador de
interrupciones
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
cpuPause_s
Soporte de HW
para locks
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
1 lockRequest : process ( c l k i , r e s e t i )
2 begin
3
i f r e s e t i = ’ 1 ’ then
4
l o c k R e q u e s t o <= ’ 0 ’ ;
5
e l s i f r i s i n g e d g e ( c l k i ) then
6
i f c p u A d d r e s s s & ” 00 ” = X” 200000A0”
7
and cpuWe s /= ” 0000 ” then
8
i f cpuDataW s = X” 00000000 ” then
9
l o c k R e q u e s t o <= ’ 0 ’ ;
10
else
11
l o c k R e q u e s t o <= ’ 1 ’ ;
12
end i f ;
13
end i f ;
14
end i f ;
15 end p r o c e s s ;
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
Árbitro de
bus
Manejador de
interrupciones
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
memRequest_s
cpuPause_s
Soporte de HW
para locks
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
busAddress_s
busWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
busSnoop_s
Árbitro de
bus
Manejador de
interrupciones
memRequest_s
cpuPause_s
Soporte de HW
para locks
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
Señales (de izq. a der.):
- busSnoop_i
- memRequest_o
- cpuPause_i
- busRequest_o
- busAccessEnable_i
- busBusy_i
- irq_i
- lockRequest_o
busAddress_s
busWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
busSnoop_s
Árbitro de
bus
Manejador de
interrupciones
memRequest_s
cpuPause_s
Soporte de HW
para locks
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Las señales de clk_i y reset_i
van a todos los bloques
Componentes
varios
Regs. de intercom.
UART read
UART write
Máscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)
Multiplexor
Señales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s
Señales (de izq. a der.):
- busSnoop_i
- memRequest_o
- cpuPause_i
- busRequest_o
- busAccessEnable_i
- busBusy_i
- irq_i
- lockRequest_o
busAddress_s
busWe_s
memRequest_s
Núcleo
Núcleo
Núcleo
Generador de señales
memRequest_s
Señales hacia el
controlador de
memoria
externo:
- busDataR_s
- busDataW_s
- busAddress_s
- busWe_s
- memRequest_s
busSnoop_s
Árbitro de
bus
Manejador de
interrupciones
memRequest_s
cpuPause_s
Soporte de HW
para locks
irqStatus_s
irqMask_s
busValid_s
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
I
I
Nexys2
Controlador de memoria
Plasma multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Implementación
I
I
Estructura general
Nivel superior
I
I
Nexys2
Controlador de memoria
I
Plasma multi-núcleo
I
Núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
CPU
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
El procesador plasma:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
La interfaz del procesador plasma:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
CPU
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
cpuPause_s
reset_i
CPU
clk_i
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
clk_i
cpuPause_s
reset_i
CPU
clk_i
Memoria
Ram
Interna
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
clk_i
cpuPause_s
reset_i
CPU
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
Address
(30bits)
DataW
(32bits)
DataR
(32bits)
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
clk_i
cpuPause_s
reset_i
CPU
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
DataR
(32bits)
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
clk_i
cpuPause_s
reset_i
CPU
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Puerto A
DataR
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
irq_i
clk_i
cpuPause_s
reset_i
CPU
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Buffer
Tri-state
Puerto A
DataR
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Buffer
Tri-state
Puerto A
DataR
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
Puerto B
Buffer
Tri-state
Puerto A
DataR
(32bits)
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
DATOS
INDICADORES
Federico G. Zacchigna
PUERTO B
PUERTO A
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Escritura al ocurrir un miss en una operación de lectura
solicitada por el CPU.
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Escritura al ocurrir un miss en una operación de lectura
solicitada por el CPU.
Escritura al realizar una operación de escritura solicitada por el
CPU (polı́tica write-allocate).
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
I
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Escritura al ocurrir un miss en una operación de lectura
solicitada por el CPU.
Escritura al realizar una operación de escritura solicitada por el
CPU (polı́tica write-allocate).
Se invalida el la posición en cache, al realizar una escritura que
no sea de 32 bits.
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
I
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Escritura al ocurrir un miss en una operación de lectura
solicitada por el CPU.
Escritura al realizar una operación de escritura solicitada por el
CPU (polı́tica write-allocate).
Se invalida el la posición en cache, al realizar una escritura que
no sea de 32 bits.
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
I
Se realizan lecturas en la memoria de indicadores cada vez que
hay una señal de bus snooping.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
I
Puerto A: Se utiliza para leer y escribir datos en memoria
cache.
I
I
I
I
I
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Lectura de un dato solicitado por el CPU.
Escritura al ocurrir un miss en una operación de lectura
solicitada por el CPU.
Escritura al realizar una operación de escritura solicitada por el
CPU (polı́tica write-allocate).
Se invalida el la posición en cache, al realizar una escritura que
no sea de 32 bits.
Puerto B: Se utiliza únicamente para el algoritmo de
coherencia de memoria cache.
I
I
Se realizan lecturas en la memoria de indicadores cada vez que
hay una señal de bus snooping.
Se realizan actualizaciones de los datos en cache, cuando
corresponde.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
Puerto B
Buffer
Tri-state
Puerto A
DataR
(32bits)
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
Address
(30bits)
DataW
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
Puerto B
Buffer
Tri-state
Puerto A
DataR
(32bits)
Regisitros
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
memRequest
Unidad
de
control
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
busRequest
busBusy
memBusy
busSnoop
DataW
(32bits)
DataR
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
Puerto B
Buffer
Tri-state
Puerto A
busAccEn
delayedBusAccessEnable_s
busAccessEnable_s
Address
(30bits)
Regisitros
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Estructura General
Nivel superior
Plasma multi-núcleo
Núcleo
lockRequest
irq_i
reset_i
clk
CPU
reset
clk_i
Soporte
para locks
cpuPause_s
reset_i
clk_i
memRequest
Unidad
de
control
byteWE
(4bits)
Memoria
Ram
Interna
cpuIndex
busRequest
busBusy
memBusy
busSnoop
DataW
(32bits)
DataR
(32bits)
Memoria
cache de
datos
Memoria
cache de
tags
Puerto B
Buffer
Tri-state
Puerto A
busAccEn
delayedBusAccessEnable_s
busAccessEnable_s
Address
(30bits)
Regisitros
BUS (dataW, dataR, address, byteWE)
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
EVALUACIÓN
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
CONCLUSIONES
Y
TRABAJOS FUTUROS
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
número de núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
número de núcleos
el tipo de tarea que se tenga
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
I
la utilización del bus
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
I
I
la utilización del bus
la carga de procesamiento
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
I
I
la utilización del bus
la carga de procesamiento
La mejora puede estar alejada del lı́mite teórico ideal
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
I
I
la utilización del bus
la carga de procesamiento
La mejora puede estar alejada del lı́mite teórico ideal
Una primer implementación del plasma multi-núcleo
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Se diseñó e implementó un sistema multi-núcleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I
número de núcleos
el tipo de tarea que se tenga
la memoria cache
Los factores más determinantes en el rendimiento al ejecutar
una tarea son:
I
I
la utilización del bus
la carga de procesamiento
La mejora puede estar alejada del lı́mite teórico ideal
Una primer implementación del plasma multi-núcleo
Posibilidad de mejorar el diseño
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
I
Modificar la memoria interna
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
I
Modificar la memoria interna
I
Evitar invalidar datos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
I
Modificar la memoria interna
I
Evitar invalidar datos
I
Memoria cache de instrucciones y datos
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
I
Modificar la memoria interna
I
Evitar invalidar datos
I
Memoria cache de instrucciones y datos
I
Modificación de la memoria interna de cada núcleo.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
En primer instancia:
I
N núcleos
I
Modificar la memoria interna
I
Evitar invalidar datos
I
Memoria cache de instrucciones y datos
I
Modificación de la memoria interna de cada núcleo.
I
Task scheduler monitor para el plasma multi-núcleo.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementación de polı́tica de escritura en memoria del tipo
Write Back.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementación de polı́tica de escritura en memoria del tipo
Write Back.
I Separación de memoria caché en instrucciones y datos.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementación de polı́tica de escritura en memoria del tipo
Write Back.
I Separación de memoria caché en instrucciones y datos.
I Implementación de la MMU (Memory Management Unit).
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementación de polı́tica de escritura en memoria del tipo
Write Back.
I Separación de memoria caché en instrucciones y datos.
I Implementación de la MMU (Memory Management Unit).
I Implementación de la FPU (Floating Point Unit).
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Otros trabajos a futuro:
I Implementación de un bus switcheado, incluyendo más de un
controlador de memoria.
I Modificación de la estructura de la cache para que el tamaño
de bloque sea parametrizable.
I Modificación de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementación de polı́tica de escritura en memoria del tipo
Write Back.
I Separación de memoria caché en instrucciones y datos.
I Implementación de la MMU (Memory Management Unit).
I Implementación de la FPU (Floating Point Unit).
I Mejoras y vectorización del manejo de interrupciones y
excepciones (NVIC).
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
Hoy en dı́a hay al menos otros cuatro estudiantes que siguen la
lı́nea de trabajo del plama múlti-núcleo en sus trabajos de tesis de
grado. Ellos tratarán algunos de los temas anteriormente
nombrados.
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
¿PREGUNTAS?
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
MUCHAS
GRACIAS!
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Motivación y objetivos
Introducción
Diseño
Implementación
Evaluación
Conclusiones y trabajos futuros
Conclusiones
Trabajos futuros
FIN!
Federico G. Zacchigna
Tesis de Grado de Ingenierı́a Electrónica
Descargar