Este documento describe la organización básica de un computador, incluyendo los principales componentes como el procesador, la memoria y los dispositivos de entrada/salida. Explica que el procesador se compone de una unidad de control y una unidad aritmética y lógica, y cómo ejecuta las instrucciones almacenadas en la memoria principal. También resume los diferentes enfoques para lograr paralelismo en la ejecución de instrucciones.
1. TEMA 2: Organización de
computadores
• Procesadores
• Memorias
• Dispositivos de E/S
1
2. Computador
• Procesador, memoria, dispositivos de E/S
CPU
Unidad de Dispositivos de E/S
control
Unidad
aritmética y
lógica
Registros
Memoria
principal Disco Impresora
Bus
2
3. Procesadores
• La CPU es el “cerebro” del computador.
• Función: ejecutar programas almacenados en la
memoria principal.
• Está compuesto de:
» UC: se encarga de leer una tras otra las instrucciones del
programa en MP y generar las señales necesarias para su
ejecución. Estas señales están sincronizadas con un reloj.
» UAL: encargada de realizar operaciones elementales sobre los
datos de la memoria.
» Registros: pequeña memoria de alta velocidad para almacenar
resultados intermedios y cierta información de control (ej: PC)
3
4. Ejecución de una instrucción
• Extrae de la memoria la siguiente instrucción, la lleva al IR
• Incrementa PC
• Determina el tipo de la instrucción
• Comprueba si la instrucción necesita datos de la memoria
• Extrae los datos y los carga en los registros
• Ejecuta la instrucción
• Almacena los resultados en el lugar apropiado
• Va al primer paso
4
5. Ejecución de instrucciones en
paralelo
• Máquinas cada vez más rápidas
» Existen límites físicos
» Es muy caro
• Se puede conseguir con varias ALU’s o varias
CPU’s
• Las máquinas paralelas se dividen en 3 categorías
(Flynn,1972), según el nº de instrucciones y datos:
» SISD: flujo de instrucciones simple, flujo de datos simple.
» SIMD: flujo de instrucciones simple, flujo de datos múltiple.
» MIMD: flujo de instruc. múltiple, flujo de datos múltiple.
5
6. Máquinas SISD
• Un program y un conjunto de datos.
• Se extrae una instrucción y se ejecuta, se extrae
otra y así.
• Se logra el paralelismo extrayendo e iniciando la
siguiente instrucción antes de terminar aquella en
curso.
• Dos modelos:
» varias unidades funcionales
» procesamiento en línea
6
7. Varias unidades funcionales
La UC extrae una inst. , la manda a una unidad funcional, extrae la siguiente y así hasta que
no se pueda avanzar. Se supone que el tiempo en ejecutar una instrucción es mayor que en
extraerla.
Registros
+ + - x +
7
8. Procesamiento en línea
Consiste en separar la ejecución de cada instrucción en partes. Cada parte la ejecuta una
unidad de procesamiento de la CPU.
UP1 UP2 UP3 UP4 UP5
Unidad de Unidad de Unidad de Unidad de
extracción de Analizador de cálculo de extracción ejecución de
instrucción instrucciones direcciones de datos instrucciones
P1 1 2 3 4 5 6 7 8
P2 1 2 3 4 5 6 7 8
P3 1 2 3 4 5 6 7
P4 1 2 3 4 5 6
P5 1 2 3 4 5
1 2 3 4 5 6 7 8 t
8
9. Máquinas SIMD
• Un programa con múltiples conjuntos de datos
• Dos modelos:
» Máquinas vectoriales
» Procesadores de arreglos
9
10. Máquina vectorial
• Para cada entrada de la ALU se tiene un vector
con n entradas y no una sóla variable.
• La ALU es una unidad vectorial capaz de realizar
operaciones con vectores.
vector de entrada A vector de entrada B
vector de salida A+B
10
11. Procesador de arreglos
Consiste de una malla cuadrangular de elementos procesador/memoria, que reciben las
instrucciones de la UC, éstas son ejecutadas por todos los procesadores.
U.C
malla de procesador-memoria de 8x8
11
12. Máquinas MIMD
• Distintas CPU’s manejan distintos programas
compartiendo a veces una memoria común.
• Multiprocesador:
CPU CPU CPU CPU Memoria
compartida
Bus
• Dificultades si un gran nº de procesadores
pretende acceder a la memoria a través del bus.
12
13. Máquinas MIMD
• Posibles soluciones:
» Memoria local a cada procesador donde se almacena
datos y programas no comunes.
memorias locales
CPU CPU CPU CPU memoria compartida
» Tener más de un bus.
» Usar memoria caché: técnica para mantener en cada
procesador las palabras de memoria usadas con
mayor frecuencia.
13
14. Memoria
• Para almacenar programas y datos.
• Unidad básica el bit.
• Se divide en celdas.
• Cada celda se identifica por una dirección.
• Byte = 8 bits : unidad más pequeña direccionable
• Los bytes se agrupan en palabras.
• La mayor parte de las instrucciones operan sobre
palabras.
14
15. Memoria
• Los bytes en una palabra se pueden numerar de
izquierda a derecha (“big endian”, Motorola) o de
derecha a izquierda (“little endian”, Intel).
• Problema: la falta de una norma en el
ordenamiento produce incompatibilidad en la
transferecia de datos. No se soluciona con el
intercambio de los bytes.
• Posible solución: incluir un encabezado en los
datos que indique el tipo y el tamaño de los datos.
15
16. Memoria secundaria
• Cintas magnéticas
• Discos magnéticos
• Discos flexibles
• Discos ópticos
• Discos RAM
» Se utiliza como disco una parte de la memoria
principal previamente reservada.
» Ventajas: acceso instantáneo, facilidad para un
ordenador sin disco.
16
17. Dispositivos de E/S
• Para la comunicación con el exterior.
• Distintos dipositivos:
» Terminales
» Modems
» Ratones
» Impresoras
• Dos enfoques diferentes.
17
18. Enfoque 1
• Utilizado en grandes computadores.
Memoria principal
Bus de memoria
CPU Bus de E/S
Procesadores de E/S
(canales)
Controlador
de terminales
Impresora Discos
Terminales
18
19. Enfoque 2
• Utilizado en computadores personales
Unidad
Monitor Teclado
de disco
Contr. Contr. de Contr. de
CPU Memoria
de video teclado disco
Bus
• El controlador maneja la E/S al dispositivo y el
acceso al bus.
• Funcionan con interrupciones o mediante DMA
• El arbitrador decide quién accede al bus.
19