Powrót

Od czego zależy wydajność mikrokontrolera?

Czy wydajność mikrokontrolera zależy tylko i wyłącznie od szybkości taktowania CPU? Może inne czynniki wpływają na wydajność? Jeśli tak, to jakie? Na te pytania znajdziesz odpowiedzi w artykule.

Cały czas krąży mit, że wydajność mikrokontrolera czy innego systemu zależy tylko i wyłącznie od szybkości CPU. Niestety to mit, który powstał w ubiegłym milenium. W latach 80–90. szybkość ówczesnych komputerów zależała głównie od wydajności CPU. Były jednak wyjątki, jak Amiga czy Atari ST. Temat ten omawiam w filmie: https://youtu.be/I8mTsk2Gg0E. Mimo że od tych czasów minęły już ponad trzy dekady mit ten jest silnie zakorzeniony, zwłaszcza wśród osób używających AVR czy Arduino. Jak wykazałem, mimo zastosowania kilkunastokrotnie szybszego CPU program dla Arduino działa nadal tak samo wolno jak AVR 16 MHz. Oznacza to w praktyce, że zmiana Arduino UNO R3 z AVR 16 MHz na UNO R4 z ARM 48 MHz często nie spowoduje zwiększania wydajności systemu. Bardzo pouczający pokaz można zobaczyć w filmie: https://youtu.be/6lJWWCMnnFA, gdzie zmiana taktowania CPU z 64 na 1 MHz nie powoduje zmian w szybkości działania programu. Jak to możliwe i co tak naprawdę ma wpływ na szybkość działania systemu? Odpowiedzi znajdziesz w artykule.

Co będzie potrzebne?

Testy przeprowadziłem na NUCLEO-G071RB, ale może to być praktycznie dowolna płytka NUCLEO czy DISCOVERY, a nawet popularne BluePill czy Black Pill.

Niezbędna teoria

Gdy zapoznamy się z budową typowego komputera lat 70–80. nie znajdziemy w nim zbyt wielu układów specjalizowanych, poza CPU. W popularnym C-64 nie było nawet UART, a w ZX-80 obraz był generowany programowo przez CPU, jedyne wsparcie to rejestr przesuwny 74LS165 (IC9): http://searle.x10host.com/zx80/zx80circuitAnnotated.pdf. Dlatego od ZX-80 rozpocznę omawianie wydajności systemu. Uwaga! W artykule pozwolę sobie na pewne uproszczenia, aby materiał był łatwo przyswajalny dla osób nie znających dobrze systemów mikroprocesorowych.

(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w numerze marcowym czasopisma Zrozumieć Elektronikę (ZE 3/2024). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 3/2024 znajduje się tutaj.

SaS, ZE
sas.ze@vp.pl

 

Uwaga! Wskazówki, jak nabyć archiwalne numery znajdują się na stronie: https://piotr-gorecki.pl/n11

.