62 votos

¿Por qué no se pone en el chip CPU RAM?

Las Cpu modernas son muy rápidos en comparación con todas las cosas externas, incluyendo la memoria (RAM).

Es comprensible, ya que la frecuencia de reloj del CPU ha llegado a un punto donde se lleva a varios impulsos de reloj para una señal eléctrica simplemente a correr a partir de la CPU a través del bus de chips de RAM y la espalda.

También complica la vida en muchos niveles: multi-caché de nivel de jerarquías se construyen para proporcionar datos más cercanos a la CPU, que a su vez requieren una compleja lógica de sincronización en el chip. Los programas deben ser escritos en un caché de manera amigable para evitar esperar ciclos, mientras que los datos se recuperan.

Muchos de estos problemas podrían evitarse si una cantidad significativa de memoria RAM se encuentra directamente en el chip de la CPU. No tiene un acuerdo exclusivo: tal vez poner de 1 a 4 GB en el chip, dependiendo de su clase y permitir que la memoria adicional instalado por separado.

Estoy seguro de que hay buenas razones Intel, AMD y similares no están haciendo esto. ¿Cuáles son estas razones? Es que no hay espacio libre en el chip?

85voto

alphanet Puntos 11

Intel Haswell (o al menos aquellos productos que incorporan el Iris Pro 5200 GPU) y POWER7 de IBM y POWER8 todos incluir DRAM, "eDRAM".

Una cuestión importante que ha llevado eDRAM de no ser común hasta hace poco es que la DRAM proceso de fabricación no es necesariamente compatible con la lógica de los procesos, de modo que los pasos adicionales que deben ser incluidos (que aumento de costos y disminución del rendimiento) cuando eDRAM que se desea. Así, debe haber una razón de peso para querer incorporarlo en el fin de compensar esta desventaja económica. Alternativamente, DRAM puede ser colocado en un aparte de morir, que se fabrica de forma independiente, pero a su vez integrado en el mismo paquete, el de la CPU. Esto proporciona la mayor parte de los beneficios de la localidad, sin las dificultades de la fabricación los dos en un verdadero manera integrada.

Otro problema es que la DRAM no es como el SRAM en que no se almacene su contenido de forma indefinida, mientras que la energía es aplicada, y la lectura también destruye los datos almacenados, la cual debe ser escrita después. Por lo tanto, tiene que ser actualizado periódicamente y después de cada lectura. Y, debido a una DRAM de la célula está basado en un condensador, carga o descarga de forma suficiente para que la fuga no corrompen su valor antes de la siguiente actualización se lleva a cierta cantidad finita de tiempo. Este tiempo de carga no es necesaria con el SRAM, que es sólo un pestillo; en consecuencia, se puede corre a la misma velocidad que la de la CPU, mientras que la memoria DRAM es limitado a 1 GHz, mientras que el mantenimiento razonable de consumo de energía. Esto hace que la DRAM para tener una mayor latencia inherente de SRAM, que hace que no merece la pena usar para todos, pero la gran mayoría de las cachés, donde la reducción de la señorita tasa de pagar. (Haswell y POWER8 son aproximadamente contemporáneas y ambos incorporan hasta 128 MB de eDRAM, que se utiliza como un L4 de caché.)

También, en la medida de como la latencia se refiere, una gran parte de la dificultad es la distancia física de las señales debe viajar. La luz puede viajar sólo 10 cm en el reloj período de 3 GHz de la CPU. Por supuesto, las señales no viajan en líneas rectas a través de la matriz y tampoco se propagan a nada que se acerque a la velocidad de la luz debido a la necesidad de almacenamiento en búfer y fan-out, que incurrir en retrasos de propagación. Así, la distancia máxima de memoria puede estar lejos de una CPU con el fin de mantener el 1 ciclo de reloj de latencia es de unos pocos centímetros en la mayoría, la limitación de la cantidad de memoria que pueden ser acomodados en el área disponible. Intel Nehalem procesador en realidad reduce la capacidad de la memoria caché L2 frente a Penryn en parte para mejorar su latencia, lo que llevó a un mayor rendimiento.* Si no nos importa mucho acerca de la latencia, entonces no hay ninguna razón para poner la memoria en el paquete, en lugar de más lejos, donde es más conveniente.

También se debe señalar que la tasa de aciertos de caché es muy alto para la mayoría de las cargas de trabajo: el bien por encima del 90% en casi todos los casos prácticos, y no pocas veces incluso por encima del 99%. Así, el beneficio de la inclusión de grandes recuerdos en el morir es inherentemente limitada para reducir el impacto de este pequeño porcentaje de fallos. Los procesadores destinados a la enterprise server mercado (como la ALIMENTACIÓN) normalmente tienen un enorme caché y útil incluir eDRAM porque es útil para dar cabida a los grandes conjuntos de trabajo de muchas cargas de trabajo empresariales. Haswell tiene para apoyar la GPU, ya que las texturas son grandes y no caben en la memoria caché. Estos son los casos de uso para la eDRAM de hoy, que no es típico de escritorio o cargas de trabajo HPC, que son muy bien atendidos por el típico jerarquías de la caché.

Para abordar algunas de las cuestiones planteadas en los comentarios:

Estos eDRAM almacena en caché no se puede utilizar en lugar de la memoria principal, ya que están diseñados como L4 víctima cachés. Esto significa que son volátiles y eficacia de contenido direccionable, de modo que los datos almacenados en ellos no es tratado como residente en un lugar específico, y puede ser descartada en cualquier momento. Estas propiedades son difíciles de conciliar con el requisito de memoria RAM para ser directo asignado y persistente, pero a cambio, haría que las cachés inútil para el propósito previsto. Por supuesto que es posible integrar los recuerdos de un diseño más convencional, como se hace en los microcontroladores, pero esto no es justificable para sistemas con grandes recuerdos ya que la baja latencia no es tan beneficioso en la memoria principal como en una memoria caché, por lo que la ampliación o la adición de una memoria caché es una parte más valiosa de la proposición.

En cuanto a la posibilidad de grandes cachés con capacidad en el orden de los gigabytes, una caché de sólo está obligado a estar en la mayoría el tamaño del conjunto de trabajo para la aplicación. Aplicaciones de HPC puede tratar con terabyte conjuntos de datos, pero tienen buena espacial y temporal de la localidad, por lo que sus conjuntos de trabajo normalmente no son muy grandes. Aplicaciones con grandes conjuntos de trabajo son, por ejemplo, bases de datos y ERP software, pero sólo hay un mercado limitado para los procesadores optimizados para este tipo de carga de trabajo. A menos que el software realmente lo necesite, la adición de más caché proporciona muy rápidamente decreciente. Recientemente hemos visto procesadores de ganancia de prefetch instrucciones, por lo que las memorias caché son capaces de ser utilizados de manera más eficiente: uno puede utilizar estas instrucciones para evitar pierde causada por la imprevisibilidad de acceso a la memoria de los patrones, en lugar de la absoluta tamaño del conjunto de trabajo, que en la mayoría de los casos, es todavía relativamente pequeño.

*La mejora en la latencia no se debió sólo a las de menor tamaño físico de la memoria caché, pero también porque la asociatividad se redujo. Hubo cambios significativos en toda la memoria caché de la jerarquía en Nehalem por diversas razones, no todos de los cuales se centraron en la mejora del rendimiento. Así que, mientras esto basta como ejemplo, no es un relato completo.

19voto

Ryan Ginstrom Puntos 8354

Las principales razones de mayor tamaño de memoria (GB de DRAM) no está incluido en la CPU morir en sí es principalmente acerca de los costos. CPU morir espacio es significativamente más caro porque el proceso de fabricación necesarios para hacer que el muy pequeñas características. También puede no ser posible la fabricación de los dos en el mismo die, aunque no sé lo suficiente acerca de los detalles de dar ninguna respuesta definitiva aquí.

Vamos a evaluar la viabilidad de poner una gran cantidad de DRAM directamente a la CPU morir.

Para hacer una comparación de la escala, una CPU moderna morir podría ser ~180 mm\$^2\$ (aprox. el tamaño de los procesadores Intel Haswell muere). No tengo cifras exactas para CPU DRAM morir tamaños, pero vamos a suponer que 1 gb de tradicional DRAM toma de 140mm\$^2\$ (calculada a partir de la GPU DRAM tamaños). A un primer orden de aproximación, que son casi duplicando el tamaño de chip de CPU, lo que significa que, al menos, duplicar el costo de una CPU, y probablemente más justo para 1GB de DRAM en el mismo morir... yo no soy de pagar varios cientos de dólares sólo para conseguir 1GB de DRAM, y no creo que nadie lo haría.

Sin embargo, la idea de que se pegue la memoria más cerca de la CPU no es completamente una causa perdida. Esto es probable memoria donde se va a mover en el futuro porque el hecho es que la velocidad de la luz es finita, y sólo es posible comunicarse de manera rápida a través de una cierta distancia.

Las técnicas realistas para el desplazamiento de la memoria más cerca de la CPU (tenga en cuenta que estos también tienen trade-offs con técnicas tradicionales):

  1. Pila de ellos en la parte superior de la CPU. Esto ya está hecho en la Raspberry Pi, y es parte de la Amplia memoria de e/S estándar. La memoria todavía está separado de morir fabricados en un proceso independiente. Sin embargo, esto tiene el problema de que el calor disipado en la CPU debe pasar a través de la memoria antes de llegar a un disipador de calor. Esto significa que no trabajo para la alta potencia de los procesadores, y por qué la principal de las aplicaciones de esta tecnología en procesadores móviles/otras aplicaciones donde la CPU no está consumiendo muchas decenas o cientos de vatios.

  2. Palo muy de cerca por un menor costo de sustrato. Esta es la forma en HBM está diseñado para trabajar con una gran autobuses fabricados en un menor costo de la "mediadora" de morir, y es la dirección de gama alta de memoria de la GPU va porque el ancho de banda es mucho mayor. Los chips de la memoria y de la interposición son todos fabricados en diferentes muere del procesador real.

8voto

Al pacino Puntos 415

Hay varias razones por las que la adición de grandes cantidades de DRAM a un CPU podría ser inviable.

  1. El proceso de la fábrica y no puede ser configurado para la DRAM. DRAM requiere de elementos de circuito que tome los pasos de fabricación para producir. Esto aumenta el costo de fabricación.

  2. Todos los que la memoria tiene que ser probado. Pruebas de memoria aumenta su tiempo de prueba. Esa es otra de incremento de los costos.

  3. La ampliación de la matriz es en sí mismo un aumento de los costos, ya que significa menos mueren en cada oblea. También afecta el rendimiento -- un defecto lleva a cabo una fracción mayor de su oblea. Para un ejemplo extremo de esto, mira el costo de fotograma completo (35 mm) sensores de imagen en las cámaras.

  4. Desarrollo de un proceso que puede manejar un tipo especial de memoria que lleva más tiempo, dinero y trabajo, y tiene un mayor riesgo de fracaso. Cualquier problema con la DRAM podría retrasar el lanzamiento de la CPU. De escritorio Cpu están en la vanguardia de la fabricación de semiconductores, por lo que un retraso puede ser una gran desventaja competitiva. (Ver: AMD vs Intel para el último varios años.)

  5. DRAM requiere analógica de detección de lecturas, así como periódicos refrescante. Yo no soy un DRAM experto, pero dudo que jamás podría ser tan rápido como un high-end de la CPU, independientemente de si es off-chip o en el chip. Así que probablemente todavía ser pegado con SRAM de almacenamiento en caché.

  6. Incluso si usted puede superar los problemas mencionados, y meter un par de gigabytes de memoria DRAM en un CPU de morir, todavía no va a ser suficiente para ejecutar un PC de sobremesa, portátil o servidor, así que tendrás que tener fuera del chip de memoria de todos modos.

3voto

phyrfox Puntos 131

