Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Aparatinės daugybos blokas

Lituaniana


Aparatinės daugybos blokas.

Į mikrovaldiklį MSP430F449 yra integruotas aparatinės daugybos blokas (ADB). Mikrovaldiklio struktūroje ADB integruotas kaip isorinis įrenginys ir jis nėra MSP430 procesoriaus (CPU) sudėtinė dalis. Tai reiskia, kad nėra konkrečios CPU daugybos instrukcijos, o daugiklis veikia kaip atskiras blokas. Daugybos bloko registrai yra pasiekiami (įrasomi ir nuskaitomi) CPU instrukcijomis kaip isoriniai įrenginiai.



10 pav. Aparatinio daugybos bloko struktūrinė schema

Dauginamų skaičių formatas gali būti:

- 16 x 16 bitų;

- 16 x 8 bitų;

- 8 x 16 bitų;

- 8 x 8 bitų.

ADB palaiko sias operacijas:

- skaičių be zenklo daugybą;

- skaičių su zenklu daugybą;

- skaičių be zenklo daugybą ir sumos k 828o1416i aupimą;

- skaičių su zenklu daugybą ir sumos kaupimą.

Operacijos tipas nustatomas pagal adresą, kuriuo yra rasomas pirmasis dauginamasis (operandas). ADB turi du 16 bitų operandų registrus (OP1 ir OP2) ir tris rezultato registrus RESLO, RSHI ir SUMEXT. Registre RESLO saugojama jaunesnioji daugybos rezultato dalis, registre RESHI - vyresnioji, registre SUMEXT saugojama informacija apie daugybos rezultatą. Daugyba atliekama per tris signalo MCLK ciklus ir rezultatas gali būti nuskaitytas iskarto po operando OP2 įrasymo instrukcijos.

Operandas OP1 gali būti įrasomas į vieną is keturių registrų (zr. 9 lentelę), tuo pačiu yra isrenkamas daugybos bloko operacijos tipas. Įrasant OP tik isrenkamas ADB operacijos tipas, bet pati operacija dar nepradedama vykdyti. Operacija pradedama vykdyti iskarto po antro operando įrasymo į registrą OP2. Registrų OP1 ir OP2 turiniai sudauginami ir daugybos rezultatas isvedamas į registrus RESLO, RESHI ir SUMEXT. Pakartotina daugyba gali būti atliekama be pirmo operando OP1 uzkrovimo (tuo atveju, kai pirmasis operandas OP1 nesikeičia).

9 lentelė. Operando OP1 adresai

Registras

Adresas

Operacijos tipas

MPY

0130h

skaičių be zenklo daugyba

MPYS

0132h

skaičių su zenklu daugybą

MAC

0134h

skaičių be zenklo daugyba ir sumos kaupimas

MACS

0136h

skaičių su zenklu daugyba ir sumos kaupimas

Rezultato registre RESLO saugojami jauniausi 16 daugybos rezultato bitų. Rezultato registro RESHI turinys priklauso nuo daugybos operacijos tipo (zr. Y2 lenteles).

10 lentelė Registrų RESHI ir SUMEXT turiniai

Operacija

RESHI

SUMEXT

MPY

Vyresnieji sandaugos16 bitai

Visada lygus 0000

MPYS

Vyriausioji MSB skiltis skirta rezultato zenklui. Likusiuose 15 bitų saugojama vyresnioji sandaugos dalis. Neigiami skaičiai saugojami papildomame kode.

Saugojamas sandaugos zenklo plėtinys:

00000h - kai sandauga teigiama arba lygi nuliui;

0FFFFh - kai sandauga neigiama.

MAC

Vyresnieji sukauptos sandaugų sumos 16 bitų.

Saugojamas operacijos pernesimas:

0000h - kai pernesimo nėra;

0001h - kai pernesimas yra.

MACS

Visuose 16 bitų saugojama vyresnioji sandaugų sumos dalis. Neigiami skaičiai saugojami papildomame kode.

