Mentre ero un laureando in EE ho partecipato ad alcune lezioni che presentavano una bella caratterizzazione dei circuiti booleani in termini di quanti cicli nidificati hanno. Nella complessità, i circuiti booleani sono spesso pensati come punti deboli, ma nei cicli hardware reali sono comuni. Ora, modulo alcuni aspetti tecnici riguardo a cosa sia un loop e cosa costituisca un loop nidificato, la pretesa era fondamentalmente che per implementare in un automa occorrono due loop nidificati e per implementare un processore sono necessari tre loop nidificati. (Potrei essere uno a uno con questi conteggi.)
Due cose mi danno fastidio:
- Non c'era niente come una prova formale.
- Non l'ho visto da nessun'altra parte.
Qualcuno ha indagato su dichiarazioni precise di questo tipo?
Cercando il nome del professore ho trovato una piccola pagina web e un libro (capitolo 4) che discutono di questa tassonomia.
Sorta di sfondo : nel caso ti chiedi perché i cicli siano utili nell'hardware reale, ecco un semplice esempio. Collegare due inverter in un ciclo. (Un inverter è un gate che calcola la funzione booleana NON.) Questo circuito ha due equilibri stabili (e uno instabile). In assenza di qualsiasi intervento esterno, il circuito rimarrà semplicemente in uno dei due stati. Tuttavia, è possibile forzare il circuito in uno stato particolare applicando un segnale esterno. La situazione può essere vista in questo modo: mentre il ciclo è collegato al segnale esterno "leggiamo l'ingresso" e altrimenti semplicemente "ricordiamo l'ultimo valore che abbiamo visto". Quindi un loop ci aiuta a ricordare le cose.