En adición a las otras respuestas, que hay más que se puede decir acerca de un sistema. El desplazamiento de la memoria de las principales morir incluiría una serie de otros problemas de ingeniería. Usted tendría que redireccionar los autobuses, construir un controlador de DMA en el procesador principal, reestructurar la IRQ del bus, y determinar cómo deshacerse de todo ese extra de calor que estaría poniendo en un área concentrada. Esto significa que el fabricante de la placa base también tienen que participar para apoyar un cambio sustancial. Mientras que la gama baja de los sistemas probablemente se beneficiarán de este cambio, los sistemas de gama alta sería probablemente requieren de refrigeración. Dudo que el promedio de la computadora portátil podría manejar un chip, por ejemplo.

Un chip sería muchísimo más caro, aunque el principal de la placa madre iba a bajar de precio (aunque probablemente no se vea). Si has visto los paquetes para un controlador de DMA, además de los paquetes de RAM, estaría en apuros para creer que todo lo que la lógica puede ser presionado en una sola de morir, que no sería mucho más grande. También recuerde que las CPUs son de gran obleas que son de un tamaño determinado. Esto significa que el fabricante también tendría mucho menos procesadores por oblea, lo que aumentaría el costo total así.

Tenga en cuenta que no estamos hablando sobre el uso de vataje del sistema completo, lo que ayudaría a disminuir, sino que no sería aún más la concentración de la potencia (y por lo tanto de calor) en una sola zona, lo que probablemente aumente la probabilidad de fracaso.

Por último, existe otra desventaja aquí, y que es la capacidad de proporcionar sistemas personalizados. Ahora, los fabricantes pueden elegir colocar sistemas con procesadores idénticos pero con diferentes cantidades de memoria o procesadores diferentes, pero la misma cantidad de memoria, en función de las preferencias del cliente. Para ofrecer la multitud de configuraciones diferentes, que tendría que construir diferentes muere, cada uno en una diferente línea de montaje.

AMD está activamente el uso de la tecnología de la que en realidad funciona de esa manera, donde cada parte del procesador de morir es una discreta unidad de la lógica que puede intercambiarse para diferentes configuraciones. En el futuro, si este tipo de diseño es viable, se puede ver muy bien en las CPUs que se ofrecen en el chip de memoria como un caro módulo de actualización, tal vez cambiando algunos de potencia de procesamiento a cambio, o de otros ajustes. Por ejemplo, un día tengamos la posibilidad de elegir entre 256 núcleos sin memoria integrada o de 128 núcleos con memoria incorporada, o tal vez incluso de otras configuraciones, como parte de la GPU, la parte de la CPU, la parte de memoria RAM.

1voto

Steve Matthews Puntos 101

Los problemas a los que se refiere en su pregunta original sólo podría evitarse si TODOS los de la memoria en la máquina, fueron incluidos en la CPU. Cualquier memoria adicional añadido a la máquina a través de ranuras en la placa principal estaría sujeta a los mismos retrasos que se describen y requeriría de cálculo y la lógica de los dispositivos de control entre la CPU / memoria RAM y memoria RAM.

La memoria RAM es barato y normalmente se expandió por los usuarios de uno o incluso dos, entre la actualización de su CPU.

También recuerde que un típico "Búsqueda" de la llamada, incluso si la RAM está funcionando a velocidad de reloj de CPU, conducen a una serie de inactividad de las garrapatas en la CPU.

La organización tradicional de la memoria en una máquina es una pirámide con los registros de la CPU en la parte superior, a continuación, caché, memoria RAM, disco. Normalmente las máquinas que funcionan bien, tienen una combinación de un decente velocidad de reloj, una cantidad razonable de caché, una buena cantidad de RAM y una alta velocidad de disco duro (o matriz). En los últimos años, el desempeño de los discos normalmente da el mejor rendimiento de elevación en la mayoría de los PC y de alta RPM discos, discos con memoria caché de estado sólido y discos de dar un buen impulso en el rendimiento.

Sí, un equipo con todos los de su memoria RAM en el chip que tendrían un buen rendimiento en las aplicaciones modernas, pero un equipo con algunos de sus RAM en el chip de la ejecución de un sistema operativo estándar, es probable que no proporcionan el aumento de rendimiento que usted puede pensar que lo haría.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X