EMB_72

39 EMBEDDED MAGGIO FUNCTIONAL SAFETY | SOFTWARE fornisce una separazione adeguata. Questi sistemi infatti condividono cache, bus di memorie e parti interne di chip. Essi devono gestire la separazione e la divisione delle funzioni via software. Tale se- parazione può essere ottenuta, ad esempio, con un kernel a separazione o con un hypervisor. CPU separate Quando si utilizzano CPU separate per realizzare sistemi ad alte prestazioni, queste vengono spesso suddivise in CPU ad alte prestazioni, eventual- mente una GPU, e diverse MCU separate a bassa velocità, che di solito sono conformi ai requisiti di sicurezza. S À dal punto di vista degli standard di sicurezza, è comunque necessario considerare il percorso di trasmissione. Bus complessi come Ethernet e PCI possono richiedere che il driver del dispositivo $ À - zione di sicurezza funzionale se c’è qualche punto d’interferenza in quel percorso. In tal caso, anche quando si utilizzano MCU sicure dotate di micro- processori per la protezione della memoria, si trat- ta di affrontare un compito non banale. Questo è uno dei motivi per cui i sistemi di sicurezza ten- dono a utilizzare i bus più semplici, dal momento / $ À À ( esempio di architettura a separazione hardware À% Q Tuttavia, bus semplici possono ridurre le prestazioni rispetto a bus più complessi ma più veloci. Se il sistema deve trasferi- re molti dati tra entità operative diverse, ad esempio tra dominio di sicurezza e do- minio operativo, il bus può diventare un collo di bottiglia sia nell’MCU operativa che nell’MCU di sicurezza, poiché non riesce a veicolare una quantità di dati $À * . - Á scalabilità dell’algoritmo; se alcuni algoritmi che richiedono elevate prestazioni di calcolo vanno eseguiti nel dominio di sicurezza, c’è un limite alle funzioni che le MCU più pic- cole possono eseguire. La MCU più piccola potrebbe benissimo eseguire un sistema ope- rativo in tempo reale per aggirare alcuni dei suddetti vincoli, ma principale svantaggio di eseguire algoritmi di sicurezza su una MCU a basse prestazioni rimarrebbe ancora. Inol- tre, la CPU operativa potrebbe anche aver bisogno di eseguire un sistema operativo in tempo reale, non necessariamente safety-critical, ma comunque in grado di gestire i requisiti di prevedibilità in tempo reale del sistema. Consolidamento hardware/Architetture multi-core eterogenee Un altro aspetto da considerare nella separazio- ne hardware è il consolidamento dell’hardware. I nuovi System-on-Chip (SoC) a maggior livello d’integrazione iniziano a offrire un core piccolo con una memoria dedicata, gestione del clock e della potenza sullo stesso chip utilizzato dai sistemi più grandi, dando la possibilità di gestire le comuni- cazioni con prestazioni migliori. Un esempio è il- À% K Facendo questa scelta sorge la necessità di À diversi core sia immune alle interferenze, dal mo- mento che deve sempre esserci una separazione tra dominio operativo e dominio di sicurezza. Ciò % À Á # ! % À% - ne, bus di memoria o cache, queste sono apparenti fonti d’interferenza che richiedono una protezio- ne aggiuntiva. In questi casi, il fornitore del SoC Fig. 2 – Esempio di architettura a separazione hardware Fig. 3 – Architettura a separazione con consolidamento hardware

RkJQdWJsaXNoZXIy MTg0NzE=