A speciális funkcióregiszter vagy speciális funkciójú regiszter (SFR) olyan mikrovezérlőn belüli regiszter, amely a mikrovezérlő működését vezérli vagy annak valamely funkcióját monitorozza, különböző szempontok szerint. A processzorarchitektúrától függően, ezek körébe tartozhatnak a következők: Be- / kimenet és perifériák vezérlése (például soros portok vagy általános célú I/O-k) időzítők veremmutató veremhatár (a túlcsordulás megakadályozására) programszámláló – egyes architektúrákban több is szubrutin visszatérési címe processzorállapot (megszakítás kiszolgálása, védett üzemmódban való futás, stb.) feltételkódok (előző összehasonlítások eredménye)

Mivel a speciális regiszterek szorosan kapcsolódnak a mikrovezérlő bizonyos speciális funkcióihoz vagy állapotához, ezek gyakran közvetlenül nem írhatóak a processzor normál utasításaival (például összeadással, mozgatással, stb.). Ha a normál utasítások nem használhatók, egyes mikrovezérlő-architektúrákban a speciális regiszterek módosításához egyedi (speciális) utasításokra van szükség. Például a legtöbb mikrovezérlő-architektúrában a programszámláló nem írható közvetlenül. Ekkor a programszámláló értékének állítására a programozók olyan utasításokat használnak, mint a visszatérés szubrutinból, ugrás, vagy elágazás. Egy másik példaként említhető a feltételkód-regiszter, ami általában szintén nem írható közvetlenül, hanem csak az összehasonlító utasítások vagy logikai műveletek állítják be azokat (kivéve, ha léteznek külön feltételbit-beállító utasítások, pl. STC / CLC).

Intel mikrovezérlők A speciális funkcióregiszterek a címezhető memória felső tartományában érhetők el, a 0x80-tól 0xFF-ig terjedő címek közötti területen. Ez azt jelenti, hogy a funkcióregiszterek tartalma megjelenik a hozzá rendelt memóriacímen, ott elérhető olvasásra és írásra. Ez a memóriaterület nem használható adatok vagy programok tárolására, hanem memóriába leképezett portok és regiszterek sorozata. Minden port bemeneti és kimeneti művelet végrehajtható memóriamozgató (adatátviteli) műveletekkel az SFR tartomány megadott címein. Ugyanígy, a különböző állapotregiszterek szintén az SFR-be vannak leképezve, például a 8051 állapotának ellenőrzésére, és a 8051 egyes működési paramétereinek módosítására szolgálnak.

Egyes SFR-bitek közvetlenül beállíthatók az SETB/LDB utasítások használatával az SFR címén, míg másokhoz speciális utasítások használata szükséges. Az Intel 80196 osztályú mikrovezérlők 24 SFR-rel rendelkeznek, melyek mindegyike 1 bájt méretű; a szabványos Intel 8051 csipek 21 SFR-rel rendelkeznek.

Fordítás

Források További információk i8051 SFRs

SFRs in C programming for AVR Kapcsolódó szócikkek

Regiszter (számítástechnika) Az Intel 8051 speciális regiszterei Az Atmel AVR regiszterei

Kategória:Mikrovezérlők Kategória:Mikroprocesszorok