Cuello de botella de von Neumann

El cuello de botella de von Neumann es una limitación en el rendimiento causada por la arquitectura de computadora personal estándar.

El término lleva el nombre de John von Neumann, quien desarrolló la teoría detrás de la arquitectura de las computadoras modernas. Las computadoras anteriores se alimentaban con programas y datos para su procesamiento mientras estaban en funcionamiento. A Von Neumann se le ocurrió la idea detrás de la computadora de programa almacenado, nuestro modelo estándar, que también se conoce como el arquitectura von Neumann. En la arquitectura de von Neumann, los programas y los datos se guardan en la memoria; el procesador y la memoria están separados y los datos se mueven entre los dos. En esa configuración, la latencia es inevitable.

Además, en los últimos años, las velocidades del procesador se han incrementado significativamente. Las mejoras de la memoria, por otro lado, se han producido principalmente en la densidad, la capacidad de almacenar más datos en menos espacio, en lugar de en las tasas de transferencia. A medida que aumentaron las velocidades, el procesador pasó una cantidad cada vez mayor de tiempo inactivo, esperando a que se recuperaran los datos de la memoria. No importa qué tan rápido pueda trabajar un procesador dado, en efecto está limitado a la tasa de transferencia permitida por el cuello de botella. A menudo, un procesador más rápido solo significa que pasará más tiempo inactivo.

El cuello de botella de von Neumann a menudo se ha considerado un problema que solo puede superarse mediante cambios significativos en las arquitecturas de computadoras o procesadores.

Los enfoques para superar el cuello de botella de von Neumann incluyen:

  • Almacenamiento en caché: el almacenamiento de datos de uso frecuente en un área especial (generalmente RAM), de modo que sea más accesible que si estuvieran almacenados en la memoria principal.
  • Captación previa: mover algunos datos a la caché antes de que se solicite para acelerar el acceso en caso de una solicitud.
  • Múltiples subprocesos: administrar varias solicitudes simultáneamente en subprocesos separados.
  • Nuevos tipos de RAM (memoria de acceso aleatorio): por ejemplo, DDR SDRAM, que activa la salida tanto en el borde ascendente como en el descendente del reloj del sistema en lugar de solo en el borde ascendente, para duplicar potencialmente la salida.
  • RAMBUS: un subsistema de memoria que consta de la RAM, el controlador de RAM y el bus (ruta) que conecta la RAM al microprocesador y los dispositivos de la computadora que la utilizan.
  • Procesamiento en memoria (PIM), que integra procesador y memoria en un solo microchip.

 Ver también: velocidad de transferencia de datos, ancho de banda, disco duro, instrucción, entrada / salida (E / S), memoria de solo lectura (ROM), Guía rápida de RAM