12. Modelo O.O. de una Computadora
Una sola CPU...
...Una sola Memoria
13. Modelo O.O. de una Computadora
Una sola CPU...
...Una sola Memoria
SISD = Simple Instruction, Simple Data
máquina clásica Von Neumann
14. CPU MEMORIA
SISD = Simple Instruction, Simple Data
máquina clásica Von Neumann
15. Modelo O.O. de una Computadora
...Una sola
Unidad de
Control
16. Modelo O.O. de una Computadora
...Múltiples
ALUs
...Una sola
Unidad de
Control
17. Modelo O.O. de una Computadora
...Múltiples
ALUs
...Una sola
Unidad de
Control
...Múltiples Memorias
18. Modelo O.O. de una Computadora
SIMD = Simple Instruction, Multiple Data
Arreglo de Procesadores
...Múltiples
ALUs
...Una sola
Unidad de
Control
...Múltiples Memorias
20. Modelo O.O. de una Computadora
...Una sola
Unidad de
Control
21. Modelo O.O. de una Computadora
...Múltiples
ALUs
...Una sola
Unidad de
Control
22. Modelo O.O. de una Computadora
...Múltiples
ALUs
...Una sola Memoria
...Una sola
Unidad de
Control
23. Modelo O.O. de una Computadora
...Múltiples
ALUs
...Una sola Memoria
...Una sola
Unidad de
ControlSIMD = Simple Instruction, Multiple Data
Procesador Vectorial
25. Modelo O.O. de una Computadora
Múltiples Filas de
Procesamiento...
26. Modelo O.O. de una Computadora
...Una sola Memoria
Múltiples Filas de
Procesamiento...
27. Modelo O.O. de una Computadora
MISD = Multiple Instruction, Simple Data
Filas de Procesamiento
...Una sola Memoria
Múltiples Filas de
Procesamiento...
37. Parallel Random Access Machine
1)Un número N de procesadores idénticos
P[1], P[2], ... P[N]
2)Una memoria común con M posiciones.
M >= N.
Los N procesadores comparten esta memoria común.
3)Una unidad de acceso a memoria (MAU)
Permite a los procesadores obtener acceso a la
memoria.
39. Modos de Acceso a Memoria
● Exclusive Read (ER)
– Sólo un procesador puede leer de cualquier celda de
memoria en un momento dado
● Exclusive Write (EW)
– Sólo un procesador puede escribir en cualquier celda
de memoria en un momento dado
● Concurrent Read (CR)
– Múltiples procesadores pueden leer de la misma celda
de memoria simultáneamente
● Concurrent Write (CW)
– Múltiples procesadores pueden escribir a la misma
celda de memoria simultáneamente
40. Clases de PRAM
● ER-EW
– El acceso a cualquier celda de memoria es exclusivo
– Es el modelo PRAM más restrictivo
● ER-CW
– Escritura concurrente de múltiples procesadores a la misma ceda
– Los accesos para lectura permanecen exclusivos
● CR-EW
– Accesos concurrentes para lectura
– Los accesos para escritura son exclusivos
● CR-CW
– Permite los accesos concurrentes
– Tanto para lectura como para escritura
41. Conflictos de Escritura en CW
● Deben resolverse usando una política bien definida:
– CON PRIORIDAD
● Sólo se le permite escribir al procesador que tenga mayor prioridad
● El algoritmo determina cómo se asignan dichas prioridades
– COMÚN
● Sólo se permite escribir si todos lo intentan con el mismo valor
– FALLO COMÚN: Si los valores no son iguales, se mantiene sin cambios la
celda
– COLISIÓN COMÚN: Se almacena una etiqueta de “fallo” en caso de que la
instrucción no sea exitosa
– A PRUEBA DE FALLOS COMÚN: no se tolera el fallo y la ejecución del
algoritmo se detiene
42. Conflictos de Escritura en CW
– ARBITRARIA
● Cualquier procesador puede tener éxito sin afectar a la
corrección del algoritmo
● El algoritmo debe especificar exactamente cómo elegir
el procesador que tendrá éxito
– ALEATORIA
● El procesador que escribirá se elige aleatoriamente
– COMBINATORIA
● Todos los valores se combinan en un único valor,
mediante:
– Funciones aritméticas: SUM, MUL, etc.
– Funciones lógicas: AND, OR, XOR, NAND, NOR, XNOR
– Funciones de selección: MAX, MIN, AVG, STD, VAR, ...
50. Cómo funciona (1)
● Tras la ejecución de cada instrucción READ o
WRITE, cada procesador Pi produce un
registro (INSTRUCTION, ai, di, i), donde:
– INSTRUCTION es un campo con el nombre de la
instrucción (ER, EW, CR, PRIORITY CW, SUM
CW, etc. etc. etc.)
– Ai es la dirección de la celda Ui a la que Pi solicita
acceso
– Di es el valor a leerse o escribirse en Ui
– i es un índice único
51. Cómo funciona (2)
● Al mismo tiempo, cada celda de memoria Uj
produce un registro (INSTRUCTION,j, hj),
donde:
– INSTRUCTION es un campo vacío que se llenará
después si se requiere
– j es la dirección única de Uj
– hj lleva el contenido de Uj
52. Cómo funciona (y 3)
● El campo INSTRUCTION del registro de
memoria recibe su valor del campo
INSTRUCTION del procesador
● Si es WRITE, di := hj
● Si es READ, hj := di
● Se ejecutan las operaciones combinatorias
(AND, SUM, etc. etc. ctc.)
53. Ahora sólo falta...
● Diseñar la tarjeta de circuito impreso
● Dotar a la tarjeta de interrupciones (IRQ)
● Dotar a la tarjeta de acceso
directo a memoria (DMA)
● Incluir una interfaz de conexión al bus PCI
● Diseñar las bibliotecas de programación para
acceder a ella
54. GRACIAS POR SU ATENCIÓN
¿PREGUNTAS?
Dr. José Enrique Alvarez Estrada
jeae@ucaribe.edu.mx
http://www.facebook.com/LeonardoDaVinciMX
Twitter: @davicimx