Desde la invención de las computadoras
- Arquitectura de von Neuman: el uso real de instrucciones bien definidas
- 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.
- 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
- Cachés: mantenga cerca los datos y las instrucciones de uso frecuente para mejorar el rendimiento
- 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é.
- 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.
- ¿Se puede hacer una Inteligencia Artificial que pueda reescribir su propio código?
- ¿Alguien ha integrado Scrum con un método de cascada tradicional como PRINCE2 o PMP? ¿Qué tan exitosos han sido tus intentos?
- ¿Qué hace exactamente MATLAB y por qué se volvió tan importante y una habilidad muy solicitada?
- ¿Qué necesito saber para construir una IA genérica?
- ¿Cuál es la diferencia entre un kernel y un shell?
- 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.