Con la tecnología avanzando tan rápidamente a nuestro alrededor, a veces los conceptos erróneos pueden abrirse camino en nuestro entendimiento común. En este artículo, daremos un paso atrás y repasaremos algunas de las cosas más comunes que la gente se equivoca cuando habla de hardware de computadora. Para cada uno, enumeraremos la falacia común y por qué no es precisa.
# 1 Puede comparar CPU por número de núcleos y velocidad de reloj
Si ha estado involucrado en la tecnología por un tiempo, es posible que en algún momento haya escuchado a alguien hacer la siguiente comparación: "La CPU A tiene 4 núcleos y funciona a 4 GHz. La CPU B tiene 6 núcleos y funciona a 3 GHz. Desde 4 * 4 = 16 es menor que 6 * 3 = 18, la CPU B debe ser mejor ". Este es uno de los pecados capitales del hardware informático. Hay tantas variaciones y parámetros que es imposible comparar las CPU de esta manera.
Tomado por sí solo y en igualdad de condiciones, un procesador con 6 núcleos será más rápido que el mismo diseño con 4 núcleos. Del mismo modo, un procesador que funcione a 4 GHz será más rápido que el mismo chip que funcione a 3 GHz. Sin embargo, una vez que comienza a agregar la complejidad de los chips reales, la comparación pierde sentido.
Hay cargas de trabajo que prefieren frecuencias más altas y otras que se benefician de más núcleos. Una CPU puede consumir tanta más energía que la mejora del rendimiento no tiene valor. Una CPU puede tener más caché que la otra o una canalización más optimizada. La lista de rasgos que la comparación original pierde es interminable. Por favor, nunca compare las CPU de esta manera.
# 2 La velocidad del reloj es el indicador más importante de rendimiento
Sobre la base del primer concepto erróneo, es importante comprender que la velocidad del reloj no lo es todo. Dos CPU de la misma categoría de precio que funcionan con la misma frecuencia pueden tener un rendimiento muy variable.
Ciertamente, la velocidad del núcleo tiene un impacto, pero una vez que llegas a cierto punto, hay otros factores que juegan un papel mucho más importante. Las CPU pueden pasar mucho tiempo esperando en otras partes del sistema, por lo que el tamaño y la arquitectura de la caché son extremadamente importantes. Esto puede reducir el tiempo perdido y aumentar el rendimiento del procesador.
La amplia arquitectura del sistema también puede desempeñar un papel importante. Es muy posible que una CPU lenta pueda procesar más datos que una rápida si su arquitectura interna está mejor optimizada. En todo caso, el rendimiento por vatio se está convirtiendo en el factor dominante utilizado para cuantificar el rendimiento en diseños más nuevos.
# 3 El chip principal que alimenta su dispositivo es una CPU
Esto es algo que solía ser absolutamente cierto, pero que cada día es menos cierto. Tendemos a agrupar un montón de funcionalidades en la frase "CPU" o "procesador" cuando en realidad, eso es solo una parte de un panorama más amplio. La tendencia actual, conocida como computación heterogénea , implica combinar muchos elementos de computación en un solo chip.
En términos generales, los chips de la mayoría de las computadoras de escritorio y portátiles son CPU. Sin embargo, para casi cualquier otro dispositivo electrónico, es más que probable que esté mirando un sistema en un chip (SoC).
Una placa base para PC de escritorio puede permitirse el espacio para distribuir docenas de chips discretos, cada uno de los cuales tiene una funcionalidad específica, pero eso no es posible en la mayoría de las otras plataformas. Las empresas están tratando cada vez más de empaquetar tanta funcionalidad como pueden en un solo chip para lograr un mejor rendimiento y eficiencia energética.
Además de una CPU, el SoC en su teléfono probablemente también tenga una GPU, RAM, codificadores / decodificadores de medios, redes, administración de energía y docenas de partes más. Si bien puede pensar en él como un procesador en el sentido general, la CPU real es solo uno de los muchos componentes que componen un SoC moderno.
# 4 El nodo de tecnología y el tamaño de la característica son útiles para comparar chips
Recientemente, ha habido muchos rumores sobre el retraso de Intel en el despliegue de su próximo nodo tecnológico. Cuando un fabricante de chips como Intel o AMD diseña un producto, se fabricará mediante un proceso tecnológico específico. La métrica más común utilizada es el tamaño de los pequeños transistores que componen el producto.
Esta medición se realiza en nanómetros y varios tamaños de proceso comunes son 14 nm, 10 nm, 7 nm y 3 nm. Tendría sentido que pudiera colocar dos transistores en un proceso de 7 nm del mismo tamaño que un transistor en un proceso de 14 nm, pero eso no siempre es cierto. Hay mucha sobrecarga, por lo que la cantidad de transistores y, por lo tanto, la potencia de procesamiento no se ajusta al tamaño de la tecnología.
# 5 Comparar los recuentos de núcleos de GPU es una forma útil de medir el rendimiento
Al comparar las CPU con las GPU, la mayor diferencia es la cantidad de núcleos que tienen. Las CPU tienen algunos núcleos muy potentes, mientras que las GPU tienen cientos o miles de núcleos menos potentes. Esto les permite procesar más trabajo en paralelo.
Así como una CPU de cuatro núcleos de una empresa puede tener un rendimiento muy diferente al de una CPU de cuatro núcleos de otra empresa, lo mismo ocurre con las GPU. No existe una buena forma de comparar los recuentos de núcleos de GPU entre diferentes proveedores. Cada fabricante tendrá una arquitectura muy diferente, lo que hace que este tipo de métrica casi carezca de sentido.
Por ejemplo, una empresa puede elegir menos núcleos pero agregar más funcionalidad, mientras que otra puede preferir más núcleos, cada uno con funcionalidad reducida. Sin embargo, al igual que con las CPU, una comparación entre GPU del mismo proveedor y de la misma familia de productos es perfectamente válida.
# 6 Comparar FLOP es una forma útil de medir el rendimiento
Cuando se lanza un nuevo chip o supercomputadora de alto rendimiento, una de las primeras cosas que se anuncia es cuántos FLOP puede generar. El acrónimo significa operaciones de punto flotante por segundo y mide cuántas instrucciones puede realizar un sistema.
Esto parece bastante sencillo, pero, por supuesto, los proveedores pueden jugar con los números para hacer que su producto parezca más rápido de lo que es. Por ejemplo, calcular 1.0 + 1.0 es mucho más fácil que calcular 1234.5678 + 8765.4321. Las empresas pueden meterse con el tipo de cálculos y su precisión asociada para inflar sus números.
Observar los FLOP también solo mide el rendimiento de cálculo de CPU / GPU sin procesar y no tiene en cuenta otros factores importantes como el ancho de banda de la memoria. Las empresas también pueden optimizar los puntos de referencia que ejecutan para favorecer injustamente sus propias partes.
# 7 ARM hace chips
Casi todos los sistemas integrados y de bajo consumo funcionan con algún tipo de procesador ARM. Sin embargo, lo que es importante tener en cuenta es que ARM en realidad no fabrica chips físicos. Más bien, diseñan los planos de cómo deberían funcionar estos chips y dejan que otras empresas los construyan.
Por ejemplo, el A13 SoC en el último iPhone usa la arquitectura ARM, pero fue diseñado por Apple. Es como darle un diccionario a un autor y hacer que escriba algo. El autor tiene los componentes básicos y debe adherirse a las pautas sobre cómo se pueden usar las palabras, pero es libre de escribir lo que quiera.
Guía del sistema SGM-775 de ARM basada en la combinación Cortex-A75 y Cortex-A55 big.LITTLE + procesador gráfico Mali-G72
Al licenciar su propiedad intelectual (IP), ARM permite a Apple, Qualcomm, Samsung y muchos otros crear sus propios chips que mejor se adapten a sus propias necesidades. Esto permite que un chip diseñado para un televisor se enfoque en la codificación y decodificación de medios, mientras que un chip diseñado para ir a un mouse inalámbrico se enfocará en el bajo consumo de energía.
El chip ARM del mouse no necesita una GPU ni una CPU muy potente. Debido a que todos los procesadores basados en ARM usan el mismo conjunto básico de diseños y planos, todos pueden ejecutar las mismas aplicaciones. Esto facilita el trabajo del desarrollador y aumenta la compatibilidad.
# 8 ARM frente a x86
ARM y x86 son las dos arquitecturas de conjuntos de instrucciones dominantes que definen cómo funciona e interactúa el hardware de la computadora. ARM es el rey de los sistemas móviles e integrados, mientras que x86 controla el mercado de computadoras portátiles, computadoras de escritorio y servidores. Hay algunas otras arquitecturas, pero sirven a más aplicaciones de nicho.
Cuando se habla de una arquitectura de conjunto de instrucciones, eso se refiere a la forma en que un procesador está diseñado en el interior. Es como traducir un libro a otro idioma. Puede transmitir las mismas ideas, pero simplemente escríbalas de una manera diferente. Es completamente posible escribir un programa y compilarlo de una forma para ejecutar en un procesador x86 y otra forma de ejecutar en ARM.
ARM se ha diferenciado de x86 en varias formas clave, lo que les ha permitido dominar el mercado móvil. El más importante es su flexibilidad y su amplia gama de ofertas tecnológicas. Al construir una CPU ARM, es casi como si el ingeniero estuviera jugando con Legos. Pueden elegir los componentes que quieran para construir la CPU perfecta para su aplicación. ¿Necesita un chip para procesar muchos videos? Puede agregar una GPU más potente. ¿Necesita ejecutar mucha seguridad y cifrado? Puede agregar aceleradores dedicados. El enfoque de ARM en otorgar licencias de su tecnología en lugar de vender chips físicos es una de las principales razones por las que su arquitectura es la más producida. Intel y AMD, por otro lado, se han estancado en esta área, lo que creó el vacío del que ARM tomó el control.
Intel se asocia más comúnmente con x86 y, aunque lo crearon, los procesadores AMD ejecutan la misma arquitectura. Si ve x86-64 mencionado en alguna parte, esa es solo la versión de 64 bits de x86. Si está ejecutando Windows, es posible que se haya preguntado por qué hay "Archivos de programa" y "Archivos de programa (x86)". No es que los programas en la primera carpeta no usen x86, es solo que son de 64 bits, mientras que los programas en "Archivos de programa (x86)" son de 32 bits.
Otra área que puede causar confusión entre ARM y x86 es su rendimiento relativo. Es fácil pensar que los procesadores x86 son siempre más rápidos que los procesadores ARM y por eso no vemos procesadores ARM en sistemas de gama alta. Si bien eso suele ser cierto (hasta ahora), no es realmente una comparación justa y está perdiendo el sentido. Toda la filosofía de diseño de ARM es centrarse en la eficiencia y el bajo consumo de energía. Dejan que x86 tenga el mercado de gama alta porque saben que no pueden competir allí. Mientras que Intel y AMD se centran en el máximo rendimiento con x86, ARM maximiza el rendimiento por vatio.
# 9 Las GPU son procesadores más rápidos que las CPU
En los últimos años, hemos visto un gran aumento en el rendimiento y la prevalencia de la GPU. Muchas cargas de trabajo que tradicionalmente se ejecutaban en una CPU se han trasladado a las GPU para aprovechar su paralelismo. Para las tareas que tienen muchas partes pequeñas que se pueden calcular al mismo tiempo, las GPU son mucho más rápidas que las CPU. Sin embargo, ese no es siempre el caso, y es la razón por la que todavía necesitamos CPU.
Para hacer un uso adecuado de una CPU o GPU, el desarrollador tiene que diseñar su código con compiladores especiales e interfaces optimizadas para la plataforma. Los núcleos de procesamiento interno de una GPU, de los cuales puede haber miles, son muy básicos en comparación con una CPU. Están diseñados para pequeñas operaciones que se repiten una y otra vez.
Los núcleos de una CPU, por otro lado, están diseñados para una amplia variedad de operaciones complejas. Para los programas que no se pueden paralelizar, una CPU siempre será mucho más rápida. Con un compilador adecuado, es técnicamente posible ejecutar el código de la CPU en una GPU y viceversa, pero el beneficio real solo se obtiene si el programa se optimizó para la plataforma específica. Si solo mirara el precio, las CPU más caras pueden costar $ 50,000 cada una, mientras que las GPU de primera línea cuestan menos de la mitad. En resumen, tanto las CPU como las GPU se destacan en sus propias áreas y ninguna es necesariamente más rápida que la otra.
# 10 Los procesadores siempre serán cada vez más rápidos
Una de las representaciones más famosas de la industria de la tecnología es la Ley de Moore. Es una observación que la cantidad de transistores en un chip se ha duplicado aproximadamente cada 2 años. Ha sido precisa durante los últimos 40 años, pero estamos en su fin y la escala no está sucediendo como solía hacerlo.
Si no podemos agregar más transistores a los chips, una idea es que podríamos hacerlos más grandes. La limitación aquí es obtener suficiente energía para el chip y luego eliminar el calor que genera. Los chips modernos consumen cientos de amperios de corriente y generan cientos de vatios de calor.
Los sistemas de suministro de energía y refrigeración de hoy están luchando por mantenerse al día y están cerca del límite de lo que se puede alimentar y refrigerar. Es por eso que no podemos simplemente hacer un chip más grande.
Si no podemos hacer un chip más grande, ¿no podríamos simplemente hacer que los transistores del chip sean más pequeños para agregar más rendimiento? Ese concepto ha sido válido durante las últimas décadas, pero nos estamos acercando a un límite fundamental de cómo pueden llegar los pequeños transistores.
Con los nuevos procesos de 7nm y futuros de 3nm, los efectos cuánticos comienzan a convertirse en un gran problema y los transistores dejan de comportarse correctamente. Todavía hay un poco más de espacio para encoger, pero sin una innovación seria, no podremos hacerlo mucho más pequeño. Entonces, si no podemos hacer chips mucho más grandes y no podemos hacer transistores mucho más pequeños, ¿no podemos simplemente hacer que los transistores existentes funcionen más rápido? Esta es otra área que ha brindado beneficios en el pasado, pero no es probable que continúe.
Si bien la velocidad del procesador aumentó cada generación durante años, se ha estancado en el rango de 3-5GHz durante la última década. Esto se debe a una combinación de varias cosas. Obviamente aumentaría el uso de energía, pero el problema principal nuevamente tiene que ver con las limitaciones de los transistores más pequeños y las leyes de la física.
A medida que hacemos los transistores más pequeños, también tenemos que hacer que los cables que los conectan sean más pequeños, lo que aumenta su resistencia. Tradicionalmente, hemos podido hacer que los transistores vayan más rápido al acercar sus componentes internos, pero algunos ya están separados por solo uno o dos átomos. No hay una manera fácil de hacerlo mejor.
Poniendo todas estas razones juntas, está claro que no veremos el tipo de actualizaciones de desempeño generacional del pasado, pero tenga la seguridad de que hay muchas personas inteligentes trabajando en estos problemas.