Hallöchen! Weiss vielleicht jemand wieviele Zyklen so ein alter 8051 benötigt, bis der erste Befehl in der Interrupt-Routine beginnt (nach dem Interrupt-Auslösen) ? Ich finde mit google nichts passendes.
Das hängt von der verwendeten Programmiersprache ab.
Ingo L. schrieb: > Das hängt von der verwendeten Programmiersprache ab. Bestimmt nicht! http://eia.udg.es/~gomis/all8051.pdf Seite 3-25 steht etwas ueber die Reponse Time.
Kommt auf den gerade laufenden Befehl an. Der braucht X Zyklen. Bei 12 Takten pro Zyklus...also x mal 12 Takte sofern kein andrer Int. läuft der das verbietet. Die Anzahl der Zyklen/ Befehl steht im DB.
Dumme Frage schrieb: > Ich finde mit google nichts passendes. Falsch gesucht? http://public.beuth-hochschule.de/~rozek/pdf/MC65-Teil6.pdf
für die bestenfalls erreichbaren Werte siehe z.B. Abschnitt 2.16.3 von http://ww1.microchip.com/downloads/en/DeviceDoc/doc4316.pdf
Eher von der verwendeten CPU. Der 8051 braucht 3-9 Maschinenzyklen, jeder Maschinenzyklus ist 12 Taktzyklen. Moderne Versionen sind meist schneller. Stichworte zum Suchen "interrupt latency" oder "interrupt response time"
Beim Silabs ist das Stichwort im Manual "Interrupt Latency" und es beträgt im Minimum 5 Taktzyklen (das 12-Takte-pro-Zyklus-Ding gehört der Vergangenheit an), kann aber je nachdem was der Prozessor gerade macht im schlimmsten Fall auch mal bis zu 18 Takte dauern.
:
Bearbeitet durch User
Bernd K. schrieb: > (das 12-Takte-pro-Zyklus-Ding gehört der > Vergangenheit an), ja ja lesen. Er sprach von dem ALTEN 8051. Das es mit Silabs schneller geht wissen wir.
mul braucht im Original 4 Zyklen bei einem 12 Cocker sind das 48 Quarz Takte dazu kommt die Zeit um die Return Addresse auf den Stack zu schreiben das sind (aus der Erinnerung) noch mal 24 Takte. Das sind bei 12MHz 6us bis der Interrupt aktiv wird. Dazu kommt ein delay aus einem bereits laufenden Interrupt falls der neue Interrupt eine geringere Priorität hat. Thomas
:
Bearbeitet durch User
Stephan schrieb: > Bernd K. schrieb: >> (das 12-Takte-pro-Zyklus-Ding gehört der >> Vergangenheit an), > > ja ja lesen. Er sprach von dem ALTEN 8051. Das es mit Silabs schneller > geht wissen wir. Nicht nur Silabs, auch olle Temic (später Atmel) sind schneller, wies bei den Winbond mit 40Mhz aussieht weiß ich nicht... Gruß, Holm
Stephan schrieb: > Kommt auf den gerade laufenden Befehl an. Der braucht X Zyklen. > Bei 12 Takten pro Zyklus...also x mal 12 Takte sofern kein andrer Int. > läuft der das verbietet. Die Anzahl der Zyklen/ Befehl steht im DB. Richtig. http://www.cast-inc.com/blog/8051-interrupt-latency-designing-with-modern-8-bit-mcus
Hängt vom Befehl und der CPU ab! Die aktuellen 8051er brauchen keine 12 Takte mehr! (der echte MaWin)
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.