Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Primena FPU u mikrokontrolerima?

[es] :: Elektronika :: Mikrokontroleri :: Primena FPU u mikrokontrolerima?

[ Pregleda: 2345 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.isp.telekom.rs.



+5 Profil

icon Primena FPU u mikrokontrolerima?23.09.2014. u 21:09 - pre 115 meseci
Da li neko može da mi objasni šta je tačno FPU (Floating Point Unit) i za šta se koristi u mikrokontrolerima? Kakve su to floating point instrukcije? Hvala
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Primena FPU u mikrokontrolerima?23.09.2014. u 21:23 - pre 115 meseci
floating point -> broj sa pomerljivim zarezom

za razliku od INT-a koji je ceo broj float i double rade drugacije, mogu
da prikazu jako mali broj (0.0000000000001234) ili jako veliki broj,
fora je u MANTISA+EXPONENT, dakle imas mantisu koja predstavlja
"koristan" deo broja i exponent koji pokazuje gde je taj koristan broj u
odnosu na decimalnu tacku/zarez. Ako te vise zanima o samoj
reprezentaciji pogledaj wiki


CPU koji ne ume ra radi floating point ima ALU koji ume samo da radi sa
int brojevima tako da sabiranje traje u proseku 1 takt, oduzimanje 1,
mnozenje 1-5 i slicno, sa druge strane ako treba da saberes 2 float-a
cpu to ne ume vec se to simulira u software-u i sabiranje 2 float-a
uzima u proseku 50 taktova, mnozenje 2 float-a 300 taktova i slicno .. +
zauzimaju mnogo flash-a + zauzimaju ram.

FPU ume da direktno operise floating point brojevima tako da je
sabiranje 2 floating point broja 1-2 takta, mnozenje 2-5 taktova i
slicno. Dakle FPU je modul slican kao sto je ALU jedino sto ALU
funkcionise sa int a FPU sa float. FPU moze da bude integrisan u mcu/cpu
a moze da bude externi hw modul. Uglavnom nije integrisan u mcu posto
"kosta", sastoji se iz puno tranzistora tako da ako ti treba fpu turis
externi. Integrisan je u vecinu CPU koji su namenjeni za neke "general
use" stvari (serveri, dekstopi..) a u vecinu mcu nije integrisan jer je
tu upotreba malo specijalizovanija a cena znacajna pa kome treba stavi
externi. Naravno postoje cpu bez i mcu sa integrisanim

http://en.wikipedia.org/wiki/Floating-point_unit
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Primena FPU u mikrokontrolerima?18.10.2014. u 21:11 - pre 114 meseci
Pitanje, na STM32F4 koji ima FPU i enablovan u startup-u, kako iskoristiti to prakticno za operacije ovog tipa:

Code:
double kal = 2513.3F;
double rezultatl = 0;
rezultat = 4096 * 1000 / kal;


Negde smo spominjali da compiler (KEIL) nije bas toliko pametan da ovakav izraz prekombinuje u funkcije koje direktno koriste HW FPU instrukcije ili je ipak pametan?

Kako to napisati da se bas koriste FPU instrukcije?
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Primena FPU u mikrokontrolerima?18.10.2014. u 22:12 - pre 114 meseci
Ipak compiler radi neku optimizaciju jer dobijam rezultate koji su odpilike 4x brzi kada se ukljuci HW FPU na nivou projekta.
Za info, double precision FP (64bit) je sporiji nekih 11x nego single precision FP (32bit) kada je enablovan HW FPU, nisam probao sa SW FPU, moguce da bi bio jos losiji odnos.

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Primena FPU u mikrokontrolerima?18.10.2014. u 22:40 - pre 114 meseci
Ako su promjenjive tipa float, i ako je uključena opcija za FPU u kompajleru - to bi trebalo da je dovoljno samo po sebi.
E sad, ako su promjenjve tipa double, ko zna zna, ko ne zna - ja...
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Primena FPU u mikrokontrolerima?19.10.2014. u 01:03 - pre 114 meseci
ako je kal double/float i upaljen ti je hw on ce iskoristiti fpu.. ne ume da koristi dsp funkcije (integer kompleksan math u jednoj instrukciji tipa pomnozi ova dva, ovaj povecaj za jedan i onda podeli sa ovim sto si prethodno smanjio za jedan) ali fpu koliko ja znam keil tera ok na arm-u

gcc na arm-u meni nije koristio fpu instrukcije ali to moze da bude zato sto nisam umeo da upalim podrsku

Citat:
double precision FP (64bit) je sporiji nekih 11x nego single precision FP (32bit) kada je enablovan HW FPU, nisam probao sa SW FPU


on double precission radi softwerski uvek na ovim arm mcuima tipa F4 posto njegov FPU ume da barata samo 32bitnim brojevima (vidi doc) .. e sad da li za double precision koristi fpu instrukcije ili to radi preko inta nemam pojma, to sad vec iskljucivo zavisi od kompajlera pogledaj asm koji generise
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Primena FPU u mikrokontrolerima?

[ Pregleda: 2345 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.