Sunteți pe pagina 1din 254

Motivaci

on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

nica
Tesis de Grado de Ingeniera Electro

Dise
no, Implementaci
on y Evaluaci
on de un
procesador multi-n
ucleo
Alumno: Sr. Federico Giordano Zacchigna
Director: Dr. Ing. Ariel Lutenberg
Laboratorio de Sistemas Embebidos
Facultad de Ingeniera
Universidad de Buenos Aires

13/08/2012
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

MOTIVACION
Y
OBJETIVOS

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

El aumento del uso de procesadores multi-n


ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

I
I

El aumento del uso de procesadores multi-n


ucleo
La tendencia a aumentar el n
umero de n
ucleos de los
procesadores

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

I
I
I

El aumento del uso de procesadores multi-n


ucleo
La tendencia a aumentar el n
umero de n
ucleos de los
procesadores
La flexibilidad que brindan los procesadores multi-n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

I
I
I
I

El aumento del uso de procesadores multi-n


ucleo
La tendencia a aumentar el n
umero de n
ucleos de los
procesadores
La flexibilidad que brindan los procesadores multi-n
ucleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

I
I
I
I
I

El aumento del uso de procesadores multi-n


ucleo
La tendencia a aumentar el n
umero de n
ucleos de los
procesadores
La flexibilidad que brindan los procesadores multi-n
ucleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos
La falta de procesadores de c
odigo libre, para realizar
investigaciones

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Motivacion

I
I
I
I
I
I

El aumento del uso de procesadores multi-n


ucleo
La tendencia a aumentar el n
umero de n
ucleos de los
procesadores
La flexibilidad que brindan los procesadores multi-n
ucleos
La flexibilidad que brindan los soft-cores implementados en
FPGAs para los sitemas embebidos
La falta de procesadores de c
odigo libre, para realizar
investigaciones
Continuar con la lnea de investigaci
on sobre procesadores
multi-n
ucleos, sobre su funcionamiento bajo efectos de
radiacion e interferencia electromagnetica
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Objetivos

Dise
nar un procesador multi-n
ucleo que sea sintetizable en
una FPGA

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Objetivos

Dise
nar un procesador multi-n
ucleo que sea sintetizable en
una FPGA

Que el n
umero de n
ucleos sea parametrizable

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Objetivos

Dise
nar un procesador multi-n
ucleo que sea sintetizable en
una FPGA

Que el n
umero de n
ucleos sea parametrizable

Que el dise
no sea simple

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Motivaci
on
Objetivos

Objetivos

Dise
nar un procesador multi-n
ucleo que sea sintetizable en
una FPGA

Que el n
umero de n
ucleos sea parametrizable

Que el dise
no sea simple

Realizar una evaluaci


on del desempe
no

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

INTRODUCCION

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion
Clasificacion de Flynn

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion
Clasificacion de Flynn
I

SISD: En ingles Single Instruction Single Data.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion
Clasificacion de Flynn
I
I

SISD: En ingles Single Instruction Single Data.


SIMD: En ingles Single Instruction Multiple Data.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion
Clasificacion de Flynn
I
I
I

SISD: En ingles Single Instruction Single Data.


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

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Paralelizacion
Clasificacion de Flynn
I
I
I
I

SISD: En ingles Single Instruction Single Data.


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

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

Inicio

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I

Dependencias

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I

Dependencias

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I

Dependencias
Pipeline

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

IF

ID

EX

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

MEM

WB

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

IF

ID

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

EX

MEM

INSTRUCCIONES

Ciclo
1
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 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 Ingeniera Electr


onica

EX

MEM

REGISTROS

ID

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

REGISTROS

REGISTROS

IF

REGISTROS
IF

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

WB

CLK

INSTRUCCIONES

Ciclo
1
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 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 Ingeniera Electr


onica

EX

MEM

REGISTROS

ID

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

REGISTROS

REGISTROS

IF

REGISTROS
IF

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
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
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 3
INSTRUCCIN 4
INSTRUCCIN 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I

Dependencias
Pipeline

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I

Dependencias
Pipeline
Multiple issue slots

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 3
INSTRUCCIN 4
INSTRUCCIN 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 3
INSTRUCCIN 4
INSTRUCCIN 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
INSTRUCCIN 1
INSTRUCCIN 2
INSTRUCCIN 3
INSTRUCCIN 4
INSTRUCCIN 5
INSTRUCCIN 6
INSTRUCCIN 7
INSTRUCCIN 8
INSTRUCCIN 9
INSTRUCCIN 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I

