Está en la página 1de 25

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Pipeline
(Segmentacin)

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Lavandera secuencial

La lavandera secuencial toma 8 horas en


procesar cuatro cargas.
Si lo realizamos con la tecnologa segmentada
Cunto tardara?

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Lavandera segmentada

Tardara 3.5 horas en procesar las cuatro


cargas.

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Lecciones sobre segmentacin


La segmentacin no ayuda en la realizacin de una
nica tarea, ayuda en la realizacin de una carga de
trabajo.
Se pueden realizar mltiples tareas simultneamente
utilizando diferentes recursos.
La velocidad se incrementa si se aumentan el nmero de
segmentos.
La razn de segmentacin est dada por el segmento
ms lento.
El desbalance en el largo de los segmentos reduce la
velocidad (speedup)
El tiempo en llenar y vaciar los segmentos reduce la
velocidad.
Almacn para las dependencias.

Escuela de Ingeniera Electrnica

Arquitectura Segmentada

Los 5 estados de las instrucciones MIPS

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Las instrucciones MIPS presentan cinco estados (cada


estado toma un ciclo de reloj):

IF: Bsqueda de instruccin

Bsqueda de una instruccin de la memoria de


instrucciones

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.

Escuela de Ingeniera Electrnica

Arquitectura Segmentada

SEGMENTACION

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

La segmentacin traslapa los pasos.


Mejora el rendimiento ya que aumenta el
procesamiento de instrucciones.

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

SEGMENTACIN
Qu lo hace tan fcil?
Todas las instrucciones son del mismo largo
Pocos formatos de instrucciones
Los operandos con memoria solo aparecen en las
instrucciones de carga y almacene

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

RIESGOS ESTRUCTURALES
SOLUCIN: Retardar la instruccin 4 hasta el
ciclo 7.

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Riesgos de control
Solucin correcta

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

Arquitectura Segmentada

Riesgos de datos

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

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

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Idea bsica de la ruta de datos


Se puede dividir la ruta de datos de un solo ciclo en los
siguientes cinco segmentos
IF: Instruction fetch

ID: Instruction decode/


register file read

EX: Execute/
address calculation

MEM: Memory access

WB: Write back

0
M
u
x
1

Add
Add

Add
result

Shift
left 2

PC

Read
register 1

Address

Instruction
Instruction
memory

Read
data 1
Read
register 2
Registers Read
Write
data 2
register
Write
data

0
M
u
x
1

Zero
ALU ALU
result

Address
Data
memory
Write
data

16

Sign
extend

Read
data

1
M
u
x
0

32

Qu necesitamos para realizar esta separacin?


Registros

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Ruta de datos segmentada

Con el fin de almacenar informacin entre los estados, se necesitan de


los registros (Nota: no son necesarios los registros entre WB e IF, ya
que todas las instrucciones deben actualizar algunos datos en la
memoria, registros o en el PC)
0
M
u
x
1

IF/ID

ID/EX

EX/MEM

MEM/WB

Add
Add
Add result

4
Shift
left 2

PC

Address
Instruction
memory

Instruction

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

Read
register 1

Read
data 1
Read
register 2
Registers Read
Write
data 2
register
Write
data

0
M
u
x
1

Zero
ALU ALU
result

Address
Data
memory
Write
data

16

Sign
extend

32

Read
data

1
M
u
x
0

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Hay un problema Dnde?


El registro de escritura cambia despus del estado final en la
instruccin lw.
Por lo tanto se necesita cambiar esta ruta de datos para
conservar el nmero del registro destino en la instruccin de
carga.
0
M
u
x
1

IF/ID

ID/EX

EX/MEM

MEM/WB

Add
Add
Add result

4
Shift
left 2

PC

Address
Instruction
memory

Instruction

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

Read
register 1

Read
data 1
Read
register 2
Registers Read
Write
data 2
register
Write
data

0
M
u
x
1

Zero
ALU ALU
result

Address
Data
memory
Write
data

16

Sign
extend

32

Read
data

1
M
u
x
0

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

0
M
u
x
1

IF/ID

ID/EX

EX/MEM

MEM/WB

Add
4

Add

Add
result

Shift
left 2

PC

Address
Instruction
memory

Instruction

Arquitectura Segmentada

Ruta de datos corregida

Read
register 1

Read
data 1
Read
register 2
Registers Read
Write
data 2
register
Write
data

0
M
u
x
1

Zero
ALU ALU
result

Address
Data
memory
Write
data

16

Sign
extend

32

Read
data

1
M
u
x
0

Arquitectura Segmentada

Escuela de Ingeniera Electrnica

EL - 4311
Estructura de
Microprocesadores

Ing. Jos Alberto


Daz Garca

Representacin grfica de los segmentos


Time (in clock cycles)
Program
execution
order
(in instructions)
lw $10, 20($1)

sub $11, $2, $3

CC 1

CC 2

CC 3

IM

Reg

ALU

IM

Reg

CC 4

CC 5

DM

Reg

ALU

DM

CC 6

Reg

Puede ayudar para responder preguntas como:


Cuntos ciclos se necesitan para ejecutar este programa?
Qu hace la ALU durante el ciclo 4?
Utilice esta representacin para ayudar a entender la ruta
de los datos.

También podría gustarte