Computadores

Páginas: 7 (1647 palabras) Publicado: 19 de septiembre de 2012
AAAC - Clase #2
Facultad de Ingeniería Universidad de la República

Instituto de Computación Curso 2012

Algunas ideas para mejorar el rendimiento…


Obvio: incrementar la frecuencia del reloj
 

Mayor frecuencia –> mayor velocidad de procesamiento Pero…los tiempos de acceso a memoria y E/S pueden ser un cuello de botella… Mayor procesamiento por ciclo Mayor tasa de transferenciaNO mejora la velocidad de acceso Pero se puede direccionar más memoria directamente…
• Programas más grandes • Menos uso de la memoria virtual. OK!



Ancho de los registros




Ancho del bus de datos




Ancho del bus de direcciones
 

Más ideas para mejorar el rendimiento


(Obs: aún no manejamos definiciones formales asociadas al rendimiento de una arquitectura) Pipelining  On board cache  On board L1 & L2 cache  Branch prediction  Data flow analysis  Ejecución especulativa  …..

Pipelining
A


B

C

D

Ejemplo Lavandería


  

Ana, Beto, Carina, David tienen cada uno una carga de ropa para lavar, secar y ordenar Lavadora lleva 30 minutos Secadora lleva 40 minutes “Ordenar” lleva 20 minutos

Lavandería Secuencial
6 PM 7 8 9Tiempo O r d e n T a r e a s

10

11

Medianoche

30 40 20 30 40 20 30 40 20 30 40 20 A B C D
• Lavandería secuencial lleva 6 horas para 4 cargas

Lavandería en Pipeline
6 PM
O r d e n T a r e a s

7 40

8 40

9
Tiempo

10

11

Medianoche

30 40 A B C D

40 20
• Lavandería en Pipeline lleva 3.5 horas para 4 cargas!

Lecciones del Pipeline
6 PM
O r d e n T a re a s

7

8

9
Tiempo

30 40 A B C D

40

40

40 20

•Pipelining no mejora la latencia de cada tarea, sino el throughput de toda la carga de trabajo •Velocidad del Pipeline limitada por el paso más lento •Tiempo para “llenar” y “vaciar” el pipeline reduce la aceleración

Pipeline primitivo:
Prefetch (o pipeline de dos etapas)
(1/2)

Pipeline primitivo:
Prefetch (opipeline de dos etapas)
 

(2/2)

Fetch accede a memoria principal Mientras la etapa de ejecución no accede a memoria, se puede buscar la próxima instrucción


Prefetch de instrucciones Fetch usualmente más corto que la ejecución Saltos condicionales e interrupciones pueden provocar descarte de las instrucciones cargadas mediante prefetch



Mejora el rendimiento, pero no lo duplica:




Más etapas de pipeline para mejorar performance?

Ejemplo de etapas de pipeline
     

Fetch de instrucción (FI) Decodificar instrucción (DI) Calcular operandos (CO) Fetch de operandos (FO) Ejecutar instrucción y escribir registro (EI) Escribir operando en memoria (WO)

Tiempos del Pipeline
  

Etapas de igual duración Sin saltos Sin conflictos de acceso a memoria yregistros

Aceleración del Pipeline
 

Pipeline de k etapas, cada una de duración T Tiempo de ejecución de n instrucciones
 

Sin pipeline: Ttot= nkT Con pipeline: Ttot= [n + k -1]T



Aceleración: S = nk / [n + k - 1]

Problemas del pipeline


Límites del pipeline: los hazards (obstáculos) pueden impedir que se alcance la aceleración teórica






Hazardsestructurales: conflicto de HW entre dos o más etapas del pipeline para alguna combinación de instrucciones Hazards de datos: dependencias de datos entre instrucciones. Ej., la ejecución de una instrucción depende de un resultado de otra previa, que aún está en el pipeline Hazards de control: causados por instrucciones de salto u otras modificaciones del registro PC

Penalización por saltos


La I3es una bifurcación condicional a I15


Si se toma el salto hay que vaciar el pipeline

Otro pipeline (Similar MIPS)
Instruction Fetch Instr. Decode Reg. Fetch Execute Addr. Calc Memory Access Write Back

Next PC
Zero?

MUX

Add

4

RS1

MEM/WB MEM/WB MEM/WB

EX/MEM

Reg File

Memory

MUX

RS2

ID/EX ID/EX ID/EX

IF/ID IF/ID IF/ID

ALU ALU ALU

Sign...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Computador
  • La computadora
  • La computadora
  • Computadora
  • Computo
  • Computo
  • Computadora
  • La computadora

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS