Differences

This shows you the differences between two versions of the page.

Link to this comparison view

apm:laboratoare:02:exercitii [2024/02/29 15:06]
127.0.0.1 external edit
apm:laboratoare:02:exercitii [2025/10/21 20:23] (current)
stefan.maruntis
Line 13: Line 13:
 </​note>​ </​note>​
  
-<​hidden>​ +**Task ​00**  ​Descărcați {{:​apm:​laboratoare:​02:​lab02.zip| ​scheletul de laborator}}.
-**Task ​0** (1p) Inspectați scheletul ​laboratorului,​ identificați modulele din schema ​de mai sus și găsiți răspunsuri pentru următoarele întrebări:​+
  
-  ​(0.2p) Cum se numește parametrul ce definește lățimea instrucțiunilor (Nrbiți) ? +Următoarele task-uri necesită modificări în mai multe fișiere din arhivă. Căutați TODO-urile din fișierele **decode_unit.v** (pentru ​etapa de ID), **alu.v** (pentru etapa de EXEC)**control_unit.v** (pentru etapa de WB).
-  ​(0.2p) Care e lățimea registrelor ? (Nr. bytes) +
-  - (0.2p) Câți bytes poate stoca memoria rom folosită ​pentru ​instrucțiuni ? +
-  - (0.2pCu se stagiu al pipeline-ului se ocupă ''​alu.v''​ ? +
-  - (0.2pCare este valoarea inițială a registrului r4 ?  +
-</​hidden>​ +
- +
- +
-**Task 00**  ​Descărcați {{:​apm:​laboratoare:​02:​lab02_apm.zip| scheletul ​de laborator}}.+
  
 **Task 01** (1p) Implementați instrucțiunea NOP. **Task 01** (1p) Implementați instrucțiunea NOP.
  
 **Task 02** (1p) Implementați instrucțiunea NEG. **Task 02** (1p) Implementați instrucțiunea NEG.
- 
-<​hidden>​ 
-<​note>​Pentru instrucțiunea NEG, flag-ul H se calculează astfel: H = R3 + ~Rd3 (În [[http://​ww1.microchip.com/​downloads/​en/​devicedoc/​atmel-0856-avr-instruction-set-manual.pdf|AVR Instruction Set Manual]] e un typo.)</​note>​ 
-</​hidden>​ 
  
 **Task 03** (2p) Implementați instrucțiunea ADD. **Task 03** (2p) Implementați instrucțiunea ADD.
Line 41: Line 28:
  
 **Task 06** (2p) Implementați instrucțiunea OR. **Task 06** (2p) Implementați instrucțiunea OR.
 +
 +<note important>​
 +
 +Pentru instrucțiunile care nu modifică în mod explicit valoarea unui bit din registrul SREG, acel bit trebuie setat pe 0!
 +
 +Mai exact:
 +
 +  * Pentru NOP, **toți biții** registrului SREG trebuie setati pe 0
 +  * Pentru toate celelalte instructiuni,​ **biții I** (Interrupt) si **T** (Timer) trebuie setați pe 0
 + 
 +</​note>​
apm/laboratoare/02/exercitii.1709211989.txt.gz · Last modified: 2024/10/09 17:44 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0