Octava Planta número 41

Page 58

final_3:principio sumario(1).qxd

31/03/2010

3:00

PÆgina 58

El problema de la memoria Ismael Medina La memoria en un ordenador es uno de los puntos más críticos de estos aparatos. Todo lo que un ordenador puede realizar, previamente ha estado, de alguna manera, en la memoria. De lo que estoy hablando es de la memoria RAM. Un ordenador ejecuta instrucciones. Estas instrucciones son traducidas a un lenguaje que entiende el microprocesador gracias a los compiladores. Una vez que el compilador ha traducido un programa en instrucciones, el microprocesador solo tiene que ejecutarlas. Para ello, el procesador dispone de una unidad de cálculo, una serie de registros donde almacena los datos y los resultados y un sistema de control que maneja todo lo que allí sucede. Para poder ejecutar la instrucción, un procesador necesitará operandos. Por ejemplo, si una maquina tiene que hacer “1+2”, necesitará el “1” y el “2” para que la unidad de cálculo pueda hacer la operación. Pues bien, estos datos se encuentran en la memoria, que se encuentra fuera del microprocesador. ¿Qué problema conlleva esto? Velocidad. Dentro del microprocesador, el ritmo “óptimo” de ejecución es de unos 2.000 millones de instrucciones por segundo (esto para un procesador de 2Ghz). Lo que conlleva colocar una memoria fuera del procesador es que cada instrucción que requiera un operando tendrá que frenar ese ritmo para poder acceder al dato que se encuentra en memoria. Hay que decir que el acceso a una memoria normal es de unas cuantas decenas de nanosegundos (1 nanosegundo = 1x10-9 seg), algo inapreciable por el ser humano pero que la máquina lo nota. Luego la memoria supone un freno para el microprocesador. Entonces, tenemos un problema. Podemos hacer microprocesadores rapidísimos pero que se ven parados durante una pequeña porción de segundo durante la cual se podrían realizar otras tareas. ¿Qué podemos hacer? La solución que sirve hasta el momento es la memoria caché. Esta

Página 58

memoria es una memoria pequeña (entre 512 KB ó 1 MB) que se encuentra dentro del microprocesador y que sirve de intermediaria entre la memoria RAM y el procesador. Vamos a explicar su funcionamiento. Si un procesador necesita, en el caso anterior, el “1” y el “2”, mira en la memoria caché a ver si los encuentra. Si no están, accede a la memoria RAM para utilizarlos y además los almacena en la caché para que en su próximo uso, el procesador sólo tenga que acceder a la caché y no gaste tiempo en acceder a la memoria RAM. Si el procesador, en las siguientes instrucciones, necesitase el “1” o el “2”, ahora sólo tendría que acceder a la caché ahorrándonos una gran cantidad de tiempo. Este ejemplo es ínfimo comparado con los problemas que un ordenador se encuentra a la hora de acceder a memoria y el uso que da de ella. Actualmente, los microprocesadores disponen de dos cachés, una para los datos (“1”,”2”,”X”,”W”…) y otra para las instrucciones (“suma”,”carga”…). De esta manera si el procesador necesita una instrucción accederá a la caché de instrucciones y si necesita un operando o dato, accederá a la caché de datos. También se ha implementado un segundo nivel de caché, que añade una segunda memoria caché entre la primera y la memoria RAM. Habrá gente que se preguntará, ¿Y por qué no se hacen las cachés más grandes? Si aumentáramos el tamaño de la memoria caché como el de la memoria RAM perderíamos su velocidad de acceso volviendo al problema anterior. Por este motivo tenemos que encontrar un balance entre el tamaño y la velocidad de acceso a la memoria.

Octava l a n t a

p


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.