Lo prometido es deuda...
No todos la conocen...
Pero todos la tienen
La mayoria han oido hablar de ella...
Saben que es importante...
Pero casi ninguno sabe como funciona...
Solo creen que tenerla mas grande los hace mejores...
Es...
LA MEMORIA CACHE
Que es la memoria cache?
MMMM bueno como explicarlo...
Imaginemos que la computadora es un despacho de contadores , si eso, un despacho de contadores a la antigua, y sin computadoras, que tiene que llevar la contabilidad de muchas empresas, en el despacho hay una persona especifica para cada tarea, esta el patron que es un inutil por que realmente no hace nada mas que mandar pero es quien paga los sueldos y por eso es el patron, esta el tipo que recibe las facturas de los clientes, el que las clasifica en base a cuales son deducibles y cuales no, mientras que en un lugar alejado hay un cubiculo con miles de chimpances fumadores con maquinas sumadoras realizando las operaciones (sumas, restas multiplicaciones divisiones, etc)
En un rango aun menor que el de los chimpances existe un grupo de archivadores, gente que se encarga de tomar todas las operaciones generadas por los chimpances clasificarlas por cliente y depositarlas sobre un escritorio hasta que un grupo de mensajeros igual de malpagados los lleva al area de entrega inmediata, si al llegar ahi el cliente no ah pasado por ella la lleva al area de entrega en espera donde los encargados lo almacenan en archiveros mas grandes y lo entrgan conforme van llegando los clientes retrasados.
Obviamente por cuestiones fiscales se guarda una copia de todo en un archivo general muchisimo mas grande debido al tiempo que debe pemanecer ahi la informacion y que por lo tanto se va acumulando, pero en este momento no estamos hablando de DISCOS DUROS.
Como algunos podran haber adivinado los miles de chimpances representan al procesador (a rasgos generales no quiero que los sabelotodos se pongan a blogear sobre partes especificas) , asi LA MEMORIA CACHE es el departamento de archivadores malpagados junto con sus mensajeros igual de malpagados y el area de entrega con sus archiveros grandes viene a ser la memoria RAM.
Entonces podriamos deducir que la funcion de la Memoria Cache no es Otra que Almacenar los datos que el procesador va entregando y al tener una cantidad utilizable de informacion para el recurso requerido liberarla inmediatamente o entregarselos a la ram para que los libere gradualmente cuando su volumen sea demaciado.
Ahora vamos a portarnos un poco mas tecnicos:
La memoria cache basicamente es una clase de memoria ram estatica de acceso aleatorio (SDRAM) de muy alta velocidad que se situa entre el procesador y la memoria ram principal, se presenta de forma temporal y automatica para el usuario y proporciona acceso rapido a los datos de uso frecuente.
... ¿A poco no escribo rete bonito?
Su ubicacion entre el procesador y la ram hace que sea suficientemente rapida para almacenar y transmitir los datos que el microprocesado necesita recibir de inmediato.
Que diferencia hay entre la memoria ram regular y la memoria cache?
Bueno mas o menos esta...
Memoria Ram
Memoria cache
Ahora se preguntaran, bueno me compre una PC con 2GB de ram ¿por que mi procesador solo tiene 2, 4, 8 Mb de cache?, bueno la memoria cache al ser tan rapida es mucho mas costosa y ponear cantidades muy altas elevaria muchisimo los costos de los procesadores.
Sin embargo con el paso del tiempo estos costos se han ido reduciendo drasticamente. y encontramos procesadores con hasta 12mb de cache.
Pero al igual que en el viejo oeste, no importa de que tamaño sea tu revolver si no que tan rapido lo desenfundes.
En la memoria cache es sumamente importante la velocidad y en base a esta es que se clasifica, las memorias mas rapidas son las de menor cantidad (y mayor costo) se conocen como cache de primer nivel o L1 y siempre corre a la misma velocidad que el procesador , en ciclos por segundo o MHZ y esta integrada al mismo.
La que le sigue en velocidad es de mayor tamaño pero tambien tiene menor velocidad y es llamada cache de segundo nivel o L2, antiguamente venia en las tarjetas madre como apoyo externo al procesador y su velocidad era mas o menos (regularmente menos) la mitad de la del procesador. Fue a partir del pentium Pro que se empezo a incluir (en los procesadores comerciales) en el mismo encapsulado del procesador (aunque no en el mismo nucleo y corria igual de rapido que el procesador.
Me acuerdo del año de 1997 Intel produjo publicidad como nunca antes lo habia hecho (los comerciales de los ingenieros bailarines vestidos de colores) primero para el pentium MMX y meses despues para su producto estrella el Pentium II, el Pentium II en terminos funcionales era la fusion de un pentium MMX con un Pentium Pro, tenia un codio de ejecucion de 32 bits evolucionado del que tenia el pentium Pro y un codigo de ejecucion de instrucciones de 16 bits similar al del pentium original (bueno ligeramente optimizado) una version optimizada y bastante mejor del conjunto de instrucciones FPU x86 del pentium original asi como el nuevo conjunto de instrucciones FPU X87 de intel que rebautizaron comercialmente como MMX. El resultado fue un chip completo y maravilloso de no ser por la ambicion de intel.
Intel tomo una decision muy extraña coloco el procesador en un board con un conector a la placa madre , de tipo peine y puso una enorme cache de segundo nivel de 512 kb al lado del nucleo por lo que su velocidad era de la mitad de la velocidad del procesador. Todo esto lo coloco encerrado en un cartucho de plastico y metal que asemejaba mas a un juego de famicon, que a un procesador y bauitzo el conector con el nombre de socket 1 el cual ademas seria exclusivo para procesadores de Intel
Eh hizo entre los ensambladores una agresiva campaña de las bondades su "nueva" arquitectura.
Bus a 100 mhz
Soporte para USB
Soporte par el nuevo puerto de graficos acelerados AGP
Resulta que la plataforma socket 7, creada licenciada y dominada durante muchos años por intel llevaba suficiente tiempo en el mercado para que la competencia hubiera aprendido a utilizarla y explotarla por completo ademas de que intel tenia la obligacion legal de licenciar toda nueva tecnologia que desarrollara a todo aquel que poseyera una licencia x86 y tuviera dinero para pagarla, para de esa forma evitar incurrir en monopolio, por lo que su tan publicitada tecnologia MMX tenia que ser licenciada, asi la competencia empezo a producir sus procesadores con dicha tecnologia y al comenzar a optimizar sus procesos de fabricacion comenzaron a acercarse peligrosamente a darle un golpe de estado al Rey, con los K6 de AMD y las serie 6x86 de Cyrix.
Los fabricantes de motherboards indignados ante el costo de las licencias de Intel para la implementacion de la arquitectura del socket 1 comenzaron a crear sus propios chips para la ya solidamente posicionada en el mercado arquitectura socket 7 y la rebautizaron como Super socket 7
Las capacidades que Super socket 7 proponia basicamente eran las sig.
Bus de 66 a 150 mhz
Soporte para USB
Soporte para AGP
Retrocompatibilidad con procesadores socket 7
La posibilidad de los usuarios de optar por distintos fabricantes de procesadores que llevaban tiempo trabajando con el socket 7
Y asi comenzo la que fue la guerra mas cruenta y despiadada entre la industria de los procesadores. (Podriamos decir que la segunda guerra mundial del mundo de los CPU'S y la primera guerra por los MHZ) La cual luego les platicare a detalle, hubo muchas bajas y al final resulto triunfante intel y solo sobrevivio una muy malerida AMD que posteriormente renaceria de forma espectacular de sus cenizas.
Al pentium II le siguio el pentium III de primera generacion (Katmai) que era lo mismo pero con la cache l2 de 512 kb de vuelta al encapsulado del procesador (que no al mismo nucleo y por lo tanto seguia corriendo a la mitad de la velocidad del mismo) y un nuevo conjunto de instrucciones a las que bautizaron como SSE, AMD respondio dando una patada de ahogado con tecnologia propia, con el K6-3 (el procesador mas rapido en la historia del socket 7)el cual pese a una peor FPU que la de intel, mhz por mhz fue mas eficiente que los primeros pentium III aunado a esto su conjunto de instruccines 3Dnow compensaban las deficiencias de la FPU principal y poseia una cache de primer nivel sumamente elevada 64kb de cache de primer nivel (la cantidad mas alta registrada en un procesador hasta ese momento) y una cache de segundo nivel de 256 kb en el mismo nucleo y que corria a la misma velocidad del procesador.
Asi amd demostro que aunque tenia muchos menos recursos que intel y estaba gravemente herida, todavia le podia dar batalla.
Intel vio con desprecio esta accion y haciendo lo mejor que sabian hacer en ese entonces, subio la frecuencia del procesador hasta los 600 mhz , pensado que asi terminaria de enterrar a su molesto rival. y Asi se durmieron en su laurel.
AMD no estaba completamente muerta, usando las tecnicas de Pai Mei eh invirtiendo el dinero que habia adquirido de la venta de los exitosos (comercialmente hablando) K6-2, compro licencias tecnologicas del DEC Alpha EV6 a Digital Equipment (la cual en 1992 saco el procesador mas rapido del mundo en esa epoca corriendo a 200 mhz en el mismo año en que Intel anunciaba a bombo y platillo su parrilla pentium original a 66 mhz) y comenzo a desarrollar su propio procesador.
DEC Alpha AXP 21064. (¿No se les hace conocido?)
Cuando el primer athlon a 500 mhz llego al mercado a mediados de 1999 tomo a todos por sorpresa y mas a Intel, su procesador era muchisimo mas eficiente mhz por mhz tenia una cache L1 de 128kb y una cache L2 de 512 que aunque corria a la mitad de la velocidad del procesador su bus de salida habia sido duplicado de 100 a 200 mhz ademas su unidad de punto flotante ya no era su punto debil pues ahora contaba con 3 fpu's que podian trabajar simultaneamente, de esa forma un athlon a 500 mhz resultaba muy superior a un Pentium III a 600 mhz, ademas de que pronto hubo disponibles Athlons a 550, 600, y 650 mhz. si ah esto aunamos que Intel comenzo a tener problemas de produccion de sus pentium III, parecia que Intel no solo se habia quedado dormido, ademas estaba teniendo pesadillas.
Intel desperto y puso a sus ingenieros a trabajar...
Me gustaria seguir contando esta historia pero ya es muy tarde (pasa de la 1 am) y no eh dormido muy bien
Por lo que llevamos hasta ahora podemos resumir dos cosas
La cantidad de memoria cache es importante para el desempeño de una CPU mas no es (junto con la velocidad) del mismo los unicos factores que determinan su desempeño.
La falta de memoria cache o la falta de velocidad en la misma pueden compenzarse de otras formas.
Punto extra: Intel puede ser una verdadera bitch cuando se lo propone.