Sunteți pe pagina 1din 4

2014/01/01 20:03

1/4

Tema 3 - Implementarea calculatorului didactic

Tema 3 - Implementarea calculatorului didactic


G G G G G

Responsabil: Dan Dragomir Deadline hard (fr penalizri): 15.01.2014 ora 23:59 Data publicrii: 18.12.2013 Data ultimei actualizrii: 31.12.2013, 19:00 Istoric modificri: 30.12.2013 Adaugat versiune beta a testerului Modificat deadline-ul temei 31.12.2013 Adaugat versiunea finala a testerului
H I I H I

Obiective
Tema are ca scop fundamentarea cunotinelor despre arhitectura calculatoarelor prin implementarea complet a setului de instruciuni al calculatorului didactic.

Descriere i cerine
Completai unitatea de comand nceput la laborator cu urmtoarele instruciuni:
G G G G

instruciunea MOV instruciunile PUSH i POP instruciunea JMP instruciunile de salt condiionat (Jcond - codificarea condiiei se gsete n tabelul din cheat sheet)

Instruciunile trebuie s suporte urmtoarele moduri de adresare:


G G G G

adresarea direct la registru (MOD = 11) adresarea indirect prin registre (MOD = 00) adresarea bazat + indexat (MOD = 10) adresarea imediat (RI[2] == 1)

Modurile de adresare de mai sus trebuie s fie suportate i de instruciunile deja implementate n unitatea de comand (instruciunile cu 1 i cu 2 operanzi). Consultai cursul 5 (paginile 6-23) pentru detalii despre comportamentul fiecrei instruciuni i despre modurile de adresare.

AC Wiki - https://elf.cs.pub.ro/ac/wiki/

Last update: 2013/12/31 17:01

teme:tema3

https://elf.cs.pub.ro/ac/wiki/teme/tema3

Bonus
Pentru bonus va trebui s implementai:
G G G

instruciunile CALL i RET instruciunile PUSHF i POPF adresarea direct, adresarea indirect i adresarea cu autoincrementare/autodecrementare (MOD = 2'b01)

Implementare
Pentru implementare este recomandat s pornii de la codul disponibil n scheletele de laborator. O implementare a calculatorului didactic care conine toat funcionalitatea cerut n timpul laboratoarelor este disponibil n seciunea de resurse. Cteva detalii legate de schelet:
G

la modificarea registrului IND, pentru a memora valoarea de pe magistral, semnalul ind_sel trebuie s fie pe 0, iar pentru a memora valorile generate de UAL semnalul ind_sel trebuie s fie 1

Explicaie nainte de intrarea de date a registrului IND este legat un multiplexor 2:1 pe 16 bii care selectez una dintre cele 2 surse pentru intrarea registrului; semnalul de comand al acestui multiplexor se numete ind_sel. n cazul instruciunilor de salt condiionat, deplasamentul care trebuie adunat la CP este disponibil pe magistral prin activarea semnalului ri_oe

Explicaie biii 8:15 din ieirea registrului RI (cei care codific deplasamentul pentru instruciunile de salt condiionat) sunt inversai i extini la 16 bii (prin multiplicarea bitului de semn) nainte de a fi legai la magistral; prin activarea ieirii lui RI, cu ri_oe, deplasamentul este pus pe magistral pentru a putea fi folosit n caldule

Cteva detalii legate de depanarea implementrii:


G G

execuia unitii de comand poate fi urmrit mai uor folosind breakpoint-uri inspectarea i modificarea valorilor din registrele generale i din memorie poate fi fcut n simulator din tab-ul Memory tab-ul Memory afieaz valorile din memorii la sfritul simulrii; pentru a putea vedea valorile pe parcursul execuiei trebuie s avansai simularea cu un pas mai mic, fie folosind breakpoint-uri, fie folosind butonul Run for the time specified on the toolbar i un pas de ordinul perioadei ceasului (care este implicit 20ns)

https://elf.cs.pub.ro/ac/wiki/

Printed on 2014/01/01 20:03

2014/01/01 20:03

3/4

Tema 3 - Implementarea calculatorului didactic

Notare
G G

G G G

G G G G G

10 pct: corectitudine; sunt folosite o serie de programe de test (to be completed) +2 pct: implementarea instruciunilor CALL, RET, PUSHF, POPF i a modurilor de adresare MOD == 01 -2 pct: folosirea instruciunilor de ntrziere (ex. # 10). -1 pct: lipsa fiierului README. -0.5 pct: pentru fiecare zi de ntrziere; tema poate fi trimis cu maxim 7 zile ntrziere fa de termenul specificat n enun (deadline soft). -0.2 pct: folosirea incorect a atribuirilor continue (assign), blocante (=) i non-blocante (<=). -0.2 pct: indentare haotic -0.2 pct: lipsa comentariilor utile -0.1 pct: comentarii inutile (ex. wire x; // semnalul x) -0.2 pct: diverse alte probleme constatate n implementare

Precizri
G

Arhiva temei este de tip zip: trebuie s cuprind n rdcina sa (fr alte directoare) doar: directorul calc_didactic cu fiierele surs ale implementrii (extensia .v) fiierul README nu trebuie s conin fiiere de test, fiiere specifice proiectelelor etc. Coninutul fiierului README: numele i grupa prezentarea general a soluiei alese explicarea poriunilor complexe ale implementrii (poate fi fcut i n comentarii) alte detalii relevante Tema trebuie realizat individual; folosirea de poriuni de cod de la ali colegi sau de pe Internet (cu excepia site-ului de curs) poate fi considerat copiere i va fi penalizat conform regulamentului.
H I I H H H H H

Resurse
G G G G G

Soluia laboratorului 10 Tester (Windows 7) PDF tem Cheat-sheet calculator didatic Arhitectura calculatorului didactic

From: https://elf.cs.pub.ro/ac/wiki/ - AC Wiki Permanent link: https://elf.cs.pub.ro/ac/wiki/teme/tema3 Last update: 2013/12/31 17:01
AC Wiki - https://elf.cs.pub.ro/ac/wiki/

Last update: 2013/12/31 17:01

teme:tema3

https://elf.cs.pub.ro/ac/wiki/teme/tema3

https://elf.cs.pub.ro/ac/wiki/

Printed on 2014/01/01 20:03

S-ar putea să vă placă și