¿Cuáles son las tres ideas principales en arquitectura de computadoras desde la invención de la computadora?

Desde la invención de las computadoras

  1. Arquitectura de von Neuman: el uso real de instrucciones bien definidas
  2. Grandes archivos de registro: los primeros arquitectos informáticos tenían solo unos pocos registros de acumuladores, lo que generaba cargas y almacenes innecesarios en la pila de programas.
  3. Memoria virtual (TLB y page table walker): soporte de hardware para aislar diferentes procesos que permitieron a los programas compartir un procesador sin leer y escribir la memoria del otro.

El rendimiento tradicional de la arquitectura de CPU de un solo subproceso ha estado dominado por estas tres características

  1. Cachés: mantenga cerca los datos y las instrucciones de uso frecuente para mejorar el rendimiento
  2. Load-Store Queue: maneja muchas cargas concurrentes y almacena al mismo tiempo para reducir el impacto de la latencia de memoria y las fallas de caché.
  3. Predicción de sucursal: permite el procesamiento fuera de orden

La arquitectura de la computadora se ha centrado recientemente en qué aspectos del código pueden acelerarse directamente en el hardware y cómo definir una interfaz limpia y bien especificada para dicho hardware.

  1. SRIOV (IOMMU): esta tecnología originalmente destinada a máquinas virtuales para compartir se puede utilizar para permitir que los aceleradores de hardware compartan punteros con un núcleo de host que evite copias innecesarias.

Las tres ideas principales en arquitectura de computadoras al menos según yo son las siguientes.

  1. La ejecución fuera de orden de Tomasulo que condujo a una amplia gama de conceptos informáticos.
  2. Conceptos de programación paralela (exclusión mutua y sincronización de barrera).
  3. Predicción de rama.
  1. Reduzca el tamaño de los componentes para caber en una computadora de escritorio, portátil o portátil No comprometa la velocidad al mismo tiempo.
  2. Mantenga la CPU ocupada, como el concepto de canalización para ejecutar instrucciones independientes en la arquitectura de un solo procesador. Avance en procesamiento paralelo para distribuir el trabajo entre diferentes núcleos en procesadores multinúcleo.
  3. Acceso rápido a la memoria. Use niveles de caché separados, como en la arquitectura Intel Nehalem, han usado caché de 3 capas. Entonces, la idea básica es mantener la memoria fácilmente accesible al procesador. En los procesadores multinúcleo incluso hay un concepto de sección de memoria principal separada.

Pero, hay muchos desafíos para un pequeño avance. Algunos son problemas de coherencia de caché, utilización de energía, programación paralela y más.