Capítulo 5. Cómo utiliza Go los recursos de memoria
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En el Capítulo 4, empezamos a mirar bajo el capó del ordenador moderno. Hablamos de los aspectos de eficiencia en el uso del recurso CPU. La ejecución eficiente de instrucciones en la CPU es importante, pero el único propósito de ejecutar esas instrucciones es modificar los datos. Desgraciadamente, el camino para modificar los datos no siempre es trivial. Por ejemplo, en el Capítulo 4 aprendimos que en la arquitectura von Neumann (presentada en la Figura 4-1), experimentamos el problema del muro de CPU y memoria cuando accedemos a los datos desde la memoria principal (RAM).
La industria inventó numerosas tecnologías y capas de optimización para superar retos como ése, incluyendo la seguridad de la memoria y la garantía de grandes capacidades de memoria. Como resultado de esos inventos, acceder a ocho bytes desde la RAM al registro de la CPU podría representarse como una simple instrucción MOVQ <address XYZ> <destination register>. Sin embargo, el proceso real que realiza la CPU para obtener esa información del chip físico que almacena esos bytes es muy complejo. Hemos hablado de mecanismos como el sistema de caché jerárquica, pero hay mucho más.
En cierto modo, esos mecanismos se abstraen de los programadores tanto como es posible. Así, por ejemplo, cuando definimos una variable en código Go, no necesitamos pensar ...