Hallo mensen,
Na wat projectjes met PIC & AVR was ik me aan het afvragen wat de snelste processoren zijn op dit moment die ter vergelijking zijn met PIC & AVR's. Dus geen processoren van computers, plc's ed...
Dit omdat ik wat projectjes in achterhoofd heb met grotere kloksnelheden.
elmowww
PA0EJE - www.eje-electronics.nl - e.jongerius[aapje]eje-electronics.nl - EJE Electronics - Elektronica/firmware ontwikkeling
Ja, euhm, als ze anders zijn zijn ze niet meer vergelijkbaar. PICs zijn te vergelijken met PICs...
Als je iets snellers wilt: MIPS, sommige 8051`s, pic24 serie, ARM... Keuze zat!
Videomodulator
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
Het hangt ook erg af van wat je wil doen. Wil je DSP (digital signal processing) toepassingen gaan doen (audio bewerken, fourier transformatie's doen op signalen,....) kom je idd tekort met een all-purpose µC, dan heb je een DSP nodig (bijvoorbeeld de DSPic's en dergerlijken).
Er bestaan ook een nest SoC (system on chip) systemen, daarbij zijn dingen als ethernet, USB,... ingebouwd en gemakkelijk toepasbaar, ik heb nog gehoord van de Rabbit-core's en Cypress PSoC's.
Je kan ook eens kijken naar de inleidingen van de verschillende µC waar mikroelektronica development boards heeft, geeft snel een id van de mogelijkheden (ook de lijst van mogelijkheden on-board geven snel een indicatie wat je ermee kan).
Move /Digitaal
De SX serie van van parallax? http://www.parallax.com/sx/index.asp
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
hmm 23 euro wat een geld (je krijgt wel waar voor je geld daar niet van ....)
linkje naar de data sheet
http://www2.silabs.com/public/documents/tpub_doc/dsheet/Microcontrolle…
Zoals Videomodulator het al zei hangt de geschikte MCU af van wat je wil doen. Het heeft weinig nut een processor uit te kiezen op MIPS (Meaningless Indication of Processor Speed). De 8051 van free_e loopt dan wel bijvoorbeeld op 100MIPS, hij is daarentegen maar 8-bit (als ik goed heb gekeken) maar heeft wel weer een CISC instructieset. Ook heeft de 8051 een MAC unit, maar de vraag is hoe ver die toe te passen is in een project.
Als je de lpc21xx van Lexy neemt dan draait deze wel op een langzamere frequentie, maar het is wel een 32-bit ding. Maar daar heb je wel weer een RISC architectuur.
Je kunt beter kijken naar wat je precies wil doen, en aan de hand daarvan een geschikte chip uitkiezen (FPGA, CPLD, MCU, DSP ...).
Weet iemand trouwens of er ergens een site beschikbaar is waarbij verschillende MCU's vergeleken worden op SPECint performance of zo? Dat is misschien wel een leuk projectje om zo gegevens van verschillende MCU's te verzamelen.
Elk fabrikant publiceerd zijn eigen bechmark resultaten. Bijvoorbeeld deze van Maxim, die laat natuurlijk zien hoe goed hun MAXQ presteert ten op zichte van de concurrenten.
http://www.maxim-ic.com/products/microcontrollers/maxq/performance/com…
Waar het eigenlijk op neem komt is dat elk uC architectuur zijn/haar sterke kanten hebben, en deze eigenschappen zetten de fabrikanten dan ook in de spotlights, om aan te tonen dat zij een beter product leveren dan de rest.
Wat mij wel is opgevallen is dat over het algemeen, de PIC's slechter presteren dan de AVR's.
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 27 september 2006 19:45:40 schreef H3AsO4:
Zoals Videomodulator het al zei hangt de geschikte MCU af van wat je wil doen. Het heeft weinig nut een processor uit te kiezen op MIPS (Meaningless Indication of Processor Speed). De 8051 van free_e loopt dan wel bijvoorbeeld op 100MIPS, hij is daarentegen maar 8-bitJe kunt beter kijken naar wat je precies wil doen, en aan de hand daarvan een geschikte chip uitkiezen (FPGA, CPLD, MCU, DSP ...).
volledig accoord met wat je schrijft , maar ... het aantal bits is ook niet alles.
als ik een 8 bit x 8 bit multiply doe in die 'onnozele' 8051 aan 50 mips ( de muliply loopt max op 50 MIPs : er zijn 2 clockcycli nodig ), dan zal een 32 bit risc machiene serieus moeten geklokt worden om dat te kunnen volgen. een 8*8 multiply op een RISC is iets van 30 instructies .... reken en tel zelf hoeveel GHz je nodig hebt op een '32 bitter'om die 'onnozele oude 8bits (1979)' 8051 te kunnen kloppen. en 8x8 blijft 8x8 of je nu een 8 bit of 128 bit brede pijp hebt : het blijft dezelfde bewerking
Een 16/8 16/16 deling of die MAC engine op die 8051 slaat eender welke RISC processor plat. ( eigenlijk mag je die MAC niet bekijken : das ene coprocessor. Maar delen en vermenigvuldigen kan elke 8051.
langs de andere kant : als ik ene 32x32 moet vermenigvuldigen ben ik dood. voor die risc blijven dat 30 instructies.
ik heb er een pak meer aan mijn broek omdat ik maar met 8 bit simultaan kan werken.ik moet mijn bewerking dan opdelen en dan ben ik nooit meer snel genoeg om die risc te kunnen volgen.
de boel is een 'wip' ( balans ). het is zoals je schrijft ; kijk wat je moet doen en kies je processor in functie daarvan
(by the way : intel heeft een 'proof of concept' (ze hebben werkend silicium) gereleased van een 80-core processor ( jawel TACHTIG ) elke core heeft 2 meg cache aan boord. Het is geen x86 instructieset maar elke core kan wel floating point doen. en elke core draait op 3GHz ... Take us to Warp 9.9 mr Sulu... )
RISC machienes zijn snel maar hebben een zeer beperkte instructieset. voor complexe zaken (Multiply , divide , MAC en DSP achtige toestanden. Er zijn slechts heel weinig (zoniet geen) RISC processoren die kunnen vermenigvuldigen of delen in hardware) zijn RISc processoren een regelrechte ramp. Je ziet heel vaak dat voor intensief rekenwerk dat er een coprocessor gebruikt wordt of dat de RISC gecombineerd wordt met een DSP ( denk aan de trimedia processor ).
wij gebruiken heel veel risc machienes :
voordelen :
zeer klein (op silicium dan)
low power
snel om data te moven
nadelen :
niet goed om number crunching te doen.
ze worden meestal gebruik om een systeem te sturen ( initialisatie en dergelijke) en om data te moven ( daar zijn ze heel sterk in) . Voor echt rekenwerk : ene coprocessor( blok hardware ) of een tweede processor of DSP .
[Bericht gewijzigd door free_electron op ]
CherryMoon
Darkness rules ... well, at least until I've found the lightswitch
Op 27 september 2006 21:35:01 schreef free_electron:
[...](...)
(by the way : intel heeft een 'proof of concept' (ze hebben werkend silicium) gereleased van een 80-core processor ( jawel TACHTIG ) elke core heeft 2 meg cache aan boord. Het is geen x86 instructieset maar elke core kan wel floating point doen. en elke core draait op 3GHz ... Take us to Warp 9.9 mr Sulu... )
RISC machienes zijn snel maar hebben een zeer beperkte instructieset. voor complexe zaken (Multiply , divide , MAC en DSP achtige toestanden. Er zijn slechts heel weinig (zoniet geen) RISC processoren die kunnen vermenigvuldigen of delen in hardware) zijn RISc processoren een regelrechte ramp. Je ziet heel vaak dat voor intensief rekenwerk dat er een coprocessor gebruikt wordt of dat de RISC gecombineerd wordt met een DSP ( denk aan de trimedia processor ).
wij gebruiken heel veel risc machienes :
voordelen :
zeer klein (op silicium dan)
low power
snel om data te moven
nadelen :
niet goed om number crunching te doen.ze worden meestal gebruik om een systeem te sturen ( initialisatie en dergelijke) en om data te moven ( daar zijn ze heel sterk in) . Voor echt rekenwerk : ene coprocessor( blok hardware ) of een tweede processor of DSP .
Hmm, ik kan meteen een RISC µP bekenken die wel een mul instructie heeft (weliswaar geen div), de AVR's van Atmel. Nu weet ik niet hoe de AVR32's (32bit broeders van de gewone 8bit AVR's) precies in elkaar steken, maar die hebben zelfs SIMD achtige instructies als ik mij niet vergis.
BTW, vind ge die 80 cores al veel? Der is een tijdje geleden nieuws geweest van een of andere fabrikant die een 1024core (yep, 2^10 cores) prototype gemaakt had. Nu weet ik wel niet meet hoe fel die geclockt was enzo, maar toch indrukwekkend. Dit is de hoe ze nu de number crunching capaciteit verhogen, meer in parrallel doen. Ok, deze uitspraak ligt voor de hand, zie trend in de computer wereld 
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 28 september 2006 00:21:42 schreef CherryMoon:
[...]
de AVR's van Atmel.BTW, vind ge die 80 cores al veel? Der is een tijdje geleden nieuws geweest van een of andere fabrikant die een 1024core
das interessant ! zelfs een ARM kan dat niet ( das dan ook maar een halfbakken prul van op dat eiland in de noordzee daar) .
Een ARM is weliswaar de meest energiezuinige en meest dense processor, je kan hem ook vrij snel laten draaien ( juist omdat ie zo klein is )
maar eigenlijk is hij op zich niet zo krachtig. Als je de versies met MMU en cache pakt heb je wel weer een vorosprong en daar kan je makkelijk een embedded systeem op draaien (psos, vxworks winCE en desnoods ook lunix). dan wordt je programmeerwerk een stuk eenvoudiger.
maar daar staat tegenover dat je hebt tonnen code nodig om ook maar iets te doen. ik gebruik liever een CISC machien met zoveel mogelijk instructies. ik ben van nature lui en heb geen zin om telkens iets te moeten uitvlooien waar een andere cpu een instructie voor heeft.
let wle ik bekijk dit nu van de kant van de low level programmeur ( assembler ). als je in C programmeert lost de compiler dat (hopelijk) op , of moet je op zoek naar ene of andere library. maar dat neemt dan weer processing power en romspace in beslag.
tis allemaal een grote trade-off. ik zie wat ik moet doen , pak een passende uit de 8051 reeks ( omdat ik die instructieset en manier van werken ken als mijn broekzak ) en we zijn vooruit,
af en toe probeer ik eens met een andere cpu iets te doen ( zie mijn pic experiment ) maar ik raak nogal rap gefrustreerd als blijkt dat er teveel dingen zijn waar ik op vastloop omdat 1) of de cpu geen instructie/peripherie/snelheid heeft 2) de compiler er een rommeltje van maakt (picbasic ramp, alhoewel het nu weer al verbeterd is ontbreken nog steeds subs, functions , static en local variables) 3) de programmeertaal mij niet aanstaat. (alles wat geen 8051 assembler, PL/M of (moderne : gene lijnnummers , maar wel statics , locals en subs en functions) basic is. niet omdat die dingen slecht zijn , zuiver omdat ik totnutoe nog niet vastgelopen ben met die combinatie en dat ik zeer snel iets in elkaar kan zetten wat betrouwbaar werkt.
die 1024 is niet op single die ... dat spul van intel is 1 stukje silicium ...
[Bericht gewijzigd door free_electron op ]
). 60 MHz ARM7.