Explicación de la Integración de la controladora de memória en los K8.
-
Hola
Muy bueno , alto y claro ; haber si te animas de vez en cuando y nos aclaras las ideas a los que no " chanamos " inglis.
adios -
Según lo demostrado en el diagrama, la velocidad de la controladora de memoria es igual que la velocidad de la CPU. Las peticiones de la memoria por lo tanto se envían a la velocidad de la CPU, en un bus de 64/128 bits, según el número de canales de memoria. Podemos ver que ya no hay enlaces entre el generador de reloj y la memoria. El reloj de la memoria es obtenido del reloj de la CPU, dividido por un factor que depende de las especificaciones de la memoria.
A mi entender hay un error en el diagrama, y en su explicación posterior. Si bien la velocidad de la controladora de memoria es la de la CPU, las peticiones a la memoria no se hacen a 2000 MHz, acabariamos de inventar un nuevo tipo de memoria y solucionado de un plumazo los problemas de latencia de la DDR , DDR II y posteriores… Las peticiones a traves del bus de direcciones se hacen segun el tipo de memoria a su velocidad correspondiente, en el caso de DDR400 funciona a 200 MHz el bus de direcciones al igual q el bus de datos lo que ocurre es q las celdas de memoria envian dos datos por ciclo, uno en el flanco de subida y otro en el de bajada de la señal de reloj.
Por supuesto, la controaldora integrada de la memoria no mejora la banda ancha de la memoria, sino que permite reducir drásticamente el tiempo de la petición (laténcia). La latencia es muy baja. Por otra parte, de forma distinta a la de una controladora externa de la memoria, el rendimiento de la controladora integrada de memoria del K8 aumenta a medida que aumenta la velocidad de la CPU (de ahi que de un ancho de banda más alto a 200x11 que a 200x9); por lo tanto, también lo hace la velocidad de peticiones (baja la latencia).
Como bien dices el aumento de la velocidad de la CPU hace que baje la latencia, ¿como se explica esto sin q las peticiones a la memoria se hagan a la velocidad de la CPU?. Pues porque la comunicación entre el procesador y el controlador de memoria tiene una latencia, sobre unos 25 ciclos, a medida que aumentamos la frecuencia del procesador pues estos ciclos son mas cortos. El controlador de memoria esta unido al nucleo del procesador a traves del Crossbar (XBAR) que comunica entre si el hypertransport la memoria y el nucleo, si no fuera asi no podria haber peticiones DMA del resto de dispositivos. es un gran diseño que permite tener unas latencia muy bajas que permiten operar entre si a los micros en configuraciones multiprocesador con la memoria de cada uno.
Como se ve en la imagen al aumentar la frecuencia del procesador la latencia tiende hacia la asintota que seria el tiempo empleado por la memoria.
-
Habrá que rectificar a Franck Delattre pues xD Creador del programa universal CPUZ.
-
Habrá que rectificar a Franck Delattre pues Creador del programa universal CPUZ.
Supongo q es ironico…
Yo el camino de la fe lo abandone hace tiempo incluso para cuestiones religiosas.Saludos.
-
DarkDante, creo k kuando krampak dice k la velocidad de la memoria es la misma k la del CPU se refiere a la del BUS, pues es la k realmente afecta al ancho de banda.. La frecuencia total de un procesador es la k tenemos (en tu caso has expuesto 2000) pk se multiplica por su correspondiente multiplicador individual e interno a la CPU, lo k la ram si utiliza del CPU es el reloj.. xo el multi no puede utilizarlo. El multiplicador no afecta a nada mas, por tanto la memoria es imposible k trabaje a 2000Mhz.
Krampak, la guia esta muy bien. Esta muy trabajada, y nos solucionas a algunos mas de una duda.
Xo 1 pregunta, en la tabla, las velocidades de cpu, no sale 200 pk se entiende k se expresa el bus en DDR? Esk con la table me he liado un poco.
Entiendo k las memorias funcionan a la misma velocidad k el cpu, dividida por un valor segun las especificaciones de la memoria.. es decir, entiendo el concepto, xo a la hora de verlo en accion o mostrado en estadisticas no me cuadra. Lo he comprobado y veo k realmente el bus del cpu dividido por el numero X resulta la velocidad actual de la memoria… xo es eso, al verlo ahi puesto... xD Podrias explicar un poco la table, en palabras? :risitas:gracias de antemano, y felicidades por la guia
-
Que el controlador de memoria funcione a una velocidad no implica que el bus funcione a la misma velocidad, ni que la memoria funcione a dicha velocidad. La ventaja es solamente en el caso de la latencia, ya que tener un controlador de memoria funcionando a una velocidad tan elevada es mucho más efectivo que tenerlo en el chipset funcionando a velocidades diez veces inferior.
-
Según lo demostrado en el diagrama, la velocidad de la controladora de memoria es igual que la velocidad de la CPU
Dice "segun lo mostrado en el diagrama"
Claro k la velocidad de la memoria no implica k la del cpu funcione a la misma ni viceversa.
Uf.. creo k me he liado un poco….. :frio: -
Hola
Yo lo que no entiendo muy bien es la ventaja. Me refiero a que, de que sirve tener una latencia tan alta, si la memoria no puede ir mas rapido. Vaya, que si la controladora es mas rapida haciendo peticiones que la memoria respondiendo, no la va a saturar?
Que la CPU sea mas rapida es logico porque hace muchas mas cosas que acceder a la memoria, pero la controladora (i esto es una supoisicion mia) solo tiene que controlar el flujo de informacion pedida por la CPU a la memoria i las respuestas, asi que llega un punto que por muy rapido que la controladora vaya el flujo de informacion no ira mas rapido. Vaya, eso es lo que yo creo, si alguien me puede aclarar el tema pues mejor
-
Que la latencia baje es muy bueno cuando las lecturas no son secuenciales, como ocurre en la mayoría de los casos. Si la controladora funciona a la velocidad de la CPU podrá tramitar las peticiones de manera mucho más eficiente, con lo que reducimos el tiempo que pasa entre que se pide el dato y llega.
-
Que el controlador de memoria funcione a una velocidad no implica que el bus funcione a la misma velocidad, ni que la memoria funcione a dicha velocidad. La ventaja es solamente en el caso de la latencia, ya que tener un controlador de memoria funcionando a una velocidad tan elevada es mucho más efectivo que tenerlo en el chipset funcionando a velocidades diez veces inferior.
Eso es a lo que yo me referia y creo que DarkDante a interpretado mal. La memoria por supuesto no trabaja a la velocidad de la CPU.
Arak, esa tabla es así, no tiene mas xD Solo hay que tener en cuenta un factor distinto a las cpu's anteriores.
El tema de la sincronía; por ejemplo con los XP's tenias la memoria asincrona con un divisor 200:166, la memoria siempre trabajava a 166Mhz pusieras el multiplicador que pusieras a la CPU pues trabajaban "independientemente" en cambio el A64 uso un divisor interno entero para obtener la frecuencia de la ram de ahi que no siempre sea exacta.
Esa tabla lo que hace es mostrarte los enteros que usa para obtener la frecuencia de la ram, SIEMPRE esos.Por esa razon (si no te habias fijado ya), qué pasa si la CPU funciona a 2100Mhz? (eso no pasará "nunca" dado que tienen un bus de 200 de fábrica y siempre usan multiplicadores enteros) pero nosotros que hacemos overclocking pude pongamos un multiplicador real como 10'5X.
Entonces como la controladora de memoria solo sabe operar con numeros enteros pues por el morro pilla en siguiente entero de la tabla (11).
Asi pues nuestra CPU a 200x10'5 con la memoria ""sincrona"" (este concepto no deberia existir con los K8) no tendrá la memoria funcionando a 200Mhz sino a 190Mhz (2100/11).Bueno no se si he resuelto tu duda, estoy algo espeso pero espero que se haya aclarado un poco más.
-
Entonces, si no te he entendido mal, disminuimos el tiempo de direccionamiento a la memoria, dicho de otra manera, lo rapido que sabe la controladora a que direccion de memoria tiene que acceder para leer o escribir el dato que pide la CPU, no? con lo que se hace la peticion antes, ok, ya veo. Aunque en el caso de hacer peticiones en menos de 5 microsegundos (200Mhz del bus) no se podra ir mas rapido que a esta velocidad. A no ser que hagan buses mas rapidos en las placas o los doblen…
-
Zastamente, pero no se pierde tanto tiempo en la comunicación entre la CPU y la controladora, que antes era muy superior. Solo hay que echarle un ojo a los diagramas de latencia: http://www.hexus.net/content/reviews/review.php?dXJsX3Jldmlld19JRD05MTEmdXJsX3BhZ2U9NA==
Como puedes ver, se pierde el doble de tiempo en cada petición en el P4 respecto al A64, y este tipo de cuellos de botella se notan más en aplicaciones como bases de datos y juegos (con muchas peticiones de datos pseudo-aleatorias) "curiosamente" los dos puntos fuertes de estos procesadores, y se notan menos en las aplicaciones multimedia, en las que se suele trabajar con datos secuenciales, con lo que el P4 puede enmascarar las latencias superiores. -
Joder, no me imaginaba que la diferencia fuera tan grande!
Vaya, me voy a cambiar el ordenador a finales de enero i primero habia pensado en un Winchister 3200+, pero vi una comparativa hace poco i ya no tenia seguro si coger el AMD o un Prescott 540, pero ahora la balanza vuelve a caer hacia AMD. Que dificil es elegir cuando hay tanto dinero sobre la mesa!!!
-
Vaaaale vale! Ahora si k lo entiendo!
Gracias por aclararmelo, krampak. xDSaludos