Los cargadores USB tipo C tienen más potencia que las computadoras del Apolo 11
El desarrollador de software Forrest Heller, que actualmente trabaja para la compañía Apple, ha afirmado que los actuales cargadores USB tipo C tienen más potencia que los ordenadores que se utilizaron en la misión Apolo 11 de la NASA, que llevó al hombre a la Luna.
Heller, con su trabajo, ha comparado “la computación histórica y moderna”, para lo que ha elegido el cargador de 18W de Google, el SuperCharge de 40W de Huawei, el Anker PowerPort Atom PD2 y el ordenador de guía de alunizaje (AGC, según sus siglas en inglés) que se utilizó en la misión Apolo 11.
En una tabla, Heller muestra que el AGC contaba con una velocidad de reloj de 1.024MHz, una memoria RAM de 4KB y un almacenamiento de 72KB. Por su parte, el cargador USB tipo C más potente de los tres, el Anker PowerPort Atom PD 2, tiene un microchip Cypress CYPD4225 con una velocidad de reloj de 48MHz, una memoria RAM de 8KB y almacenamiento de 128 KB en flash.
Según Heller, el cargador Anker PowerPort es hasta 563 veces más rápido que el ordenador utilizado por la NASA en 1969, puede almacenar 1,78 más instrucciones y tiene más del doble de memoria RAM.
Anker PowerPort utiliza una CPU ARM Cortex-M0 que, al igual que el AGC, no tiene caché y el acceso a la memoria ocurre a una velocidad constante. Ejecutan las instrucciones en orden, pero tienen unidad de coma flotante (o coprocesador matemático especializado en operaciones de cálculo en coma flotante).
El desarrollador ha recalcado que, a pesar de contar con una mayor potencia, no cree que el USB Anker PowerPort pueda reemplazar el AGC, ya que en la nave se utilizaron cuatro ordenadores, ubicados en diferentes sitios.
Aun suponiendo que se necesitan cuatro cargadores Anker PowerPort, Heller ha indicado, además, que el microchip CYPD4225 “no está pensado para el espacio”, por lo que podría no funcionar, y únicamente soporta 30 señales GPIO.
En líneas generales, Heller explica que en la actualidad hay muchos cargadores USB que integran microcontroladores con CPU. “Algunos son menos capaces que el AGC. Algunos son más capaces que el AGC”, asegura.
Los puertso USB tipo “solucionan algunos problemas y aportan nuevas capacidades, pero es otro paso hacia el incremento de la complejidad“, finaliza.
Device | Google Pixel 18W Charger | Huawei 40W SuperCharge | Anker PowerPort Atom PD 2 | Apollo 11 Moon Landing Guidance Computer (AGC) | |
---|---|---|---|---|---|
Function | Charges a phone | Charges a phone or maybe a laptop | Charges 2 phones or maybe laptops |
|
|
Microchip(s) | Weltrend WT6630P | Richtek RT7205 | Cypress CYPD4225 | Discrete components | |
Clock Speed | 10 MHz | 22.7 MHz | 48 MHz | 1.024 MHz | |
RAM | 512 bytes | “0.75kB” | 8KB | 2048 15-bit words / 4KB if you include the parity bit in each word |
|
Program Storage Space | 8KB | 24KB (Mask ROM + OTP) | 128KB Flash | 36,864 15-bit words / 72KB if you include the parity bit in each word |
|
Instruction Set | Intel 8051 (8-bit) | Unknown | ARM Cortex-M0 32-bit implementing ARMv6-M | 16-bit accumulator based | |
Sources | ChargerLabs Teardown WT6630P Datasheet |
ChargerLabs Teardown RT2705 Datasheet |
ChargerLabs Teardown CYPD4225 Datasheet |
CPU description Memory Functional overview |
Interpretation
The most powerful CPU in the table is from the Anker PowerPort Atom PD 2 (CYPD4225). Compared with the Apollo 11 Guidance Computer it runs at ~48 times the clock speed with 1.8x the program space. It’s very tempting to claim that the Anker PowerPort Atom PD 2 could fly me to the moon. But we need more analysis. What if the Apollo 11 Guidance Computer contains dedicated hardware which missing in the CYPD4225 and cannot be replicated in software? Let’s compare the CYPD4225 to the Apollo 11 Guidance Computer. I’ll be using the excellent Virtual AGC documentation as a reference.
Speed
The Apollo 11 Guidance Computer has a master clock frequency of 1.024MHz. Instructions need
at least 12 clock cycles (11.72uS). It operates using one’s compliment integer arithmetic. There is no floating point. There is a single accumulator register to perform arithmetic.
The Anker PowerPort Atom PD 2 uses a CYPD4225, containing an ARM Cortex-M0 CPU. Luckily
for this analysis both the Apollo 11 Guidance Computer and the Cortex-M0 CPUs are very
predictable compared to more sophisticated modern CPUs. They
have no cache and memory access happens at a constant speed. Instructions execute in-order.
They have no hardware floating point. They have no vector/matrix hardware (like
AVX, SSE, or NEON). Therefore we can learn a lot by just comparing
the cycles of roughly equivalent instructions.
Instruction | Apollo 11 Guidance Computer Cycles | ARM Cortex-M0 Cycles |
---|---|---|
15-bit Addition and Subtraction | 24 (2 * 12) | 1 |
31 Bit Addition and Subtraction | 36 (3 * 12) | 1 |
Multiply | 36 (3 * 12) | 1 – see datasheet |
Divide | 72 (6 * 12) | Not Available |
Branch if zero | 24 (2 * 12) | 1-4 without CMP, 2-5 with CMP |
CCS (Count Compare Skip) / CMP | 24 (2 * 12) | 1 |
Store accumulator/register to memory (XHC / STR) | 24 (2 * 12) | 2 |
Load memory to accumulator/register (XHC / LD) | 24 (2 * 12) | 2 |