Você está na página 1de 8

Arquitectura de computadoras

semana 1

Modelo de arquitecturas de cmputo.

El modelo clsico de arquitectura de computadoras fu diseado por


Jhon Von Newman que consta de los siguientes elementos:
Dispositivos de entrada, de proceso, de almacenamiento y de salida
MODELO DE VON NEUMANN
Las computadoras digitales actuales se ajustan al modelo propuesto por
el matemtico John Von Neumann. De acuerdo con el, una caracterstica
importante de este modelo es que tanto los datos como los programas,
se almacenan en la memoria antes de ser utilizados.

1.1 Modelos de arquitecturas de cmputo.


1.1.1 Clsicas.

Estas arquitecturas se desarrollaron en las primeras computadoras


electromecnicas y de tubos de vaco. Aun son usadas en procesadores
empotrados de gama baja y son la base de la mayora de las
arquitecturas modernas
Arquitectura Mauchly-Eckert (Von Newman)
Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en
una unidad central de proceso que se comunica a travs de un solo bus
con un banco de memoria en donde se almacenan tanto los cdigos de
instruccin del programa, como los datos que sern procesados por
este.
Esta arquitectura es la ms empleada en la actualidad ya, que es muy
verstil. Ejemplo de esta versatilidad es el funcionamiento de los
compiladores, los cuales son programas que toman como entrada un
archivo de texto conteniendo cdigo fuente y generan como datos de
salida, el cdigo maquina que corresponde a dicho cdigo fuente (Son
programas que crean o modifican otros programas). Estos datos de
salida pueden ejecutarse como un programa posteriormente ya que se
usa la misma memoria para datos y para el cdigo del programa.

Pgina 1 de 8

Arquitectura de computadoras

semana 1

La
principal desventaja de esta arquitectura, es que el bus de datos y
direcciones nico se convierte en un cuello de botella por el cual debe
pasar toda la Informacin que se lee de o se escribe a la memoria,
obligando a que todos los accesos a esta sean secuenciales. Esto limita
el grado de paralelismo (acciones que se pueden realizar al mismo
tiempo) y por lo tanto, el desempeo de la computadora.
Este efecto se conoce como el cuello de botella de Von Newman En esta
arquitectura apareci por primera vez el concepto de programa
almacenado.
Anteriormente la secuencia de las operaciones era dictada por el
alambrado de la unidad de control, el cambiarla implicaba un proceso de
recableado laborioso, lento (hasta tres semanas) y propenso a errores.
En esta arquitectura se asigna un cdigo numrico a cada instruccin.
Dichos cdigos se almacenan en la misma unidad de memoria que los
datos que van a procesarse, para ser ejecutados en el orden en que se
encuentran almacenados en memoria. Esto permite cambiar
rpidamente la aplicacin de la computadora y dio origen a las
computadoras de propsito general
Mas a detalle, el procesador se subdivide en una unidad de control
(C.U.), una unidad lgica aritmtica (A.L.U.) y una serie de registros. Los
registros sirven para almacenar internamente datos y estado del
procesador. La unidad aritmtica lgica proporciona la capacidad de
realizar operaciones aritmticas y lgicas.
La unidad de control genera las seales de control para leer el cdigo de
las instrucciones, decodificarlas y hacer que la ALU las ejecute.
Arquitectura Harvard
Esta arquitectura surgi en la universidad del mismo nombre, poco
despus de que la arquitectura Von Newman apareciera en la
universidad de Princeton. Al igual que en la arquitectura Von Newman, el
Pgina 2 de 8

Arquitectura de computadoras

semana 1

programa se almacena como un cdigo numrico en la memoria, pero


no en el mismo espacio de memoria ni en el mismo formato que los
datos. Por ejemplo, se pueden almacenar las instrucciones en doce bits
en la memoria de programa, mientras los datos de almacenan en 8 bits
en una memoria aparte.

El hecho de tener un bus separado para el programa y otro para los


datos permite que se lea el cdigo de operacin de una instruccin, al
mismo tiempo se lee de la memoria de datos los operados de la
instruccin previa. As se evita el problema del cuello de botella de Von
Newman y se obtiene un mejor desempeo.
En la actualidad la mayora de los procesadores modernos se conectan
al exterior de manera similar a a la arquitectura Von Newman, con un
banco de memoria masivo nico, pero internamente incluyen varios
niveles de memoria cache con bancos separados en cache de programa
y cache de datos, buscando un mejor desempeo sin perder la
versatilidad.

Pgina 3 de 8

Arquitectura de computadoras

semana 1

1.1.2 Segmentadas.

Las arquitecturas segmentadas o con segmentacin del cauce buscan


