Multiplicatorul de hardware
Această secțiune descrie multiplicatorul de hardware. Multiplicatorul de hardware este implementat în dispozitivele MSP430x14x și MSP430x16x.
7.1 Introducere în multiplicatorul de hardware
Multiplicatorul de hardware este un dispozitiv periferic și nu face parte din procesorul MSP430. Aceasta înseamnă că acțiunile sale nu se suprapun cu acțiunile CPU. Registrele multiplicatorului sunt registre periferice care sunt încărcate și citite de comenzile CPU.
Multiplicatorul de hardware suportă:- Înmulțire fără semn;
- Înmulțire cu semn;
- Înmulțire fără semn cu acumulare;
- Înmulțirea cu semn și acumulare;
- 16 * 16 biți, 16 * 8 biți, 8 * 16 biți, 8 * 8 biți.
Diagrama bloc a multiplicatorului de hardware este prezentată în figura 7.1.
Fig.7-1 Diagrama bloc a multiplicatorului de hardware
7.2 Funcționarea multiplicatorului de hardware
7.2.1 Registrele operatorului
Repetiția de multiplicări pot fi efectuate fără reîncărcare OP1, dacă valoarea din OP1 este utilizată pentru operații succesive. Nu este nevoie să suprascrieți valoarea în OP1 pentru a efectua operațiuni.
Pierderea cifrelor semnificative și depășirea MACS
Multiplicatorul nu detectează automat sau depășire inferioară depășire în modul MACS. Gama de baterie pentru numere pozitive este 0 - 7FFF FFFFh, iar pentru negativ numerele 0FFF FFFh - 8000 0000h. Depăsirea se produce atunci când rezultă însumarea a două numere negative din interval pentru un număr pozitiv. Curentul inferior apare atunci când rezultatul adăugării a două numere pozitive este în afara intervalului pentru un număr negativ. În ambele cazuri, registru SUMEXT conține semnul corect al rezultatului: 0FFFFh preaplin 0000h și pierderea de cifre semnificative. Software-ul utilizatorului trebuie să definească și să proceseze corect aceste stări.
7.2.3 Exemple de software
7.2.5 Utilizarea întreruperilor
Dacă întreruperea a avut loc după înregistrarea OP1, dar înainte de OP2 de înregistrare, iar multiplicatorul este utilizat în procedura de prelucrare a multiplicatorului modul sursă de întrerupere selectată va fi pierdută, iar rezultatul va fi imprevizibil. Pentru a evita acest lucru, trebuie să dezactivați întrerupe înainte de a utiliza multiplicatorul hardware și să nu-l utilizați în rutina de întrerupere de servicii.
7.3 Registrele multiplicatorului de hardware
Lista registrelor multiplicatorului de hardware este dată în Tabelul 7.4.
Tabelul 7-4. Registrele multiplicatorului de hardware