Als, erstes machen wir eine Zählschleife, die möglichst lange aber nicht tage dauert - wenn nämlich die LED's in den nächsten Zustand geschaltet werden. Mein Atmega 8 hat 8MHz. Das heisst, nicht 8 Millionen Befehle pro Sekunde, aber wissen ja - mehrzyklusmikroarchitektur
Das heisst
1.) Einzyklus
2.) Mehrzyklus
3.) Pipelining
Das bedeutet - ein Befehl ist - vielleicht dank Mikroprogrammiergerät - in 8 Phasen zum Beispiel eingeteilt. Es können auch 16 oder 5 sein. Oder so. Das muss nicht sein
Eine Einzyklusmikroarchitektur hat
1.) Eine Befehlsholephase
2.) Eine Befehlsausführungsphase
Dabei nimmt die letztere das gesamte Schaltnetz des Operationsnetzes der CPU in Anspruch, kurz Rechenwert
Mehrzyklus, heisst beim einfachen Mehrzyklus MIPS 5 Phasen
1.) Befehl holen IF
2.) Befehl dekodieren, Operanden bereitstellen ID
3.) Befehl ausführen EX
4.) MEM - Memory Acces
5.) WB Write Back
bei 5 MHz erreicht der Prozessor 1.000.000 Befehle pro Sekunde. Gut das ist einfach
Wenn ich bei meinem Atmega8 8 MHz habe, und angenommen, dazu müssen wir die Datenblätter des Atmega8 bemühen, ein Befehl 8 Phasen hat, dann würde ein Befehl, also dann würden 1.000.000 Befehle pro Sekunde aussgeführt. Der OUT Befehl dauert etwas länger. Aber angenommen, ich erhöhe das Register, damit es nachher schön aussieht, gebe es aus. Und so weiter. Dann würde ich immer noch mindestens auf 250.000 Befehle pro Sekunde kommen. Dafür dass die LED's langsam laufen sollen, weil dem keiner folgen kann - und man mindestens 0.5 s Braucht würde ich sagen - man braucht eine Schleife
von minindestens
255 x 255
Das heisst, man braucht eine Schleife . Wieder mit unserem BRNE dabei inkrementieren wir r2 meinetwegen und aussen R3 und weisen vorher 0xff zu. Gut. Jetzt kann man über gewisse Programmierbegebenheiten, die etwas speziell. Das lernen wir später - erst Mal das normale lernen, man kann, auch über das Programmierinterface - beim STK500, dem Programmiergerät speziell, den Takt etwas nach oben oder unten manipulieren. Nicht extrem. Aber 1MHz würde schon gehen.
TTL-Gatter, Atmega 8, MIPS Assembler
- davidvajda.de
- Site Admin
- Beiträge: 1508
- Registriert: Di Jul 18, 2023 8:36 pm
- Wohnort: D-72072, Tübingen
- Kontaktdaten: