organización de computadoras

32
Organización de Organización de Computadoras Computadoras Pipeline Continuación Pipeline Continuación

Upload: others

Post on 27-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Organización de Organización de ComputadorasComputadoras

Pipeline ContinuaciónPipeline Continuación

BTB (Branch Target Buffer)BTB (Branch Target Buffer)

Extensión del pipeline para manejar Extensión del pipeline para manejar operaciones multiciclo (operaciones multiciclo (unpipelinedunpipelined))

Extensión del pipeline para manejar Extensión del pipeline para manejar operaciones multiciclooperaciones multiciclo

Unidad FuncionalUnidad Funcional LatenciaLatencia Intervalo de Intervalo de iniciacióniniciación

Integer ALUInteger ALU 00 11

FP addFP add 33 11

FP/integer multiplyFP/integer multiply 66 11

FP/integer divideFP/integer divide 2424 2525

El pipeline del MIPS R4000El pipeline del MIPS R4000

IF-Primera mitad de búsqueda de instrucción. Selección de Pc, inicio de accesoIS-segunda mitad de búsqueda de instrucción. Completa acceso.RF-Decodificación de instrucción. Chequeo de hit.EX-Ejecución.DF-Busqueda de dato. Primera mitad de acceso a cache de datos.DS-Segunda mitad de búsqueda de datos. Compleción de acceso a cache de datos.TC-Chequeo de Tag. Determinación de hit.WB-Write Back.

Organización de Organización de ComputadorasComputadoras

Arquitecturas Arquitecturas multithreadingmultithreading

ProcesamientoProcesamiento MMultihiloultihilo(MT o (MT o multithreadingmultithreading))• Ejecución concurrente de múltiples hilos (threads) de

procesamiento, pertenecientes a un mismo programa o a diferentes programas.

• Esto puede verse como una ejecución alternada de instrucciones de cada uno de los hilos.

Diferentes Políticas de Multithreading

• “CMP” (On-Chip MultiProcessor),

• “CMT” (Coarse-Grained MultiThreading),

• “FMT” (Fine-Grained MultiThreading),

• “SMT” (Simultaneous MultiThreading).

“SMT” (Simultaneous “SMT” (Simultaneous MultiThreading)MultiThreading)SMT:

• Se ejecutan instrucciones de varios hilos distintos en un mismo ciclo de reloj.

• No es necesario duplicar unidades funcionales.

• El procesador coordina a las instrucciones que se • El procesador coordina a las instrucciones que se ejecutan en forma paralela sobre las distintas unidades.

Visión de la arquitecturaVisión de la arquitecturaModelo de Memoria

Compartida

Desperdicios Vertical y HorizontalDesperdicios Vertical y Horizontal

Hilo 1Hilo 1

Hilo 2

Pipeline SMTPipeline SMT

Requerimientos para SMTRequerimientos para SMT

•• Pipeline básico no cambiaPipeline básico no cambia•• Recursos replicadosRecursos replicados

–– Program countersProgram counters–– Register MapsRegister Maps

••–– Register MapsRegister Maps

•• Recursos compartidosRecursos compartidos–– Register filesRegister files–– Cola de instruccionesCola de instrucciones–– CachesCaches–– TLBsTLBs–– Predictores de saltosPredictores de saltos

Enfoque de IntelEnfoque de Intel

CachesCaches

Compartidas competitivamente

Clasificación de Arquitecturas de Clasificación de Arquitecturas de Computadoras de FlynnComputadoras de Flynn

•• Single instruction, single dataSingle instruction, single data stream (SISD) stream (SISD)

•• Multiple instruction, single dataMultiple instruction, single data stream (MISD) stream (MISD)

•• Single instruction, multiple dataSingle instruction, multiple data streams streams •• Single instruction, multiple dataSingle instruction, multiple data streams streams (SIMD) (SIMD)

•• Multiple instruction, multiple dataMultiple instruction, multiple data streams streams (MIMD) (MIMD)

MultiprocesadoresMultiprocesadores MIMDMIMD

•• FuertementeFuertemente AcopladosAcoplados

–– MemoriaMemoria CompartidaCompartida: un : un espacioespacio de de direccionesdirecciones•• UMA(Uniform Memory Access): SMP (Symmetric UMA(Uniform Memory Access): SMP (Symmetric Multiprocessors)Multiprocessors)Multiprocessors)Multiprocessors)

•• NUMA(Non UMA(Uniform Memory Access)NUMA(Non UMA(Uniform Memory Access)

•• DebilmenteDebilmente AcopladosAcoplados

–– MemoriaMemoria DistribuidaDistribuida

MultiprocesadoresMultiprocesadores conectadosconectadosporpor un un únicoúnico busbus

CoherenciaCoherencia en en MultiprocesadoresMultiprocesadores

•• Caches Caches ahorranahorran anchoancho de de bandabanda

–– CompartirCompartir datosdatos y y modificarlosmodificarlos: : coherenciacoherencia

•• ProtocolosProtocolos

–– SnoopingSnooping

–– DirectorioDirectorio

CoherenciaCoherencia en en MultiprocesadoresMultiprocesadores

ProtocoloProtocolo WriteWrite--InvalidateInvalidate

MultiprocesadoresMultiprocesadores conectadosconectadosporpor unauna RedRed

AlgunasAlgunas TopologíasTopologías de Redde Red

ClustersClusters

•• El El acoplamientoacoplamiento eses aúnaún másmás débildébil..

•• AgrupamientoAgrupamiento de de computadorascomputadoras estandarestandar..

•• N CPUN CPU--MEMORIAS, N MEMORIAS, N SistemasSistemas•• N CPUN CPU--MEMORIAS, N MEMORIAS, N SistemasSistemasOperativosOperativos..