Hva er forskjellen mellom et register og en flip-flop?


Svar 1:

Jeg forventer at et register vil være mer enn 1 bit (si 64 eller 32 eller kanskje 16 eller 8 biter), og at en flip-flop bare er 1 bit.

Det er også minst 4 forskjellige typer flip-flops som skiller seg på måten du angir og leser tilbake tilstand. “SR” for sett / tilbakestilling, “JK” for sett / nullstilling, men med mer fullstendig definert oppførsel, “D” for forsinkelse eller data, og “T” for å slå på.

Med registre er ikke poenget hvordan bitene er satt og lest tilbake. Du bryr deg mer om hvilken innstilling og / eller lesing av bitene som gjør. Det mest grunnleggende registeret kan lagre og huske biter, akkurat som du kan gjøre med et sett flip-flops. Men mange registre kan gjøre mer. For eksempel kan et akkumulatorregister legge til innspillet til de eksisterende bitene i registeret. En annen type register kan være skrivebeskyttet, og føre til at en operasjon andre steder i systemet begynner. Og andre registre kan være skrivebeskyttet, som representerer tilstanden til noe leseren er interessert i, for eksempel systemtemperatur.


Svar 2:

Et register ER en flip-flop i kjernen.

Nærmere bestemt en D-flip-flop i de fleste tilfeller. Det er noen situasjoner der det ikke er så enkelt: utgangsregisteret på en GPIO kan brukes som en S / R-flip-flop for å tillate bare innstilling eller bare å rydde biter. (De fleste aktuelle MCU-er støtter dette.) Det er fortsatt fremdeles en D-FF-tilgang til flip flop slik at du kan stille inn og tømme registeret.

For programmererens bekvemmelighet, blir det vanligvis et register til samme adresse for å skrive til FF og lese verdien. For kjerneregistrene (akkumulator, r0-r15, indeksregister og så videre) adresseres registerene direkte av instruksjonen i stedet for gjennom en egen registeradresse.

Noen MCU-er tillot til og med tilgang til registrene i minneadresseområdet. Iirc, 8051 gjorde det og tillot faktisk å velge kartleggingen av registerene til forskjellige blokker av minneregistre.)


Svar 3:

et register (i det minste det jeg kjenner som et register) det er et sett med biter. (avhengig av prosessoren hvor mye som vil ha).

en flip flop er bare en maskinvarebit (og ikke en gang nødvendigvis tilgjengelig på datamaskinen kan være intern, kan være en del av et system.

mest sikker på at et register har mange interne flip flops. (eller i det minste en slags lignende som ikke er sikre på om de fremdeles er sånn internt).

ettersom vippeen normalt er definert til å være laget med logiske porter for å kunne holde og ikke forandre seg med mindre eksternt forandret en 0 eller 1 (vil normalt være en 0 volt eller noen 5 eller 12 eller 3 volt avhengig av hvilket system som vil være normalt vcc).