Ich habe im Tutorial dieser Seite und in einem Buch über µC, das ich habe, gelesen das z.B. bei 8051-Controllern die externe Frequenz, intern durch 12 geteilt wird. Es steht aber nirgendwo aus welchem technischen Grund das gemacht wird oder nötig ist. Das der Controller zudem noch zwei Takte für einen Befehl braucht weiß ich und der Grund dafür ist mir auch klar. Gruß Bernd
Intern müssen ja einige Aktionen durchgeführt werden: Befehl aus dem Speicher lesen, dekodieren (Funktion des Befehls ermitteln), Befehl ausführen, evtl. Ergebnisse speichern. Diese Aktionen brauchen die besagten 12 Takte. Allerdings braucht nicht jeder Befehl zwei Zyklen, viele tuns auch in einem.
Das hat historische Gründe. Der 8051 wurde 1980 entwickelt und da war die Integrationsdichte noch nicht so hoch, wenns auch preiswert und stromsparend sein sollte. Und eine Möglichkeit mit wenig Transistoren auszukommen ist die, daß man Operationen hintereinander statt parallel ausführt. Einen 1-Bit-Addierer + 8-Bit Schieberegister kriegt man z.B. in einen PALCE22V10 unter. Einen 8-Bit-Parallel-Adder jedoch nicht mehr. Peter
Heutzutage gibt es aber auch ne Menge 8051-Derivate, die viele Operationen in einem Quarztakt ausführen, z.B. von Cygnal oder Maxim. Die können dann durchaus bis zu 75 MIPS schnell sein. Aber das braucht man nur extrem selten, deshalb sind auch die meisten heutigen 8051 mit dem Vorteiler ausgestattet. Das hat nämlich den riesen Vorteil, daß alle alten Softwarebibliotheken weiter verwendet werden können und nicht sämtliche zeitabhängigen Funktionen neu geschrieben werden müssen. 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.