Flip-Flop D
Non ho capito una cosa sul funzionamento del Flip-Flop D. Quando D=1, setta il bit a 1, quando D=0, resetta il bit a 0. Ma quando non voglio operare nessuna operazione? Chiedo questo, perche' non ho ben capito il funzionamento dell'altro input, il clock: l'input dal clock e' settabile od oscilla tra 0 e 1 con una certa frequenza?
Risposte
La sigla 'D' associata alla parola flip-flop stà per delay, ossia 'ritardo'. In corrispondenza ad ogni fronte di salita del clock la variabile binaria presente all'ingresso del flip-flop viene trasferita in uscita. Se, come dici tu, in corripondenza di un fronte di clock 'non voglio far nulla' è sufficiente cortocircuitare l'ingresso con l'uscita...
cordiali saluti
lupo grigio

An old wolf may lose his teeth, but never his nature
cordiali saluti
lupo grigio

An old wolf may lose his teeth, but never his nature
"Crook":
Non ho capito una cosa sul funzionamento del Flip-Flop D. Quando D=1, setta il bit a 1, quando D=0, resetta il bit a 0. Ma quando non voglio operare nessuna operazione? Chiedo questo, perche' non ho ben capito il funzionamento dell'altro input, il clock: l'input dal clock e' settabile od oscilla tra 0 e 1 con una certa frequenza?
Il clock oscilla regolarmente tra 0 e 1 con una determinata frequenza, la famosa frequenza di clock appunto, che spesso si usa (anche a sproposito) per determinare le prestazioni di un PC. Di solito i flip flop, almeno nel caso del microprocessore, non funzionano a sè ma raggruppati in registri: quando questi registri non vengono abilitati alla scrittura, il dato memorizzato in essi resta invariato. Anche per le memorie il meccanismo è analogo.
P.S.: Naturalmente il flip flop è una schematizzazione per i milioni di transistor che compongno una CPU... ma questo è un'altro discorso.
non è detto che all'ingresso di clock del FF devi metterci per forza un'onda quadra periodica...
Ora non facciamo i complicati


Un flip flop D utilizzato come memoria di un dato binario è schematicamante rappresentato in figura...

In corrispondenza ad un fronte di salita del clock [che può essere anche una forma d'onda non periodica anche se in pratica per ragioni sistemistiche è periodica...] il dato binario presente dull'ingresso D viene memorizzato. L'ingresso D è a sua volta conesso all'uscita di un 'multiplexer a due ingressi' [rappresentato in figura...]. Questo dispositivo fornisce in uscita il dato presente all'ingresso a o b a seconda del valore del comando a/b. Se intendo 'aggiornare' il contenuto del flip flop posiziono il comando su b, se no posiziono il comando su a...
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature

In corrispondenza ad un fronte di salita del clock [che può essere anche una forma d'onda non periodica anche se in pratica per ragioni sistemistiche è periodica...] il dato binario presente dull'ingresso D viene memorizzato. L'ingresso D è a sua volta conesso all'uscita di un 'multiplexer a due ingressi' [rappresentato in figura...]. Questo dispositivo fornisce in uscita il dato presente all'ingresso a o b a seconda del valore del comando a/b. Se intendo 'aggiornare' il contenuto del flip flop posiziono il comando su b, se no posiziono il comando su a...
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature
Ah, ecco, quindi quando voglio lasciare invariato il bit, posiziono il data in su b?
In cosa consiste il controcircuito l'ingresso con l'uscita?
In cosa consiste il controcircuito l'ingresso con l'uscita?
Esatto!... quanto al 'cortocircuito', il multiplexer lo puoi vedere come una banale interruttore che ' cortocircuita' l'uscita con l'ingresso a o l'ingresso b a seconda del comando a/b...
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature
Ah, ecco, quindi quando voglio lasciare invariato il bit, posiziono il data in su b?
no, setti il valore di s su a se vuoi che il dato in uscita ti venga riportato in ingresso (e quindi mantenuto) ed invece su b se vuoi che l'uscita assuma lo stesso valore di data in
per quanto riguarda l'ingresso ck volevo solo dire che non è detto che si debba collegare a tale ingresso il clock, ma un qualsiasi altro segnale che quando attivo mi fa passare il dato dall'ingresso all'uscita (una specie di segnale di abilitazione)
no, setti il valore di s su a se vuoi che il dato in uscita ti venga riportato in ingresso (e quindi mantenuto) ed invece su b se vuoi che l'uscita assuma lo stesso valore di data in
per quanto riguarda l'ingresso ck volevo solo dire che non è detto che si debba collegare a tale ingresso il clock, ma un qualsiasi altro segnale che quando attivo mi fa passare il dato dall'ingresso all'uscita (una specie di segnale di abilitazione)
Quello che dice itparei è vero ma in questo caso occorre fare attenzione a che il segnale usato come clock non abbia degli spikes ['spifferi'...]. Al contrario la soluzione 'sincrona' [ossia con il clock di macchina utilizzato come unico elemento di temporizzazione per tutti i circuiti...] è assolutamente 'sicura' e per questo è quella solitamente utilizzata...
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature
cordiali saluti
lupo grigio

an old wolf may lose his teeth, but never his nature
Uhm... in che senso degli spifferi? Ti riferisci ai tempi di hold e di set-up?
Per avere un'idea esatta di che cosa sono gli 'spifferi' [spikes...] si faccia riferimento alla figura seguente...

Il segnale c è ottenuto come and di a e b. Supponiamo che a e b commutino come illustrato in figura, vale a dire che a passi da 0 a 1 'un attimo prima' che b passi da 1 a 0. In tal caso per un breve istante Dt entrambi gli ingressi del circuito and sono in 1 e l'uscita c presenta uno 'spiffero'. Nel caso che c sia usato come clock ciò produrrebbe un funzionamento indesiderato e pertanto una soluzione del genere è sconsigliabile. La pratica suggerisce che non sempre gli spifferi possono essere agevolmente controllati e prevenuti per cui l'esperienza insegna ad evitare di usare segnali ottenuti per via 'asincrona' [cioè con reti combinatorie...] come segnali di clock...
cordiali saluti
lupo grigio

An old wolf may lose his teeth, but never his nature

Il segnale c è ottenuto come and di a e b. Supponiamo che a e b commutino come illustrato in figura, vale a dire che a passi da 0 a 1 'un attimo prima' che b passi da 1 a 0. In tal caso per un breve istante Dt entrambi gli ingressi del circuito and sono in 1 e l'uscita c presenta uno 'spiffero'. Nel caso che c sia usato come clock ciò produrrebbe un funzionamento indesiderato e pertanto una soluzione del genere è sconsigliabile. La pratica suggerisce che non sempre gli spifferi possono essere agevolmente controllati e prevenuti per cui l'esperienza insegna ad evitare di usare segnali ottenuti per via 'asincrona' [cioè con reti combinatorie...] come segnali di clock...
cordiali saluti
lupo grigio

An old wolf may lose his teeth, but never his nature
sì in effetti il mio esempio si riferiva a circuiti non sincroni