Wie weiss ich, wie lange ein Befehl dauert und wie lange (2Bit oder 4Bit,..) das er ist. z.B sbit a=P1^0; . . . . a=P2; oder for(x=0;x<10;x++); allg: Formel wie???
Das kann man so allgemein nicht beantworten. Prozessor, Compiler, Taktrate, Optimierungseinstellungen.... all das spielt da eine Rolle. Da hilft nur ausprobieren.
Glaskugel leider bei Jahreswartung. Vielleicht nähere Angaben? CPU, Sprache, Dauerangabe in Takten oder Zeit, bestimmte Problemstellung, oder allgemeine Neugierde, ... Im Falle eines AVR, dauert ein Assembler-Befehl (14-Bit Breite?) 1-3 Takte (steht im Datenblatt). Bei Hochsprachen kommt drauf an in wieviel Assembler-Befehle der Compiler Dein Werk zerlegt. Grüße, Freakazoid
Laß Dir mit "#pragma cd" den erzeugten Assembler mit im *.lst-File ausgeben und dan guck in den Befehlssatz, wie lang die jeweiligen Befehle dauern. Schau auch mal in den C51-Primer, da steht drin was aufwendig ist und was effektiv (float ist z.B. sehr aufwendig). Die Befehle beim 8051 sind 8, 16 oder 24 bittig (1, 2 oder 3 Byte). Peter
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.