mejorar el desempeo realizando paralelamente varias etapas del ciclo
de instruccin al mismo tiempo. El procesador se divide en varias
unidades funcionales independientes y se dividen entre ellas el
procesamiento de las instrucciones. Para comprender mejor esto,
supongamos que un procesador simple tiene un ciclo de instruccin
sencillo consistente solamente en una etapa de bsqueda del cdigo de
instruccin y en otra etapa de ejecucin de la instruccin.
En un procesador sin segmentacin del cauce, las dos etapas se
realizaran de manera secuencial para cada una de la instrucciones,
como lo muestra la siguiente figura.

En un procesador con segmentacin del cause, cada una de estas


etapas se asigna a una unidad funcional diferente, la bsqueda a la
unidad de bsqueda y la ejecucin a la unidad de ejecucin. Estas
unidades pueden trabajar en forma paralela en instrucciones diferentes.
Estas unidades se comunican por medio de una cola de instrucciones en
la que la unidad de bsqueda coloca los cdigos de
instruccin que ley para que la unidad de ejecucin los tome de la cola
y los ejecute. Esta cola se parece a un tubo donde las instrucciones
entran por un extremo y salen por el otro. De esta analoga proviene el
nombre en ingles: Pipelining o entubamiento.

Pgina 4 de 8

Arquitectura de computadoras

semana 1

Completando el ejemplo anterior, en un procesador con segmentacin,


la unidad de bsqueda comenzara buscando el cdigo de la primera
instruccin en el primer ciclo de reloj. Durante el segundo ciclo de reloj,
la unidad de bsqueda obtendra el cdigo de la instruccin 2, mientras
que la unidad de ejecucin ejecuta la instruccin 1 y as sucesivamente.
La siguiente figura muestra este
Proceso.

En este esquema sigue tomando el mismo numero de ciclos de reloj (el


mismo tiempo), pero como se trabaja en varias instrucciones al mismo
tiempo, el nmero promedio de instrucciones por segundo se multiplica.
La mejora en el rendimiento no es proporcional al numero de segmentos
en el cauce debido a que cada etapa no toma el mismo tiempo en
realizarse, adems de que se puede presentar competencia por el uso
de algunos recursos como la memoria principal.
Otra razn por la que las ventajas de este esquema se pierden es
cuando se encuentra un salto en el programa y todas las instrucciones
que ya se buscaron y se encuentran en la cola, deben descartarse y
comenzar a buscar las instrucciones desde cero a partir de la direccin a
la que se salto. Esto reduce el desempeo del procesador y an se
investigan maneras de predecir los saltos para evitar este problema.

Pgina 5 de 8

Arquitectura de computadoras

semana 1

1.1.3 De multiprocesamiento.
Clasificacin de Flynn
Clasificacin clsica de arquitectura de computadores que hace alusin a sistemas con uno
o varios procesadores. Flynn la public por primera vez en 1966 y por segunda vez en
1970.
Esta taxonoma se basa en el flujo que siguen los datos dentro de la mquina y de las
instrucciones sobre esos datos.
Se define como flujo de instrucciones al conjunto de instrucciones secuenciales que son
ejecutadas por un nico procesador y como flujo de datos al flujo secuencial de datos
requeridos por el flujo de instrucciones.
Con estas consideraciones, Flynn clasifica los sistemas en cuatro categoras:
SISD (Single Instruction stream, Single Data stream)
Los sistemas de este tipo se caracterizan por tener un nico flujo de instrucciones sobre un
nico flujo de datos, es decir, se ejecuta una instruccin detrs de otra. Este es el concepto
de arquitectura serie de VonNeumann donde, en cualquier momento, slo se ejecuta una
nica instruccin.
Un ejemplo de estos sistemas son las mquinas secuenciales convencionales.
SIMD (Single Instruction stream, Multiple Data stream)
Estos sistemas tienen un nico flujo de instrucciones que operan sobre mltiples flujos de datos.
Ejemplos de estos sistemas los tenemos en las mquinas vectoriales con hardware escalar y
vectorial.
El procesamiento es sncrono, la ejecucin de las instrucciones sigue siendo secuencial como en el
caso anterior, todos los elementos realizan una misma instruccin pero sobre una gran cantidad de
datos.
Por este motivo existir concurrencia de operacin, es decir, esta clasificacin es el origen de la
mquina paralela.
El funcionamiento de este tipo de sistemas es el siguiente. La Unidad de Control manda una misma
instruccin a todas las unidades de proceso (ALUs). Las unidades de proceso operan sobre datos
diferentes pero con la misma instruccin recibida.
Existen dos alternativas distintas que aparecen despus de realizarse esta clasificacin:
Arquitectura Vectorial con segmentacin:
Una CPU nica particionada en unidades funcionales independientes trabajando sobre flujos de
datos concretos
Arquitectura Matricial (matriz de procesadores):
Varias ALUs idnticas a las que el procesador de instrucciones asigna una nica instruccin pero
trabajando sobre diferentes partes del programa.

