Enquanto estudante de EE, participei de algumas palestras que apresentavam uma boa caracterização de circuitos booleanos em termos de quantos ciclos aninhados eles tinham. Na complexidade, os circuitos booleanos são frequentemente vistos como dags, mas em ciclos reais de hardware são comuns. Agora, modulando alguns detalhes técnicos sobre o que é um loop e o que constitui um loop aninhado, a alegação era basicamente que, para implementar no hardware um autômato, é necessário dois loops aninhados e, para implementar um processador, são necessários três loops aninhados. (Eu posso estar fora de um com essas contagens.)
Duas coisas me incomodam:
- Não havia nada como uma prova formal.
- Eu não vi isso em nenhum outro lugar.
Alguém investigou declarações precisas desse tipo?
Procurando o nome do professor, encontrei uma pequena página da web e um livro (capítulo 4) que discutem essa taxonomia.
Tipo de histórico : Caso você se pergunte por que os ciclos são úteis em hardware real, aqui está um exemplo simples. Conecte dois inversores em um ciclo. (Um inversor é um gate que calcula a função booleana NOT.) Este circuito possui dois equilíbrios estáveis (e instável). Na ausência de qualquer intervenção externa, o circuito simplesmente permanecerá em um dos dois estados. No entanto, é possível forçar o circuito para um estado específico aplicando um sinal externo. A situação pode ser vista assim: enquanto o ciclo está conectado ao sinal externo "lemos a entrada", e, do contrário, simplesmente "lembramos do último valor que vimos". Então, um loop nos ajuda a lembrar de coisas.