Arm se toma muy en serio entrar en PC y presenta su estándar PC-BSA para garantizar la compatibilidad con Windows, Linux y software variado
Que Arm se quiere meter dentro del mundo de los PC es un hecho que Qualcomm está llevando a cabo y que NVIDIA rematará con MediaTek el año que viene. Por ello, y sabiendo las diferencias con x86 y su software, por muy bueno que sea el hardware que integren estas empresas con la ISA, hay que sentar unas bases comunes para tener un estándar claro en base a una especificación. Y en ello han estado trabajando para presentar hoy lo que se conoce como Arm PC-BSA, ¿en qué consiste exactamente y cómo cambiará el panorama en el futuro en PC y portátiles?
Pues realmente no mucho, no es algo realmente complejo, es más una especificación mínima a seguir para poder garantizar un desempeño óptimo, mientras que Microsoft y Linux se van adaptando a las nuevas arquitecturas de los susodichos.
Arm PC-BSA, la especificación que fija un estándar diseñado para garantizar la compatibilidad en PC y portátiles
Arm ha lanzado la especificación PC Base System Architecture (PC-BSA), un estándar diseñado para garantizar que las PC basadas en Arm sean más compatibles con sistemas operativos, hipervisores y software moderno en cuanto a hardware y firmware. Esta especificación extiende la Base System Architecture (BSA) general de Arm, estableciendo requisitos de hardware y firmware que reducen las incompatibilidades históricas con sistemas x86.
No es que sea la panacea, pero fija un criterio mínimo para que toda empresa que adquiera una licencia con destino a PC sepa a qué atenerse, y eso ya es bastante visto lo visto. Explicado esto, vayamos con las características principales que define Arm para este PC-BSA como estándar:
- Procesadores: Uso de Armv8.1 o superior en sistemas de 64 bits con soporte para AArch64.
- Seguridad: Inclusión de TPM 2.0 y arranque seguro, ambos necesarios para Windows 11 y estándares de cumplimiento más estrictos. Soporte para Verified Boot y protección para almacenamiento no volátil.
- Controlador de interrupciones: uso de GICV3 o superior y compatibilidad con LPIs para entornos virtualizados.
- Virtualización: Requisito de SMMUV3 para administrar la memoria en entornos virtualizados.
- Compatibilidad: Soporte para PCI Express (PCIe), asegurando interoperabilidad con hardware moderno como GPUs y almacenamiento rápido variado.
Para el que no lo sepa, SMMU (System Memory Management Unit, o Unidad de Gestión de Memoria del Sistema) es un componente crucial en todo sistema que tenga arquitectura Arm. Su función principal es gestionar y traducir las direcciones de memoria virtual a direcciones físicas para permitir un acceso seguro y eficiente a la memoria del sistema por parte de los dispositivos y procesadores. Centrando un poco esto y comparándolo con Intel y AMD, SMMU es el equivalente a VT-d y IOMMU.
¿Es obligatorio el uso de este estándar y su especificación?
Realmente no. Está ahí y debería ser tenido en cuenta, pero las compañías diseñadoras de hardware pueden obviarlo y optar por otro estándar, propio o externo. El problema es que normalmente cuando Arm lanza algo así, es porque todo va bastante enfocado a una serie de beneficios futuros.
Por ejemplo, con Windows y Linux, Arm pretende mejorar la predictibilidad y compatibilidad de los sistemas con el software que está por llegar, o que directamente es considerado como "moderno". Otro tema que quieren tratar para mejorar es todo lo que tiene que ver con el desarrollo de máquinas virtuales, de ahí el SMMU, y de paso, sabiendo que Arm PC-BSA es el estándar base, se quiere simplificar algo tan crucial para la industria como el ensamblaje de sistemas dentro de los OEM.
Si los diseñadores lo toman de base, se creará una industria donde apoyarse para rebajar costes y empujar en estos sentidos, pudiendo actualizarse cada pocos años para impulsar más y más características dentro de Arm en PC y portátiles.