Dr. Wladimir RodríguezDepartamento de Computación
[email protected]://sistemas.ing.ula.ve/~wladimir/AC.html
Arquitectura de Computadoras
Clase #1Introducción
2Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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.
Objetivos
3Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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.
Objetivos
4Dr. Wladimir Rodríguez Arquitectura de Computadoras
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
Temario
5Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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
Horario
6Dr. Wladimir Rodríguez Arquitectura de Computadoras
• Tres exámenes parciales:
• Primer parcial: Temas 1 y 2
• Segundo parcial: Temas 3, 4 y 5
• Tercer parcial: Tema 6 y 7
Evaluación
7Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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.
Bibliografía
8Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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."
Definición
9Dr. Wladimir Rodríguez Arquitectura de Computadoras
• Pascal, Babbage, Von Neumann, Wilkes
• Siempre nos olvidamos de Henry Ford
Computadora como Fabrica
Materia Prima
Datos, Programa
Productos
Datos, Programas
Modelo de Ejecución
Proceso
10Dr. Wladimir Rodríguez 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
Arquitectura de Computadoras
11Dr. Wladimir Rodríguez 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
Arquitectura de Computadoras
12Dr. Wladimir Rodríguez Arquitectura de Computadoras
Arquitectura de Computadoras
Arquitectura del Conjunto de Instrucciones
Compilador Firmware
Aplicación
SistemaOperativo
Conjunto de Instrucciones Sistema de E/S
Camino de datos & Control
Diseño Digital
Diseño de Circuitos
Transistores
Software
Hardware
Arquitectura de Computadoras
13Dr. Wladimir Rodríguez Arquitectura de Computadoras
Niveles de RepresentaciónPrograma en
Lenguaje de Alto
Nivel (C, java)
Programa en Lenguaje
Ensamblador (MIPS)
Programa en
Lenguaje de
Máquina (MIPS)
Compilador
Ensamblador
Descripción de la Arquitectura de
Hardware (Verilog)
Descripción de la
Circuitos Lógicos
(Verilog)
Interpretación de la Máquina
Implementación de la Arquitectura
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
lw $t0, 0($2)
lw $t1, 4($2)
sw $t1, 0($2)
sw $t0, 4($2)
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
wire [31:0] dataBus;
regFile registers (databus);
ALU ALUBlock (inA, inB, databus);
wire w0;
XOR (w0, a, b);
AND (s, w0, a);
14Dr. Wladimir Rodríguez Arquitectura de Computadoras
Los Componentes de una Computadora
Memoria
(donde residen los programas y datos cuando en ejecución)
Entrada
Salida
Dispositivos
Control
Camino de Datos
Procesador
Computador
Teclado,
Ratón
Disco
(Donde
residen los
programas
y datos
cuando no
estan en
ejecución)
Pantalla,
Impresora
15Dr. Wladimir Rodríguez Arquitectura de Computadoras
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.
16Dr. Wladimir Rodríguez Arquitectura de Computadoras
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
17Dr. Wladimir Rodríguez Arquitectura de Computadoras
Lo que ve un Programador
Variables
Instrucciones
Sistema operativo
Compilador
Editor
Computador
CPU
Memoria
Datos
Direcciones
Escribir
programa en
el editor
Compilar
Ejecutar
Fuente
Objeto:
Instrucciones
Variables
Ver resultados
Introducir datosSolo entiende secuencias de 1's y 0's
- Datos
- Instrucciones
19Dr. Wladimir Rodríguez Arquitectura de Computadoras
Lo que ve un Arquitecto de Computadores
Unidad de
Memoria
Unidad de
Salida
Unidad
Aritmético y
Lógica
(UAL)
Unidad de
Entrada
Unidad de
ControlCPU
Modelo de Von Neumann
20Dr. Wladimir Rodríguez Arquitectura de Computadoras
• Dos pasos:
• Búsqueda o captura de la instrucción
• Ejecución de la instrucción
Ciclo de Instrucción
InicioBuscar
Siguiente
Instrucción
Ejecutar
InstrucciónParar
Ciclo de Búsqueda Ciclo de Ejecución
21Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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)
Ciclo de Búsqueda
22Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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
Ciclo de Ejecución
23Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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
Programa Ejemplo
24Dr. Wladimir Rodríguez Arquitectura de Computadoras
• Modelo Von Neumann ampliado
• Bus:
• Conjunto de líneas común a varios bloques que permite la comunicación entre ellos.
Organización a Nivel de Bloques y Buses
UCP
(ULA, Registros
y Control)
Memoria Entrada/Salida
Bus de Datos
Bus de Direcciones
Bus de Control
Desde el CPU todo se como direcciones. El mapa de memoria es un vector donde el índice es la dirección
25Dr. Wladimir Rodríguez Arquitectura de Computadoras
• 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)
Interrupciones
26Dr. Wladimir Rodríguez Arquitectura de Computadoras
Interrupciones
UCP
(ULA, Registros
y Control)
Memoria Entrada/Salida
Bus de Datos
Bus de Direcciones
Bus de Control
Línea de Interrupción
27Dr. Wladimir Rodríguez Arquitectura de Computadoras
Ejemplo de Computador Personal
DisplayProcesador
Gráfico
Memoria
Gráfica
Memoria
Principal
Procesador
Controlador
de
Memoria
Cache
Controlador
de
E/S
D
i
s
c
o
s
U
S
B
B
I
O
S
L
A
N
A
u
d
i
o
PCI
28Dr. Wladimir Rodríguez Arquitectura de Computadoras
Arquitectura de Buses Tradicional
Bus del Sistema
Memoria Principal
CacheProcesador
Controlador de E/S local
Bus Local
Bus de Expansión
Disco
SCSI
Interfase bus de
expansiónModem
Serial
29Dr. Wladimir Rodríguez Arquitectura de Computadoras
Arquitectura de Buses de Altas Prestaciones
Bus del Alta Velocidad
Memoria Principal
Cache/Puente
Procesador
Bus Local
Bus de Expansión
FAX
Interfase bus de
expansiónModem
Serial
LANVideoFire Wire
Bus del Sistema
SCSI Gráficos
32Dr. Wladimir Rodríguez Arquitectura de Computadoras
Ejemplo PowerMacG51. 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
34Dr. Wladimir Rodríguez Arquitectura de Computadoras
• Centrado en la UCP
•••
••• Falta incorporar la Entrada y Salida
• Y el Sistema Operativo
Niveles de Estudio de un Computador
Nivel de Usuario: programas de aplicación
Lenguaje de alto nivel
Ensamblador / Código máquina
Microcódigo
Unidades funcionales: memoria, ULA, buses
Puertas lógicas
Transistores y conexiones
Arquitectura
Organización
35Dr. Wladimir Rodríguez Arquitectura de Computadoras
Conexión con el Sistema Operativo
Programas de usuario y aplicaciones
Disp. de Caracter
Disp. de Bloques
Disp. de RED
Window Manager
Teclado Discos REDSistema Gráfico
Control de dispositivos
Llamadas al sistema
Núcleo del SO
Control de Dispositivos
Top Related