Come implementare un automa di Moore
Introduzione
L'automa di Moore, anche detto "macchina di Moore", è un automa a stati finiti, ovvero un automa in grado di descrivere con grande accuratezza e precisione il comportamento di più sistemi. Siamo nell'ambito della teoria della calcolabilità, ovvero quella particolare branca dell'analisi matematica (ma anche dell'informatica) che si occupa di identificare quali funzioni sono calcolabili mediante un procedimento automatico. La particolarità della macchina di Moore risiede nel fatto che le sue uscite sono determinate dagli stati correnti, a differenza della macchina di Mealy in cui si deve tenere conto anche degli stati d'ingresso. Entriamo nello specifico e vediamo da cosa è composto il sistema di una macchina di Moore, cercando di capire come implementare tale sistema.
Occorrente
- Carta e penna
- Libro di testo di analisi matematica (comprendente l'analisi dei sistemi)
- Libro di testo di informatica avanzata (comprendente la teoria della calcolabilità; alternativo al libro di testo precedente)
Generalità sull'automa di Moore
Come si è visto in precedenza, un sistema che in funzione di uno stato corrente genera un insieme finito di segnali di uscita è detto "automa a stati finiti". Solamente nel caso in cui l'uscita del sistema debba tenere conto solo dello stato corrente si ha a che fare con una macchina di Moore, il cui sistema è sintetizzabile nella quintupla: "M = ". In questo caso, "S" rappresenta l'insieme finito degli stati possibili; "I" è l'insieme finito degli stati possibili; "O" rappresenta l'insieme dei possibili valori in uscita; "?" è la funzione in grado di legare gli ingressi e lo stato corrente con lo stato prossimo; "?" è la funzione in grado di legare lo stato e l'ingresso correnti alle uscite del sistema.
Caratteristiche dell'automa di Moore
A differenza dell'automa di Mealy, in quello di Moore le uscite sono collegate allo stato corrente del sistema. Rispetto al primo, però, l'automa di Moore necessita di una serie maggiore di stati, anche se risulta meno complesso da sintetizzare. Il diagramma di stato della macchina di Moore mostra un segnale d'uscita per ogni stato del sistema stesso. L'influenza del sistema di Moore nel mondo digitale odierno è di grande rilevanza, in quanto gran parte dei sistemi elettronici digitali sono una sorta di riduzione del funzionamento dell'automa stesso. Vediamo proprio come funziona la macchina in questione.
L'attivazione dell'automa di Moore
La realizzazione dell'automa di Moore può avvenire mediante la creazione di un circuito sequenziale composto dalla rete combinatoria che realizza ?, da un vettore di m latch DT e da una rete combinatoria che realizza ?. Dopo aver stabilito il numero di latch mediante calcolo logaritmico si avrà la possibilità di comporre un primo circuito. A questo punto è necessario stabilire le funzioni e le corrispondenze tra gli stati del sistema e i possibili latch. La sintesi delle funzioni ? e ? si può effettuare sia da tabella, sia adottando le forme SOP e le mappe di Karnaugh. Dopo aver determinato il valore dell'uscita per ogni stato del sistema, si dovranno calcolare le formule di Q0 e Q1 con rispettive derivate, dopodiché si procederà con la realizzazione del circuito logico finale relativo all'automa a stati finiti. Nel caso in cui desideraste altre informazioni sull'automa di Moore consultate il link: https://it.wikipedia.org/wiki/Macchina_di_Moore. Per i calcoli approfonditi relativi agli automi a stati finiti si rimanda allo studio delle dispense fornite nei link della guida.
Guarda il video
Consigli
- Prima di approcciarsi con una certa dimestichezza all'analisi degli automi a stati finiti, con particolare riferimento all'automa di Moore, è necessario essere a conoscenza dei concetti chiave della teoria della calcolabilità. A tal proposito, si consiglia uno studio approfondito di libri di testo (di matematica o informatica) in grado di presentare i suddetti argomenti.