El mercado de los procesadores o CPUs para PC es una guerra comercial continua entre Intel y AMD. ¿Pero por qué otros fabricantes de procesadores no pueden realizar sus CPUs para ordenadores personales o servidores? ¿Cuáles son los motivos por los que solo vemos las marcas de AMD e Intel en los procesadores de nuestros PCs? ¿Cómo funciona la licencia de los procesadores x86? Os hacemos un resumen rápido que busca responder estas preguntas.
Para entender el presente hay que comprender el pasado, es por ello que vamos a hacer un pequeño repaso histórico sobre la situación de las CPUs compatibles con el conjunto de registros x86. No olvidéis que al contrario de lo que ocurre con otras ISAs como ARM, RISC-V, etc. En el caso de los x86 hablamos de una ISA propietaria inventada por Intel y que no se diseñó para ser licenciada a terceros.
¿Pero cómo es que AMD puede hacer CPUs compatibles? Seguidnos en este recorrido y al final del artículo tendréis una idea mucho más clara.
Los orígenes de la arquitectura x86
La CPU Intel 8086 fue lanzada a finales de los 70 como una evolución del Intel 8080 pensada para el mercado de los S-100, un tipo de ordenadores completamente configurables que montaban los aficionados a la informática y la electrónica a finales de los 70 y se puede considerar el precursor a los PCs que aparecerían durante los años 80 de la mano de IBM primero y luego en forma de los Compatibles PC que eran clónicos del PC de IBM.
La particularidad del 8086 era que pese a que no podía ejecutar código nativo del 8080 sí que tenía un compilador que era compatible hacía atrás, por lo que solo era necesario convertir el software. Tenía además una serie de mejoras sobre el 8080 como es un direccionamiento de memoria extendido hasta los 20 bits (1 MB de RAM) y una ALU mejorada de cara a las multiplicaciones y divisiones.
x86 en el IBM PC
IBM se interesó por el 8086 de Intel, en concreto, por una versión recortada del mismo que fue el 8088. Todo para la creación de su IBM 5150 que fue el primer IBM PC.
El motivo de ello era la facilidad a la hora de portar las aplicaciones y compiladores pensados para 8080 a 8086, no era compatible hacía atrás a nivel de código binario, por lo que esto obligaba a los desarrolladores a tener que recompilar el código. Dado que el 8086 no era una CPU muy popular y la que estaba en boga era Motorola 68000, IBM la escogió porque esto le daba un entorno de exclusividad en cuanto a software respecto a la competencia, ya que al fin y el cabo eran los únicos que iban a utilizar dicho set de registros e instrucciones en su sistema.
La idea que tenía IBM era tener una versión exclusiva del sistema operativo más utilizado en entornos empresariales, el CP/M, el cual se había programado para las CPUs compatibles con el Intel 8080. Al final como todo el mundo sabe, obtuvieron un clon compatible con el 8086 por parte de Microsoft, el cual acabó siendo el conocido MS-DOS.
¿Cómo obtuvo AMD la posibilidad de fabricar CPUs compatibles con x86?
AMD ya había desarrollado con anterioridad un clon del Intel 8080, el AMD 9080 a partir de ingeniería inversa y sin ningún tipo de licencia por parte de Intel.
El motivo por el cual AMD pudo fabricar chips basados en la arquitectura 8086 de Intel fue porque IBM necesitaba tener otro proveedor de chips alternativo. Era una situación habitual en la época donde otros fabricantes de chips a partir de una licencia concedida por el diseñador y fabricante original del chip.
Eso ocurrió a principios de 1982, cuando el IBM 5150 ya llevaba pocos meses en el mercado. El motivo de ello es que IBM tenía una política de tener dos proveedores diferentes para los procesadores, esto llevo a un acuerdo entre Intel y AMD donde la primera le tuvo que licenciar su tecnología para que la segunda pudiese construir el AMD AM286, ya que era una de las condiciones del acuerdo con IBM.
Pero dicho acuerdo se rompió con el lanzamiento del 80386 por parte de Intel, el cual fue “clonado” por ingeniería inversa por parte de AMD en forma del AM386, lo que los llevo a litigios continuos entre ambas empresas en los tribunales, los cuales terminaron en 1994 cuando la corte suprema del Estado de California en los Estados Unidos decidió a favor de AMD permitirle el uso de la extensión de 32 bits sobre la ISA x86.
La sentencia por tanto le dio permiso a AMD para crear CPUs compatibles con el conjunto de registros e instrucciones IA-32 de Intel, el cual es la extensión de 32 bits que Intel desarrollo para los 80386 en adelante.
La extensión de 64 bits de los x86 creada por AMD
En el 2003 las primeras CPUs con la extensión x64 o x86-64 fueron introducidas por AMD en el mercado.
Al revés de lo que ocurrió con la extensión de 32 bits de la arquitectura que fue introducida por Intel y hubo un enorme litigio, AMD no tuvo problemas en licenciar su extensión de 64 bits a la arquitectura de Intel, la cual empezó a implementarla a partir de los Intel Core 2.
Este cruce de licencias dentro de la arquitectura x86 continua a día de hoy donde tanto Intel como AMD realizan añadidos sobre el conjunto de registros e instrucciones que luego su rival adopta o caen en saco roto. Hay extensiones de las instrucciones que no son apoyadas por una u otra, pero lo que es la base en el conjunto de registros
¿Qué ocurre si AMD pierde su independencia?
Por lo visto la letra pequeña de la sentencia de 1994 es que sí alguien quisiera comprar AMD, como lo ha hecho recientemente NVIDIA con ARM, entonces la sentencia que le permite a AMD utilizar el conjunto de registros e instrucciones x86 quedaría anulada.
Esto es importante, porque AMD desarrolló la extensión de 64 bits sobre el permiso de uso de la extensión de 32 bits de la arquitectura. Por lo que si el nuevo propietario de AMD la consiguiese comprar entonces no podría fabricar procesadores compatibles con x86 debido a la letra pequeña de dicha sentencia.
Al mismo tiempo esto explica el motivo por el cual pese a que el valor de mercado de AMD es mucho menor que el de Intel ninguna empresa se haya interesado en realizar una OPA a AMD.
El caso de VIA y por qué es diferente al de AMD
VIA pese a que se ha descolgado de la carrera tecnológica hace tiempo contra Intel y AMD es la tercera en discordia en tener una licencia x86.
Esto es debido a que en 1997 compraron Cyrix, quienes hicieron originalmente un clon del 80387, el coprocesador matemático del 80386, para luego desarrollar su propia versión del 486. El caso es que Cyrix al igual que AMD obtuvo la licencia también tras un litigio legal que Intel también perdió.
Es en la letra pequeña de las dos sentencias donde ambas situaciones cambian, tanto Intel como AMD han ido desarrollando extensiones de los x86 que se han ido licenciando la una a la otra de manera continua. Intel no puede utilizar el microcódigo de AMD en el que se traduce el código x86 y AMD no puede utilizar el de Intel.
Pero Cyrix obtuvo el permiso completo para utilizar el set de registros e instrucciones x86 sin limitaciones. El problema es que sus procesadores no eran muy buenos y acabaron fuera del ring en un enfrentamiento contra Intel y AMD, pero especialmente contra la empresa del logo azul.
Pero no ha existido dicho cruce mutuo entre VIA e Intel o entre VIA y AMD, el cruce de licencias es importante porque el añadido de nuevas instrucciones se acuerda de manera conjunta entre Intel y AMD. Esto es lo que ha provocado que las CPU de VIA vayan perdiendo compatibilidad con todo el conjunto actual de la ISA x86 que hay en el PC.
En consecuencia, esto los ha llevado a no tener presencia en el mercado del PC en occidente y su mercado principal es el chino, donde la situación de patentes, propiedades intelectuales y demás es cuando menos mucho más confusa por el régimen político del país y esto le da cierta libertad para operar en dicho mercado.
Con todo esto deberíamos tener una respuesta más clara del porqué solo vemos procesadores de Intel y AMD en PCs y no de otras marcas.