Pgina 6 de 8

Arquitectura de computadoras

semana 1

SIMD CON CPU PARTICIONADA


En este tipo de sistemas, la CPU se disea como un conjunto de unidades funcionales
independientes que ejecutan simultneamente varias operaciones aritmtico/lgicas.
La CPU contiene un nico procesador con instrucciones que procesa un nico flujo de estas
liberando cada instante una. Debido a que las unidades funcionales operan independientemente, es
posible liberar nuevas instrucciones antes de que finalice la ejecucin de las instrucciones previas.
Ejemplos de este tipo de sistemas los encontramos en los computadores CRAY monoprocesador,
CYBER205, FUJITSU, HITACHE, NEC SUPERCOMPUTERS, IBM 390 VF, IBM 9000 VF,
ALLIANT FX/1 Y CONVEX C1.
SIMD CON MULTIPLES ALUS
Estos sistemas trabajan en modo lock step, ejecutando o ignorando una misma instruccin para
todas las ALUs. Existe un nico procesador que maneja el flujo de instrucciones del programa y que
transfiere todas las instrucciones a las diferentes unidades aritmtico/lgicas.
Cada ALU opera sobre un segmento diferente de datos del programa.
Ejemplo de funcionamiento del sistema con el siguiente bucle:
DO 2000 I=1,N
A(I) = B(I) + C(I)
2000 CONTINUE
El procesador asigna a cada ALU la operacin de suma de B(I) con C(I) y siendo el
almacenamiento del resultado en A(I) pero pasando a cada ALU un valor diferente de I.
En el caso de que haya menos ALUs que iteraciones del bucle, el procesador ordenar la ejecucin
hasta que estn procesados todos los valores de I.
En el caso de que haya ms ALUs que iteraciones, existir un nmero de estas que no estn
operativas durante la ejecucin de las instrucciones del bucle. Una ALU inactiva o en OFF significa
que:
La ALU recibe instrucciones pero las ignora
La ALU ejecuta clculos pero no almacena ningn resultado.
MISD (Multiple Instruction stream, Single Data stream)
Sistemas con mltiples instrucciones que operan sobre un nico flujo de datos. Este tipo de sistemas
no ha tenido implementacin hasta hace poco tiempo.
Los sistemas MISD se contemplan de dos maneras distintas:
Varias instrucciones operando simultneamente sobre un nico dato.
Varias instrucciones operando sobre un dato que se va convirtiendo en un resultado que ser la
entrada para la siguiente etapa. Se trabaja de forma segmentada, todas las unidades de proceso
pueden trabajar de forma concurrente.

Pgina 7 de 8

Arquitectura de computadoras

semana 1

Ejemplos de estos tipos de sistemas son los arrays sistlicos o arrays de procesadores. Tambin
podemos encontrar aplicaciones de redes neuronales en mquinas masivamente paralelas.
MIMD (Multiple Instruction stream, Multiple Data stream)
Sistemas con un flujo de mltiples instrucciones que operan sobre mltiples datos. Estos sistemas
empezaron a utilizarse a principios de los 80.
Son sistemas con memoria compartida que permiten ejecutar varios procesos simultneamente
(sistema multiprocesador).
Cuando las unidades de proceso reciben datos de una memoria no compartida estos sistemas reciben
el nombre de MULTIPLE SISD (MSISD).
En arquitecturas con varias unidades de control (MISD Y MIMD), existe otro nivel superior con
una unidad de control que se encarga de controlar todas las unidades de control del sistema.
Ejemplo de estos sistemas son las mquinas paralelas actuales.
Categoras de Ordenadores Paralelos
Clasificacin moderna que hace alusin nica y exclusivamente a los sistemas que tienen ms de un
procesador (i.e mquinas paralelas).
Existen dos tipos de sistemas teniendo en cuenta su acoplamiento. Los sistemas fuertemente
acoplados sonaquellos en los que los procesadores dependen unos de otros. Los sistemas dbilmente
acoplados son aquellos en los que existe poca interaccin entre los diferentes procesadores que
forman el sistema. Atendiendo a esta y a otras caractersticas, la clasificacin moderna divide a los
sistemas en dos tipos:
Sistemas multiprocesador (fuertemente acoplados) y sistemas multicomputador (dbilmente
acoplados).
Multiprocesadores
Un multiprocesador puede verse como un computador paralelo compuesto por varios procesadores
interconectados que comparten un mismo sistema de memoria.
Los sistemas multiprocesadores son arquitecturas MIMD con memoria compartida. Tienen un nico
espacio
de direcciones para todos los procesadores y los mecanismos de comunicacin se basan en el paso
de
mensajes desde el punto de vista del programador.

Pgina 8 de 8

Você também pode gostar