Uno de los puntos clave en la industria de los chips y los semiconductores son los ASIC, un término que podríamos decir que ha acabado algo desvirtuado en según qué entornos de este sector y que se usa errónea pero usualmente en AMD y NVIDIA. Aunque unidos de forma indivisible, hay que tener en cuenta que la definición del término no concuerda con su uso fuera de las fundiciones, pero ¿qué es realmente un ASIC?
Aunque ahora ya no está tan de moda como hace años, el término ASIC causó furor entre el sector más profesional de los overclockers y de aquellos usuarios que buscaban chips más optimizados para tal fin. Esto causó bastante revuelo, puesto que tanto NVIDIA como AMD, así como software como por ejemplo GPU-Z tenían la mala costumbre de otorgar cifras asociadas a dicho término, lo que acaba generando una mayor confusión.
¿Qué es un ASIC?
ASIC es el acrónimo de circuito integrado para aplicaciones específicas o Application-specific integrated circuit por sus siglas en inglés. Por lo que hace referencia a cualquier circuito integrado que se utilice para solventar tareas específicas. El nombre se ha utilizado siempre para diferenciarlo de un circuito específico para propósito general en referencia a la naturaleza que tiene que tener una CPU para ejecutar cualquier tipo de programa.
Desgraciadamente una CPU no puede con todo y a medida que el hardware fue avanzando fueron apareciendo nuevas unidades especializadas realizar de manera más eficientes ciertas tareas como pueden ser los gráficos que se presentan en pantalla, el sonido que sale por los altavoces e incluso a la hora de acceder a los datos del SSD. Todas esas funciones a día de hoy se realizan a través de lo que llamamos ASIC, ya que son procesadores que se utilizan para trabajos específicos.
Y lo decimos así por el hecho que por ejemplo una GPU y una controladora flash son un ASIC, pero no puedes utilizar el primero para acceder a los datos del SSD y la segunda para mover gráficos. De la misma manera que no se pueden utilizar para reemplazar a una CPU, simplemente por su naturaleza específica.
El término en concreto es ese, específico, porque a diferencia del resto de circuitos implicados en cualquier fundición, un ASIC tiene un propósito muy concreto y este es el concepto con el que nos debemos quedar a la hora de hablar de ASIC.
Por lo tanto, el término puede referirse desde una CPU diseñada para una plataforma de aprendizaje profundo, como una GPU, un SoC para un móvil y en definitiva, cualquier circuito integrado con un fin concreto y específico. Esto lógicamente excluye a cualquier otro tipo de circuito de uso general, que por otro lado son más comunes.
La confusión que provocó NVIDIA
En los tiempos de la serie 700 de NVIDIA (Kepler), la compañía usaba de forma interna el término ASIC unido a un porcentaje para evidenciar un término que nada tiene que ver con el que estamos tratando: las fugas de energía del chip.
Por lo tanto, NVIDIA a cada uno de sus chips le grababa en las SKU internas un porcentaje que representaba la capacidad de overclock indirecta que tenía este, ya que a menor pérdida y fugas de energía se logra mejores frecuencias tanto por aire como por agua (si y hablamos de refrigeración vía LN2 eso ya es otra historia).
¿Qué sucedió? Que GPU-Z comenzó a leer y mostrar dichos porcentajes, lo cual asoció la capacidad de overclock al término ASIC como tal y en los foros no se hablaba de otra cosa que no fuesen porcentajes de ASIC en dicho programa para comenzar a hacer tablas que pusiesen blanco sobre negro con este tema. Por lo que el concepto se desvirtuó por completo.
Una GPU por definición es un ASIC, pero no tiene que incluir por norma un valor que determine sus fugas internas de energía catalogadas por el fabricante. Fue tal el revuelo montado que NVIDIA no ha vuelto a ofrecer dicho valor, y poco a poco ha caído en el olvido.
Los ASIC en la minería
Ahora también se les denomina ASIC a ciertos equipos de minería para criptomonedas, por lo que es otro uso del término erróneo como tal y que se está extendiendo.
El motivo por el cual no se les da un nombre concreto que defina su función específica es por el hecho que se empezó a hablar en la comunidad de minería que se desarrollarían ASIC o chips especializados para minería, pero no se les dio un nombre y al final por el uso continuado y comodidad esa palabra quedo asociada a dicho tipo de hardware.
Diseño y creación de un ASIC
Un ASIC se puede desplegar de tres formas, dos de ellas necesitan fabricar el chip y por tanto se han de poner en contacto con la fundición o fábrica que hace el procesador, estas son:
- FPGA: se configura para que actúe como un ASIC concreto, se utiliza para prototipaje y pueden conectarse varios al mismo tiempo entre sí para simular cada uno de ellos funciones del propio ASIC.
- Standard Cell: el ASIC es creado a partir de piezas básicas que proporciona la fundición.
- Full Custom: el creador del chip también se encarga de crear las piezas básicas, es el proceso más caro y a día de hoy menos de 5 empresas se pueden permitir crear un diseño de este tipo.
Fundiciones como TSMC que carecen de diseño de chips normalmente les piden a sus clientes más importantes como Apple o AMD la capacidad de poder añadir las librerías Full Custom en un diseño previo a Standard Cell, cuando esto ocurre entonces la fundición los puede ofrecer a terceros.
En conclusión, un ASIC es cualquier circuito integrado monolítico o chip que se utiliza para tareas específicas y que están tan especializados que pueden ejecutar su trabajo de manera más eficiente y más rápida que una CPU, pero no pueden reemplazar a nivel de utilidad y funcionalidad a estas. Con esto esperamos haber dejado claro dicho concepto.