Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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.
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
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
CoherenciaCoherencia en en MultiprocesadoresMultiprocesadores
•• Caches Caches ahorranahorran anchoancho de de bandabanda
–– CompartirCompartir datosdatos y y modificarlosmodificarlos: : coherenciacoherencia
•• ProtocolosProtocolos
–– SnoopingSnooping
–– DirectorioDirectorio
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..