Forum: Mikrocontroller und Digitale Elektronik PIC32, wie lange dauert ein cycle?


von Sebastian H. (sebihepp)


Lesenswert?

Hallo,

die alten PICs bis einschl. PIC18 hatten ja noch die besonderheit,
dass die Taktfrequenz durch 4 geteilt werden musste und ein
Sprung 2 Zyklen brauchte. Wie sieht das bei den PIC32 aus?

Ich habe im Datenblatt des PIC32MC360F256L etwas von einer 5 stufigen
Pipeline gelesen. Wenn ich also den PIC mit 80MHz betreibe, komme
ich dann auf 80/5 = 16MHz pro Pipelinedurchgang? Und bei Sprüngen
wird die komplette Pipeline geleert?

Da ich demnächst einen Fernseher per RGB oder einen Monitor per VGA
ansteuern möchte, brauche ich ein exaktes Timing. Ich würde das
zwar gerne mit einem FPGA erstellen, aber damit kenne ich mich noch
nicht so gut aus. Und deswegen rechne ich jetzt nach, ob das nicht
auch mit einem PIC gehen würde.

Viele Grüße
Sebihepp

von (prx) A. K. (prx)


Lesenswert?

Sebastian Hepp schrieb:

> Ich habe im Datenblatt des PIC32MC360F256L etwas von einer 5 stufigen
> Pipeline gelesen. Wenn ich also den PIC mit 80MHz betreibe, komme
> ich dann auf 80/5 = 16MHz pro Pipelinedurchgang?

Das bedeutet, dass im Idealfall 5 Befehle gleichzeitig in 
unterschiedlichen Stadien ihrer Ausführung aktiv sind. Wobei jeder 5 
Takte benötigt, aber deshalb trotzdem 80 Mio Befehle pro Sekunde 
durchlaufen können.

> Und bei Sprüngen wird die komplette Pipeline geleert?

Ja, aber da der MIPS Core die Sprünge früh spitz kriegt und mit einen 
branch delay slot arbeitet geht keine Zeit verloren, jedenfalls wenn man 
mit damit etwas sinnvolles anfangen kann.

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
Noch kein Account? Hier anmelden.