Hur kan jag få tag på prestandaversionen av Nucleo?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45270
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av TomasL »

Till vad???
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Ja? Varför uppfinna hjulet på nytt? Divition med heltal är inget nytt. Alltså borde det finnas färdiga bibliotek? Jag tänker inte skriva unika funktioner till olika nämnare och täljare. Då använder jag FPU:n istället.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45270
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av TomasL »

Men snälla nån, har du överhuvudtaget en aning om vad du håller på med?
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

DanielM skrev:>> Men det verkar ju vara som vanlig här. Du ignorerar inlägg och fortsätter på inställd kurs.

Visa mig ett exempel då istället för att kritisera? Liggande stolen är lite för gammalt för mig. Sådant lärde jag mig inte när jag gick i skolan.
Vi hade datorer och räknare för våran lärare tyckte ändå att det var ingen idé att repitera division och addition från lågstadiet.

På universitetet var det MATLAB som gällde. Fanns ingen handräkning där.
Låt säga att du har a=8,125 och b=1,25

Då kan du välja att representera 8,125 med 65, alltså med skalningsfaktorn 8. 8 decimalt är 1000 binärt. En jämn tvåpotens med 3 nollor. Mycket enkelt att räkna med för en dator, precis som att jämna tiopotenser är enkla för oss som är vana vid decimala systemet. 1000 är samma som 2^3 eller 1 << 3. 3 skift

b kan representas av 5 med skalningsfaktorn 4, 2 skift.

Divisionen blir a/b utförs som 65 / 5 = 13. Eftersom att a hade skalningen 3 skiftningar, och b 2 skiftningar, kommer kvoten ha en skalning som är differensen dem emellan, d.v.s 1 skift. Med andra ord är skalningsfaktorn 1 << 1 = binärt 10, decimalt 2. 13 representerar därmed 6,5. 8,125 / 1,25 är 6,5, så uträkningen fick rätt resultat.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Så man ska inte följa Stefan Mishook's råd?

bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

DanielM skrev:Ja? Varför uppfinna hjulet på nytt? Divition med heltal är inget nytt. Alltså borde det finnas färdiga bibliotek? Jag tänker inte skriva unika funktioner till olika nämnare och täljare. Då använder jag FPU:n istället.
Det var ju det jag sa=)

Om processorn är långsam, saknar float-stöd, och har begränsat minne, då hittar man på finurliga lösningar. Ifall man är van vid dessa finurliga lösningar ser man dem som så naturliga och självklara att man tycker att mycket enkla/spartanska processorer duger åt även avancerade uppgifter, förutsatt att uppgifterna löses med dessa finurliga metoder. Du saknar den bakgrund som behövs för att förstå varför man gör såhär, och verkar inte heller intresserad av att lära dig mer, baserat på ilskan du visar när du börjar skrapa på ytan. Därför skrev jag inlägged om att jag var "orolig" när du var inne på att använda fixed point. Du fick iaf ett exempel av mig ovan. Ifall du tyckte om den typen av matematik kanske du skulle vilja fortsätta att lära dig mer om detta, men jag tvivlar på att du gör det. =)
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Processorn är 180 Mhz och har float-stöd. :) samt 128 kb RAM, där jag använder inte ens allt.

Jag är inte ilsken. Har inte varit arg på 15 år. Jag är däremot lite utav en arbetsledare i mitt arbetsliv där jag ofta ställer frågan "Tid & Kostnad". Hur mycket tjänar jag på att använda unint32_t istället för float om jag har möjlighet att använda float? Om det skulle visa sig att jag vinner lite tid extra med uint32_t istället för float, men det var en hel del jobb att implementera. Då tycker jag det smakar mindre än vad det kostar.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45270
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av TomasL »

Suck, du fattar tydligen ingenting, over and out, for now
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Du vet att det ger inget att idiotförklara den man vill lära ut. Har arbetat som lärare på ett gymnasium och dumförklara eleverna är något man man sist skulle göra. Ödmjukhet är en styrka inom läraryrket.

Men om jag gör ett försök igen.

Låt oss säga att jag har två värden av typerna uint32_t. Ena är 4095 och andra är 1023. Om jag delar 4095/1023 = 4.00293255132.
Skulle man inte kunna säga att man får avrundingen uint32_t 4 då? Jag menar 32-bit har inte en oändlig upplösning.

Edit:
Detta var ingen bra idé!
Senast redigerad av DanielM 7 december 2019, 00:49:29, redigerad totalt 1 gång.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