Saugojamas sandaugos zenklas:

00000h - kai sandauga teigiama arba lygi nuliui;

0FFFFh - kai sandauga neigiama

Atliekant operacijas su zenklu, rezultato teigiami skaičiai gali kisti nuo 0 iki 7FFF FFFFh, o neigiami skaičiai nuo FFFF FFFFh iki 8000 0000h. Programinio ADB valdymo pavyzdziai:

; 16x16 Daugyba be zenklo

MOV #01234h, &MPY ; Uzkrauti pirmą operandą

MOV #05678h, &OP2 ; Uzkrauti antrą operandą

; Apdoroti rezultatus

; 8x8 Daugyba be zenklo. Aboliutinė adresacija

MOV.B #012h, &0130h ; Uzkrauti pirmą operandą

MOV.B #034h, &0138h ; Uzkrauti antrą operandą

; Apdoroti rezultatus

; 16x16 Daugyba su zenklu

MOV #01234h, &MPYS ; Uzkrauti pirmą operandą

MOV #05678h, &OP2 ; Uzkrauti antrą operandą

; Apdoroti rezultatus

; 16x16 Daugyba be zenklo ir sandaugų kaupimas

MOV #01234h, &MAC ; Uzkrauti pirmą operandą

MOV #05678h, &OP2 ; Uzkrauti antrą operandą

; Apdoroti rezultatus

; 8x8 Daugyba su zenklu ir sandaugų kaupimas. Absoliutinė adresacija

MOV.B #012h, &0134h ; Uzkrauti pirmą operandą

MOV.B #034h, &0138h ; Uzkrauti antrą operandą

; Apdoroti rezultatus

; 16x16 Daugyba su zenklu ir sandaugų kaupimas

MOV #01234h, &MACS ; Uzkrauti pirmą operandą

MOV #05678h, &OP2 ; Uzkrauti antrą operandą

; Apdoroti rezultatus

Naudojant netiesioginę adresaciją sandaugos rezultato nuskaitymo po antro operando įrasymo į registrą OP2, reikia įterpti komandą NOP, pvz,:

mov #RESLO, R5 ; RESLO adresas įrasomas į R5

mov &OPER1, &MPY ; uzkraunamas pirmas dauginamasis

mov &OPER2, &OP2 ; uzkraunamas antras dauginamasis

nop ; vieno ciklo uzlaikymas

mov @R5+, &SANDLO ; nuskaitomas RESLO

mov @R5, &SANDHI ; nuskaitomas RESHI

Jeigu įrasius OP1, pries rasant OP2 įvyksta pagrindinės programos pertraukimas ir pertraukimo apdorojimo paprogramė naudoja daugybos bloką, daugybos informacija pagrindinėje programoje prarandama. Siekiant to isvengti, pries daugybos operaciją reikia uzdrausti pertraukimus (instrukcija DINT), o po atlikus daugybos operacija vėl juos leisti (instrukcija EINT).

11 lentelė. Aparatinio daugybos bloko registrai

Registro paskirtis

Registras

Tipas

Adresas

Pirmas operandas - skaičių be zenklo daugyba

MPY

R/W

0130h

Pirmas operandas - skaičių su zenklu daugybą

MPYS

R/W

0132h

Pirmas operandas - skaičių be zenklo daugyba ir sumos kaupimas

MAC

R/W

0134h

Pirmas operandas - skaičių su zenklu daugyba ir sumos kaupimas

MACS

R/W

0136h

Antras operandas

OP2

R/W

0138h

Rezultato jaunesnysis zodis

RESLO

R/W

013Ah

Rezultato vyresnysis zodis

RESHI

R/W

013Ch

Sumos pernesimo registras

SUMEXT

R

013Eh

Sutrumpinimai R - registro turinį galima nuskaityti, W - į registrą galima įrasyti.


Document Info


Accesari: 2115
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )