1. Arquitectura de
Computadoras
Clase #1
Introducción
Dr. Wladimir Rodríguez
Departamento de Computación
wladimir@ula.ve
http://sistemas.ing.ula.ve/~wladimir/AC.html
2. Objetivos
• Conocer y comprender la arquitectura y
organización básica de un computador.
• Conocer y comprender las implicaciones del juego
de instrucciones en el diseño de la ruta de datos y la
unidad de control.
• Conocer y comprender distintas técnicas de
aceleración de la unidad aritmética.
• Conocer y comprender los mecanismos de diseño
de una unidad de control, contrastando los
mecanismos de control cableado con los de control
microprogramado.
Dr. Wladimir Rodríguez 2 Arquitectura de Computadoras
3. Objetivos
• Analizar y estudiar la jerarquía de memoria
presente en cualquier computador.
• Conocer y comprender el funcionamiento de la
memoria asociativa, entrelazada, cache y virtual.
• Estudiar el sistema de entrada/salida de un
computador.
• Analizar y estudiar la evolución de los sistemas de
buses.
Dr. Wladimir Rodríguez 3 Arquitectura de Computadoras
4. Temario
1. Introducción a la Arquitectura de Computadoras
2. Estructura del Conjunto de Instrucciones
3. Introducción a la Lógica Digital
4. Aritmética para computadoras
5. Técnicas de Implementación de la Unidad Central
de Procesamiento
6. Sistema de Memoria
7. Sistema de Entrada/Salida
Dr. Wladimir Rodríguez 4 Arquitectura de Computadoras
5. Horario
• Clases:
• Jueves: 8 am a 10 am (1O12)
• Viernes: 8 am a 10 am (1O12)
• Consultas:
• Jueves: 10 am a 12 m
• Viernes: 10 am a 12 m
• En el Postgrado en Computación, Tercer Piso, Ala Sur
Dr. Wladimir Rodríguez 5 Arquitectura de Computadoras
6. Evaluación
• Tres exámenes parciales:
• Primer parcial: Temas 1 y 2
• Segundo parcial: Temas 3, 4 y 5
• Tercer parcial: Tema 6 y 7
Dr. Wladimir Rodríguez 6 Arquitectura de Computadoras
7. Bibliografía
• D.A. Patterson, J.L. Hennessy : Organización y
diseño de computadores. Interfaz hardware/
software. MacGraw-Hill, 1995.
• Stallings, W: Organización y Arquitectura de
Computadores. Diseño para optimizar prestaciones.
5 ed. Prentice-Hall, 2000.
• Hamacher; Vranesic; Zaky: Organización de
Computadoras 3ed. McGraw-Hill, 1996.
• Tanenbaum: Organización de Computadoras. Un
Enfoque Estructurado. 4ed. Prentice-Hall, 2000.
Dr. Wladimir Rodríguez 7 Arquitectura de Computadoras
8. Definición
• COMPUTADOR (RAE 1992):
• "Máquina electrónica dotada de una memoria de gran
capacidad y de métodos de tratamiento de la
información, capaz de resolver problemas aritméticos y
lógicos gracias a la utilización automática de
programas registrados en ella."
Dr. Wladimir Rodríguez 8 Arquitectura de Computadoras
9. Computadora como
Fabrica
• Pascal, Babbage, Von Neumann, Wilkes
• Siempre nos olvidamos de Henry Ford
Proceso
Materia Prima Productos
Modelo de Ejecución
Datos, Programa Datos, Programas
Dr. Wladimir Rodríguez 9 Arquitectura de Computadoras
10. Arquitectura de
Computadoras
• Arquitectura (RAE 1992)
• "Arte de proyectar y construir edificios"
• Dos aspectos:
• Ver el edificio desde cómo se ha construido: arquitectura de
estilo gótico
• Ver el edificio desde el uso: arquitectura funcional,
polivalente
Dr. Wladimir Rodríguez 10 Arquitectura de Computadoras
11. Arquitectura de
Computadoras
• Arquitectura de computadoras
• La computadora vista desde el programador
• ¿Qué instrucciones y datos es capaz de procesar? ¿A
qué velocidad?
• Organización de computadoras
• ¿Cómo está organizada por dentro para procesar esos
datos según esas instrucciones?
• Esta materia: Arquitectura y Organización
Dr. Wladimir Rodríguez 11 Arquitectura de Computadoras
12. Arquitectura de
Computadoras
Aplicación
Sistema
Operativo
Software Compilador Firmware
Arquitectura del Conjunto de Instrucciones
Hardware Conjunto de Instrucciones Sistema de E/S
Camino de datos & Control
Diseño Digital
Diseño de Circuitos Arquitectura de Computadoras
Transistores
Dr. Wladimir Rodríguez 12 Arquitectura de Computadoras
13. Niveles de Representación
Programa en temp = v[k];
Lenguaje de Alto v[k] = v[k+1];
Nivel (C, java) v[k+1] = temp;
Compilador
Programa en lw $t0, 0($2)
Lenguaje lw $t1, 4($2)
Ensamblador sw $t1, 0($2)
(MIPS) sw $t0, 4($2)
Ensamblador
Programa en 0000 1001 1100 0110 1010 1111 0101 1000
Lenguaje de 1010 1111 0101 1000 0000 1001 1100 0110
Máquina (MIPS) 1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Interpretación de la Máquina
wire [31:0] dataBus;
Descripción de la regFile registers (databus);
Arquitectura de
ALU ALUBlock (inA, inB, databus);
Hardware (Verilog)
Implementación de la Arquitectura
Descripción de la wire w0;
Circuitos Lógicos XOR (w0, a, b);
(Verilog) AND (s, w0, a);
Dr. Wladimir Rodríguez 13 Arquitectura de Computadoras
14. Los Componentes de una
Computadora
Teclado,
Ratón
Computador
Disco
Procesador Memoria Dispositivos (Donde
residen los
Control Entrada programas
(donde residen y datos
los programas cuando no
Camino
y datos cuando Salida
de Datos
en ejecución) estan en
ejecución)
Pantalla,
Impresora
Dr. Wladimir Rodríguez 14 Arquitectura de Computadoras
15. Tecnología de las
Computadoras
• Procesador
• 2X en velocidad cada 1,5 años (desde ‘85);
100X rendimiento en la última década.
• Memoria
• DRAM capacidad: 2x / 2 años (desde ‘96);
64x tamaño en la última década.
• Disco
• Capacidad: 2X / 1 año (desde ‘97)
250X tamaño en la última década.
Dr. Wladimir Rodríguez 15 Arquitectura de Computadoras
16. Ley de Moore
• El número de transistores se doblara cada 18 meses
(Gordon Moore, cofundador de Intel)
• El POWER5 de IBM tiene “256 millones” de transistores
Dr. Wladimir Rodríguez 16 Arquitectura de Computadoras
17. Lo que ve un Programador
Ver resultados Escribir
Computador programa en
el editor
Memoria
Variables Fuente
CPU
Datos
Instrucciones
Compilar
Direcciones
Sistema
operativo
Compilador Objeto:
Instrucciones
Editor Variables
Solo entiende secuencias de 1's y 0's
- Datos
Introducir datos Ejecutar
- Instrucciones
Dr. Wladimir Rodríguez 17 Arquitectura de Computadoras
18. Modelo de Programación
con mas Detalle
Dr. Wladimir Rodríguez 18 Arquitectura de Computadoras
19. Lo que ve un Arquitecto de
Computadores
Modelo de Von Neumann
Unidad de
Memoria
Unidad
Unidad de Aritmético y Unidad de
Entrada Lógica Salida
(UAL)
Unidad de
Control CPU
Dr. Wladimir Rodríguez 19 Arquitectura de Computadoras
20. Ciclo de Instrucción
• Dos pasos:
• Búsqueda o captura de la instrucción
• Ejecución de la instrucción
Ciclo de Búsqueda Ciclo de Ejecución
Buscar
Ejecutar
Inicio Siguiente Parar
Instrucción
Instrucción
Dr. Wladimir Rodríguez 20 Arquitectura de Computadoras
21. Ciclo de Búsqueda
• El Contador de Programa (PC) contiene la
dirección de la próxima instrucción a ejecutar.
• El procesador lee la instrucción de memoria.
• El PC se incrementa
• Salvo en las instrucciones de salto
• La instrucción se carga en el Registro de
Instrucciones (RI)
• Se interpreta la instrucción y se generan las señales
de control (decodificación de la instrucción)
Dr. Wladimir Rodríguez 21 Arquitectura de Computadoras
22. Ciclo de Ejecución
• Diferentes operaciones.
• Transferencia de procesador a memoria.
• Transferencia de procesador a E/S.
• Procesado de datos
• La ULA (Unidad Lógico Aritmética) efectúa una
operación sobre los datos.
• Instrucciones de control
• Alteran la secuencia del programa
• por ejemplo JUMP
• Combinación de las anteriores
Dr. Wladimir Rodríguez 22 Arquitectura de Computadoras
23. Programa Ejemplo
• CPU con un solo Acumulador (A),
16 bits
• Memoria de 16 bits por posición
• Suma (940) + (941) en (941)
• Lenguaje simbólico Binario
mov A, (940) 1940 (H)
add A, (941) 5941 (H)
mov (941), A 2941 (H)
• Formato de Instrucción
Dr. Wladimir Rodríguez 23 Arquitectura de Computadoras
24. Organización a Nivel de
Bloques y Buses
• Modelo Von Neumann ampliado
• Bus:
• Conjunto de líneas común a varios bloques que permite
la comunicación entre ellos.
UCP
(ULA, Registros Memoria Entrada/Salida
y Control)
Desde el CPU todo
se como direcciones.
El mapa de memoria
es un vector donde el
índice es la dirección
Bus de Datos
Bus de Direcciones
Bus de Control
Dr. Wladimir Rodríguez 24 Arquitectura de Computadoras
25. Interrupciones
• Mecanismo por el cual otros módulos (e.g. I/O)
pueden alterar la secuencia normal de programa
• Ejemplos: En el propio programa
• División por cero
• Temporizadores:
• Con el rebose de un temporizador
• Base de los S.O. multitarea
• I/O
• Del controlador E/S (dato en memoria)
• Supervisión de Hardware
• Error de paridad (dato en memoria)
Dr. Wladimir Rodríguez 25 Arquitectura de Computadoras
26. Interrupciones
UCP
(ULA, Registros Memoria Entrada/Salida
y Control)
Bus de Datos
Bus de Direcciones
Bus de Control
Línea de Interrupción
Dr. Wladimir Rodríguez 26 Arquitectura de Computadoras
27. Ejemplo de Computador
Personal
Procesador
Display
Gráfico Procesador Cache
Controlador Controlador
Memoria Memoria
de de PCI
Gráfica Principal
Memoria E/S
D
A
i B
U L u
s I
S A d
c O
B N i
o S
o
s
Dr. Wladimir Rodríguez 27 Arquitectura de Computadoras
28. Arquitectura de Buses
Tradicional
Bus Local
Procesador Cache
Controlador
Memoria de E/S local
Principal
Bus del Sistema
Interfase bus
de
Disco Serial
expansión
SCSI Modem
Bus de Expansión
Dr. Wladimir Rodríguez 28 Arquitectura de Computadoras
29. Arquitectura de Buses de
Altas Prestaciones
Memoria
Principal
Bus Local
Cache/
Procesador Bus del Sistema
Puente
SCSI Fire Wire Gráficos Video LAN
Bus del Alta Velocidad
Interfase bus
FAX de Serial
expansión
Modem
Bus de Expansión
Dr. Wladimir Rodríguez 29 Arquitectura de Computadoras
32. Ejemplo PowerMacG5
1. Frontside bus de 1GHz
2. Frontside bus de 1GHz
3. Bus gráfico AGP 8X Pro
4. Controlador de Sistema
5. Memoria doble canal de
400MHz
6. PCI-X de 133MHz
7. E/S de altas prestaciones
8. Almacenamiento ATA
serial
Dr. Wladimir Rodríguez 32 Arquitectura de Computadoras
34. Niveles de Estudio de un
Computador
• Centrado en la UCP
• Nivel de Usuario: programas de aplicación
• Lenguaje de alto nivel
Ensamblador / Código máquina Arquitectura
• Microcódigo
Organización
Unidades funcionales: memoria, ULA, buses
• Puertas lógicas
Transistores y conexiones
•
• Falta incorporar la Entrada y Salida
• Y el Sistema Operativo
Dr. Wladimir Rodríguez 34 Arquitectura de Computadoras
35. Conexión con el Sistema
Operativo
Programas de usuario y aplicaciones
Llamadas al sistema
Control de dispositivos Núcleo del SO
Disp. de Disp. de Disp. de Window Control de
Caracter Bloques RED Manager
Dispositivos
Sistema
Teclado Discos RED
Gráfico
Dr. Wladimir Rodríguez 35 Arquitectura de Computadoras