Tecnologías de memoria principal (y III)

Finalmante llegamos a la tecnología DDR. Este tipo de memoria transfiere información dos veces en cada ciclo de reloj: una vez en el flanco de subida y otra vez en el flanco de bajada. Con esta técnica se puede llegar hasta frecuencias de 400 MHz, impensables con las tecnologías anteriores.

La DDR2, introduce algunas mejoras para llegar hasta frecuencias de 800 MHz. Las señales son diferenciales, lo que permite trabajar a mayores frecuencias sin tener problemas con el ruido o las interferencias. Para trabajar a estas frecuencias tan altas y no tener problemas con el calor, se ha reducido la tensión de alimentación, de 2.5 V de las DDR a 1.8 V. Se siguen realizando dos transferencias por ciclo, aunque se esperaba poder llegar a cuatro en algún momento.

Y la DDR3, de la que ya habíamos hablado con anterioridad, realiza los accesos igual que sus predecesoras (una BEDO DRAM pero síncrona), utilizando tecnología de 80 nm, lo que permite disminuir la tensión de alimentación hasta 1.5 V. Esto permite aumentar la frecuencia de funcionamiento hasta 1900 MHz, aunque se siguen haciendo dos trasferencias por ciclo.

Espero que con esta serie de entradas os haya quedado más claro el tema de los accesos a memoria principal. De todas maneras, en futuras entradas seguiremos tratando temas relacionados como el de las tecnologías RAMBUS o el del funcionamiento de los controladores de memoria.
olooo

La industrialización del desarrollo de software

Entrada escrita por Juan José Cabezuelo, Responsable Oficina de Conocimiento Informática Industrial del Grupo Intermark. (jjcabezuelo@grupointermark.com)









Un artículo comparaba a mediados de los años 80 la construcción de puentes y el desarrollo de software. Dicho artículo planteaba la comparación en estos términos:

  • Los puentes se construyen normalmente en el tiempo y presupuestos previstos y no se caen.
  • El software, sin embargo, raramente es desarrollado en plazo y presupuesto y, por si fuera poco, siempre se acaba rompiendo.

Seguramente uno de los motivos del "éxito" en la construcción de puentes sea el elevado detalle en su diseño. Es difícil que se produzcan modificaciones sustanciales en sus especificaciones. Sin embargo, esto no ocurre del mismo modo en el desarrollo de software, seguramente debido a la constante evolución del entorno empresarial. Se achacan a este argumento los problemas en el desarrollo de software.

El informe CHAOS publicado por The Standish Group en 1994 levantó un revuelo considerable entre la comunidad de empresas de servicios tecnológicos y de desarrollo de software. Desde entonces ha sido utilizado a menudo para apoyar la denominada "crisis del software". Este informe planteaba cifras realmente preocupantes con respecto a las tasas de éxito de los proyectos informáticos:

  • El 31% de los proyectos iniciados serían cancelados antes de su finalización.
  • El 53% de los proyectos incurren en unos sobrecostes del 189%.
  • Solamente el 16% fueron un éxito completo.

Entre los motivos recabados en dicho informe sobre las claves del éxito o fracaso de los proyectos de desarrollo de software se enumeran:

Doce años más tarde, un estudio similar publicado por The Standish Group reveló que afortunadamente las cifras de éxito de los proyectos habían mejorado:

  • El 35% de los proyectos informáticos iniciados en 2006 en EEUU pueden ser considerados como un éxito, cumpliendo hitos temporales, de presupuesto y de expectativas de los clientes.
  • El 19% de los proyectos resultó un fracaso (una disminución considerable respecto al 31% de 1994).
  • Un 46% de los proyectos presentó algún tipo de desviación.

¿La clave de esta mejora en las cifras? La industrialización en los procesos de desarrollo de software.

Tecnologías de memoria principal (II)

Las EDO DRAM realizan mejoras en la temporización de los accesos a memoria. Se permite solapar la lectura del driver de datos por parte del controlador de memoria con el direccionamiento de la siguiente columna en los accesos en modo burst. Es decir, se puede comenzar un nuevo acceso sin que todavía haya finalizado el anterior. Se pueden conseguir rendimientos similares a los de una memoria entrelazada sin necesidad de tener dos bancos de memoria. Con esta técnica se consiguen memorias 5-2-2-2.





La siguiente tecnología, la BEDO DRAM, permite devolver directamente los cuatro valores que vienen determinados por la dirección de fila y columna
especificadas (ese valor en concreto y los tres siguientes).



Hasta este punto todas las tecnologías eran asíncronas, es decir, utilizan sus propias señales de sincronización para realizar los accesos a memoria. Pero la utilización de estas señales introduce bastante latencia.

Por este motivo la siguiente mejora que se introdujo en las memorias fue convertirlas en síncronas, utilizando para ello el reloj de la placa base. Al no utilizar señales propias de sincronización, las memorias pueden funcionar en modo 5-1-1-1. Las primeras memorias de este tipo fueron las SDRAM (Synchronous DRAM) y a partir de este tipo de memoria, todas han sido síncronas.
iii

Evento. Mesa de Innovación PYMEINNOVA. IMADE Alcalá de Henares. Eliminación Cuellos de Botella

El próximo miércoles 11 de marzo de 2009, redindustria en colaboración con Wonderware Spain, participará en la Mesa de Innovación PYMEINNOVA que IMADE organiza, junto con el Ayuntamiento de Alcalá de Henares, la Asociación de Empresarios de Henares (AEDHE) y la Cámara de Comercio, en la que se tratarán temas relacionados con la mejora de la productividad industrial, eliminación de cuellos de botella en la fabricación y la importancia de las soluciones MES en la consecución de dichos objetivos.
,
La asistencia a la mesa redonda es gratuita previa inscripción.

,
Estas son las coordenadas de localización de la Mesa Redonda:

  • Fecha de celebración: Miércoles, 11 de marzo de 2009
  • Horario: 09:30 a 11:30 hrs.
  • Lugar: AEDHE , Avenida Juan Carlos I, 13 (Torre Garena) , Alcalá de Henares
Información e inscripciones:
,,,,,

Tecnologías de memoria principal (I)

Teníamos pendiente una entrada acerca del funcionamiento de las memorias DDR3, de las que hablamos en una entrada anterior.

Para comprender cómo se realizan los accesos en estas memorias, tenemos que hacer un poco de historia y comprender la evolución que han sufrido en los últimos años las memorias RAM dinámicas.

Las primeras fueron las DRAM. Este tipo de memoria ha quedado obsoleto, pero prácticamente todas las memorias que se utilizan en la actualidad, incluidas las DDR3, provienen de realizar mejoras y ptimizaciones a este modelo.

Para acceder a esta memoria el procesador vuelca una dirección en el bus de direcciones y el controlador de memoria decodifica esta dirección para determinar qué chip o chips deben ser accedidos. A continuación, el controlador envía a este chip las direcciones de fila y columna que corresponden a la información accedida, ya que cada chip de memoria se organiza como una matriz de celdas DRAM.


La memoria DRAM convencional desaprovecha muchos recursos porque al direccionar una fila del chip, se recupera la fila completa, y a continuación se extrae la columna de esta fila a la que se quiere acceder. Pero si a continuación se accede a otra columna de la misma fila (algo muy común debido al principio de localidad), se vuelve a realizar el mismo proceso.

La FPM DRAM introduce dos mejoras a la DRAM convencional: la división de la memoria en páginas y los accesos en modo burst.

La memoria se divide en páginas y se introduce una electrónica que permite que los accesos que se encuentran en la misma página que un acceso previo se realicen con menos número de ciclos de espera. La manera de llevar esto a cabo es que cada página se corresponda justo con todas las celdas en una misma fila de la matriz del chip de memoria. De esta manera, mientras los accesos se mantengan en la misma fila, se puede mantener la dirección de fila cargada y sólo hay que ir modificando la dirección de la columna.

Los accesos en modo ‘burst’ permiten que, una vez que se realiza el acceso a una determinada columna, se puede acceder a las tres siguientes columnas de esa fila sin necesidad de volver a cargar la fila en el driver de datos.

Las memorias típicas son 5-3-3-3, es decir, el primer acceso tarda 5 ciclos y los tres siguientes tardan 3 ciclos porque ya no tienen que recuperar la fila completa (ya está disponible), sólo la columna.