Nuevo enfoque de investigadores permite rapidez en la detección de errores en circuitos

Transistores especializados siguen los errores de hardware a medida que se producen

A medida que los microprocesadores se vuelven más pequeños y más intrincados, encontrar los errores de hardware que pueden causar que una computadora se cuelgue requiere más tiempo, dinero y esfuerzo de ingeniería. Pero ahora los ingenieros de la Universidad de Stanford han propuesto una solución que podría ayudar a localizar errores en una fracción del tiempo que se requiere en la actualidad.

La depuración en circuitos consiste normalmente en colocar un chip en una batería de sistemas de prueba para identificar los puntos que pueden fallar y dar a los ingenieros la oportunidad de solucionar los problemas antes de que pasen a su producción en masa. A medida que las empresas que fabrican chips impulsan la funcionalidad de su hardware, esto es cada vez más complicado.

Subhasish Mitra, profesor de ingeniería eléctrica e informática en Stanford, y sus colegas, han desarrollado un método que requiere una pequeña cantidad (de alrededor del 1 por ciento) de los transistores en un chip para grabar un registro de su actividad, es decir, las instrucciones que pasan a través de los circuitos del chip. Este registro puede ser extraído del chip, puesto en una computadora y analizado para averiguar dónde se producen los errores.

«Es enormemente costoso diagnosticar si los chips están fallando», dice Rob Rutenbar , profesor de ciencias de la computación en la Universidad de Illinois, quien no estuvo involucrado en la investigación. «A medida que las partes de los microprocesadores se hacen más pequeñas», dice Rutenbar, «la gente se preocupa más acerca del consumo y los problemas de fiabilidad.»

Los ingenieros hacen pruebas para buscar errores durante la fabricación de un chip. En primer lugar, buscan en los diseños para encontrar errores a los que se les llama funcionales o de lógica. Luego, después de que los diseños han sido grabados en el silicio, los ingenieros buscan fallas que surgen en condiciones de funcionamiento como la reproducción de vídeo o navegar por la Web. Este proceso se llama depuración post-silicio, y se gasta en él del 30 al 40 por ciento del tiempo y el dinero que cuesta hacer un nuevo chip en las empresas como Intel y AMD, dice Mitra.

Durante la fase de post-silicio, los ingenieros inyectan señales en el chip, imitando la actividad eléctrica que se presentaría durante la operación normal. Si un chip falla durante estas pruebas, los ingenieros tratan de recrear las señales eléctricas que causaron el problema. A continuación, se tratará de ubicar el conjunto exacto de instrucciones y condiciones que fueron responsables de la falla. Pero la simulación lleva tiempo: un solo segundo en el silicio puede ser equivalente a días de simulación, dice Mitra. Por otra parte, muchos de los errores se producen debido a la temperatura de funcionamiento y carga de trabajo, que son difíciles de recrear. «El problema es que cambia todo el estado eléctrico del sistema», dice Mitra.

Así que Mitra y Sung Park, estudiante graduado de Stanford, decidieron capturar la evidencia de los errores en el momento que ocurren, eliminando gran parte del tiempo dedicado a la realización de simulaciones eléctricas. El reto fue encontrar la forma correcta de registrar la información sobre las instrucciones del chip sin necesidad de usar demasiados transistores y sin almacenar demasiada información. Para ello, construyeron dispositivos de grabación o registros, dentro de los chips, lo cual no es una idea nueva. De hecho, casi cualquier tipo de chip comercialmente disponible en la actualidad tiene una pequeña cantidad de transistores cuyo trabajo es guardar pequeñas cantidades de datos sobre la actividad del chip, para garantizar, por ejemplo, que las operaciones estén sincronizadas a través de él.

El abordaje de los investigadores de Stanford, llamado «registro y análisis de huella de instrucción» (instruction footprint recording and analysis = IFRA), fue diseñado para recolectar la cantidad exacta de información sobre la actividad del chip en el momento justo. A medida que biillones de instrucciones fluyen a través de un chip, la información que describe esas instrucciones pasa a través de lo que se llama «buffers circulares» (registros de almacenamiento de datos), recipientes que contienen información por un corto tiempo antes de que sea renovada. En caso de que se detecte una falla o el indicio de una falla inminente, el sistema deja de grabar en el búfer circular y guarda las instrucciones para analizarlas.

Cuando un chip falla, los datos que representan la actividad del chip se transfieren a una computadora. Un programa desarrollado por los investigadores descifra las etiquetas, extrayendo las instrucciones y la ubicación correspondiente en el chip que llevaron a la falla. Los ingenieros, una vez que conocen la ubicación del error, puede hacer pequeños cambios, como modificar la temporización de las instrucciones, para acotar el error.

Mitra ha colaborado con Intel y ha probado sus IFRA en los chips Core i7, que puede tener de dos a seis núcleos, y encontró que en general el IFRA puede localizar el 96 por ciento de los errores y detectar el 80 por ciento a su exacto tiempo y con la ubicación exacta.

Una descripción de la técnica apareció en la edición de febrero de Communications of the ACM.

En un artículo escrito acerca del trabajo, Shekhar Borkar, director del laboratorio de tecnología de microprocesadores de Intel, escribe que él «no se sorprendería si [este enfoque de los investigadores} se aplica pronto.» Borkar añade que esto tiene «un gran potencial para ir más allá y ayudar a depurar multinúcleos, sistemas de memoria, circuitos analógicos, e incluso complejos SOCs [sistemas en chips]».

Sin embargo, aún son los días iniciales de la investigación, dice Rutenbar. La preocupación principal es equilibrar la cantidad de circuito que se utiliza para rastrear errores con la cantidad de problemas que se pueden encontrar. Aún así, dice, «Creo que este IFRA es un trabajo muy bueno».

Fuente: Technology Review. Aportado por Eduardo J. Carletti

Más información: