Gast
#313917
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???
|
Anzeige
|
Befehlsdauer
Gast
#313917
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 Antwort schreiben |
Anzeige
|