Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura Segmentada
Pipeline (Segmentacin)
Arquitectura Segmentada
Segmentacin (Pipeline) Es una tcnica de implementacin por medio de la cual se puede traslapar la ejecucin de instrucciones. En la actualidad la segmentacin es una de las tecnologas utilizadas para hacer procesadores ms rpidos.
Arquitectura Segmentada
Segmentacin una tecnologa natural Ejemplo una lavandera Luis, Juan, Gabriela, Lucrecia cada uno tiene una carga de ropa para lavar, secar y doblar. Las lavadoras toman 30 minutos Las secadoras toman 30 minutos Doblarla toma 30 minutos Acomodarla toma 30 minutos
Arquitectura Segmentada
Lavandera secuencial
La lavandera secuencial toma 8 horas en procesar cuatro cargas. Si lo realizamos con la tecnologa segmentada Cunto tardara?
Arquitectura Segmentada
Lavandera segmentada
Arquitectura Segmentada
ID: Bsqueda de registros y decodificacin de instrucciones EXE: Ejecucin o clculo de direccin MEM: Acceso a la memoria de datos. WB: Escribir datos en el archivo de registros.
La segmentacin traslapa los pasos. Mejora el rendimiento ya que aumenta el procesamiento de instrucciones.
Arquitectura Segmentada
Qu lo hace difcil?
Riesgos: Hay situaciones en la segmentacin cuando la siguiente instruccin no se puede ejecutar en el prximo ciclo de reloj. Hay tres riesgos:
Riesgos estructurales Riesgos de control Riesgos de datos
Arquitectura Segmentada
Riesgos estructurales El hardware no puede manejar la combinacin de instrucciones que deben ejecutarse en el mismo ciclo. (suponiendo que se cuenta con una nica memoria) Ejemplo: IF y MEM no pueden ejecutarse en el mismo ciclo ya que ambas necesitan accesar datos de la memoria.
Arquitectura Segmentada
Arquitectura Segmentada
RIESGOS DE CONTROL Los riesgos en el control ocurren porque el procesador no sabe lo suficiente.
Cuando se producen saltos condicionales Saltos incondicionales
SOLUCIN:
Atascamiento (Stall): se puede retrazar la ejecucin de la unidad de salto despus de que se conozca la informacin. Prediccin (predict): se puede predecir esta informacin en forma temprana. Retardar el salto.
Arquitectura Segmentada
Riesgos de control (utilizando Atascamiento) Asuma que se puede calcular la direccin de salto y actualizar el PC en el estado ID. Ejemplo:
Arquitectura Segmentada
Arquitectura Segmentada
Riesgos de control (utilizando prediccin) Siempre se predice que el salto no se realizar Si la prediccin es incorrecta, entonces se realiza el atascamiento
Arquitectura Segmentada
EL - 4311 Estructura de Microprocesadores
Riesgos de control (utilizando retardo en el salto) El ensamblador automticamente reemplaza la instruccin por una instruccin que no afecte el salto. NOTA: MIPS utiliza la seccin de salto retardada
Los riesgos de datos ocurren porque una instruccin depende del resultado de una instruccin previa en el segmento NOTA: las instrucciones add o sub no escriben el resultado hasta el estado WB. Ejemplo:
Algunas veces se puede resolver (o reducir) atascamientos para los riesgos de datos utilizando la tcnica adelantamiento (forwarding)
Arquitectura Segmentada
Riesgos de datos (forwarding) Forwarding: Como el resultado de la operacin add ($s0) se obtiene despues del estado EX, se puede adelantar el resultado ($s0) al prximo EX para realizar la operacin sub.
Arquitectura Segmentada
Riesgos de datos (forwarding) Forwarding: trabaja muy bien. Sin embargo no prev atascamientos en los segmentos. Ejemplo: como la instruccin lw no carga el dato deseado en la memoria hasta el estado MEM, no se puede adelantar el resultado ($s0) hasta el estado MEM.
Arquitectura Segmentada
Ruta de datos segmentada En esta seccin se mostrar la ruta de datos de un solo ciclo para modificarla en una ruta de datos segmentada
Arquitectura Segmentada
PC
Address
Read data 1 Read register 2 Registers Read Write data 2 register Write data
0 M u x 1
Read data
1 M u x 0
16
Sign extend
32
Arquitectura Segmentada
IF/ID Add 4
ID/EX
EX/MEM
MEM/WB
PC
Read data 1 Read register 2 Registers Read Write data 2 register Write data
0 M u x 1
Read data
1 M u x 0
16
Sign extend
32
Arquitectura Segmentada
IF/ID Add 4
ID/EX
EX/MEM
MEM/WB
PC
Read data 1 Read register 2 Registers Read Write data 2 register Write data
0 M u x 1
Read data
1 M u x 0
16
Sign extend
32
IF/ID
ID/EX
EX/MEM
MEM/WB
PC
Read data 1 Read register 2 Registers Read Write data 2 register Write data
0 M u x 1
Read data
1 M u x 0
16
Sign extend
32
Arquitectura Segmentada
IM
Reg
ALU
DM
Reg
IM
Reg
ALU
DM
Reg