Vad är skillnaden mellan ett register och en vippa?


Svar 1:

Jag förväntar mig att ett register ska vara mer än 1 bit (säga 64 eller 32 eller kanske 16 eller 8 bitar) och att en flip-flop bara är 1 bit.

Det finns också minst fyra olika typer av flip-flops som skiljer sig på det sätt du ställer in och läser tillbaka tillstånd. "SR" för inställning / återställning, "JK" för inställning / återställning men med mer fullständigt definierat beteende, "D" för fördröjning eller data, och "T" för att växla.

Med register är inte poängen hur bitarna ställs in och läsas tillbaka. Du bryr dig mer om vilken inställning och / eller läsning av bitarna som gör. Det mest grundläggande registret kan lagra och återkalla bitar, precis som du kan göra med en uppsättning flip-flops. Men många register kan göra mer. Till exempel kan ett ackumulatorregister lägga till ingången till de befintliga bitarna i registret. En annan typ av register kan vara skrivskyddad och få en operation någon annanstans i systemet att börja. Och ännu andra register kan vara skrivskyddade och representerar tillståndet för något som läsaren är intresserad av, till exempel systemtemperatur.


Svar 2:

Ett register är en flip-flop i dess kärna.

Specifikt en D-flip-flop i de flesta fall. Det finns vissa situationer där det inte är så enkelt: utgångsregistret på en GPIO kan användas som en S / R-vippa för att endast tillåta inställning eller bara rensa bitar. (De flesta aktuella MCU: er stöder detta.) Det finns fortfarande en D-FF-åtkomst till vippan så att du kan ställa in och rensa registret.

För programmerarens bekvämlighet skapas vanligtvis ett register till samma adress för att skriva till FF och läsa dess värde. För kärnregistren (ackumulator, r0-r15, indexregister osv.) Adresseras registrerna direkt med instruktionen istället för via en separat registeradress.

Vissa MCU-enheter tillåter till och med åtkomst till register i minnesadressutrymmet. Iirc, 8051 gjorde det och tillät faktiskt välja kartläggning av register till olika block av minnesregister.)


Svar 3:

ett register (åtminstone vad jag känner som ett register) är en uppsättning bitar. (beroende på processorn hur mycket kommer att ha).

en flip flop är bara en hårdvarubit (och inte ens nödvändigtvis tillgänglig på datorn kan vara intern, kan vara en del av ett system.

mest säker på att ett register har många interna flip flops. (eller åtminstone någon typ av liknande som inte är säker på om de fortfarande är sådana internt).

eftersom vippan normalt definieras att vara gjord med logiska grindar för att kunna hålla och inte ändras om inte externt ändras en 0 eller 1 (kommer normalt att vara en 0 volt eller någon 5 eller 12 eller 3 volt beroende på vilket system som kommer att vara normalt vcc).