Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy MBR – (Memory Buffer Register) rejestr buforowy IR – (Instruction Register) rejestr instrukcji PC – (Program Counter) licznik rozkazów A – (Accumulator) akumulator F – (Flags) rejestr znaczników
Jednostka sterująca Wyróżnia się zasadniczo dwa podejścia do architektury jednostki sterującej: CISC – Complex Instruction Set Computer czyli komputer o złożonej liście rozkazów RISC – Reduced Instruction Set Computer czyli komputer o zredukowanej liście rozkazów
Architektura jednostki sterującej procesorów CISC IR generator adresu początkowego rejestr adresów mikrorozkazów rejestr adresu powrotu z mikroprogramu pamięć mikroprogramu rejestr mikrorozkazów dekoder mikrorozkazów adres skoku bezwarunkowgo adres powrotny
Procesory typu CISC Cechy charakterystyczne: duża liczba rozkazów (od stu do kilkuset) rozkazy złożone, realizujące specjalizowane zadania duża liczba trybów adresowania duży zakres rozkazów o różnych długościach i czasach wykonywania mikroprogamowalna jednostka sterująca słabe wykorzystanie listy rozkazów przez kompilatory języków wysokiego poziomu (np. ok. 71% z rozkazów MC68020 nie było wykorzystanych po kompilacji programów w C)
Procesory typu RISC Cechy charakterystyczne: niewielka lista prostych rozkazów (kilkadziesiąt) łatwy do dekodowania, stałej długości format rozkazów rozkazy wykonywane w pojedynczym cyklu zegara mało trybów adresowania komunikacja z pamiecią ograniczona do rozkazów LOAD, STORE rozkazy działające zazwyczaj na argumentach zapisanych w rejestrach układowo realizowana jednostka sterująca
Architektura von Neumanna Występuje jedna przestrzeń adresowa pamięci zarówno program jak i dane umieszczone są w tej samej przestrzeni adresowej i nie można ich od siebie odróżnić za prawidłową interpretację informacji umieszczonych w pamięci odpowiedzialny jest programista µP dane pamięć adres
Architektura typu Harvard Występują oddzielne przestrzenie adresowe pamięci programu oraz danych, a mikroprocesor komunikuje się z nimi używając oddzielnych magistral. µP dane pamięć danych adres rozkazy adres pamięć programu
Mikrokontrolery – pamięci wewnętrzne Mikrokontroler jednostka centralna (CPU, µP) pamięć programu układy we-wy szyna danych szyna adresowa szyna sterująca pamięć danych
Mikrokontrolery – pamięci wewnętrzne Typy pamięci występujące w mikrokontrolerach: RAM ROM EPROM / OTP EEPROM FLASH
Mikrokontrolery – pamięć RAM wykorzystywana jest praktycznie wyłącznie jako pamięć danych ma krótki czas dostępu zarówno podczas odczytu jak i zapisu jest niezbędna do przechowywania tymczasowych wyników obliczeń jest niezbędna do przechowywania stosu jej zawartość znika po wyłączeniu zasilania
Mikrokontrolery – pamięć ROM Wykorzystywana jako pamięć programu oraz pamięć stałych. Zalety: jej zawartość nie może zostać przypadkowo zmieniona duża odporność na promieniowanie jonizujące mały pobór energii Wady: wymaga zaprogramowania przez producenta mikrokontrolera zawartość pamięci nie może zostać zmieniona w celu poprawienia lub uaktualnienia oprogramowania
Mikrokontrolery – pamięć EPROM Erasable Programable Read Only Memory kasowanie zawartości odbywa się poprzez naświetlanie promieniowami ultrafioletowymi wykorzystywana jako pamięć programu oraz pamięć stałych
Mikrokontrolery – pamięć EPROM Zalety: nie wymaga programowania u producenta możliwość modyfikowania zapisanego w niej programu Wady: wymaga dużo droższej obudowy – z okienkiem kwarcowym mała odporność na promieniowanie jonizujące możliwość utraty przechowywanej informacji po pewnym czasie (zwykle 10 lat) długi proces kasowania (kilkanaście minut) stosunkowo długi proces programowania (kilkadziesiąt sekund) większy pobór energii niż w pamięciach ROM
Mikrokontrolery – pamięć EPROM / OTP One Time Programable mikrokontroler umieszczany jest w tańszej obudowie - bez okienka niemożliwe jest skasowanie zapisanej informacji
Mikrokontrolery – programowanie pamięci EPROM / OTP
Mikrokontrolery – weryfikacja pamięci EPROM / OTP
Mikrokontrolery – programowanie pamięci EPROM / OTP
Mikrokontrolery – pamięć EEPROM Electricaly Erasable Programable Read Only Memory możliwa jest modyfikacja zawartości poszczególnych komórek pamięci poprzez przyłożenie odpowiednich sygnałów elektrycznych lub wykonanie odpowiednich procedur programowania wykorzystywana jako pamięć programu oraz pamięć części danych
Mikrokontrolery – pamięć EEPROM Zalety: nie wymaga długotrwałego kasowania poprzez naświetlanie promieniowaniem ultrafioletowym umożliwia zapisywanie w niej pewnych danych, które będą przechowane po wyłączeniu systemu umożliwia modyfikację pojedynczych bajtów nie wymaga drogiej obudowy z okienkiem
Mikrokontrolery – pamięć EEPROM Wady: wymaga droższej technologii niż EPROM/OTP wymaga specjalnych zabezpieczeń przed przypadkową modyfikacją zawartości możliwość utraty przechowywanej informacji po pewnym czasie (zwykle 10 lat) stosunkowo długi proces programowania (kilkadziesiąt sekund) większy pobór energii niż w pamięciach ROM
Mikrokontrolery – pamięć FLASH Zalety: prostsza (tańsza) technologia niż EEPROM zwykle możliwość programowania w systemie Wady: konieczność kasowania całej pamięci, lub przynajmniej całych fragmentów pamięci
Mikrokontrolery – pamięć FLASH Wady: wymaga droższej technologii niż EPROM/OTP wymaga specjalnych zabezpieczeń przed przypadkową modyfikacją zawartości możliwość utraty przechowywanej informacji po pewnym czasie (zwykle 10 lat) stosunkowo długi proces programowania (kilkadziesiąt sekund) większy pobór energii niż w pamięciach ROM
Mikrokontrolery – pamięci nieulotne Pamięci nieulotne są niezbędne aby system mikroprocesorowy mógł zacząć działać, gdyż po włączeniu zasilania (ściślej po wykonaniu operacji RESET) mikroprocesor zaczyna pobierać rozkazy (począwszy od pewnego ustalonego adresu), a więc kody instrukcji, które muszą być znane i ustalone przed uruchomieniem systemu mikroprocesorowego.
Mikrokontrolery – zabezpieczenia przed kopiowaniem
Mikrokontrolery Mikrokontroler jednostka centralna (CPU, µP) pamięć programu układy we-wy szyna danych szyna adresowa szyna sterująca pamięć danych
Mikrokontrolery – jednostki centralne Wiele układów mikrokontrolerów produkowanych przez jednego producenta. Jednak zwykle produkowana jest tylko jedna lub kilka rodzin mikrokontrolerów. Rodziny są oparte na tej samej jednostce centralnej. Poszczególne typy różnią się tylko wielkościami wbudowanych pamięci i różnorodnością zastosowanych układów peryferyjnych.
Mikrokontrolery – układy wejścia-wyjścia Wbudowane układy wejścia-wyjścia (układy peryferyjne): porty równoległe układy licznikowe układy komunikacyjne UART (SCI) SPI I 2 C CAN USB przetworniki A/C komparatory przetworniki C/A, PWM sterowniki specjalizowane (np. do LCD)