Arquitectura de Computadores - Departamento de Informática

Anuncio
Curso 2006/07
Arquitectura de Computadores
1.
2.
3.
4.
5.
6.
Introducción
La CPU
Lenguaje Máquina
La Memoria
Sistema de Entrada/Salida
Buses
Informática Aplicada
Arquitectura de Computadores
1
Ciclos
La CPU
„ Ciclo de reloj
„ CPU
„ Buses
„ Ciclo de memoria
„ Caché 1
„ Caché 2
„…
„ Memoria
„ Ciclo de instrucción
„ Tipo de hardware utilizado
Informática Aplicada
Arquitectura de Computadores
2
Ciclo de Instrucción
La CPU
„ Extracción de instrucción (Fetch).
„ Decodificación.
„ Extracción de operandos.
„ Ejecución.
„ Almacenamiento de resultado.
Informática Aplicada
Arquitectura de Computadores
3
Proceso de Arranque
La CPU
„ CPU
„ Inicialización de registros internos
„ Carga de Puntero de pila: RAM
„ Carga del Contador de Programa: ROM
„ Ejecución del programa de arranque: ROM
„ Placa Base
„ Inicialización de dispositivos de placa base: ROM
„ Asignación de recursos
„ Carga sw de arranque : Disquete, disco, CD-ROM,
red o USB.
Informática Aplicada
Arquitectura de Computadores
4
Aumento de velocidad de ejecución
La CPU
„ Tecnología.
„ S.O. y Sw compatible.
„ Organización: paralelismo en instrucción (pipeline)
„ S.O. y Sw compatible.
„ Paralelismo de procesadores.
„ S.O. nuevo.
„ Sw compatible.
„ Arquitectura
„ S.O y Sw nuevo.
Informática Aplicada
Arquitectura de Computadores
5
Segmentación – Pipeline: concepto
La CPU
x+y+z
x+y+z
T
2T
T
T
T
T
T
2T
T
„ Ventajas
„
„ Desventajas
Duplica la frecuencia
„
„
„
Informática Aplicada
Buffer intermedios
Arranque
Etc.
Arquitectura de Computadores
6
Segmentación – Pipeline: cpu sencilla
La CPU
„ Ciclo de Instrucción
CPU
„
Fetch y decodificación
„ Ejecución
Fetch
Ejec.
„ Tiempo de ejecución
„
Una instrucción
„ Sw completo
Tiempo
F1 E1 F2 E2 F3 E3
Inst.1 Inst.2 Inst.3
Informática Aplicada
Arquitectura de Computadores
7
Segmentación – Pipeline : cpu sencilla
La CPU
„ Ciclo de Instrucción
„ Fetch y decodificación
„ Ejecución
CPU
Fetch
Buffer
„ Sincronismo del pipeline
„ Lógica del sw
Informática Aplicada
Tiempo
Etapas
„ Tiempo de ejecución
„ Una instrucción
„ Sw completo
Ejec.
F1 F2 F3 …
E1 E2 E3 …
Inst.1 Inst.2 Inst.3
Arquitectura de Computadores
8
Arquitectura del DLX
La CPU
„ Arquitectura Hardvard de memoria
„ Juego de instrucciones
„ Load r1, 10(r2)
„ store 10(r3),r4
„ Op r5,r6,#5
„ JC desp.
„
Op r7,r8,r9
„
J etiqueta
Informática Aplicada
Arquitectura de Computadores
9
Arquitectura del DLX
La CPU
„ Búsqueda de instrucción: F
„
„
Extrae una instrucción de memoria
Incrementa el CP
„ Decodificación y lee registros: D/R
„
„
„
„
Se decodifica la instrucción
Se accede al banco de registros por el operando
Se calcula el operando inmediato
En salto incondicional, se resuelve.
„ Ejecución y Dirección efectiva: E
„
„
„
Para inst. de cálculo se ejecuta la ALU
Para accesos a memoria se calcula la dirección efectiva
Para inst. de salto se decide si existe salto y el destino
„ Memoria: M
„
„
Se accede a memoria, si procede
Se actualiza CP, si procede
„ Escritura: W
„
Se almacena el resultado en el banco de registros, si procede
Informática Aplicada
Arquitectura de Computadores
10
Arquitectura del DLX
La CPU
Etapas
Tiempo
F
D/R
E
M
W
Informática Aplicada
I1
I2
I3 …
I1
I2
I3 …
I1
I2
I3 …
I1
I2
I3 …
I1
I2
I3 …
Arquitectura de Computadores
11
Arquitectura del DLX
La CPU
Instrucciones
Tiempo
I1
F1 D1 E1 M1 W1
I2
I3
I4
F2 D2 E2 M2 W2
F3 D3 E3 M3 W3
F4 D4 E4 M4 W4
…
Informática Aplicada
Arquitectura de Computadores
12
Rendimiento ideal
La CPU
„ DLX sin segmentar
„
F(15ns), D(10ns), E(25ns), M(20ns), W(5ns)
„ Tiempo de instrucción: 75ns
„ Velocidad de ejecución: 13.333.333 inst/s
„ DLX segmentado
„
Ciclo de reloj: 25ns
„ Tiempo de instrucción: 25ns*5 = 125ns
„ Velocidad de ejecución: 40.000.000 inst/s
„ Mejora: 3 veces más rápido
Informática Aplicada
Arquitectura de Computadores
13
Ralentización
La CPU
„ Dependencias estructurales
„
Duración de las etapas
„ Utilización de recursos
„ Dependencia de datos
„
Datos no actualizados
„ Dependencias de control
„
Orden de la ejecución
Informática Aplicada
Arquitectura de Computadores
14
Dependencias estructurales
La CPU
1.
2.
3.
4.
5.
add r3,r1,r2
mul r5,r4,#23
add r7,r6,#10
nop
...
*Necesita dos unidades de ALU
Etapas
Tiempo
F
D/R
1 add 2 mul 3 add 4 nop 4
5
6
7
1 r1,r2 2 r4,#23 3 r6,#10 3
4
5
6
3 +
4
5
2
3
4
E
M
W
Informática Aplicada
1 +
2*
2*
1
1 r3=
2 r5= 3 r7=
Arquitectura de Computadores
15
Problemas estructurales: soluciones
La CPU
„ Duplicación de unidades funcionales
Informática Aplicada
Arquitectura de Computadores
16
Dependencia de datos
La CPU
Dato accedido por varias instrucciones
„ RAW: lectura después de escritura
„ add r1,r2,r3
„ add r4,r5,r1
„ WAR: escritura después de lectura
„ add r1,r2,r3
„ add r2,r4,r5
„ WAW: escritura después de escritura
„ add r1,r2,r3
„ add r1,r4,r5
Informática Aplicada
Arquitectura de Computadores
17
Dependencia de datos: RAW
La CPU
1.
2.
3.
4.
add r3,r1,r2
add r4,r3,#10
nop
...
Etapas
Tiempo
F
1 add 2 add 3 nop 3
D/R
1 r1,r2 2 r3,#10 2 r3
E
1 +
M
W
Informática Aplicada
3
3
4
5
6
2 r3
2 r3
3
4
5
2+
3
4
2
3
1
1 r3=
Arquitectura de Computadores
2 r4=
18
Dependencia de datos: soluciones
La CPU
„ Prevención: compilador
„
Reordenación
„ Inserción de instrucciones NOP
„ Detención y resolución: CPU
„
Anticipación
„ Detención del pipeline
Informática Aplicada
Arquitectura de Computadores
19
Prevención en la dependencia de datos
La CPU
„ Reordenación
„ Inserción
NOP
Informática Aplicada
1:
2:
3:
4:
5:
mov
mov
add
add
add
r4,r0
r5,r0
r7,r1,r2
r3,r7,#10
r6,r4,#0
3:
1:
2:
4:
5:
3:
1:
2:
:
4:
5:
Arquitectura de Computadores
add
mov
mov
add
add
add
mov
mov
nop
add
add
r7,r1,r2
r4,r0
r5,r0
r3,r7,#10
r6,r4,#0
r7,r1,r2
r4,r0
r5,r0
r3,r7,#10
r6,r4,#0
20
Detención y resolución
La CPU
„ Detener el pipeline
„
Produce un efecto similar a la introducción de
instrucciones NOP
„ Anticipación
„
Consiste en realizar atajos en el movimiento de
datos dentro del pipeline
„ Tipos
Informática Aplicada
Arquitectura de Computadores
21
Dependencia de datos: anticipación
La CPU
1.
2.
3.
4.
add r4,r1,r2
add r3,r4,#10
nop
...
Tipo:
ALU-ALU
Etapas
Tiempo
F
D/R
1 add 2 add 3 nop 4
5
6
1 r1,r2 2 r4,#10 3
4
5
2+
3
4
1
2
3
E
M
W
Informática Aplicada
1 +
1 r4= 2 r3=
Arquitectura de Computadores
22
Dependencias de control
La CPU
„ Saltos incondicionales
„
Hw específico en la etapa de fetch
„ Saltos condicionales
„
Predicción de salto: estático y dinámico
„ Salto retardado
Informática Aplicada
Arquitectura de Computadores
23
Dependencia de control
La CPU
„ Bifurcación retardada de nivel n
„ Se ejecutan n instrucciones después del salto
„ Reordenación e introducción de instrucciones NOP
„ Ejemplo de salto retardado de nivel 2
1:
2:
3:
4:
5:
6:
7:
8:
9:
mov
ld
ld
add
mul
add
add
sub
jnz
r6,r0
r1,#2300
r2,#0(r1)
r4,r3,r2
r4,r4,#10
r1,r1,#4
r6,r6,#1
r6,#128
3
Informática Aplicada
1: mov
2: ld
3: ld
4: add
7: add
8: sub
9: jnz
5: mul
6: add
10:
r6,r0
r1,#2300
r2,#0(r1)
r4,r3,r2
r6,r6,#1
r6,#128
3
r4,r4,#10
r1,r1,#4
Arquitectura de Computadores
24
Rendimiento real
La CPU
„
Número de huecos por instrucción:
„
„
P: probabilidad
H: número de huecos generados
H = Pe • H e + Pd • H d + Ps • H s
„
Instrucciones por segundo:
„
„
H: huecos por instrucción
T: tiempo de etapa
1
V=
(1 + H ) • T
Informática Aplicada
Arquitectura de Computadores
25
Segmentación en un procesador actual
La CPU
Instrucciones
organiza y optimiza
Cauces de
ejecución
ALU
ALU
FPU
CACHE
Unidades
Funcionales
Informática Aplicada
Arquitectura de Computadores
26
Procesadores CISC
La CPU
„ Características de los procesadores CISC
„
Instrucciones complejas: lenguaje de alto nivel
„ CPU complejas: microprogramación
„ Principios de los procesadores CISC
„
Memoria cara: programas pequeños
„ Disminuye los accesos a memoria
„ Compatibilidad con procesadores anteriores
Informática Aplicada
Arquitectura de Computadores
27
Procesadores RISC
La CPU
„ Características de los procesadores RISC
„
Instrucciones sencillas
„ Juego sencillo de tipos de instrucciones
„ Juego amplio de registros
„ Arquitectura load/store
„ Principios de los procesadores RISC
„
Rendimiento del pipeline
„ Simplificar la unidad de control de la CPU
Informática Aplicada
Arquitectura de Computadores
28
Procesadores actuales
La CPU
„ Tendencia RISC
„ Algunas de las características RISC se han
eliminado
„
Número reducido de instrucciones
„ Bancos de registros
„ Segmentación: técnica muy desarrollada
Informática Aplicada
Arquitectura de Computadores
29
Descargar