Hallo liebe Gemeinde. Ich habe so eben im AVR Tutorial folgendes gelesen: "So wird z. B. bei den meisten 8051-Controllern die Frequenz intern durch 12 geteilt, ein mit 24 MHz getakter 8051 arbeitet also eigentlich nur mit 2 MHz." Im Datenblatt vom ATmega8515L habe ich bei der Over view etwas von 1 MIPs per MHz gelesen. Nun zu meinen Fragen: 1.) Von welchem Hersteller ist denn der 8051?? 2.) Wenn beim 8051 die Taktfrequenz so berechnet wird, wird die Taktfrequenz dann beim ATmega8515L genauso berechnet? 3.) Was bedeutet "MIPS per MHz"?? Ich kann mit dem Begriff "MIPS" nichts anfangen... Danke für die Antworten im Voraus. Gruß Max Edit: Ist der 8051 auch von der Firma Atmel??
:
Bearbeitet durch User
Martin Müller schrieb: > 1.) Von welchem Hersteller ist denn der 8051?? Der wird von vielen Herstellern produziert. 8051 ist mehr eine Bezeichnung für eine Prozessorarchitektur. > 2.) Wenn beim 8051 die Taktfrequenz so berechnet wird, wird die > Taktfrequenz dann beim ATmega8515L genauso berechnet? Nein. Andere Baustelle > 3.) Was bedeutet "MIPS per MHz"?? Ich kann mit dem Begriff "MIPS" nichts > anfangen... MIPS Million Instructions Per Second Also Anzahl abgearbeiteter Befehle pro Sekunde.
> Der wird von vielen Herstellern produziert. 8051 ist mehr eine > Bezeichnung für eine Prozessorarchitektur. Ah ok... Das ist gut zu wissen. >> 2.) Wenn beim 8051 die Taktfrequenz so berechnet wird, wird die >> Taktfrequenz dann beim ATmega8515L genauso berechnet? > > Nein. > Andere Baustelle Und warum ist das eine andere Baustelle? > MIPS Million Instructions Per Second > > Also Anzahl abgearbeiteter Befehle pro Sekunde. Vielen Dank für die Erklärung.
Das heißt soviel wie dass der Prozessor bei einem Megahertz 1 Millionen Takte pro sekunde macht und dabei bis zu 1 Million Befehle abarbeiten kann. Das ist genau der Vorteil der RISC architektur. Die meisten Befehle benötigen nur einen Takt. Es gibt aber auch welche die zwei Takte oder mehr benötigen. Das führt dazu, das in Wirklichkeit weniger als 1 Millionen Befehle pro Sekunde ausgeführt werden können.
1 MIPS per MHz heißt ein Befehl pro Takt wird abgearbeitet. Bei Atmega i.a. 1 Befehl pro Takt, d.h. das ist das Gleiche. Andere Baustelle bedeutet, eine andere CPU-Architektur.
Martin Müller schrieb: > "So wird z. B. bei den meisten 8051-Controllern die Frequenz intern > durch 12 geteilt, ein mit 24 MHz getakter 8051 arbeitet also eigentlich > nur mit 2 MHz." Die Arbeitsfreuqenz ist für eine mehr oder weniger hohe Stromaufnahme verantwortlich. Reduziert man die Arbeitsfrequenz auf 2 MHz, so ist die Stromaufnahme gering. Gleiche Einstellungen sind auch bei den Atmegas möglich. Kleinste Frequenz in der Regel 1 MHz.
Die 8051 Typen µC gibt es von verschiedenen Herstellern. Beim klassischen Typ wurde durch 12 geteilt - einige neuere Ausführungen schaffen aber 1 Befehl in 1 oder 2 Zyklen. Die AVRs sind statisch und können auch deutlich langsamer als mit 1 MHz laufen, nur die Programmierung per ISP geht dann auch langsamer und braucht andere Einstellungen beim Programmer. Im Prinzip sollte auch 1 mHz gehen, aber da fehlt mir die Geduld. 32 kHz als Takt sind nicht so abwegig, und 125 kHz als interner Takt sind auch vorgesehen. Neuere AVRs haben einen einstellbaren Teiler für den Takt - da kann der Takt geteilt werden für weniger Stromverbrauch, bzw. Betrieb mit geringer Spannung.
Joe schrieb: > Gleiche Einstellungen sind auch bei den Atmegas möglich. Kleinste > Frequenz in der Regel 1 MHz. Ist es das, was z.B. bei einem ATmega328p gemeint ist, wenn im Datenblatt steht: Oscillator Frequency: Min. 0 MHz, Max. 20 MHz? oder bei einem AT89C51RC: Oscillator Frequency: Min. 0 MHz, Max. 36 MHz?
Martin Müller schrieb: > Und wie berechnet man dann bei den neuere Modellen die Taktfrequenz? Die Art der Berechnung hat sich nicht im Laufe der Zeit und mit den Modellen stufenweise für alle gleich fortwentwickelt. Vielmehr ist es so, das jeder Hesteller seine eigene Takterzeugung und Aufbereitung entwickelt hat. So stehen z.B. zum heutigen Zeitpunkt Prozessoren nebeneinander, bei den der eine genau den Quarztakt auch intern verwendet und bei denen ein anderer den Takt noch durch irgendeinen Faktor teilt neben dritten die ihn intern vervielfachen und die wiederrum neben solchen, die den Takt, nach Wahl des Benutzers 1:1, heruntergeteilt oder vervielfacht verwenden. D.h. im Ergebnis: Eine feste Regel gibt es nicht. Natürlich kann man aber für jeden individuellen Typ die Frequenz der Ausführung bestimmen. Nur muss man dann in jedes Datenblatt hineinschauen.
Martin Müller schrieb: > Und wie berechnet man dann bei den neuere Modellen die Taktfrequenz? Die berechnet man gar nicht, die stellt man ein. Z.B. indem man einen entsprechenden Quarz an die beiden dafür vorgesehenen Pins anschließt. Wenn man keine großen Anforderungen an die Stabilität und Genauigkeit der Taktfrequenz hat, dann haben so gut wie alle AVR Controller einen internen RC-Oszillator mit typisch 8MHz, der in der Fabrik auf ca. +/-1% abgeglichen wird. Details verrät das Datenblatt des jeweils verwendeten Controllers. XL
Die Taktfrequenz zu berechnen ist meist nicht notwendig, da sie im Allgemeinen vom Anwender vorgegeben wird. Die Rechengeschwindigkeit ist höchstens interessantere Größe eines größeren Systems mit sehr umfangreichen Rechenaufgaben. Ihr Wert wird auch mit MIPS (mega-instructions per second) angegeben. MIPS per MHz ist schon wieder Verkäuferchinesisch. Bei einem Mikrokontroller ist eine solche Angabe sowieso ein Witz. Die Programme bestehen da nur zum Bruchteil aus Rechenarbeit. Bei der Entscheidungs- und Verknüpfungsarbeit die da vorwiegt, ist der Programmaufbau wesentlich und nicht die Rechengeschwindigkeit.
:
Bearbeitet durch User
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.