Simulator procesor DLX - Specificatii de program.
Pagina introductiva
Despre program - folosire
Despre resursele procesorului
Despre procesor - operatii
Despre intreruperi
Specificatii de program
Contactati-ne pe web !
Sunt grupate in aceasta pagina cateva considerente de constructie a programului, cateva conventii si cateva explicatii necesare pentru intelegerea modului de abordare a variantei de rezolvare.
Conventii clare:
1) Nu se lucreaza direct cu memoria (deci operatiile se fac pe registre).
2) Procesorul (clasa component) vine cu niste functii clare si NEMODIFICABILE (LoadReg = incarca registru cu valoare data; GetReg = citirea unui registru; SetPC = seteaza PC la o valoare data; GetPC = citeste valoarea PC; GetMem = citeste de la o locatie din memorie; SetMem = scrie la o locatie din memorie).
3) Orice alta operatie se face folosind operatiile de mai sus si lucrul cu buffere (notate temp in general). Nu se admite crearea de noi operatii ale procesorului. Cele date sunt suficiente.
4) Memoria este adresabila pe 32 de biti si nu pe octet (cum este precizata in cursuri).
5) Datele sunt memorate in binar dar pot fi calculate si echivalentele zecimale.
6) In memorie se afla numai operanzi, nu si instructiuni. In urma unei analize mai detaliate se va considera ca si in registre se afla tot operanzi.
Posibilitati de realizare: In urma analizei posibilitatilor de lucru, se disting doua metode: clasica si avansata.
- Metoda clasica consta in: citirea instructiunilor din fisierul sursa. Codificarea datelor folosind o tabela de codificare pentru a obtine codurile operatiilor. Incarcarea datelor in memorie in format binar. Extragerea pe rand a instructiunilor, decodificarea din binar in campuri de instructiuni si campuri de date si adrese si executarea acestora. Observatii: programul este memorat in procesor (in registre), in format binar (asa cum se intampla in realitate) si memoria este adresabila pe octeti (deci PC se incrementeaza din 4 in 4 pentru a trece de la o linie memorie la alta). Se observa ca metoda (desi corecta ca implementare) este greoaie datorita codificarilor si decodificarilor repetate.
- Metoda avansata a fost elaborata in urma discutiei cu managerul proiectului si consta in: programul este memorat direct in fisier, iar PC memoreaza linia din fisier pe care se afla instructiunea curenta. Asadar, in memorie si in registre se afla NUMAI operanzi. Evident, PC se va incrementa din 1 in 1 si memoria va fi adresabila pe 32 de biti. Desigur, simularea nu va trece prin toate etapele intermediare din punct de vedere al instructiunilor, ci va efectua doar prelucrari asupra datelor. Se simplifica insa substantial proiectul.
- In cazul clasic era necesara incarcarea registrelor si memoriei cu date deja codificate in binar (conform cu tabela de coduri). In cazul avansat vom introduce o instructiune LOAD in setul de instructiuni in asamblare al procesorului, instructiune care incarca in registre direct o valoare imediata.
Rulare: Programul citeste datele din fisierul sursa, le incarca intr-o matrice interna si le executa.
Pentru a rula pagina la inceput (la meniu) dati un click aici.