Lockstep (tecnologia informatica)
Nel campo della tecnologia informatica , in particolare nel caso di processori e microcontrollori , il termine lockstep descrive un metodo per la tolleranza e il rilevamento degli errori nell'hardware , che si ottiene utilizzando diverse unità identiche o simili come i core della CPU nei processori multi-core . Il nome della procedura deriva dal termine inglese lockstep marching , un passo ravvicinato trovato nei militari e in alcune prigioni . I processori con funzionamento lockstep, come ARM Cortex-R progettato per questo scopo o la serie di processori PowerPC MPC57xx , sono utilizzati principalmente in applicazioni critiche per la sicurezza come i controlli del motore (ECU) dei veicoli e nei controlli del motore autonomo (FADEC) degli aeromobili.
Procedura
La struttura del processore di Lockstep è simile a quella dei computer paralleli , tuttavia la connessione parallela non serve ad aumentare la potenza di calcolo, ma tutti i core della CPU eseguono lo stesso identico programma o lo stesso algoritmo. Il controllo e la valutazione, confrontando i risultati dei singoli core della CPU, avvengono quindi in fasi individuali, temporali e non interrompibili ( fase inglese ). La ridondanza ottenuta in questo modo consente di rilevare e risolvere i guasti hardware in uno dei core del processore, come nel caso di un dual core in funzionamento lockstep, o gli errori non solo da riconoscere attraverso decisioni a maggioranza, ma anche in una certa misura corretti, come questo è il caso dei processori triple core in caso di un singolo guasto.
Per poter rilevare in modo affidabile i guasti che interessano tutti i core del processore operati in parallelo, questo caso viene definito un cosiddetto guasto con una causa comune , i singoli processori vengono azionati con pochi cicli di clock . Di conseguenza, la causa comune del guasto ha effetto in diversi stati dei singoli nuclei e può quindi essere identificata come una deviazione nel successivo confronto dei risultati.
Con questo metodo, il rilevamento degli errori è limitato al rilevamento e, se necessario, alla correzione dei guasti relativi all'hardware nel componente elettronico, ai singoli eventi sconvolgenti (SEU) o agli effetti di latch-up in uno dei core della CPU o nell'area dell'alimentatore separato . Errori sistematici nel codice del programma o errori di sviluppo nell'algoritmo non possono essere riconosciuti o compensati con Lockstep.
letteratura
- Hans-Leo Ross: Sicurezza funzionale per veicoli stradali: nuove sfide e soluzioni per la mobilità elettrica e la guida automatizzata . Springer, 2016, ISBN 978-3-319-33360-1 .
- A. Avizienis, H. Kopetz , JC Laprie: The Evolution of Fault-Tolerant Computing . Springer Science & Business Media, 2012, ISBN 978-3-7091-8871-2 .
Prove individuali
- ↑ M. Baleani et al.: Piattaforme resistenti ai guasti per applicazioni critiche per la sicurezza automobilistica. (Non più disponibile online.) International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), 30 ottobre 2003, archiviato dall'originale il 9 agosto 2017 ; Estratto l'8 marzo 2018 (Capitolo 3: A Survey of Fault-Tolerant Multi-Processor Architectures). Info: il collegamento all'archivio è stato inserito automaticamente e non è stato ancora verificato. Controllare l'originale e il collegamento all'archivio secondo le istruzioni, quindi rimuovere questo avviso.
- ↑ Manuale sulla sicurezza per MPC5744P. NXP (pubblicazione aziendale), consultato il 17 marzo 2020 (Capitolo 3.2: Dual-core lockstep).