¿Qué es una barrera de memoria?

Históricamente, las CPU han sido máquinas perfectamente secuenciales. Esto es muy lógico y fácil de entender, pero puede ser un problema de rendimiento. A lo largo de los años, se han realizado muchos ajustes ingeniosos en los diseños de CPU para extraer el mayor rendimiento posible de las obleas de silicio. Sin embargo, uno de los más interesantes es la ejecución desordenada. En las CPU de ejecución fuera de orden, las instrucciones no necesariamente deben ejecutarse en el orden en que se emiten.

Estancamiento en orden

El principal problema de rendimiento con el que se encuentra una CPU en orden se denomina bloqueo de canalización. Esto sucede cuando una instrucción depende de alguna memoria, pero esa memoria no está directamente disponible en un registro. En este caso, la CPU debe encontrar ese valor en la memoria. La memoria caché de la CPU se comprueba primero, ya que estos son el nivel de memoria más rápido. Si el valor no está allí, se comprueba la RAM del sistema. Durante este tiempo, la CPU debe permanecer inactiva, ya que la instrucción dependiente de la memoria debe completarse en orden antes de las siguientes instrucciones.

El impacto en el rendimiento de una parada en la tubería puede no ser tan malo, pero también puede ser relativamente grave. Por ejemplo, la memoria caché L1 normalmente puede devolver un resultado del orden de magnitud de 5 ciclos de CPU. La caché L2 puede tomar 20 ciclos, L3 alrededor de 200 ciclos y la RAM del sistema alrededor de 400 ciclos. Dado que una CPU puede funcionar a alrededor de 5 GHz, es decir, 5 mil millones de ciclos de reloj por segundo, incluso 400 ciclos no son tan malos (0,000008 %). Pero si tiene muchas instrucciones que necesitan hacer referencia a datos más abajo en los niveles de caché, el efecto acumulativo puede causar una ralentización notable.

Ejecución fuera de orden y cambio de nombre de registro

La ejecución fuera de orden es una técnica que permite al programador reordenar las instrucciones en su cola. A través de este reordenamiento, puede optar por priorizar hilos específicos sobre otros. También puede empujar las instrucciones de regreso a la cola cuando tienen una dependencia de datos que aún no se ha cumplido. Esto evita al máximo los atascos de tuberías y minimiza los ciclos de inactividad.

La ejecución fuera de orden requiere una característica llamada cambio de nombre de registro. La CPU puede acceder a los datos contenidos en los registros dentro de un solo ciclo. Los registros se utilizan para almacenar datos que se leen y escriben. Sin embargo, es esencial asegurarse de que la computadora en general vea todo lo que sucede en el orden lógico, no en el orden optimizado del ciclo de CPU fuera de orden. Para permitir esto, las CPU tienen muchos más registros lógicos de los que exige la arquitectura de la CPU.

Los datos que deben escribirse, pero tienen una instrucción "anterior" que aún no se ha completado, se colocan en un registro de espera. Estos datos no se transfieren a otro registro cuando el pedido se ha resuelto por sí solo. En su lugar, el nombre del registro de espera se cambia por el del registro en el que debería estar. Esto es algo similar a preparar un postre antes del plato principal, pero luego guardarlo en el refrigerador hasta el momento de servirlo.

Estos registros lógicos están completamente sin abordar. La CPU solo puede direccionar realmente los registros lógicos que actualmente comparten el nombre de los registros arquitectónicos. Dicho esto, la CPU también los conoce lo suficiente como para que si otras instrucciones reordenadas se basan en los datos del registro de retención lógico, pueden usarlos en lugar de los datos "obsoletos" en el registro arquitectónico en ese momento empírico particular.

Barreras de memoria

Una barrera de memoria, también conocida como membar, cerca de memoria o instrucción de cerca, es una instrucción en código de computadora. Permite a un programador imponer una restricción de orden en las operaciones de memoria emitidas antes y después de la barrera de la memoria. La barrera de memoria le indica al programador de la CPU que se asegure de que todas las instrucciones se procesen antes que cualquier instrucción después de la barrera. Esto se hace para garantizar que las operaciones importantes se completen en el orden correcto.

Generalmente, en las computadoras modernas, esto no debería ser necesario. La ejecución desordenada y el cambio de nombre del registro son campos consolidados y maduros. Sin embargo, una barrera de memoria puede ser útil para procesadores fuera de servicio más antiguos, menos sofisticados o utilizados en operaciones críticas de memoria.

Las barreras de la memoria pueden venir con cierto detrimento del rendimiento. Esto se debe a que evitan activamente que el programador de la CPU optimice partes específicas del flujo de instrucciones. Esto aumenta la posibilidad de que se detenga la tubería.

Conclusión

Una barrera de memoria es una instrucción que asegura una restricción de orden en las operaciones de memoria. Esto es importante porque los procesadores de ejecución desordenados pueden reordenar instrucciones específicas. Si bien el cambio de nombre del registro está bien establecido como un método para garantizar la integridad de la memoria en este entorno, puede ser útil garantizarlo manualmente.

La barrera de la memoria obliga al programador de la CPU a garantizar que las instrucciones se completen antes que cualquier instrucción posterior a la barrera. Esto evita que se reordenen las operaciones de memoria. También evita que la CPU optimice el flujo de instrucciones, lo que puede afectar el rendimiento.



Leave a Comment

Solución de problemas de Roku no actualiza el software

Solución de problemas de Roku no actualiza el software

Asegúrate de que tu dispositivo Roku funcione correctamente actualizando el software. Aquí tienes soluciones efectivas para el problema de actualizaciones de Roku.

Chromebook: habilitar / deshabilitar el bloqueo de mayúsculas

Chromebook: habilitar / deshabilitar el bloqueo de mayúsculas

Los Chromebook son herramientas versátiles para múltiples propósitos, descubra cómo habilitar y deshabilitar el bloqueo de mayúsculas de manera simple.

¿Qué es un virus del sector de arranque?

¿Qué es un virus del sector de arranque?

Un virus del sector de arranque es un tipo clásico de malware que infecta el sector de arranque de los dispositivos de almacenamiento. Aprende sobre su funcionamiento, identificación y eliminación.

Cómo apagar el sonido del obturador de la cámara - Galaxy S 21 Plus

Cómo apagar el sonido del obturador de la cámara - Galaxy S 21 Plus

Descubre cómo tomar fotos en silencio apagando el sonido del obturador en tu Galaxy S21 Plus. Aprende trucos adicionales para mejorar tus fotografías.

¿Qué es VRAM?

¿Qué es VRAM?

VRAM o Video Random Access Memory es una forma de RAM que se utiliza específicamente para procesadores gráficos. Descubre cómo mejora el rendimiento gráfico.

¿Qué es la seguridad a través de la oscuridad?

¿Qué es la seguridad a través de la oscuridad?

La seguridad a través de la oscuridad se basa en el secreto de un sistema, pero en la actualidad, la seguridad real proviene de la criptografía moderna y de mantener en secreto la clave de cifrado.

Cómo clonar un disco duro

Cómo clonar un disco duro

En la era digital moderna, donde los datos son un activo valioso, clonar un disco duro en Windows puede ser un proceso crucial para muchos. Esta guía completa

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Se enfrenta al mensaje de error al iniciar su computadora que dice que el controlador WUDFRd no se pudo cargar en su computadora?

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

¿Tiene el código de error 0x0003 de la experiencia NVIDIA GeForce en su escritorio? En caso afirmativo, lea el blog para descubrir cómo solucionar este error de forma rápida y sencilla.

Cómo quitar una GPU de una PC con Windows en 2023

Cómo quitar una GPU de una PC con Windows en 2023

¿Necesitas quitar la GPU de tu PC? Únase a mí mientras explico cómo quitar una GPU de su PC en esta guía paso a paso.