Clasa de procesoare MCS 48

Trimis la data: 2007-06-25 Materia: Informatica Nivel: Facultate Pagini: 13 Nota: / 10 Downloads: 1170
Autor: Carmen Patrascanu Dimensiune: 245kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Clasa de procesoare MCS48 este reprezentata in principal de procesorul 8048, la care memoria program este de tip PROM, fiind programata pe ciclul de productie, 8748, memoria program fiind de tip EPROM, si de 8049 / 8749, diferenta fiind data de faptul ca 8049 / 8749 are memorie de program de 2KB si memorie de lucru de 128

Intern, MCS48 este organizat utilizand urmatoarele blocuri logice:
- unitatea aritmetico-logica
- registrul acumulator
- memoria program (1KB la 8048, 2KB la 8049)
- memoria de lucru – date (64 octeti la 8048, 128 octeti la 8049)
- porturi I/O

1. Unitatea Aritmetico-logica

Accepta cuvinte de cod pe 8 biti din una sau doua surse si genereaza un rezultat pe 8 biti. Sub controlul Decodorului de Instructiuni, ALU poate executa urmatoarele functii:
• adunarea, cu sau fara transport
• operatii logice: SI, SAU, SAU Exclusiv, etc
• incrementari, decrementari
• complement pe biti
• rotiri stanga – dreapta
• ajustari BCD

Daca in urma operatiilor executate de ALU rezulta o valoare care este reprezentata pe mai mult de 8 biti, rezultand astfel un overflow pe bitul cel mai semnificativ, in Program Status Word (registru ce stocheaza starea procesorului) se seteaza flag-ul Carry.

2 .Acumulatorul

Este cel mai important registru din procesor, fiind atat sursa pentru intrarile din ALU, cat si destinatie a rezultatelor operatiilor executate de acesta. De asemenea, datele de pe porturile I/O si de memorie trec tot prin acumulator.

O schema generala, in care este prezentat acumulatorul si modul de conectare al acestuia cu celelalte blocuri logice ale procesorului MCS 48 este prezentata mai sus.

3. Memoria program

Memoria program este o memorie de tip PROM (in cazul 8048 – 8049 ) sau de tip EPROM (pentru 8748 – 8749), avand dimensiunea de 1024 octeti pentru 8048/8748 sau 2048 pentru 8049/8749. Aceasta memorie poate fi adresata de catre Program Counter.
In memoria program exista trei zone de memorie de important speciala:
• locatia 0 : reprezentata de prima adresa de memorie. Este activata de linia de RESET si forteaza procesorul sa citeasca aceasta adresa; contine vectorul de reinitializare.
• locatia 3 : activeaza linia de intreruperi a procesorului, determinand un JUMP la subrutina respectiva
• locatia 7 : contine vectorul de intrerupere pentru timer / counter; este citit in cazul unui overflow al counter-ului

Prima instructiune care va fi executat dupa o actiune de RESET este instructiunea localizata la adresa de program “0”. Primul cuvant al instructiunii de intrerupere este localizat intotdeauna la locatia de memorie “3” iar primul cuvant al rutinei de timer la adresa “7”.
Memoria program poate contine, pe langa codul de program si date, sub forma de constante.

4. Memoria de date

Memoria de date este o memorie pe 8 biti putand avea capacitatea de 64 octeti (la 8048) sau 128 octeti (pentru 8049). Toate locatiile de memorie sunt adresate indirect prin doi registri(RAM Adress Register) de tip pointer, localizati la adresele 0 si 1.
La nivel functional, memoria este organizata in 4 zone dupa cum urmeaza:
• doua bankuri de cate 8 locatii (bank 0 – adresele 0-7 si bankul 1 - adresele 24 – 31) care pot fi adresate direct si reprezinta registrii de lucru ai procesorului. Bankul principal este bankul 0 si este utilizat pentru a putea stoca valori intermediare. Bankul 1 poate fi utilizat ca o extensie a registrului de lucru (bankul 0) sau poate fi rezervat pentru utilizarea in cazul subrutinelor de intreruperi. Daca bankul 1 nu este utilizat (selectia facandu-se prin program) el poate deveni memorie de uz general
• o zona de stack pointer (adresele de memorie 8 – 23) organizata ca un stack pe 8 nivele, fiecare nivel ocupand 2 adrese de memorie.
• o zona de memorie de uz general – adresele 32 – 64 (128 pt 8049)

5. Porturile Input / Output

Procesorul 8048 are 27 linii de I/O, acestea fiind grupate in 3 porturi de cate 8 linii si 3 linii de intrare de test, utilizate pentru testarea instructiunilor de JUMP conditional.
Astfel, porturile 1 si 2 sunt porturi cvasi-bidirectionale, adica datele scrise de procesor in aceste porturi sunt stocate in latch-uri si raman neschimbate pana cand sunt rescrise. Ca porturi de intrare, aceste linii nu lucreaza prin latch, adica o instructiune de intrare este preluata imediat. Portul 3 este un port bidirectional.

Liniile de intrare de test, notate T0, T1 si sunt utilizate pentru JUMP conditional pe ramuri ale programului fara a fi necesara incarcarea intrarii portului in acumulator. T0 este utilizat pentru programare si poate servi si ca iesire de clock. T1 este utilizat ca intrare de contor de eveniment utilizand instructiunea STRT CNT (Start Event Counter). Pinul (activ pe low) este utilizat ca o intrare de intrerupere, intreruperea fiind dezactivata de RESET.

6. Program counter si Stack-ul

Program counterul este un contor independent in timp ce Program Counter Stack este implementat utilizand perechi de registri din memoria de date (vezi mai sus la zonele de memorie). Din cei 16 biti, doar 10 sau 11 sunt utilizati pentru adresarea adreselor din memoria program, in timp ce bitii cei mai semnificativi sunt folositi pentru adresarea memoriei externe. In cazul unui RESET, Program Counterul este initializat cu 0.

La o intrerupere sau la o instructiune de CALL a unei subrutine continutul Program Counterului este salvat in unul din cei 8 registri ( de 16 biti – 2 octeti) din Program Counter Stack. Perechea de locatii de memorie din stack este data de 3 biti din Stack Pointer, care este parte a Program Status Word (vezi mai jos structura acestuia).
Primul jump sau intrerupere determina salvarea continutului Program Counterului la adresele 8 si 9 din memorie. In cazul unei noi subrutine, continutul este salvat la adresele 10 – 11. In caz de overflow (adica mai mult de 8 subrutine lansate) se suprascriu locatiile 8 si 9, semnalizand totodata acest lucru (buffer overflow).

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Filmele zilei
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10 Bacalaureat 2019 Vezi subiectele examenului de Bacalaureat din 2019 Evaluare Nationala 2019 Ultimele informatii despre evaluare nationala
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles