Esistono tecniche che un ingegnere elettrico potrebbe utilizzare per verificare che un circuito esegua effettivamente le operazioni descritte nelle sue specifiche e nessun'altra operazione?
In teoria, sì, penso che sia possibile. Tuttavia, per una CPU complessa ci vorrà molto tempo e denaro. Inoltre, se non conosci e comprendi appieno il progetto, non sarai in grado di giudicare se qualsiasi attività è "legittima" o meno.
Una CPU è "solo" un complesso circuito digitale costituito da molte celle logiche.
È possibile decodificare il chip e ricostruire il progetto osservando le connessioni metalliche. Possono esserci molti di questi layer di connessione come fino a 8 layer o più.
Avrai bisogno di esperti nel campo per riconoscere le celle logiche e quindi forse alcuni software possono capire come sono tutti collegati in modo da poter ricostruire la netlist.
Una volta che hai la netlist "conosci" il design. Ciò non significa che ora sai anche come funziona!
È possibile che una determinata funzione attivi 2 sezioni del progetto mentre pensi che una dovrebbe essere sufficiente in modo da sospettare che siano in corso attività sospette. Tuttavia, il design fa qualche trucco intelligente che non conosci per accelerare le operazioni.
Senza conoscere e comprendere il progetto, qualsiasi conclusione che trarre potrebbe essere ancora errata. Solo gli ingegneri che hanno progettato la CPU hanno tutte le informazioni di progettazione e hanno le migliori possibilità di essere in grado di capire o indovinare cosa succede realmente o dovrebbe succedere in una CPU.