Cunoaște Intuit, curs, funcția de dispozitive de linie
2.4.2. funcţii de memorie
Memoria sistemului microprocesor îndeplinește funcția unui depozitare temporară sau permanentă a datelor și a instrucțiunilor. Memoria determină complexitatea admisibilă a algoritmilor sistemului, și, de asemenea, într-o anumită măsură, și viteza a întregului sistem. Modulele de memorie sunt executate on-chip de memorie (RAM sau permanente). Tot mai mult, ca parte a sistemelor de microprocesor care utilizează memorie flash (engl. - memorie flash), care este o memorie nevolatilă cu conținut reinscriptibile.
Spațiul de memorie a sistemelor de microprocesoare de obicei sunt mai multe domenii specifice, care îndeplinesc funcții speciale.
Memoria de lansarea inițială a programului se efectuează întotdeauna pe ROM-ul sau memoria flash. Acesta este cu această zonă CPU începe să funcționeze după pornire și resetați după cu semnalul RESET.
Fig. 2.18. Structura modulului de memorie.
stivă de memorie sau stivă (stivă) - aceasta face parte din memorie destinată pentru stocarea datelor temporare în modul LIFO (Last In - First Out).
Fig. 2.19. Principiul de funcționare al stivei.
Sistemul de comandă al oricărui procesor pentru a comunica cu un teanc de înregistrări sunt comenzi speciale pe stivă (PUSH) și citește din stivă (POP). Teancul poate ascunde nu numai conținutul tuturor registrelor interne ale procesoarelor, dar conținutul registrului de atribute (cuvânt de stare procesor, PSW). Acest lucru permite, de exemplu, atunci când se întorc de la o subrutină pentru a controla rezultatul ultimei comenzi executate imediat înainte de a apela la această rutină. Acesta poate fi, de asemenea, stocate pe stivă și a datelor, pentru mai bine să le treacă între programe și subrutine. În general, mai mult spațiu de memorie alocat pentru stivă. mai mare libertatea de programator și programe mai complexe pot fi rulate.
zona speciala Urmatoarea memorie - acest tabel vector.
De fapt, conceptul este destul de sensuri întrerupere. Sub întrerupere, în general, se referă nu numai la cererea de serviciu a dispozitivului extern, dar, de asemenea, orice încălcare a lucrării de serie procesorului. De exemplu, o întrerupere poate fi furnizate la operații aritmetice cu performanțe incorecte, cum ar fi împărțirea cu zero. Sau întrerupe poate fi un software, atunci când este utilizat în echipa de program du-te la unele de rutină, care este apoi urmată de o revenire la programul principal. În acest din urmă caz, în comun cu întreruperea reală doar ca o trecere la subrutina și întoarcerea de la ea.
Fig. 2.20. Algoritmul de procesare întrerupere simplificată.
Software-ul de întrerupere este de asemenea deservit de tabel vectorul de întrerupere, dar întrerupe număr este specificat ca parte a echipei, de asteptare întrerupere.
Acest lucru complicat la prima vedere, întreruperea organizației permite programatorului pentru a schimba cu ușurință rutina de întrerupere, puneți-le în orice parte a memoriei, ceea ce le face de orice dimensiune și complexitate.
În timpul executării rutina de întrerupere poate face o nouă cerere de întrerupere. În acest caz, acesta este tratat exact la fel cum este descris, dar programul principal este considerat a fi întrerupt de rutina de întrerupere anterioară. Aceasta se numește multiple întrerupe imbricate. Mecanismul de stiva permite să servească atașare multiplă fără probleme, din moment ce prima din stivă este eliminat codul care a fost salvat ultima, adică, întoarcerea procesării întreruperii are loc în rutina de întrerupere anterioară.
În cele din urmă, o altă zonă de memorie specială a sistemului microprocesor - un dispozitiv de memorie conectat la magistrala de sistem. O astfel de soluție este mai puțin frecventă, dar uneori este foarte convenabil. Aceasta este, procesorul este capabil de a accesa memoria internă a dispozitivelor I / O, sau unele în continuare conectat la dispozitivele de magistrală de sistem, ca propriul nostru sistem de memorie. De obicei, fereastra spațiului de memorie alocat acesteia, nu prea mult.