Es adecuada para sistemas de propósito general, como computadores, servidores y estaciones de trabajo.
Establece que tanto datos e instrucciones serán almacenadas en la memoria principal
Esto permite que sea flexible y programable
Componentes Clave
La unidad de control se encarga de interpretar las instrucciones del programa y coordina las funciones del programa
Unidad aritmética lógica se encarga de ejecutar operaciones matemáticas y lógicas
Memoria principal se encarga de almacenar datos e instrucciones
Unidad de entrada y salida facilita la interacción del sistema con el entorno
Bus de comunicaciones es un sistema de conección de datos que conecta todos los componentes anteriores
Ventajas
Simplicidad el diseño unificado de la memoria facilita la fabricación del hardware
Flexibilidad puede ejecutar cualquier tipo de programa que este cargado en memoria
Reusabilidad del hardware ya que no es necesario rediseñar el sistema por un programa
Programabilidad permite almacenar y modificar programa en memoria
Es una arquitectura reprogramable
Desventajas
Cuello de botella
Surge cuando el sistema accede tanto a instrucciones como datos al mismo tiempo
El bus compartido entre datos e instrucciones limita el rendimiento, esto ocurre porque el procesador no puede acceder a datos e instrucciones a la vez
Técnicas para resolverlo
Memoria cache es usada para reducir los accesos directos a la memoria principal
Pipelining intenta mantener al procesador ocupado dividiendo las instrucciones en pasos secuenciales
Arquitectura harvard
Annotations:
Es preferida para entornos de eficiencia, la velocidad de acceso a memoria y la seguridad del código son prioritarios.
Aspectos Técnicos
Memoria de instrucciones utilizado para almacenar código del programa
Memoria de datos almacena información que el programa debe procesar
Buses separados cada tipo de memoria tiene su bus de datos y direcciones
Permite accesos simultáneos
Arquitectura de harvard como una alternativa mas eficiente para casos donde el rendimiento y la velocidad, son mas importantes que la simplicidad del diseño
Ventajas
Acceso simultaneo a instrucciones y datos
Mejora la velocidad de ejecución
Menor riesgo de sobreescritura
Al tener memorias separadas es imposible que los datos corrompan el código del sistema
Optimización especializada
Se puede usar memorias más rápidas o especificas para cada tipo de información
Desventajas
Mayor complejidad de diseño
Requiere buses y controladores duplicados
Menor flexibilidad
Limita ciertas técnicas avanzadas
Menor compatibilidad con softwares generalista
No compatibles con arquitecturas de propósito
general
Taxonomía de Flynn
Es un sistema de clasificación de arquitecturas según como clasifican datos e instrucciones
Flujo de instrucciones
Flujo de datos
Clases de arquitecturas
Annotations:
La arquitectura de Von neuman pertenece a SISD
La arquitectura de Harvard pertenece a MIMD