DanielM skrev:Processorn är 180 Mhz och har float-stöd. :) samt 128 kb RAM, där jag använder inte ens allt.

Jag är inte ilsken. Har inte varit arg på 15 år. Jag är däremot lite utav en arbetsledare i mitt arbetsliv där jag ofta ställer frågan "Tid & Kostnad". Hur mycket tjänar jag på att använda unint32_t istället för float om jag har möjlighet att använda float? Om det skulle visa sig att jag vinner lite tid extra med uint32_t istället för float, men det var en hel del jobb att implementera. Då tycker jag det smakar mindre än vad det kostar.
Beror väl på produktionsvolymen. Ifall din temperaturregulator visar sig bli en världsnyhet efter inslag på SVT Aktuellt och CNN, samt skyddad med ett fint patent, då lär den snart ha kopierats och programmerats av någon entusiast i västvärlden till en enkel 8-bit-processor, som denne entusiast lägger upp på github. Sen hittar några kineser denna kod. De sätter igång massproduktion och säljer på alibaba för 2 kronor och 13 öre per kretskort. Vilket ska jämföras med de 213 kronor som kretskortet med en STM32L4, som en konsult designat åt dig, kostar vid produktion i Kina i tusental. Och sedan slutligen jämföras med 21300 kr plus moms som den färdiga produkten kostar att installeras i källaren på en kommunalt ägd fastighet, när alla påslag gjorts i samtliga led, efter att du har lyckats lobba in att kommunen ska använda denna produkt för att reglera temperaturen i deras lokaler. Privata bolag lyckades du inte sälja så många till, eftersom att dom flesta köpte den piratkopierade via Alibaba för 2 kronor och 13 ören. Dom köpte ett tiopack var, kunde vara bra att ha, tänkte dom. Och sen hade dom så att det räckte även till VDns privata pool på landstället i skärgården.
Senast redigerad av bearing 7 december 2019, 00:51:25, redigerad totalt 1 gång.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

DanielM skrev:Jag menar 32-bit har inte en oändlig upplösning.
Inga variabeltyper har det. 32-bit har några fler värdesiffror än 32-bit float, men betydligt lägre dynamiskt omfång. När man räknar med heltal och "fast kommatecken" måste man veta så mycket om processerna att man kan garantera att det dynamiska omfånget aldrig överskrids, ty man bestämmer omfånget i förväg. Med float ändras bara exponenten några steg ifall omfånget visar sig vara några tvåpotenser högre eller lägre.
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Jag tänker bara ha denna sak för mig själv. Men jag förstår vad du menar. Man ska inte använda för stor processor om behovet inte finns.

Edit:

Kod: Markera allt

100111 = 39 = a
1001 = 9 = b

a/b = 39/9 = 4.3333333333
a/b = 100111/1001 = 100.01010101
Undra om en FPU är snabbare än om man dividerar binärt?
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

Om du vill jämföra division av heltal och division av flyttal finns det för de flesta processorer en "instruction set summary" där exekveringstiden ofta är angiven.

Man kan också jämföra genom att utföra några operationer i två loopar, och mäta hur lång tid respektive loop (heltals- respektive flyttalsbaserad) tar att köra.
bearing
Inlägg: 11250
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av bearing »

DanielM skrev:Jag tänker bara ha denna sak för mig själv. Men jag förstår vad du menar. Man ska inte använda för stor processor om behovet inte finns.

Edit:

Kod: Markera allt

100111 = 39 = a
1001 = 9 = b

a/b = 39/9 = 4.3333333333
a/b = 100111/1001 = 100.01010101
Undra om en FPU är snabbare än om man dividerar binärt?
För att få resultatet 100.01010101 (8 bimaler) måste du först skifta a 8 steg vänster innan divisionen, annars trunkeras de värdesiffror som sedan blir bimaler i resultatet, d.v.s resultatet skulle bara bli 4.
a/b = (100111 << 8 /1001) >> 8 = 10011100000000/1001 >> 8 = 10001010101 >> 8 = 100.01010101 fixed point= 4,33 dec
DanielM
Inlägg: 2189
Blev medlem: 5 september 2019, 14:19:58

Re: Hur kan jag få tag på prestandaversionen av Nucleo?

Inlägg av DanielM »

Finns det i detta datablad? Jag hittar dock inte.
https://www.google.com/url?sa=t&rct=j&q ... 3PxzNjfNab
Skriv svar