Also auf der Philips Seite ist zwar ein "User Manual", aber nirgends steht, wie schnell das Ding ist. Bei allen anderen MCs findet man Taktdiagramme und MIPS-Angaben, bloß nicht beim LPC. Ist das Ding etwa schnarchlahm ? Ich hätte da ne Aufgabe, wo ich etwa 100-fache 8051-Speed bräuchte. Ich suche also verzweifelt nach dem "Instruction Set" um rauszukriegen, hat das Ding überhaupt Mul und Div und wenn ja, wie lange braucht er dazu ? Peter
Hi der LPC2106 hat einen ARM7TDMI-S Kern von ARM. Man geht also auf www.arm.com und findet dort http://www.arm.com/pdfs/DDI0234A_7TDMIS_R4.pdf Dort kann man dann ersehen das ein ARM7 keinesfalls so einfach zu durchschauen ist wie ein 8051 oder ein AVR. Die dreistufig Pipeline verkompliziert das Ganze etwas. Ob du 100-fach (12MHz)MCS51-Performance erreichen wirst kommt auf die Art der Daten an. Bei 32Bit Arithmetik auf jeden Fall. Bei 16Bit-Arithmetik könnte es schon knapp werden. Bei 8Bit wirst du das nicht schaffen können. DIV kennt der ARM7TDMI nicht. Man implementiert das typischerweise mit einer Multiplikation und einem Shift um n-Stellen was Aufgrund des Barrel-Shifters sehr schnell geht. Matthias
aus dem lpc2106-infosheet: "High-performance 60 MHz (54 Drystone MIPS)" Das entspricht ungefähr der Leistung eines 486-DX2-66, soweit ich das richtig in Erinnerung habe, leider finde ich die Quelle nicht mehr, deswegen bitte mit vorsicht geniessen.
Vielen Dank für den Link. Da habe ich ja ne Menge zu lesen. Schade, daß man heutzutage keine ausgedruckten Handbücher mehr kriegt. Im Prinzip muß nur ein Interrupthandler sehr schnell sein. Die 32Bit-Berechnungen werde ich auch gut brauchen können. Hat schon mal jemand den GCC dafür probiert oder sollte man doch etwas für Geld kaufen ? Peter
@ Peter Ist zwar ur-alt und teuer , aber wie wäre es mit SAB 80C537 ? Fast 32-bit division, 16-bit 2 multiplication, Execution Time = 4 - 6 ysec. @ 12 MHz oscillator frequency. Nicht mehr ein 8051 Fan ;-) ?
"Im Prinzip muß nur ein Interrupthandler sehr schnell sein. Die 32Bit-Berechnungen werde ich auch gut brauchen können." Das ist beim ARM schwerer vorauszusagen, da er eine Pipeline besitzt, die Voraussagen über das Laufzeitverhalten deutlich erschweren. "Nicht mehr ein 8051 Fan ;-)" Das eine schließt das andere ja nicht aus, der 8051 kommt trotz ständig erscheinender neuen Derivate langsam in die Tage, denn die Architektur setzt doch gewisse Grenzen.
"Ist zwar ur-alt und teuer , aber wie wäre es mit SAB 80C537 ?" Ich bin jetzt eigentlich mehr Fan von allem mit IAP-Flash intern (z.B. AT89C51CC01). Das macht das Leben um vieles leichter (Software entwickeln, EMV, Störsicherheit, Layout entwickeln). Und nicht zuletzt ist heutzutage ein Update beim Kunden fast schon Pflicht. Sei es, daß die Software nicht ganz ausgereift ist oder der Kunde sein Wünsche noch gar nicht richtig kennt. Das DIP40-Modul des LPC2106 scheint mir optimal zum Testen. Was ich brauche ist ein Timerinterrupt mindestens alle 3µs, der auch ein bischen 32Bit rechnen muß (*,+). Etwa 40kB SRAM werden auch benötigt. Peter
Hi zur Interruptlatenz spezielle beim LPC21XX: Tritt ein Interrupt-Erieignis ein muß die Pipeline ne gefüllt aber auch aus dem Flash neu gelesen werden. Das Flash ist beim LPC21XX 128Bit breit angebunden. D.h. es liefert im Prinzip 4 mal zu viel Daten als nötig wären. Da das Flash aber relativ langsam ist braucht es auch 4 Takte um ein 128Bit-Wort zu liefern. Daraus folgt dann wieder wenn es nicht im Vorraus schon mit dem Lesen anfangen kann (weil ein INT eben unerwartet auftritt) kommen nochmal 4 Takte zusätzlich dazu die verloren gehen. An der Ganzen Geschichte kann man dann nochmal mit den MAM-Registern rumstellen. Wie das genau zusammenhängt müßte ich mir aber auch erstmal anlesen. Grundsätzlich kann man aber sagen: Schnelle INT's legt man besser im internen RAM ab (Muß man die Routine nach dem Start reinkopieren und die INT-Vectoren entsprechend anpassen) und spart sich damit ein paar Takte. Evtl. reichen sogar die restlichen 24kB SRAM für die gesamt Anwendung aus (evtl. über ARM Thumb nachdenken) so das man nach dem Start einfach alles ins SRAM kopiert und dann richtig schnell ist. Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.