L'XMC7200 ha due core Arm Cortex-M7 per l'elaborazione principale e un core Cortex-M0+ per l'elaborazione periferica e di sicurezza, con un'unità CRYPTO per l'accelerazione hardware. Che l'unità sia sul die non significa che TLS sia più veloce. La libreria deve usarla davvero, e la configurazione di default di solito non lo fa.
Le prestazioni del flusso TLS sull'unità CRYPTO XMC7200 sono state migliorate di +33 % rispetto alla libreria del produttore, mantenendo la piena compatibilità. La misura e la discussione sono documentate nel post originale sulla Infineon Developer Community:
https://community.infineon.com/t5/XMC/XMC7000-CRYPTO-unit-performance/td-p/1024565
L'accelerazione hardware non è un interruttore che si accende. Le perdite misurabili vengono da questi punti:
Su un dispositivo limitato, la performance TLS è una proprietà architetturale, non un'impostazione di libreria. Dimensione dei record, scelta del cipher, strategia di resumption e percorso crittografico si decidono in fase di design. Modificarli quando il collegamento è già in produzione trasforma una questione di performance in un problema sul campo.
FAQ
No. Il vantaggio dipende dall'operazione e dalla dimensione del blocco. Per alcune operazioni il percorso software è competitivo, e l'overhead della chiamata all'unità può superare il beneficio.
Perché il percorso di default della libreria è quello software. Lo layer di accelerazione deve essere integrato esplicitamente, e l'integrazione deve corrispondere alla struttura di buffer e record che l'applicazione usa davvero.
Il ragionamento vale per ogni MCU con unità crittografica. I numeri specifici non si trasferiscono.