Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEGMENTACIN DE CAUCE Y
PROCESADORES SEGMENTADOS
Docente:
Ing. Jess Talavera Suarez
INTRODUCCIN: DEFINICIN Y NOTAS
HISTRICAS
En un sistema segmentado con etapas que El valor del tiempo de latencia de inicio se puede
consumen un tiempo t, la GANACIA DE expresar como
VELOCIDAD que conseguira en la ejecucin de
n operaciones consecutivas seria : En el caso ideal de que se verifique que
PRODUCTIVID
AD
OTRAS
MAGNITUDES
En el cause
Es la relacin entre la
segmentado ganancia de velocidad
que proporciona el
cauce y el nmero de
etapas del mismo
EFICIENCIA
2.3 DISEO DE UN PROCESADOR SEGMENTADO.
GESTIN DE RIESGOS DE DATOS, CONTROL Y
ESTRUCTURALES
RIESGOS DE DATOS
LA ESCRITURA EN EL BANCO DE REGISTROS SIEMPRE SE HACE EN
LA ULTIMA ETAPA, LA ETAPA OS. POR LO TANTO, EN EL DISEO DE
CAUCE QUE SE PLANTEO, LOS RIESGOS DE TIPO WAR Y RAW NO
CAUSAN PROBLEMAS DE NINGN TIPO.
2.3.1 SOLUCIONES PARA LA DEPENDENCIAS DE
DATOS DE TIPO RAW
1. REORGANIZACIN DE CDIGO
FIGURA 2.11:
2.3.2 IMPLEMENTACIN DE LAS
INSTRUCCIONES DE SALTO
Secuencia ordenada
LA APLICACIN DE LA TCNICA DE SALTO RETARDADO DEPENDE DE LAS
CARACTERSTICAS DEL PROCESADOR EN LO QUE RESPECTA A LA
POLTICA DE ANULACIN DE INSTRUCCIONES CAPTADAS ERRNEAMENTE
EN LOS SALTOS Y AL NUMERO DE HUECOS QUE HAY QUE OCUPAR.
El numero de ciclos
que hay desde que
se capta la
instruccin hasta
que se determina si
se produce el salto o
no y se ha
actualizado el
contador de
programa.
2.3.3 IMPLEMENTACIN DE LAS
INSTRUCCIONES DE ACCESO A MEMORIA
2.3.3 IMPLEMENTACIN DE LAS
INSTRUCCIONES DE ACCESO A MEMORIA
ACUMULADOR SEGMENTADO
LAS ETAPAS DE CAUCE COINCIDEN CON LOS ELEMENTOS QUE
PERMITEN REALIZAR LA SUMA Y ACUMULACIN DE CADA UNO DE
LOS BITS. POR LO TANTO TODAS LAS ETAPAS SON IGUALES Y
TIENEN LA MISMA DURACIN .
OTRO EJEMPLO DE LA UNIDAD SEGMENTADA ES EL MULTIPLICADOR
DE DATOS DE SEIS BITS, QUE SE MUESTRA EN LA SIGUIENTE FIGURA.
SE TRATA DE UN CAUCE CON CINCO ETAPAS EN LA QUE SE OPERA
LOS BITS DEL MULTIPLICANDO CON LOS BITS DEL MULTIPLICADOR.
MULTIPLICADOR DE DATOS DE
6 BITS
EN LAS SIGUIENTES ETAPAS SE HA DISTRIBUIDO UN RBOL DE
SUMADORES QUE PERMITE OBTENER LA SUMA DE LOS 6 DATOS
DE 6 BITS DESPLAZADOS QUE SE OBTIENEN AL FINAL DE LA
PRIMERA ETAPA
SE MUESTRA LA OPERACIN REALIZADA POR LOS 2 TIPOS DE
SUMADORES UTILIZADOS EN EL RBOL (SUMADOR CON
SALVAGUARDA DE ACARREO, SSA Y EL SUMADOR CON
PROPAGACIN DE ACARREO, SPA).
Multiplicador de datos de 32 bits (si uno quisiera construir el
mismo multiplicador anlogo a lo anterior necesitara usar
30 SSA sumadores, que adems serian mas complejos
porque deben ser capaces de sumar mas datos con mas
bits)
Cada unidad
funcional slo puede
ser usada una vez por
instruccin, tienen la
misma duracin; as
como un orden.
TI-ASC
En la siguiente
figura muestra las
etapas del cauce
aritmtico del TI-
ASC junto con el
uso que se da para
algunas
operaciones
aritmticas.
Hay etapas que no
usan las mismas
operaciones, otras
que duran mas que
otras o que
reutilizan etapas en
una misma
operacin.
CAUCE NO LINEAL
CARACTERISTIAS DE CAUCES NO LINEALES
Algunas Etapas se vuelven a reutilizar por una misma operacin.
Hay etapas que necesitan varios ciclos de reloj
Una misma operacin puede usar mas de una etapa al mismo
tiempo.
El orden de las etapas puede variar(de una operacin a otra).
Las dependencias entre operaciones produce un cambio en el
orden de las etapas a ejecutarse.
COMPARANDO CON LAS
CARACTERISTICAS DE CAUCES
LINEALES :
Todas las instrucciones tardan el mismo tiempo y atraviesan todas
las etapas.
Cada unidad funcional slo puede ser usada una vez por
instruccin (el flujo de informacin queremos que vaya siempre
hacia la derecha)
Cada unidad funcional debe ser utilizada en la misma etapa por
todas las instrucciones.
LA PRODUCTIVIDAD DE UN CAUCE DEPENDE :
Vc=(1, 0, 1, 0)
5) CICLOS DE LATENCIA: SE OBTIENEN A PARTIR DEL
DIAGRAMA DE ESTADOS SIGUIENDO CAMINOS CERRADOS.
LATENCIA MEDIA DE UN CICLO: MEDIA DE LATENCIAS
QUE APARECEN EN UN CICLO.
Memoria virtual
Fuente interna a Excepciones Instrucciones
la CPU (A) no
implementadas
CONDICIONES DE DESBORDAMIENTO
(OVERFLOW).
CONDICIONES DE AGOTAMIENTO (UNDERFLOW).
LA VIOLACIN DE LA PROTECCIN DE MEMORIA.
ETCTERA.
Memoria Virtual
Instrucciones no Implementadas
DENTRO DE ESTE TIPO DE INTERRUPCIONES ESTN:
FALLOS DE ALIMENTACIN.
Temporizacin
ESTAS CORRESPONDEN A:
ADD IF ID EX MEM WB
LW IF ID EX MEM WB
ADD IF ID EX MEM WB
No tarda en atenderse la
interrupcin
IMPRECISAS La instruccin que
produce la interrupcin
se vuelve ejecutar
Todas las instrucciones que se emitieron antes de
la instruccin indicada por el contador de
programa (PC) almacenado (para continuar el
proceso interrumpido) se han completado
Instruccin completamente
ejecutada o no ejecutada
Implementacin de
Interrupciones
Imprecisa
Precisa
2.7 LA FAMILIA DE
PROCESADORES ARM
Se denomina ARM (Advanced RISC Machines)
A una familia de microprocesadores RISC diseados
por la empresa Acorn Computers y desarrollados por
Advanced RISC Machines Ltd., una empresa derivada
de Acorn Computers.
El diseo del ARM comenz en 1983 como un
proyecto de desarrollo en la empresa Acorn
Computers.
El equipo termin el diseo preliminar y los primeros
prototipos del procesador en el ao 1985
Las caractersticas de las arquitecturas RISC favorecen un diseo
sencillo del cauce
De hecho desde el principio las propuestas de procesadores RISC se
planteaban como procesadores segmentados
Despus la segmentacin de cauce se fue incorporando en las micro
arquitecturas de repertorio de instrucciones CISC
Por ejemplo :
- El microprocesador
80486 de intel (1989)
Utiliza un cauce de 5 etapas
(CISC)
El microprocesador MC68040 de Motorola
(1991) utiliza un cauce de 6 etapas (RISC)
Evolucin de las prestaciones RISC y CISC incluyendo la lnea de
nuevos procesadores RISC representadas fundamentalmente por
las arquitecturas ARM y SH de Hitachi.
La potencia disipada por estas nuevas arquitecturas RISC esta en
torno a uno o dos watios de forma que pueden incluirse en
computadoras de bolsillo o dispositivos similares .
26 BITS PARA
v2 DIRECCIONES
DE MEMORIA
Direcciones de
byte de 32 bits y
v3 operandos de
32 bits.
Multiplicacin
v4 con operandos
de 64 bits.
Realiza
v5 operaciones de
multiplicacin y
v5E acumulacin de
16 bits.
Han aparecido cinco versiones diferentes del repertorio de
instrucciones ARM, v1 a v5
v1 y v2 solo disponen de 26 bits para direcciones de memoria
En v3 se introducen direcciones de 32 bits y operandos de 32
bits
V3 introdujo instrucciones de multiplicacin con operandos de 32
bits
V4 introdujo instrucciones de multiplicacin con operandos de
64bits
V5 aade instrucciones para normalizar nmeros, multiplicacin y
acumulacin de 16 bits (tiles en rutinas de procesamiento de
seales digitales) y para la gestin de puntos de ruptura en la
depuracin de programas
Caractersticas Importantes
CUELLO DE BOTELLA DE
NEUMAN:
Cualquier computador de programa almacenado con una
nica memoria para datos y programas ver limitadas
sus prestaciones por el ancho de banda de memoria.
El cauce de 3 etapas tiene que acceder memoria en todos los ciclos
para captar instrucciones
Captar Decodificar Ejecutar
Descomprimir Decodificar Leer Esc.
Captar instrucciones ALU
Thumb ARM Reg Reg
El cauce con tres etapas tiene que acceder a memoria en todos los
ciclos para captar instrucciones.
El cauce con 5 etapas se distribuyen en etapas diferentes lectura y
escritura en los registros y la operacin con la ALU.
Existe una etapa de acceso a memoria que no tiene equivalente en el
cauce de tres etapas
Evolucin en los cauces
de los procesadores ARM
El diseo del ARM se ha convertido en uno de los
ms usados del mundo, desde discos duros hasta
juguetes. Hoy en da, cerca del 75% de los
procesadores de 32 bits poseen este chip en su
ncleo.
Game Boy Advance
Fabricante :
Nintendo
Tipo :
Videoconsola porttil
Generacin :
Sexta generacin
Lanzamiento :
jun-2001
CPU :
ARM7TDMI
32-bit @ 16,7 MHz
Videoconsola GP2X
Fabricante :
GamePark Holdings
Tipo :
Videoconsola porttil
Generacin :
Sptima generacin
Lanzamiento :
10 Nov 2005
CPU
ARM920T @ 200Mhz
ARM940T @ 200Mhz
Nintendo DS
Fabricante :
Nintendo
Tipo :
Videoconsola porttil
Generacin :
Sptima generacin
Lanzamiento :
21 de noviembre de 2004
CPU:
ARM946E-S @ 67 Mhz
ARM7TDMI @ 33 MHz
Motorola ROKR Z6
Fabricante :
Motorola
Tipo :
telfono mvil
Generacin :
tercera generacin
Lanzamiento :
16 de julio de 2007
CPU:
ARM1136J(F)-S
iPhone
Fabricante :
Apple Inc
Tipo :
telfono inteligente
Generacin :
tercera generacin
Lanzamiento :
29 de junio de 2007
CPU:
ARM1176JZ(F)-S
Pandora
Fabricante :
Open Pandora
Tipo :
Videoconsola porttil
Generacin :
Sptima Generacin
Lanzamiento :
2010
CPU:
ARMCortex-A8
de Texas Instruments
iPad
Fabricante :
Apple Inc.
Tipo :
Tablet
Reproductor
multimedia digital
Lanzamiento :
3 de abril de 2010
CPU:
Apple A4 de 1 GHz
EJERCICIOS Y PROBLEMAS
Problema 1
7 6 5 3
C=(1 1 1 0 1 0 0) Vector de colisiones
TLI= 12 Ciclos
Con latencias prohibidas
F=(3 ,6 ,5 ,7)
El vector de colisiones es:
V=(1 1 1 0 1 0 0)
Si se supone el cause vaco inicialmente y se introduce una
operacin es posible introducir otra pasada 5 ciclos?
No, es posible introducir una operacin a los 5 ciclos ya
que es una latencia prohibida.
Cual es el numero mnimo de ciclos que hay que esperar?
Tenemos (1,2,4,) que NO son latencias prohibidas entonces
el nmero mnimo para introducir una operacin seria de 1
ciclo.
Cules son las latencias prohibidas en ese caso una vez que se ha
introducido la segunda operacin?
F (1110100)
( 111010)
(0111010)
7 6 5 4 3 2
A X X X X
B X X
C X X
D X
LM = 8/2 = 4 MLM
LM = 12/2 = 6
LM = 10/2 = 5
LM = 15/3 = 5
101010 10101 010101
101010
A1 OR 111111
010101
101010 101 000101
101010
A2 OR 101111
000101
101010 1 000001
101010
A3 OR 101011
000001
111111 0 000000 101111 1 000001
101010 101010
Aa OR 101010 Ac OR 101011
7
000000 000001
101111 0 000000
101011 101 000101 101010
Ac OR 101010
7
101010 000000
Ab OR 101111
000101
101011 1 000001
101010
Ab OR 101011
000001
101011 0 000000
7 101010
Ab OR 101010
000000
S2: ADBCCABD
t1 t2 t3 t4 t5 t6 t7 t8
A y y
B y y
C y y
D y y
w n
n lim w( n)
TLI n 1 MLM * t
n
n = nmero de operaciones
TLI =tiempo de latencia de
inicio 1
t = tiempo de ejecucin de w max
una etapa
MLM * t
MLM= mnima latencia
media
1
w max
MLM * t
S1 :
1
w max 5MOPS
4 * 50ns
Podemos concluir que la
alternativa S1 es mejor porque
su productividad mxima es
mayos q la de S2
S2:
1
w max 4.44 MOPS
4.5 * 50ns
Ganancia
G n
n *T lim G ( n)
TLI n 1 MLM * t
n
n = nmero de operaciones
T = tiempo de ejecucin de
operacin sin segmentar
T
TLI =tiempo de latencia de G max
inicio MLM * t
t = tiempo de ejecucin de
una etapa
MLM= mnima latencia
media
T
G max
MLM * t
T: tiempo para que la unidad funcional
complete una operacin
t : tiempo de etapa
S1
350ns
G max 1.75
4 * 50ns
S2
350ns
G max 1.56
4.5 * 50ns
Eficiencia
E n
n *T G max
k * TLI n 1 MLM * t
E max
k
n = nmero de operaciones
T = tiempo de ejecucin de
operacin sin segmentar
TLI =tiempo de latencia de
inicio
t = tiempo de ejecucin de una
etapa
MLM= mnima latencia
media
K= numero de etapas
G max
E max
k
S1
1.75
ES 1 0.4375
4
S2
1.56
ES 2 0.39
4
Problema 4
La tabla de reservas que se muestra a continuacin
corresponde a un cauce que puede ejecutar dos
funciones A y B: Determinar las latencias prohibidas
y construir el diagrama de estados para dicho cauce
t0 t1 t2 t3 t4
s1 A B A B
s2 A B A
s3 B AB
0100 1011
MA MB
0011 0110
SDD 0010 0100 0110
A1 OR
0001 0011 0011
0001 0100 0101
A2 OR
0000 0011 0011
0000 0100 0100
A4 OR
0000 0011 0011
0000 1011 1011
B 3 OR
0000 0110 0110
0000 1011 1011
B 4 OR
0000 0110 0110
0011 0100 0111
A1 OR
0001 0011 0011