1. Organización de los sistemas de
cómputo
Organización de computadoras
Capítulo 2 - Tanenbaum
2. Agenda
1. Paralelismo
– Nivel de instrucciones
– Nivel de procesador
CC3025 - Introducción a la organización de computadoras y assembler
3. Paralelismo
• Hacer dos o más cosas al mismo tiempo.
• Los procesadores operan a mayor rapidez y
mejoran su desempeño
• Dos formas generales:
1. Nivel de instrucciones: más instrucciones por
segundo
2. Nivel de procesador: múltiples CPU trabajando
simultáneamente.
CC3025 - Introducción a la organización de computadoras y assembler
4. PARALELISMO A NIVEL DE
INSTRUCCIONES
CC3025 - Introducción a la organización de computadoras y assembler
5. Paralelismo en nivel de instrucciones
• Buffer de pre-búsqueda:
–registros que almacenan instrucciones
por adelantado, desde la memoria
–Divide la ejecución de instrucciones en:
• Búsqueda
• Ejecución
CC3025 - Introducción a la organización de computadoras y assembler
6. Paralelismo en nivel de instrucciones
• Pipeline (fila de procesamiento)
–Divide la ejecución de instrucciones en
varias partes.
–C/u con hardware dedicado
–componentes operan en paralelo
CC3025 - Introducción a la organización de computadoras y assembler
7. Paralelismo en nivel de instrucciones
Filas de procesamiento
Fila de procesamiento de cinco etapas
CC3025 - Introducción a la organización de computadoras y assembler
8. Paralelismo en nivel de instrucciones:
Filas de procesamiento
Estado de cada etapa en función del tiempo
(9 ciclos de reloj)
CC3025 - Introducción a la organización de computadoras y assembler
9. Pipelining is Natural!
• Laundry Example
• Ann, Brian, Cathy, Dave
each have one load of clothes
to wash, dry, and fold
• Washer takes 30 minutes
• Dryer takes 40 minutes
• “Folder” takes 20 minutes
A B C D
Adapted from the lecture notes of Dr. John Kubiatowicz (UC Berkeley)
and Hank Walker (TAMU)
CC3025 - Introducción a la organización de computadoras y assembler
10. Sequential Laundry
• Sequential laundry takes 6 hours for 4 loads
A
B
C
D
30 40 20 30 40 20 30 40 20 30 40 20
6 PM 7 8 9 10 11 Midnight
T
a
s
k
O
r
d
e
r
Time
Adapted from the lecture notes of Dr. John Kubiatowicz (UC Berkeley)
and Hank Walker (TAMU)
CC3025 - Introducción a la organización de computadoras y assembler
11. Paralelismo en nivel de instrucciones:
Filas de procesamiento
Tomando en cuenta la figura anterior:
• Si cada tiempo de ciclo de máquina es de 2ns,
¿cuánto tiempo se requiere para que una
instrucción pase por las 5 etapas? Latencia
• ¿A qué velocidad opera la máquina en MIPS?
Ancho de banda del procesador
CC3025 - Introducción a la organización de computadoras y assembler
12. Paralelismo en nivel de instrucciones
• Arquitectura superescalar
– Dos filas de procesamiento (Pentium)
CC3025 - Introducción a la organización de computadoras y assembler
13. Paralelismo en nivel de instrucciones:
Arquitecturas superescalares
Procesador
superescalar
con cinco
unidades
funcionales
Pentium II posee
esta estructura
CC3025 - Introducción a la organización de computadoras y assembler
14. PARALELISMO A NIVEL DE
PROCESADOR
CC3025 - Introducción a la organización de computadoras y assembler
15. Paralelismo en nivel de procesador:
Arreglos de procesadores
CC3025 - Introducción a la organización de computadoras y assembler
16. Paralelismo en nivel de procesador:
Procesador vectorial
CC3025 - Introducción a la organización de computadoras y assembler
17. Paralelismo en nivel de procesador:
multiprocesadores
a) Multiprocesador con un solo bus.
b) Multicomputadora con memorias locales.
CC3025 - Introducción a la organización de computadoras y assembler
18. Paralelismo en nivel de procesador:
multicomputadoras
CC3025 - Introducción a la organización de computadoras y assembler
20. Bibliografía
• TANENBAUM, S. Andrew Organización de
computadoras: un enfoque estructurado.
Cuarta edición. 2000. Prentice Hall. Capítulo 2
• D. Patterson, J. Hennessy, “Computer
Architecture: A Quantitative Approach”, 3rd
ed. San Francisco, CA: Morgan Kaufmann,
2003.
CC3025 - Introducción a la organización de computadoras y assembler