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! Osoby, które nie są (jeszcze) stałymi Patronami ZE, mogą nabyć PDF-y z pełną wersję tego numeru oraz wszystkich innych numerów czasopisma wydanych od stycznia 2023, „stawiając kawę” (10 złotych za jeden numer czasopisma w postaci pliku PDF).
W tym celu należy kliknąć link (https://buycoffee.to/piotr-gorecki), lub poniższy obrazek
Postaw mi kawę na buycoffee.to
Następnie wybrać:
– jeśli jeden numer ZE – 10 zł,
– jeśli kilka numerów ZE – WSPIERAM ZA. I tu wpisać kwotę zależną od liczby zamawianych numerów – wydań (N x 10 zł),
Wpisać imię nazwisko.
Podać adres e-mail.
Koniecznie zaznaczyć: „Chcę dołączyć wiadomość dla Twórcy” i tu wpisać, który numer lub numery mamy wysłać na podany adres e-mailowy.