This shows you the differences between two versions of the page.
|
ac-is:lab:lab06 [2021/11/07 21:29] alexandru.predescu [Exerciții] |
ac-is:lab:lab06 [2023/11/25 19:33] (current) teodor.dicu [Resurse] |
||
|---|---|---|---|
| Line 123: | Line 123: | ||
| După cum se poate observa, cea de-a doua operație aritmetică este ADC, adică adunare cu transport (carry). Semnificația este următoarea: dacă de la operația anterioară de adunare a apărut transport, acest transport va trebui propagat în octeții superiori. Astfel, operația ADD, în cazul în care a apărut transport, setează bitul T din registrul IND. Operația ADC realizează suma între operanzi, dar include în calcul și acest bit de transport. | După cum se poate observa, cea de-a doua operație aritmetică este ADC, adică adunare cu transport (carry). Semnificația este următoarea: dacă de la operația anterioară de adunare a apărut transport, acest transport va trebui propagat în octeții superiori. Astfel, operația ADD, în cazul în care a apărut transport, setează bitul T din registrul IND. Operația ADC realizează suma între operanzi, dar include în calcul și acest bit de transport. | ||
| - | Un alt exemplu este saltul condiționat. O instrucțiune de tip «if (a=2)» se va implementa astfel: | + | Un alt exemplu este saltul condiționat. O instrucțiune de tip «if (a==2)» se va implementa astfel: |
| <code asm> | <code asm> | ||
| CMP RA,2 | CMP RA,2 | ||
| Line 327: | Line 327: | ||
| - **(1p)** Explicați conținutul fișierului //calc_didactic/calc_didactic.v// corelându-l cu schema bloc a calculatorului didactic din secțiunea [[lab06#Resursele calculatorului didactic|Resursele calculatorului didactic]]. Rulați proiectul pe placa de laborator și urmăriți execuția primei instrucțiuni. | - **(1p)** Explicați conținutul fișierului //calc_didactic/calc_didactic.v// corelându-l cu schema bloc a calculatorului didactic din secțiunea [[lab06#Resursele calculatorului didactic|Resursele calculatorului didactic]]. Rulați proiectul pe placa de laborator și urmăriți execuția primei instrucțiuni. | ||
| - | * //Hint:// Citiți secțiunea [[#testare]] pentru informații despre testarea calculatorului didactic pe placa de laborator. | + | * //Hint:// Citiți secțiunea [[#testare]] (N/A) pentru informații despre testarea calculatorului didactic pe placa de laborator. |
| - **(3p)** Implementați modulul //register// pornind de la declarația din fișierul //calc_didactic/register.v//. | - **(3p)** Implementați modulul //register// pornind de la declarația din fișierul //calc_didactic/register.v//. | ||
| * //Hint:// Revedeți [[.:lab05#Depozitarea informației digitale: Registrul| laboratorul 5]]. | * //Hint:// Revedeți [[.:lab05#Depozitarea informației digitale: Registrul| laboratorul 5]]. | ||
| Line 336: | Line 336: | ||
| * //Hint:// Pentru declararea array-urilor multidimensionale revedeți [[.:lab03#Tipul reg| laboratorul 3]]. | * //Hint:// Pentru declararea array-urilor multidimensionale revedeți [[.:lab03#Tipul reg| laboratorul 3]]. | ||
| - **(3p)** Implementați în unitatea de comandă etapa de //fetch// a execuției unei instrucțiuni. | - **(3p)** Implementați în unitatea de comandă etapa de //fetch// a execuției unei instrucțiuni. | ||
| + | |||
| + | {{ :ac-is:lab:lab06:fetch.png?200 | Diagrama de stări}} | ||
| + | |||
| /* * Semnalele ''oe'' și ''we'' reprezintă //Output Enable//, respectiv //Write Enable//. | /* * Semnalele ''oe'' și ''we'' reprezintă //Output Enable//, respectiv //Write Enable//. | ||
| Line 368: | Line 371: | ||
| ===== Resurse ===== | ===== Resurse ===== | ||
| * {{.:lab06:lab6_skel.zip|Schelet de cod}} | * {{.:lab06:lab6_skel.zip|Schelet de cod}} | ||
| - | * {{.:lab06:sol:lab6_sol.zip|Soluție laborator}} (disponibilă începând cu 09.11.2019) | ||
| * <html><a class="media mediafile mf_pdf" href="/ac/wiki/lab/lab06?do=export_pdf">PDF laborator</a></html> | * <html><a class="media mediafile mf_pdf" href="/ac/wiki/lab/lab06?do=export_pdf">PDF laborator</a></html> | ||
| * {{..:resurse:cheat-sheet.pdf|Cheat-sheet calculator didactic}} | * {{..:resurse:cheat-sheet.pdf|Cheat-sheet calculator didactic}} | ||
| * {{..:resurse:ac5.pdf|Arhitectura calculatorului didactic}} | * {{..:resurse:ac5.pdf|Arhitectura calculatorului didactic}} | ||
| - | |||
| - | |||
| - | ===== Resurse ===== | ||
| * <html><a class="media mediafile mf_pdf" href="https://ocw.cs.pub.ro/courses/ac-is/lab/lab06?do=export_pdf">PDF laborator</a></html> | * <html><a class="media mediafile mf_pdf" href="https://ocw.cs.pub.ro/courses/ac-is/lab/lab06?do=export_pdf">PDF laborator</a></html> | ||
| + | * {{.:lab06:sol:lab6_sol.zip|Soluție laborator}} | ||
| - | + | <ifauth @ac-is> | |
| - | <ifauth @user> | + | |
| ---- | ---- | ||
| + | * {{.:lab06:sol:lab6_sol.zip|Soluție laborator}} | ||
| * [[ac-is:internal:guidelines|Ghid asistent]] | * [[ac-is:internal:guidelines|Ghid asistent]] | ||
| </ifauth> | </ifauth> | ||