Dependencias
Pipeline
Multiple issue slots

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Procesador ideal:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Procesador ideal:
I

El lmite de la ILP es impuesto por el flujos de datos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Procesador ideal:
I
I

El lmite de la ILP es impuesto por el flujos de datos


Este lmite no se alcanza en un procesador real

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesador ideal:
I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

El lmite de la ILP es impuesto por el flujos de datos


Este lmite no se alcanza en un procesador real

Idealmente se tiene:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesador ideal:
I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

El lmite de la ILP es impuesto por el flujos de datos


Este lmite no se alcanza en un procesador real

Idealmente se tiene:
I

Infinitos registros

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesador ideal:
I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

El lmite de la ILP es impuesto por el flujos de datos


Este lmite 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesador ideal:
I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

El lmite de la ILP es impuesto por el flujos de datos


Este lmite 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesador ideal:
I
I

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

El lmite de la ILP es impuesto por el flujos de datos


Este lmite no se alcanza en un procesador real

Idealmente se tiene:
I
I
I
I

Infinitos registros
Ventana de programa infinita
Perfectas predicciones
Perfecto analisis de aliasing de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I

Tareas

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Procesos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesos

Hilos

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesos

Hilos

Sistemas operativos

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesos

Hilos

Sistemas operativos

Planificacion de tareas

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Procesos

Hilos

Sistemas operativos

Planificacion de tareas

Programacion distribuida

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I

Tareas

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I
I

Tareas
Multi-threading

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Ejecucion 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Ejecucion normal de tareas:

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Ejecuci
on 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I
I

Tareas
Multi-threading

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion

I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I
I
I

Tareas
Multi-threading
Multi-procesadores

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

M
ultiples n
ucleos interconectados
NCLEO

NCLEO

NCLEO
Inteconexin
entre ncleos,
memoria y
dispositivos de
entrada/salida

NCLEO

ENTRADA
/
SALIDA

MEMORIA

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion
I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones

Paralelismo a nivel de instrucci


on
I
I
I

Tareas
Multi-threading
Multi-procesadores

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Evolucion
I
I

Inicio
Paralelismo a nivel de instrucci
on
I
I
I
I

Paralelismo a nivel de instrucci


on
I
I
I

Dependencias
Pipeline
Multiple issue slots
Limitaciones
Tareas
Multi-threading
Multi-procesadores

Consumo y frecuencia
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 tecnologa

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 tecnologa

Limitacion en la tecnologa

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 tecnologa

Limitacion en la tecnologa

Bajar la frecuencia

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 tecnologa

Limitacion en la tecnologa

Bajar la frecuencia

Apagar los n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
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 tecnologa

Limitacion en la tecnologa

Bajar la frecuencia

Apagar los n
ucleos

N
ucleos asimetricos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Aumentar la flexibilidad

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Aumentar la flexibilidad

Bajar el consumo

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Aumentar la flexibilidad

Bajar el consumo

Aumentar la potencia

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Aumentar la flexibilidad

Bajar el consumo

Aumentar la potencia

Multi-procesadores

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Aumentar la flexibilidad

Bajar el consumo

Aumentar la potencia

Multi-procesadores

Procesadores multi-n
ucleo

Federico G. Zacchigna

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Aumentar la flexibilidad

Bajar el consumo

Aumentar la potencia

Multi-procesadores

Procesadores multi-n
ucleo

Aumentar el n
umero de n
ucleos en un procesador

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Paralelizaci
on y clasificaci
on
Paralelismo a nivel de instrucci
on
Paralelismo a nivel de tareas
Tendencia

Aumentar la flexibilidad

Bajar el consumo

Aumentar la potencia

Multi-procesadores

Procesadores multi-n
ucleo

Aumentar el n
umero de n
ucleos en un procesador

Programacion distribuida

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

DISENO

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

Comunicacion

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

NCLEO

NCLEO

NCLEO

Federico G. Zacchigna

NCLEO
Inteconexin
entre ncleos,
memoria y
dispositivos de
entrada/salida

ENTRADA
/
SALIDA

MEMORIA

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

NCLEO

NCLEO

NCLEO

NCLEO
Inteconexin
entre ncleos,
memoria y
dispositivos de
entrada/salida

ENTRADA
/
SALIDA

MEMORIA

memoria compartida

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

NCLEO

NCLEO

NCLEO

memoria compartida

Federico G. Zacchigna

NCLEO
Inteconexin
entre ncleos,
memoria y
dispositivos de
entrada/salida

ENTRADA
/
SALIDA

MEMORIA

memoria distribuida

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

NCLEO

NCLEO

NCLEO

Bus simple
MEMORIA
PRINCIPAL

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

NCLEO

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

NCLEO

NCLEO

NCLEO

NCLEO

Bus simple
MEMORIA
PRINCIPAL

NCLEO

Bus switcheado

NCLEO

NCLEO

SWITCHED
BUS

BANCO 0

BANCO 1

BANCO 0

MEMORIA
PRINCIPAL

Federico G. Zacchigna

NCLEO

Tesis de Grado de Ingeniera Electr


onica

BANCO 1

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

Comunicacion

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I

Principio de localidad

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

La ejecucion del codigo no es uniforme.


Principio de localidad:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

La ejecucion del codigo 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 tambien

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

La ejecucion del codigo 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 tambien

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I

Principio de localidad

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I

Principio de localidad
Jerarqua

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Jerarqua de memoria
CPU

MEMORIA

Velocidad Tamao
RPIDA

PEQUEA

Costo

Ejemplo

COSTOSA

SRAM

DRAM

MEMORIA

MEMORIA

LENTA

Federico G. Zacchigna

GRANDE ECONMICA

DISCO
RIGIDO
MAGNTICO

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I

Jerarqua
Principio de localidad

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I

Jerarqua
Principio de localidad
Memoria cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Las memorias cache sacan


provecho de:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Las memorias cache sacan


provecho de:

la localidad temporal

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Las memorias cache sacan


provecho de:

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

CPU

MEMORIA

Velocidad
RPIDA

MEMORIA

MEMORIA

LENTA

la localidad temporal

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Las memorias cache sacan


provecho de:

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

CPU

MEMORIA

Velocidad
RPIDA

MEMORIA

MEMORIA

la localidad temporal

la localidad espacial

Federico G. Zacchigna

LENTA

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Las memorias cache sacan


provecho de:

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

CPU

MEMORIA

Velocidad
RPIDA

MEMORIA

MEMORIA

la localidad temporal

la localidad espacial

LENTA

Federico G. Zacchigna

BLOQUE
BLOQUE

MEMORIA

BLOQUE

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Mapeo de bloques:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Mapeo de bloques:
I

Directo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Mapeo de bloques:
I
I

Directo
Asociativo de N vias

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Mapeo de bloques:
I
I
I

Directo
Asociativo de N vias
Full-asociativo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria principal:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria principal:


I

Write-back

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria principal:


I
I

Write-back
Write-through

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria cache:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria cache:


I

Write-allocate

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Polticas de escritura en memoria cache:


I
I

Write-allocate
Write-no-allocate

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Mapeo de bloques:
I
I
I

Directo
Asociativo de N vias
Full-asociativo

Polticas de escritura en memoria principal:


I
I

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

write-back
write-through

Polticas de escritura en memoria cache:


I
I

write-allocate
write-no-allocate

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

En particular la memoria cache del plasma multi-n


ucleo:
I

es de mapeo directo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

En particular la memoria cache del plasma multi-n


ucleo:
I

es de mapeo directo

con poltica de escritura write-back

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

En particular la memoria cache del plasma multi-n


ucleo:
I

es de mapeo directo

con poltica de escritura write-back

con poltica de escritura write-allocate

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

En particular la memoria cache del plasma multi-n


ucleo:
I

es de mapeo directo

con poltica de escritura write-back

con poltica de escritura write-allocate

saca provecho u
nicamente de la localidad espacial

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I

Jerarqua
Principio de localidad
Memoria cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Las memorias cache en procesadores multi-n


ucleo son
fundamentales:
I

sacan provecho de la localidad espacial y temporal

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Las memorias cache en procesadores multi-n


ucleo son
fundamentales:
I

sacan provecho de la localidad espacial y temporal

reducen el trafico del bus

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Las memorias cache en procesadores multi-n


ucleo son
fundamentales:
I

sacan provecho de la localidad espacial y temporal

reducen el trafico del bus

hacen posible la ejecuci


on de programas desde la memoria
compartida

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

protocolos de cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

protocolos de cache

algoritmos de coherencia de cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Los protocolos de
memoria cache:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Los protocolos de
memoria cache:

protocolos
basados en
un directorio

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

bloques

Memoria
cache

protocolos
basados en
un directorio

Federico G. Zacchigna

Memoria
cache

Directorio

Tesis de Grado de Ingeniera Electr


onica

Bloques

Los protocolos de
memoria cache:

estado de
los bloques

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

bloques

Memoria
cache

protocolos
basados en
un directorio

protocolos de
snooping

Federico G. Zacchigna

Memoria
cache

Directorio

Tesis de Grado de Ingeniera Electr


onica

Bloques

Los protocolos de
memoria cache:

estado de
los bloques

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Memoria
cache
bloques

protocolos
basados en
un directorio

Federico G. Zacchigna

Memoria
cache
estado de
los bloques

protocolos de
snooping

bloques

estado de
los bloques

Memoria
cache

bloques

Memoria
cache

Directorio
Bloques

Los protocolos de
memoria cache:

estado de
los bloques

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

protocolos de cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problemaica de la memoria cache en procesadores multi-n


ucleo:
Accin

Consecuencia

Valor en
cache0

Valor en
cache1

Valor
real
0

Estado inicial

CPU0 lee

Miss en cache0

CPU1 lee

Miss en cache1

CPU0 escribe

CPU1 lee

Escritura en cache 0 y
en memoria principal
Lee 0 cuando el
dato real es 1

protocolos de cache

algoritmos de coherencia de cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos
Algoritmo de coherencia

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Algoritmos de coherencia para protocolos de snooping :


I

las memorias cache se comunican entre s

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Algoritmos de coherencia para protocolos de snooping :


I

las memorias cache se comunican entre s

envan informacion sobre el estado de los bloques

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Algoritmos de coherencia para protocolos de snooping :


I

las memorias cache se comunican entre s

envan informacion sobre el estado de los bloques

envan informacion sobre las acciones que realizan

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos
Algoritmo de coherencia

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno

I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos
Algoritmo de coherencia

Manejador de interrupciones

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Interrupciones:
I

en procesadores mono-n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Interrupciones:
I

en procesadores mono-n
ucleos

en procesadores multi-n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno
I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos
Algoritmo de coherencia

Manejador de interrupciones

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Diseno
I
I

Comunicacion
Arquitectura de la memoria
I
I
I
I
I
I

Jerarqua
Principio de localidad
Memoria cache
Memorias cache en procesadores multi-n
ucleo
Protocolos
Algoritmo de coherencia

Manejador de interrupciones

Operaciones atomicas

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Operaciones atomicas:
Las operaciones atomicas
hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

en procesadores
mono-n
ucleos

Operaciones atomicas:
Las operaciones atomicas
hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Operaciones atomicas:

en procesadores
mono-n
ucleos
I

deshabilitar
interrupciones

Las operaciones atomicas


hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Operaciones atomicas:
Las operaciones atomicas
hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

Federico G. Zacchigna

en procesadores
mono-n
ucleos
I

deshabilitar
interrupciones

en procesadores
multi-n
ucleos

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Operaciones atomicas:
Las operaciones atomicas
hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

Federico G. Zacchigna

en procesadores
mono-n
ucleos
I

deshabilitar
interrupciones

en procesadores
multi-n
ucleos
I

deshabilitar
interrupciones

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Operaciones atomicas:
Las operaciones atomicas
hacen referencia a la
lectura-modificacion-escritura
de una posicion de memoria

en procesadores
mono-n
ucleos
I

en procesadores
multi-n
ucleos
I

Federico G. Zacchigna

deshabilitar
interrupciones

deshabilitar
interrupciones
exclusion mutua y
secciones crticas
spin locks

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

exclusion mutua y
secciones crticas
TIEMPO

PROCESO A

SECCIN CRTICA de A

B est
bloqueada

PROCESO B

T0

T1

SECCIN CRTICA de B

T2

T3

T0: A entra a una seccin critica.


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

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

spin lock
INICIO

Deshabilitacin de
interrupciones

exclusion mutua y
secciones crticas

SpinLock
Lectura del registro del lock

TIEMPO

PROCESO A

NO

Es 0?

SECCIN CRTICA de A
SI
Lock adquirido
B est
bloqueada

PROCESO B

T0

T1

SECCIN CRTICA de B

T2

Inicio de seccin crtica

T3

T0: A entra a una seccin critica.


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

Se hace uso de los recursos compartidos.


Todas las operaciones en esta seccin son
atmicas
Fin de seccin crtica
RegistroDelLock = 0
(Se libera)
Se restaura el estado anterior
de las interrupciones

FIN

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problema del spin lock


