Pendant un premier cycle en EE, j'ai assisté à des conférences qui présentaient une belle caractérisation des circuits booléens en termes de nombre de boucles imbriquées. En termes de complexité, les circuits booléens sont souvent considérés comme des creux, mais dans les cycles matériels réels, ils sont courants. Maintenant, modulo quelques détails techniques sur ce qu'est une boucle et ce qui constitue une boucle imbriquée, la revendication était essentiellement que pour implémenter dans un matériel un automate, il faut deux boucles imbriquées, et pour implémenter un processeur, il faut trois boucles imbriquées. (Je pourrais être un par un avec ces chefs d'accusation.)
Deux choses me dérangent:
- Il n'y avait rien de tel qu'une preuve formelle.
- Je n'ai vu ça nulle part ailleurs.
Quelqu'un a-t-il enquêté sur des déclarations précises de ce genre?
En cherchant le nom du professeur, j'ai trouvé une petite page Web et un livre (chapitre 4) qui discutent de cette taxonomie.
Sorte d'arrière-plan : au cas où vous vous demanderiez pourquoi les cycles sont utiles dans le vrai matériel, voici un exemple simple. Connectez deux onduleurs dans un cycle. (Un onduleur est une porte qui calcule la fonction booléenne NON.) Ce circuit a deux équilibres stables (et un instable). En l'absence de toute intervention extérieure, le circuit restera simplement dans l'un des deux états. Cependant, il est possible de forcer le circuit dans un état particulier en appliquant un signal externe. La situation peut être vue comme ceci: pendant que le cycle est connecté au signal extérieur "nous lisons l'entrée", et sinon nous "nous souvenons simplement de la dernière valeur que nous avons vue". Une boucle nous aide donc à nous souvenir de choses.