Stare și de control în registre m-profil, osdev wiki, fandomului alimentat de Wikia

Prezentare generală Editare

Sistem de arhitectura de procesor M-profil este complet diferit de cel în profilurile A și R. În special, formatul registrelor de stare de program (PSR) coincid numai parțial, în toate cele trei profiluri, codul neprivilegiați disponibil.

Stare înregistrează Editare

companie documentația ARM împarte un singur statut înregistrare în trei părți: statutul de cerere înregistrare APSR (Application Program Stare Register), starea de întrerupere înregistrare IPSR (Starea intrerupeti programul Înregistrare) și statutul de înregistrare în execuția programului EPSR (Starea programului de execuție Register). Formatul pentru arhitectura ARMv7-M este prezentată în figura de mai jos. Aceste registre pentru versiunile Armv6-M au un format ușor simplificat, ce vor fi discutate în locurile corespunzătoare din caietul de sarcini.

Starea înregistrează formatul pentru M-Profile

registru APSR conține biți care pot fi schimbate în mod explicit prin programe neprivilegiati prin comanda MSR. și MRS comandă de citire. Scopul acestor biți vor fi descrise mai jos. In versiunea Armv6-M sunt doar patru condiții pavilion N, Z, V și C; ceilalți biți ai acestui registru sunt absente.

registru IPSR constă dintr-un singur câmp care ocupă biții 8-0 în versiunea ARMv7-M și 5-0 versiunea Armv6-M. În modul de curgere, există întotdeauna zero, iar în modul de tratare a - numărul (vector) din excepțiile mâner curente. Codul Privilegiat poate citi valoarea acestei echipe MRS domeniu. dar scris este ignorat.

EPSR registru include bitul T și domeniul ICI / IT, împărțit la doi. Când citiți MRS manualul toate aceste biți va fi zero, iar încercarea de a scrie în ele vor fi ignorate.

T bit reflectă sistemul actual utilizat de echipele din procesoarele M-profil trebuie să fie întotdeauna egal cu unitatea, deoarece acestea acceptă numai un set de degetul mare / Thumb-2 (în cazul în care este zero, încercare de a executa prima comandă după resetare va avea ca rezultat are loc o excepție).

Domeniul ICI / IT, disponibilă numai versiunea ARMv7-M, este destinat pentru stocarea stării de execuție a blocului de instrucțiuni instrucțiunea de pornire IT condiționată. sau progresul unui grup de instrucțiuni de încărcare interuptibil sau a salva LDM și registru STM. În caz de excludere salvată în stivă valoarea acestui câmp este utilizat pentru a continua blocul condiționată sau instrucțiunea întreruptă după întoarcerea din handler excepție. Atunci când se utilizează ICI / IT câmpuri pentru stocarea bloc condiționată starea tuturor de biți sale sunt folosite; scopul lor este dată în descrierea instrucțiunii IT. Dacă acest câmp este utilizat atunci când instrucțiunea întreruptă biții EPSR 26:25 și 11:10 va fi zero, iar biții 15:12 va fi, salva sau încărca un număr de registru, după cum urmează. În cazul în care comanda este întreruptă într-un domeniu ICI bloc condițional / IT stochează informații referitoare la blocul condiționată; în acest caz, atunci când reveniți din handler excepție întreruptă de comanda se va repeta de la început.

Un alt registru de biți EPSR nouă considerat rezervat în timp ce menținerea stării stivuite a registrului în timpul intrării handler excepție este instalat, în cazul în care indicatorul stiva (SP) a fost redus la 4 pentru a se asigura alinierea la limita unei DWORD, și este resetat atunci când suplimentare reducerea SP nu se realizează.

Cu instrucțiuni MSR și MRS pot fi accesate imediat de două sau toate cele trei registre. Acest lucru se datorează faptului că fizic nu există decât un singur registru de stare comun și APSR, IPSR și EPSR sunt doar opiniile sale „în lumea exterioară.“ Pentru a specifica care înregistra nume pe care le va accesa, utiliza notația IAPSR, EAPSR, IEPSR și XPSR (acesta din urmă înseamnă tratarea simultană a tuturor celor trei registre).

Modificări în registrul de stare, a prezentat cu ajutorul MSR de instrucțiuni. intra în vigoare imediat după finalizarea acestuia.

condiţii de pavilion

Biții N, Z, C și steaguri V sunt denumite în mod colectiv, pur și simplu steaguri sau condiții. Ele caracterizează rezultatul unei operații și poate fi utilizată pentru a organiza tranzițiile și condiționare a executării comenzilor.

Condiții Flags schimbat instrucțiunile de procesare a datelor în formă de S care să reflecte rezultatul obținut în aceasta. Reguli generale de modificare a acestora sunt prezentate în tabel; toate excepțiile și clarificările oferite în comanda.

articole similare