Modelos de arquitecturas de cómputo
Enviado por alma.web • 24 de Febrero de 2021 • Ensayo • 1.710 Palabras (7 Páginas) • 53 Visitas
Estas arquitecturas evolucionaron hasta convertirse en las primeras
computadoras electromecánicas y de tubos de vacío. Todavía se utilizan en
procesadores integrados de gama baja y son la base de la mayoría de las
arquitecturas modernas.
Arquitectura de Mauchly-Eckert (von Newman)
Esta arquitectura se ha utilizado en computadoras ENIAC. Consiste en una unidad
central de procesamiento, que se comunica con un banco de memoria a través de
un bus, en el que se almacenan los códigos de instrucción del programa y los
datos a procesar por el mismo.
Esta arquitectura es la arquitectura más utilizada en la actualidad porque es
versátil. Un ejemplo de esta versatilidad es el funcionamiento de los compiladores,
que son programas que toman como entrada un archivo de texto que contiene el
código fuente y generan como datos de salida el código máquina correspondiente
al código fuente (crean o modifican Otros procedimientos).
Estos datos de salida se pueden ejecutar más tarde como un programa porque se
utiliza la misma memoria para los datos y el código del programa. La principal
desventaja de esta arquitectura es que un solo bus de datos y direcciones se
convierte en un cuello de botella porque debe pasar todas las lecturas o escrituras
de la memoria a la memoria, lo que obliga a todos los accesos. Esto limita el grado
de paralelismo (acciones que se pueden ejecutar simultáneamente) y por lo tanto
limita el rendimiento del equipo. Este efecto se denomina cuello de botella de von
Newman.
En esta arquitectura, apareció por primera vez el concepto de procedimientos
almacenados. Anteriormente, la secuencia de operaciones estaba determinada
por el cableado de la unidad de control, y cambiarla implicaba un proceso de
recableado laborioso, lento (hasta tres semanas) y propenso a errores.
Esto hace posible cambiar rápidamente la aplicación de la computadora y producir
una computadora de uso general.
Más detalladamente, el procesador se subdivide en una unidad de control (C.U.),
una unidad aritmética lógica (A.L.U.) y una serie de registros. Los registros se
utilizan para el almacenamiento interno de datos y el estado del procesador. La
unidad aritmética lógica proporciona la capacidad de realizar operaciones
aritméticas y lógicas. La unidad de control genera señales de control para leer los
códigos de instrucción, decodificarlos y dejar que la ALU los ejecute.
Arquitectura de Harvard
Poco después de la aparición del edificio Von Newman en la Universidad de
Princeton, este tipo de edificio apareció en la universidad del mismo nombre. Al
igual que la arquitectura de Von Newman, el programa se almacena en la memoria
en forma de código digital, pero no se puede almacenar en el mismo espacio de
almacenamiento o formato que los datos. Por ejemplo, las instrucciones de doce
bits se pueden almacenar en la memoria del programa, mientras que los datos de
ocho bits se pueden almacenar en una memoria separada.
Figura 1.1.1.2 Diagrama de bloques de la arquitectura de Harvard
El hecho de tener un bus separado para programas y un bus separado para datos
permite leer el código de operación de una instrucción mientras se lee la operación
de la instrucción anterior de la memoria de datos. Esto puede evitar el problema
del cuello de botella de Von Newman y obtener un mejor rendimiento.
Actualmente, la mayoría de los procesadores modernos están conectados al
exterior de una manera similar a la arquitectura de Von Newman, pero tienen un
solo banco de memoria de gran capacidad, pero internamente, incluyen múltiples
niveles de caché, en caché de programa y caché de datos Tiene una memoria
separada Banco. Pérdida de versatilidad.
1.1.2 Arquitectura segmentada.
La arquitectura segmentada o segmentada por canal intenta mejorar el
rendimiento ejecutando múltiples fases del ciclo de instrucción simultáneamente.
El procesador se divide en varias unidades funcionales independientes y el
procesamiento de instrucciones también se divide entre ellas.
Para comprender mejor esto, suponga que un procesador simple tiene un ciclo de
instrucción simple, que consta solo de una fase de búsqueda de código de
instrucción y otra fase de ejecución de instrucción. En un procesador sin
segmentación de canales, se ejecutarán dos etapas secuencialmente para cada
instrucción, como se muestra en la siguiente figura.
Figura 1.1.2.1 Buscar y ejecutar en el orden de tres instrucciones en el
procesador, sin desglosar los motivos
En un procesador con segmentación de canales, cada una de estas etapas se
asigna a una unidad funcional diferente, la búsqueda se asigna a la unidad de
búsqueda y la ejecución se asigna a la unidad de ejecución. Estas unidades
pueden funcionar en paralelo de acuerdo con diferentes instrucciones. Estas
unidades se comunican a través de la cola de instrucciones, donde la unidad de
búsqueda coloca el código de instrucción leído en la unidad de ejecución para
obtenerlo y ejecutarlo desde la cola. Esta cola parece un tubo, ordena entrar por
un extremo y salir por el otro. Derive el nombre en inglés de esta analogía: pipe o
pipe.
Figura 1.1.2.3 Comunicación entre unidades en un procesador con segmentación
de canales.
Después de completar el ejemplo anterior, en un procesador con función de
segmentación, la unidad de búsqueda comenzará a encontrar el código de la
primera instrucción en el primer ciclo de reloj. En el segundo ciclo de reloj, la
unidad de búsqueda buscará el código de la instrucción 2, y la unidad de ejecución
ejecutará la instrucción 1, y así sucesivamente. La siguiente figura muestra este
proceso.
En este escenario, todavía requiere el mismo número de ciclos de reloj (mismo
tiempo), pero como está procesando varias instrucciones al mismo tiempo, el
número medio de instrucciones
...