Necesito realizar operaciones atmicas
sobre los recursos compartidos.

Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusin mutua, sobre las regiones
crticas, 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
atmicas sobre el registro del lock.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problema del spin lock


Necesito realizar operaciones atmicas
sobre los recursos compartidos.

Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusin mutua, sobre las regiones
crticas, 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
atmicas sobre el registro del lock.

Solucion

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problema del spin lock


Necesito realizar operaciones atmicas
sobre los recursos compartidos.

Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusin mutua, sobre las regiones
crticas, 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
atmicas sobre el registro del lock.

Solucion
I

implementar instrucciones de MIPS II:


LL Load-Linked y SC Store-Conditional

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Comunicaci
on entre los n
ucleo
Arquitectura de la memoria
Manejador de interrupciones
Operaciones at
omicas

Problema del spin lock


Necesito realizar operaciones atmicas
sobre los recursos compartidos.

Necestio
Necestio proteger
proteger los
los recursos
recursos compartidos:
compartidos
Usando la exclusin mutua, sobre las regiones
crticas, 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
atmicas sobre el registro del lock.

Solucion
I

implementar instrucciones de MIPS II:


LL Load-Linked y SC Store-Conditional
plasma multi-n
ucleo: se brinda soporte por hardware
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

IMPLEMENTACION

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

Estructura general

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Estructura general del procesador

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

Estructura general

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I

Nexys2

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

32 bits-dataW

32 bits-dataR

4 bits-byteWE
busy_o
request_i
reset_i
clk_i

Federico G. Zacchigna

23bits-direccin

16 bits-dataIO
memCE_o
memWE_o
memLB_o
memUB_o
memOE_o
memClk_o

Memoria ram externa

Plasma multi-ncleo

22bits-direccin

Controlador de memoria

Nexys2

memAdV_o
memCRE_o
memWait_i

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I

Nexys2

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I
I

Nexys2
Controlador de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Lectura

Escritura

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Lectura

Escritura

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I
I

Nexys2
Controlador de memoria

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I
I

Nexys2
Controlador de memoria

Plasma multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

Ncleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

Ncleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

Ncleo

Generador de seales

memRequest_s

memRequest_s

memRequest_s

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Seales (de izq. a der.):


- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

rbitro de
bus

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

rbitro de
bus

Manejador de
interrupciones

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

rbitro de
bus

Manejador de
interrupciones

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

busAddress_s
busWe_s
memRequest_s

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

