Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

Embed Size (px)

Citation preview

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    1/105

    Máquinas Computadoras II

    Procesadores Segmentadosy Vectoriales

    UNIVERSIDAD NACIONAL DE INGENIERIA

    FACULTAD DE ELECTROTECNIA Y COMPUTACIÓNDEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    2/105

    Ingeniería Electrónica - MC2

    Contenido

    Paralelismo en Mono-Procesador 

    MIMD Memoria Compartida

    MIMD Memoria Acoplada

    Computadoras Multi-core

    Procesadores Segmentados y Vectoriales 2

    Tipos de Paralelismo

    Computadoras Vectoriales

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    3/105

    TIPOS DE PARALELISMO

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC23

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    4/105

    Conceptos Generales

    Ejecución serial• Las tareas/instrucciones de un

    programa son ejecutadas demanera secuencial, una cada vez.

    Ejecución paralela• Varias tareas/instrucciones de un

    programa son ejecutadas demanera simultánea.

    Memoria compartida• Las diferentes unidades de computo

    (CPU) comparten una memoriacomún a la cual tienen todos accesoen igualdad de condiciones.

    Memoria distribuida• Las diferentes unidades de cálculo

    (CPU) tienen una memoria propia ala cual las demás CPUs no tienenacceso directo.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC24

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    5/105

    Conceptos Generales - Rendimiento

    La aceleración experimentada por un programa al hacer uso de Nunidades de procesamiento (CPU) en vez de una única es

     ó =

    La eficiencia paralela es la aceleración alcanzada por un programacomparada con la que podría alcanzar en el caso ideal:

     = ó

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC25

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    6/105

    Primeros Pasos en ProcesamientoParalelo

    La segmentación es unprimer mecanismo deparalelismo• Varias instrucciones

    consecutivas son ejecutadasde forma solapada casi enparalelo.

    Procesadores super-escalares realizan

    también procesamientoparalelo• Ejecutan dos o mas

    instrucciones al mismo tiempogracias a la presencia devarios cauces paralelos.

    Procesadores oSistemas vectoriales• Segmentación al tratamiento

    de grandes cadenas de datos.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC26

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    7/105

    Clasificación de Flynn

    La clasificación mas popular de computadores

    Basada en la clasificación atendiendo al flujo de datos einstrucciones en un sistema. Un flujo de instrucciones es el conjunto de instrucciones secuenciales

    que son ejecutadas por un único procesador,

    y un flujo de datos es el flujo secuencial de datos requeridos por el flujode instrucciones.

    Cuatro categorías:

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC27

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    8/105

    Taxonomía de las arquitecturas paralelas

    Organizaciones de computadores

    Una secuencia deinstrucción, una

    secuencia de datos(SISD)

    Una secuencia deinstrucción, múltiplessecuencias de datos

    (SIMD)

    Múltiples secuencias deinstrucción, una

    secuencia de datos(MISD)

    Múltiples secuencias deinstrucción, múltiplessecuencias de datos

    (MIMD)

    Monoprocesadores

    Procesadoresvectoriales

    Procesadoresmatriciales

    Memoria compartida(fuertemente acoplada)

    Memoria distribuida(débilmente acoplada)

    Clusters

    Multiprocesador simétrico (SMP)

    Acceso nouniforme amemoria(NUMA)

    SMP = Symmetric MultiProcessor NUMA = NonUniform Memory Access

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC28

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    9/105

    SISD: Single Instruction, SingleData

    Características del modeloSISD: La CPU procesa

    únicamente una instrucciónpor cada ciclo de reloj

    Únicamente un dato esprocesado en cada ciclo dereloj

    Es el modelo más antiguode computadora y el más

    extendido.-

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC29

    Flujo único de instrucciones y flujo

    único de datos. A menudo a los SISD se lesconoce como computadores serieescalares.

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    10/105

    Máquinas SISD

    Poseen registro simple que se

    llama contador de programa queasegura la ejecución en serie delprograma. Conforme se van leyendo las

    instrucciones de la memoria,

    el contador de programa se actualiza

    para que apunte a la siguienteinstrucción a procesar en serie.

    No existe actualmente ningúncomputador puramente SISD

    La mayoría de procesadoresmodernos incorporan algún grado

    de paralelismo Segmentación de instrucciones

    Ejecución de varias instrucciones almismo tiempo (superescalares).-

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC210

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    11/105

    MISD: Mult ip le Ins truc t ion stream ,Sing le Data stream 

    Flujo múltiple de instrucciones y único flujo de datos. Varias instrucciones actúan sobre el mismo y único conjunto de datos.

    Existen pocos ejemplos ya que es impráctica. Una opción son arquitecturas altamente segmentadas ejecutando una función

    particular en los mismo datos.-

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC211

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    12/105

    SIMD: Single Instruction, MultipleData

    Características delmodelo SIMD: Todas las unidades

    ejecutan la misma

    instrucción Cada unidad procesa

    un dato distinto

    Todas las unidades

    operansimultáneamente

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC212

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    13/105

    Organización MIMDMúltiples Instrucciones Múltiples Datos

    Sonprocesadores deuso general.

    Cada uno escapaz de

    procesar todas

    las instruccionesnecesarias pararealizar las

    transformacionesapropiadas de los

    datos.

    Se puedensubdividir,

    además, según laforma que tienenlos procesadores

    paracomunicarse.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC213

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    14/105

    MIMD: Multiple Instruction,Multiple Data

    Características delmodelo MIMD: Cada unidad ejecuta

    una instrucción distinta

    Cada unidad procesaun dato distinto

    Todas las unidadesoperan

    simultáneamente

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC214

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    15/105

    MIMD de memoria compartida

    UC1

    UC2

    UCn

    UP1

    UP2

    UPn

    FI

    FI

    FI

    FD

    FD

    FD

       M  e  m

      o  r   i  a

      c  o  m  p

      a  r   t   i   d  a

    UC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de Datos

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC215

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    16/105

    SMP (fuertemente acoplado)

    Varios procesadores comparten una única memoria.

    Los procesadores se comunican unos con otros através de esa memoria compartida.

    Características del multiprocesador simétrico (SMP):

    • Comparten la memoria principal.• Comparten un bus para acceder a la memoria.• El tiempo de acceso a memoria es aproximadamente el mismo

    para todos los procesadores.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC216

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    17/105

    NUMA (fuertemente acoplado)

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC217

    • El tiempo de acceso a zonas de memoria diferentespuede diferir en un computador NUMA.

    NUMA: Acceso no uniforme a memoria.

    • Evitando así que afecte al rendimiento del sistemacuando varios procesadores intentan acceder a lamisma memoria.

    NUMA ofrece memoria distribuida para

    cada procesador 

    • por un factor de aproximadamente el número deprocesadores (o separando bancos de memoria).

    NUMA puede mejorar el rendimientoutilizando una única memoria compartida

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    18/105

    MIMD de memoria distribuida

    UC1

    UC2

    UCn

    UP1

    UP2

    UPn

    ML1

    ML2

    MLn

       R  e   d   d  e

       i  n   t  e  r  c  o  n  e  x   i   ó  n

    FI

    FI

    FI

    FD

    FD

    FD

    UC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de DatosML = Memoria Local

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC218

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    19/105

    Clusters (memoria débilmenteacoplada)

    Un conjunto de computadores monoprocesadorindependientes, o de SMP, puedeninterconectarse para formar un “cluster”.

    La comunicación entre los computadores serealiza mediante conexiones fijas o mediantealgún tipo de red.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC219

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    20/105

    PARALELISMO ENMONOPROCESADOR

    Segmentación

    Procesadores Superescalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC220

    Organizaciones de computadores

    Una secuencia deinstrucción, una secuencia

    de datos(SISD)

    Una secuencia de instrucción,múltiples secuencias de datos

    (SIMD)

    Múltiples secuencias deinstrucción, una secuencia de

    datos (MISD)

    Múltiples secuencias deinstrucción, múltiples

    secuencias de datos (MIMD)

    Monoprocesadores

    Procesadoresvectoriales

    Procesadoresmatriciales

    Memoria compartida(fuertemente acoplada)

    Memoria distribuida(débilmente acoplada)

    Clusters

    Multiprocesador simétrico (SMP)

    Acceso nouniforme amemoria(NUMA)

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    21/105

    ¿Qué es la segmentación?

    Técnica de implementación por la cual se solapala ejecución de múltiples instrucciones

    La ejecución de la una instrucción sedescompone en partes más pequeñas cada una de las cuales necesita una fracción del

    tiempo necesario para completar la instruccióncompleta.

    Cada uno de estos pasos se define como etapa

    de la segmentación o segmento.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC221

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    22/105

    Tarea Ejecutada Secuencial

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC222

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    23/105

    Tarea Ejecutada con ProcesadorSegmentado

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC223

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    24/105

    Ejemplo de eventos en etapa deSegmentación

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC224

    IF = búsqueda de la instrucciónID = decodificación instrucción y búsqueda de registrosEX = ejecución y cálculo de direcciones efectivasMEM = acceso a memoriaWB = post-escritura

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    25/105

    Segmentación básica

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC225

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    26/105

    ¿Qué es una implementaciónsuperescalar?

    Las instrucciones comunes(aritméticas,cargas/almacenamientos y bifurcacionescondicionales) pueden iniciar su ejecuciónsimultáneamente y de manera independiente.

    Puede utilizarse tanto en una arquitectura RISCcomo en una CISC.

    • En la práctica, normalmente se utiliza en RISC.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC226

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    27/105

    Organización superescalar usual

    Banco de registros de enteros Banco de registros de coma flotante

    Unidadesfuncionales

    segmentadas

    Memoria

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC227

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    28/105

    Limitaciones

    Paralelismo a nivel de instrucciones. Optimizaciones realizadas por el compilador.

    Técnicas hardware.

    Limitaciones:

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC228

    • Dependencia de datos verdadera.

    • Dependencia relativa al procedimiento.

    • Conflictos en los recursos.

    • Dependencia de salida.•  Antidependencia.

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    29/105

    Dependencia de datos verdadera

     ADD r1, r2 ; r1 := r1 + r2 MOVE r3, r1 ; r3 := r1

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC229

    La segunda instrucciónse puede captar y

    decodificar en paralelocon la primera.

    La segunda instrucciónNO se puede ejecutarhasta que finalice la

    ejecución de laprimera instrucción.

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    30/105

    Dependencia relativa alprocedimiento

    Las instrucciones que siguen a unabifurcación no pueden ejecutarse enparalelo con las instrucciones anteriores ala misma.

    Si las instrucciones son de longitudvariable, éstas tienen quedecodificarse para averiguar cuántascaptaciones son necesarias.

    Esto imposibilita la captación simultánea.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC230

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    31/105

    Conflictos en los recursos

    Un conflicto en losrecursos es unapugna de dos o másinstrucciones por elmismo recurso almismo tiempo.

    Los recursos pueden

    duplicarse.

    • Ejemplo: dosinstruccionesaritméticas.

    • Ejemplo:tener dos

    unidadesaritméticas.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC231

    Clave Ejecución

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    32/105

    Dependencias

    1. Sin Dependencia2. Dependencia de

    datos1. I1 usa un dato

    calculado por I0

    3. Dependencia relativaal procedimiento1. I2 e I3 espera

    resultados de I0 eI1

    4. Conflicto en unrecurso1. I0 e I1 utilizan la

    misma UnidadFuncional

    Clave EjecuciónCaptación

    deinstrucción

    Decodifi_ cación

    Escritura

    Sin dependencia

    Dependencia de datos(i1 usa un dato calculado por i0)

    Dependencia relativa

    al procedimientoi1/bifurcación

    Conflicto en un recurso(i0 e i1 usan la misma

    unidad funcional)

    Tiempo en ciclos base

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC232

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    33/105

    Antidependencia

    Dependencia lectura-escritura: I1: R3 R3 op R5

    I2: R4 R3 + 1

    I3: R3 R5 + 1

    I4: R7 R3 op R4 I3 no puede finalizar antes de que I2 comience, ya

    que I2 necesita un valor en R3 e I3 modifica R3.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC233

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    34/105

    Ejecución superescalar 

    Programaestático

    Captación deinstrucciones y

    predicción de saltos

    Envío deinstrucciones

    Emisión deinstrucciones

    Ejecución deinstrucciones

    Reordenacióny entrega deinstrucciones

    Ventana deejecución

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC234

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    35/105

    Implementación superescalar 

    Estrategias de captación de instrucciones que capten simultáneamentemúltiples instrucciones.

    Lógica para determinar dependencias verdaderas entre valores deregistros.

    Mecanismos para comunicar esos valores.

    Mecanismos para iniciar múltiples instrucciones en paralelo.

    Recursos para la ejecución en paralelo de múltiples instrucciones.

    Mecanismos para entregar el estado del procesador en un orden correcto.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC235

    Ej l d S t ió

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    36/105

    Ejemplo de Segmentación enPentium 4

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC236

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    37/105

    COMPUTADORASVECTORIALES

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC237

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    38/105

    Procesamiento vectorial

    Un operandovectorialcontiene una

    secuencia de nelementos• donde n es la

    longitud delvector.

    Cada elementodel vector es

    un escalar decualquier tipo• entero, punto

    flotante, etc.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC238

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    39/105

    Arquitectura de una máquina SIMD

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC239

       M  e  m  o  r   i  a   D   i  s   t  r   i   b  u   i   d  a

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    40/105

    Arquitectura de una máquina SIMD

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC240

       M  e  m  o

      r   i  a   C  o

      m  p  a  r   t   i

       d  a

    Arq itect ra básica de n

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    41/105

    Arquitectura básica de uncomputador vectorial

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC241

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    42/105

    Utilidad de un procesador vectorial

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC242

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    43/105

    Elementos de la arquitectura

    Registros vectoriales

    Unidades funcionales vectoriales

    Unidad de carga y almacenamiento

    Registros escalares

    Unidades funcionales escalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC243

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    44/105

    Elementos de la arquitectura

    Registros vectoriales• Contienen los operandos vectoriales en máquinas de registros• No existen si la máquina es memoria-memoria• Valores típicos de elementos son 64 o 128• Deben tener al menos 2 puertos de lectura y uno de escritura

    Unidades funcionales vectoriales

    Unidad de carga y almacenamiento

    Registros escalares

    Unidades funcionales escalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC244

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    45/105

    Elementos de la arquitectura

    Registros vectorialesUnidades funcionales vectoriales• Ejecutan las operaciones vectoriales

    • Están segmentadas y suelen tener latencia 1• Una unidad de control vigila las dependencias

    Unidad de carga y almacenamiento

    Registros escalaresUnidades funcionales escalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC245

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    46/105

    Elementos de la arquitectura

    Registros vectorialesUnidades funcionales vectoriales

    Unidad de carga y almacenamiento• Gestiona transferencias de vectores desde/a memoria• Puede estar segmentada• También puede ocuparse de los datos escalares

    Registros escalaresUnidades funcionales escalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC246

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    47/105

    Elementos de la arquitectura

    Registros vectoriales

    Unidades funcionales vectoriales

    Unidad de carga y almacenamiento

    Registros escalares• Contienen los operando escalares• Se usan en operaciones vectoriales y para calcular direcciones

    • Se necesitan varios puertos de lectura y escritura

    Unidades funcionales escalares

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC247

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    48/105

    Elementos de la arquitectura

    Registros vectorialesUnidades funcionales vectoriales

    Unidad de carga y almacenamiento

    Registros escalares

    Unidades funcionales escalares• Pueden existir para operaciones específicamente escalares• Pueden no existir si para operaciones escalares se usan las

    unidades vectoriales

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC248

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    49/105

    Ventajas de las máquinas vectoriales

    Proporcionan granaprovechamiento delparalelismo (de datos)

    con un controlrelativamente sencillo.

    Una única instrucción

    especifica una grancantidad de trabajo,

    reduciendo la necesidadde ancho de banda de

    instrucciones.

    Optimizan el uso de

    memoria con accesospredecibles que sepueden solapar.

    Eliminan dependencias

    de control einstrucciones decomprobación y

    contabilidad.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC249

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    50/105

    Ejemplo de máquina vectorial

     Arquitectura delCray-1

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC250

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    51/105

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC251

    Participación según arquitectura del

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    52/105

    Participación según arquitectura delprocesador 

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC252

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    53/105

    Earth Simulator 2

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC253

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    54/105

    Earth Simulator 2 - arquitectura

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC254

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    55/105

    Earth Simulator 2 - Chip

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC255

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    56/105

    MULTIPROCESADORESSIMÉTRICOS (SMP)

    Memoria Compartida

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC256

    Organizaciones de computadores

    Una secuencia deinstrucción, una secuencia

    de datos(SISD)

    Una secuencia de instrucción,múltiples secuencias de datos

    (SIMD)

    Múltiples secuencias deinstrucción, una secuencia de

    datos (MISD)

    Múltiples secuencias deinstrucción, múltiples

    secuencias de datos (MIMD)

    Monoprocesadores

    Procesadoresvectoriales

    Procesadoresmatriciales

    Memoria compartida(fuertemente acoplada)

    Memoria distribuida(débilmente acoplada)

    Clusters

    Multiprocesador simétrico (SMP)

    Acceso nouniforme amemoria(NUMA)

    Multiprocesador fuertemente

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    57/105

    Multiprocesador fuertementeacoplado

    Procesador Procesador Procesador  

    E/S

    E/S

    E/S

    Red deinterconexión

    Memoria principal

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC257

    Conmutador de barras cruzadas

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    58/105

    Conmutador de barras cruzadasde 8 x 8

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC258

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    59/105

    Red Omega de Conmutación

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC259

    MemoriasProcesadores

    C í i d SMP (1/2)

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    60/105

    Característica de un SMP (1/2)

    Es un computador autónomo.

    Hay dos o más procesadores similares de capacidadescomparables.

    Estos procesadores comparten la memoria principal y lasE/S.

    Están interconectados mediante un bus u otro tipo desistema de interconexión.

    El tiempo de acceso a memoria es aproximadamente elmismo para todos los procesadores.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC260

    C t í ti d SMP

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    61/105

    Característica de un SMP

    Todos los procesadores comparten los dispositivos de E/S,

    • bien a través de los mismos canales,• o bien mediante canales distintos que proporcionan caminos de

    acceso al mismo dispositivo.

    Todos los procesadores pueden desempeñar las mismas funciones

    • (de ahí el término simétrico).

    El sistema está controlado por un sistema operativo integrado,

    • que proporciona la interacción entre los procesadores y• sus programas en los niveles de trabajo, tarea, fichero y datos.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC261

    V t j d SMP

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    62/105

    Ventajas de un SMP

    Prestaciones:

    Cuando el trabajo arealizar por uncomputador puedeorganizarse enparalelo.

    Disponibilidad:

    Debido a que todoslos procesadorespueden realizar lasmismas funciones,un fallo en unprocesador no haráque el computadorse detenga.

    Crecimiento incremental:

    Se pueden aumentarlas prestaciones delsistema, añadiendomás procesadores.

    Escalado:Los fabricantespueden ofrecer unagama de productoscon precios yprestacionesdiferentes, enfunción del númerode procesadores queconfiguran elsistema.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC262

    Organización de los

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    63/105

    Organización de losmultiprocesadores simétricos

    Bus de tiempo compartido o común.

    Memoria multipuerto.

    Unidad de control central.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC263

    Organización de Bus de tiempo

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    64/105

    Organización de Bus de tiempocompartido

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC264

    B d ti tid

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    65/105

    Bus de tiempo compartido

    Es el mecanismo más simple.

    La estructura y las interfaces son básicamente lasmismas que las de un sistema de un único procesador.

    • Direccionamiento: distinción de los módulos del bus.•  Arbitraje: cualquier módulo puede funcionar temporalmente como

    maestro.• Tiempo compartido: cuando un módulo está controlando el bus, los

    otros módulos tienen que esperar y, si es necesario, suspender suoperación.

    Se proporcionan los siguientes elementos para el:

    Existen varios procesadores, además de variosmódulos de E/S.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC265

    Ventajas del bus de tiempo

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    66/105

    j pcompartido

    Simplicidad.• Interfaz similar a sistema con un

    procesador 

    Flexibilidad.• Fácil de expandir

    Fiabilidad.• Bus es esencial pasivo• Falla en un dispositivo no afecta todo

    el sistema

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC266

    Desventajas del bus de tiempo

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    67/105

    j pcompartido

    La prestación estálimitada por eltiempo de ciclo del

    bus.

    Cada procesadordebería estar

    equipado con unamemoria cachepara mejorar lasprestaciones:• Se reduciría el

    número de accesos.

    Se puedenproducirproblemas decoherencia decache:• Este problema es

    resuelto por elhardware (se explicamás adelante)

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC267

    Memoria multipuerto

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    68/105

    Memoria multipuerto

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC268

    Permite el accesodirecto e independiente

    a los módulos dememoria desde cada

    uno de losprocesadores.

    Se necesita unacierta lógica para

    resolver losconflictos.

    Se necesitanpocas o ninguna

    modificación en los

    procesadores o enlos módulos.

    Organización de Memoria Multi-

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    69/105

    gpuerto

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC269

    Ventajas y desventajas de la

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    70/105

    j y jmemoria multipuerto

    • Se precisa añadir al sistema de memoria una buenacantidad de lógica.

    • Se consiguen mejores prestaciones.• Cada procesador tiene un camino dedicado a cada módulo

    de memoria.

    Más compleja:

    • Incremento de la seguridad.

    Permite configurar partes de la memoria comoprivadas para uno o más procesadores:

    Se debe utilizar una estrategia de escrituradirecta para controlar la cache.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC270

    Unidad de control central

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    71/105

    Unidad de control central

    • Encauza las distintas secuencias de datos entre los distintos módulosindependientes.

    • Puede almacenar temporalmente peticiones.

    • Puede realizar las funciones de arbitraje y temporización.

    • Puede transmitir mensajes de estado y control entre los procesadores.

    • Puede alertar sobre los cambios en las caches.

    • Las interfaces de E/S, memoria y procesador no sufren cambios esenciales.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC271

    Puntos clave de diseño de un

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    72/105

    sistema operativo

    Procesos concurrentes simultáneos.

    Planificación.

    Sincronización.

    Gestión de memoria.

    Fiabilidad y tolerancia ante los fallos.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC272

    Coherencia de cache y protocolo

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    73/105

    y pMESI

    Problema: puedenexistir varias copias

    del mismo datosimultáneamente encaches diferentes.

    Puede producirseuna visión

    inconsistente de lamemoria.

    La política de post-escritura puede

    ocasionarinconsistencia.

    La política deescritura directatambién puede

    producir problemas,a no ser que las

    otras caches

    comprueben losaccesos a lamemoria principal.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC273

    Soluciones software

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    74/105

    Soluciones software

    El compilador y el sistema operativo se encargan del problema dela necesidad de circuitería y lógica hardware adicional.

    La sobrecarga se transfiere al tiempo de compilación.

    La complejidad del diseño se transfiere desde el hardware alsoftware.

    Por otra parte, el software tiende a tomar ciertas decisionesconservadoras:

    • Utilización ineficiente de la cache.

     Analizan el código para determinar periodos seguros para lasvariables compartidas.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC274

    Soluciones hardware

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    75/105

    Soluciones hardware

    Generalmente

    se denominan“protocolos decoherencia de

    cache”.

    Permitenreconocer

    dinámicamente,en el momentode la ejecución,

    problemaspotenciales.

    Permiten un usomás efectivo de

    las caches.

     Aproximacionestransparentespara el

    programador.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC275

    Ejemplo: Invalidar si escritura

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    76/105

    Ejemplo: Invalidar-si-escritura

    Múltiples procesadores que leen, pero uno sólo que escribe.

    Cuando se quiere hacer una escritura, se invalidan las otras caches de lalínea.

    El procesador que escribe tiene acceso exclusivo hasta que la línea sea

    requerida por otro procesador.

    Se utiliza en los sistemas Pentium II y Power PC.

    El estado de cada línea se marca como modificado, exclusivo,compartido, o no válido.

    El protocolo de invalidar-si-escritura se llama MESI.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC276

    SMP en el mercado

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    77/105

    SMP en el mercado

    Procesadores Segmentados Ingeniería Electrónica - MC277

    Precio de Sparc T3 incluye el rack con todos los accesorios, disco duros, memoria,etc.

    Ultrasparc T3

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    78/105

    Ultrasparc T3

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC278

    Procesador Intel Xeon

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    79/105

    Procesador Intel Xeon

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC279

    MIPS32 1074K

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    80/105

    MIPS32 1074K

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC280

    AMD Opteron

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    81/105

    AMD Opteron

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC281

    Múltiples AMD

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    82/105

    Múltiples AMD

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC282

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    83/105

    COMPUTADORASMULTICORE

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC283

    Organizaciones Alternativas

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    84/105

    Organizaciones Alternativas

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC284

    Superscalar 

    Multi-hilos Simultáneos(Simul taneous mul t i th read ing, SMT) 

    Multicore

    Organización de Multicore

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    85/105

    Organización de Multicore

    Número de

    procesadoresde núcleo enel chip

    Número de

    niveles decaché en elchip

    Cantidad de

    memoriacachécompartida

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC285

    Alternativa de Organización

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    86/105

    Alternativa de Organización

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC286

       C  a  c   h   é   L   1   d  e   d   i  c  a

       d  a

       C  a  c   h   é   L   3  c  o  m  p  a  r   t   i   d  o

       C  a  c   h   é   L   2  c

      o  m  p  a  r   t   i   d  a

       C  a  c   h   é   L   2   d  e   d   i  c  a

       d  a

    Ventajas del caché L2 Compartido

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    87/105

    Ventajas del caché L2 Compartido

    Datos compartidos por múltiples núcleos no se replican a nivel de caché

    Con buen marco de algoritmos de reemplazo significa la cantidad dememoria caché compartida dedicada a cada núcleo es dinámica

    • Hilos con menos localidad puede tener más caché

    Fácil la comunicación entre procesos a través de memoria compartida

    Coherencia de caché limitada a L1

    Caché dedicado L2 le da a cada núcleo un acceso más rápido

    Caché compartida L3 también puede mejorar el rendimiento

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC287

    Arquitectura Core

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    88/105

    Arquitectura Core

    Intel Core Duo usa núcleos superescalares

    Intel Core i7 usa multi-hilos simultaneous (SMT)• Se amplía hasta el número de hilos de apoyo

    • 4 núcleos SMT, cada uno soportando cuatro hilos aparece

    como 16 núcleos

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC288

    Intel Core Duo vs Core i&

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    89/105

    Intel Core Duo vs Core i&

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC289

    Organización Intel x86 Multicore -C D (1)

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    90/105

    Core Duo (1)

    2006

    Dos superescalar x86, caché L2 compartida

    L1 cache dedicado por núcleo• 32 KB de instrucciones y datos de 32 KB

    Unidad de control térmico por núcleo• Gestiona la disipación de calor de chips• Maximizar el rendimiento dentro de las limitaciones

    mejora de la ergonomía

    Programable avanzada de interrupciones controladas (APIC)• Proceso entre las interrupciones entre los núcleos• Rutas interrumpe al núcleo apropiado• Incluye temporizador para OS puede interrumpir el núcleo

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC290

    Organización Intel x86 Multicore -C D (2)

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    91/105

    Core Duo (2)

    Gestión de Potencia• Supervisa las condiciones térmicas y de actividad de la CPU•  Ajusta el consumo de voltaje y potencia• Puede cambiar la lógica de los subsistemas individuales

    2 MB de caché L2 compartida•  Asignación dinámica• Soporte MESI a cachés L1• Extendido para soportar múltiples Core Duo en SMP

    • Datos L2 compartido entre los núcleos locales o externosInterfaz de bus

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC291

    Organización Intel x86 Multicore -C i7

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    92/105

    Core i7Noviembre 2008

    Cuatro procesadores x86 SMT

    Dedicado L2, caché L3 compartida

    Cache con Pre-búsqueda Especulativa

    Chip contiene controlador de memoria DDR3• Tres canales de 8 bytes (192 bits) que da 32 GB/s• No hay bus frontal

    QuickPath de interconexión• Memoria caché coherente de punto a punto de enlace

    • Comunicaciones de alta velocidad entre chips de procesadores• 6,4 g transferencias por segundo, 16 bits por transferencia• Pares dedicado bidireccional• Total de ancho de banda de 25,6 GB/s

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC292

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    93/105

    CLUSTERS

    Memoria Distribuida

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC293

    Organizaciones de computadores

    Una secuencia deinstrucción, una secuencia

    de datos(SISD)

    Una secuencia de instrucción,múltiples secuencias de datos

    (SIMD)

    Múltiples secuencias deinstrucción, una secuencia de

    datos (MISD)

    Múltiples secuencias deinstrucción, múltiples

    secuencias de datos (MIMD)

    Monoprocesadores

    Procesadoresvectoriales

    Procesadoresmatriciales

    Memoria compartida(fuertemente acoplada)

    Memoria distribuida(débilmente acoplada)

    Clusters

    Multiprocesador simétrico (SMP)

    Acceso nouniforme amemoria(NUMA)

    “Clusters”

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    94/105

    Son la alternativa a los SMP. Prestaciones y disponibilidad elevadas.

     Aplicaciones propias de un servidor.Un grupo de computadores completosinterconectados que trabajanconjuntamente como un único recursode cómputo, creándose la ilusión de quese trata de una sóla máquina.

    Cada computador se denomina “nodo”.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC294

    Beneficios del “cluster”

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    95/105

    Escalabilidadabsoluta.

    Escalabilidadincremental.

     Alta disponibilidad.

    Mejor relaciónprecio/prestaciones.

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC295

    Configuraciones de “clusters”:

    id i di tid

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    96/105

    servidor sin disco compartido

    Enlace de alta velocidad paramensajesE/S E/SE/SE/S

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC296

    Configuraciones de “clusters”:

    disco compartido

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    97/105

    disco compartido

    E/S

    E/SE/S

    E/S

    Enlace de alta velocidad paramensajes

    E/S E/S

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC297

    Paralelización

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    98/105

    Una sola aplicación se ejecuta en paralelo en un

    número de máquinas en cluster  Compilador 

    • Determina en tiempo de compilación que partes se puedenejecutar en paralelo

    • Separa código para diferentes equipos  Aplicación

    • Son escritas desde cero para aprovechar paralelismo

    • Uso de mensajes para mover datos entre los nodos

    • Difíciles de programar • Mejor resultado final

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC298

    Arquitectura de Computadora enCluster

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    99/105

    Cluster 

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC299

    Cluster Middleware

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    100/105

    Imagen unificadaal usuario• Imagen de sistema

    único

    Único punto deentrada

    Única Jerarquíade archivos

    Único punto decontrol

    Red virtual única

    Espacio de únicode memoria

    Sistema degestión único

    Única interfaz deusuario

    Única de espaciode E/S

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2100

    Servidores Blade

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    101/105

    Una aplicación común de

    Cluster  Servidor de múltiples

    servidores (Blade) en elmismo chasis

     Ahorro de espacio Mejorar la gestión del

    sistema

    Chasis proporciona lafuente de alimentación

    Cada Blade tieneprocesador, memoria, disco

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2101

    Ejemplo de Configuración paraServidor Blade Masivo

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    102/105

    Servidor Blade Masivo

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2102

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    103/105

    Participación según arquitecturadel procesador

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    104/105

    del procesador 

    Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2104

  • 8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales

    105/105

    Ingeniería Electrónica – MC2