Seales (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

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Las seales de clk_i y reset_i


van a todos los bloques

Componentes
varios
Regs. de intercom.
UART read
UART write
Mscara de IRQ
Estado de IRQ
Contador
GPIO (E/S)

Multiplexor
Seales (de izq. a der.):
- cpuDataR_s
- cpuDataW_s
- cpuAddress_s
- cpuWe_s

Seales (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

Ncleo

Ncleo

Ncleo

Generador de seales

memRequest_s

Seales 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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I
I

Nexys2
Controlador de memoria

Plasma multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Implementacion

I
I

Estructura general
Nivel superior
I
I

Nexys2
Controlador de memoria

Plasma multi-n
ucleo

N
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

CPU

BUS (dataW, dataR, address, byteWE)

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

El procesador plasma:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

La interfaz del procesador plasma:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

CPU

BUS (dataW, dataR, address, byteWE)

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

irq_i

cpuPause_s

reset_i

CPU

clk_i

BUS (dataW, dataR, address, byteWE)

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

DATOS

INDICADORES

Federico G. Zacchigna

PUERTO B

PUERTO A

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.


Escritura al ocurrir un miss en una operaci
on de lectura
solicitada por el CPU.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.


Escritura al ocurrir un miss en una operaci
on de lectura
solicitada por el CPU.
Escritura al realizar una operaci
on de escritura solicitada por el
CPU (poltica write-allocate).

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.


Escritura al ocurrir un miss en una operaci
on de lectura
solicitada por el CPU.
Escritura al realizar una operaci
on de escritura solicitada por el
CPU (poltica write-allocate).
Se invalida el la posici
on en cache, al realizar una escritura que
no sea de 32 bits.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.


Escritura al ocurrir un miss en una operaci
on de lectura
solicitada por el CPU.
Escritura al realizar una operaci
on de escritura solicitada por el
CPU (poltica write-allocate).
Se invalida el la posici
on en cache, al realizar una escritura que
no sea de 32 bits.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.
I

Se realizan lecturas en la memoria de indicadores cada vez que


hay una se
nal de bus snooping.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Puerto A: Se utiliza para leer y escribir datos en memoria


cache.
I
I

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Lectura de un dato solicitado por el CPU.


Escritura al ocurrir un miss en una operaci
on de lectura
solicitada por el CPU.
Escritura al realizar una operaci
on de escritura solicitada por el
CPU (poltica write-allocate).
Se invalida el la posici
on en cache, al realizar una escritura que
no sea de 32 bits.

Puerto B: Se utiliza u
nicamente para el algoritmo de
coherencia de memoria cache.
I

Se realizan lecturas en la memoria de indicadores cada vez que


hay una se
nal de bus snooping.
Se realizan actualizaciones de los datos en cache, cuando
corresponde.
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Estructura General
Nivel superior
Plasma multi-n
ucleo
N
ucleo

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 Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

EVALUACION

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

CONCLUSIONES
Y
TRABAJOS FUTUROS

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I

n
umero de n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:
I

la utilizaci
on del bus

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:
I
I

la utilizaci
on del bus
la carga de procesamiento

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:
I
I

la utilizaci
on del bus
la carga de procesamiento

La mejora puede estar alejada del lmite te


orico ideal

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:
I
I

la utilizaci
on del bus
la carga de procesamiento

La mejora puede estar alejada del lmite te


orico ideal
Una primer implementaci
on del plasma multi-n
ucleo

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Se dise
no e implement
o un sistema multi-n
ucleo
Se realizaron testeos de eficiencia
Los resultados presentados muestran dependencia del
rendimiento:
I
I
I

n
umero de n
ucleos
el tipo de tarea que se tenga
la memoria cache

Los factores mas determinantes en el rendimiento al ejecutar


una tarea son:
I
I

la utilizaci
on del bus
la carga de procesamiento

La mejora puede estar alejada del lmite te


orico ideal
Una primer implementaci
on del plasma multi-n
ucleo
Posibilidad de mejorar el dise
no
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Modificar la memoria interna

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Modificar la memoria interna

Evitar invalidar datos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Modificar la memoria interna

Evitar invalidar datos

Memoria cache de instrucciones y datos

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Modificar la memoria interna

Evitar invalidar datos

Memoria cache de instrucciones y datos

Modificacion de la memoria interna de cada n


ucleo.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

En primer instancia:
I

N n
ucleos

Modificar la memoria interna

Evitar invalidar datos

Memoria cache de instrucciones y datos

Modificacion de la memoria interna de cada n


ucleo.

Task scheduler monitor para el plasma multi-n


ucleo.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementaci
on de poltica de escritura en memoria del tipo
Write Back.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementaci
on de poltica de escritura en memoria del tipo
Write Back.
I Separaci
on de memoria cache en instrucciones y datos.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementaci
on de poltica de escritura en memoria del tipo
Write Back.
I Separaci
on de memoria cache en instrucciones y datos.
I Implementaci
on de la MMU (Memory Management Unit).

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementaci
on de poltica de escritura en memoria del tipo
Write Back.
I Separaci
on de memoria cache en instrucciones y datos.
I Implementaci
on de la MMU (Memory Management Unit).
I Implementaci
on de la FPU (Floating Point Unit).

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Otros trabajos a futuro:


I Implementaci
on de un bus switcheado, incluyendo mas de un
controlador de memoria.
I Modificaci
on de la estructura de la cache para que el tama
no
de bloque sea parametrizable.
I Modificaci
on de la estructura de la cache para que sea
parametrizable la asociatividad.
I Implementaci
on de poltica de escritura en memoria del tipo
Write Back.
I Separaci
on de memoria cache en instrucciones y datos.
I Implementaci
on de la MMU (Memory Management Unit).
I Implementaci
on de la FPU (Floating Point Unit).
I Mejoras y vectorizaci
on del manejo de interrupciones y
excepciones (NVIC).
Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

Hoy en da hay al menos otros cuatro estudiantes que siguen la


lnea de trabajo del plama m
ulti-n
ucleo en sus trabajos de tesis de
grado. Ellos trataran algunos de los temas anteriormente
nombrados.

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

PREGUNTAS?

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

MUCHAS
GRACIAS!

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

Motivaci
on y objetivos
Introducci
on
Dise
no
Implementaci
on
Evaluaci
on
Conclusiones y trabajos futuros

Conclusiones
Trabajos futuros

FIN!

Federico G. Zacchigna

Tesis de Grado de Ingeniera Electr


onica

S-ar putea să vă placă și