1.1. Firma ARM i jej wyroby
|
|
- Marek Wacław Szydłowski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Rdzeń Cortex-M3 1
2 10 1. Rdzeń Cortex-M3 Od kilku lat na rynku mikrokontrolerów obserwujemy nowe, interesujące zjawisko. O ile jeszcze kilka lat temu każdy większy producent półprzewodników miał w ofercie produkcyjnej mikrokontrolery wyposażone w rdzenie będące własnymi opracowaniami lub mikrokontrolery, w których zastosowano jeden z klasycznych rdzeni opracowanych przez rynkowych gigantów (przede wszystkim Intela i Motorolę), to od kilku lat sytuacja ulega zasadniczej zmianie. Obecnie większość liczących się na rynku producentów mikrokontrolerów oferuje lub wprowadza do swojej oferty mikrokontrolery wyposażone w rdzenie opracowane przez firmę ARM. Podbój rynku mikrokontrolerów przez rdzenie opracowane przez ARM rozpoczął się od opracowanego w roku 1993 rdzenia ARM7TDMI. Jego rynkowa obecność niedługo się zapewne zakończy za sprawą znacznie młodszego (z roku 2004) opracowania firmy ARM: rdzenia Cortex-M3, który zastosowano m.in. w mikrokontrolerach STM32 produkowanych przez firmę STMicroelectronics. Z perspektywy konstruktorów systemów mikroprocesorowych taki stan rzeczy ma pozytywny wpływ na łatwość projektowania: konkurencja pomiędzy producentami mikrokontrolerów jest duża, podobnie jak łatwość zastąpienia mikrokontrolerów pochodzących od jednego producenta przez inne, znacznie prościej można przenosić aplikacje pomiędzy mikrokontrolerami pochodzącymi od różnych producentów. Na pewno w krótkim czasie wzrośnie także liczba procedur programowych dostępnych bezpłatnie. Niebagatelne znaczenie ma także możliwość doboru mikrokontrolera optymalnego pod względem wyposażenia i możliwości w stosunku do ceny. Dotychczas konieczne były czasami dość bolesne kompromisy Firma ARM i jej wyroby Firma ARM ma swoje początki w roku 1990, kiedy to z porozumienia kilku przedsiębiorstw (Apple Computer, Acorn Computer Group, VLSI Technology) utworzono firmę o nazwie Advanced RISC Machines. Miało to miejsce w Cambridge w Wielkiej Brytanii. Dopiero w roku 1998 nazwę zmieniono i aktualnie firma nazywa się ARM Holdings. Jednym z czynników, które wpłynęły na zmianę nazwy, była fonetyczna dwuznaczność słowa RISC w języku angielskim. W języku Shakespeare a brzmi to jak risk, czyli ryzyko. Specjaliści od wizerunku doszli do wniosku, skądinąd słusznego, że może to się źle kojarzyć. O ile w inżynierskim świecie pierwotna nazwa nie miała większego znaczenia, o tyle na rynkach finansowych, gdzie ludzkie emocje grają ogromną rolę, dwuznaczna nazwa mogła być przyczyną niepowodzeń, poza tym warto też było skrócić dotychczasową, nieco przydługą, nazwę. I tak powstała, znana obecnie na całym naszym globie firma ARM Holdings. Firma ARM zajmuje się projektowaniem układów cyfrowych, przy czym nie jest producentem półprzewodników, opracowuje i sprzedaje tzw. bloki własności intelektualnej IP (Intellectual Property). Najbardziej znanym wyrobem tej firmy są rdzenie mikroprocesorów i mikrokontrolerów, pośród których szczególną popularność zdobyły m.in. rodziny ARM7 i ARM9, obecnie zastępowane przez rdzenie z rodziny Cortex. Klientami ARM Holdings są największe na świecie firmy produkujące układy scalone (np. STMicroelectronics, Texas Instruments, Freescale, Toshiba, Zilog, Maxim
3 1.1. Firma ARM i jej wyroby 11 Założyciele firmy Advanced RISC Machines itd.). W konsekwencji ARM nie produkując fizycznie żadnych układów ma ogromny wpływ na rozwój całego przemysłu półprzewodnikowego zajmującego się zaawansowanymi układami cyfrowymi. Odwiedzając stronę internetową firmy ARM ( i przeglądając dokumentację rdzeni można się nieco pogubić. Producenci mikrokontrolerów w swoich materiałach podają nazwy zastosowanych rdzeni, natomiast ARM często posługuje się nazwą zastosowanej w nich architektury. Dla przykładu: w rdzeniu ARM7TDMI zastosowano architekturę ARMv4T, natomiast w rdzeniach Cortex firma zastosowała architekturę ARMv7M. Na rysunku 1.1 przedstawiono kilka podobnych przypadków. Rys Nazwy wybranych rodzin rdzeni opracowanych przez ARM Holdings (z lewej strony) i nazwy zastosowanych w nich architektur (z prawej strony)
4 12 1. Rdzeń Cortex-M Rodzina rdzeni Cortex Rodzina Cortex składa się z trzech podrodzin, o budowie zoptymalizowanej pod kątem różnych aplikacji: Cortex-Ax jest przeznaczona dla wymagających aplikacji z systemami operacyjnymi, takimi jak Symbian, Linux i Windows Embedded, które wymagają dużych mocy obliczeniowych, obsługi pamięci wirtualnej z MMU (Memory Management Unit) lub implementacji wirtualnej maszyny Javy, Cortex-Rx przeznaczona do implementowania w systemach, w których krytyczny jest czas reakcji (np. ABS i inne aplikacje samochodowe), Cortex-Mx podrodzina zoptymalizowana pod kątem minimalizacji ceny przy zachowaniu dużej wydajności, przeznaczona do zastosowań konsumenckich i przemysłowych. W każdym przypadku litera x oznacza liczbę, która precyzyjnie określa wersję rdzenia z danej podrodziny. Poza wymienionymi różnicami, rdzenie z grupy M obsługują wyłącznie polecenia zgodne z listą instrukcji Thumb-2, w odróżnieniu od pozostałych rdzeni Cortex, które są przystosowane także do dekodowania klasycznych instrukcji ARM. Najnowszy w rodzinie Cortex-M4 jest jednym z najszybszych wariantów w rodzinie rdzeni mikrokontrolerowych ( M ), do tego wyposażonym w bloki sprzętowe pozwalające realizować obliczenia charakterystyczne dla techniki DSP. W chwili przygotowywania drugiego wydania książki firma STMicroelectronics nie ujawniała informacji o planach wdrożenia do produkcji mikrokontrolerów wyposażonych w ten rdzeń, ale można się spodziewać, że takie się niebawem pojawią. Rdzeń Cortex-M3 jest historycznie pierwszym opracowaniem z rodziny Cortex ów opracowanych przez firmę ARM Holdings. W chwili wydania książki są dostępne cztery wersje rdzenia Cortex-M: M0, M1, M3 oraz M4 (rysunek 1.2). Przedostatni Rys Porównanie najważniejszych cech rdzeni z rodziny Cortex
5 1.2. Rodzina rdzeni Cortex 13 Rys Mapa poleceń wykonywanych przez różne rdzenie Cortex-M z nich będzie dokładniej przedstawiony w dalszej części tego rozdziału, a więc w tym miejscu zajmiemy się skrótowym przedstawieniem rdzeni M0 i M1. Rdzeń Cortex-M1 zaprojektowano specjalnie z myślą o implementacji w układach FPGA i jest łatwy do implementacji w układach FPGA największych producentów (Actel, Altera, Lattice, Xilinx). Rdzeń Cortex-M0 to najprostszy (i dzięki temu zajmuje najmniejszą powierzchnię na krzemie) i najbardziej energooszczędny rdzeń, jaki do tej pory zaprojektowano w firmie ARM. W założeniach jest to 32-bitowy konkurent dla mikrokontrolerów 8/16-bitowych w mniej zaawansowanych aplikacjach. Patrząc na dotychczasowe efekty działalności ARM Holdings możemy się spodziewać, że Cortex-M0 wywoła kolejną rewolucję w mikrokontrolerowym świecie. Obecnie (połowa roku 2011) w swoich mikrokontrolerach rdzenie Cortex-M0 stosują firmy Nuvoton oraz NXP. W ofercie firmy NXP można znaleźć bardzo ciekawe układy LPC4300, łączące w sobie dwa rdzenie: główny Cortex-M4, oraz koprocesor Cortex-M0. Stosowanie mikrokontrolerów dwurdzeniowych może być uzasadnione w aplikacjach wymagających cyfrowego przetwarzania sygnałów. Rdzeń Cortex- M4 jest zoptymalizowany pod kątem DSP, więc w układach z rodziny LPC4300 można wykorzystać jego całą moc, przerzucając zwykłe sterowanie na barki drugiego rdzenia (Cortex-M0). Jedną z najważniejszych z punktu widzenia programisty różnic pomiędzy rdzeniami Cortex są obsługiwane przez nie rozkazy. Na rysunku 1.3 pokazano
6 14 1. Rdzeń Cortex-M3 mapę poleceń asemblerowych rozumianych przez poszczególne rdzenie z rodziny Cortex-M Ogólne spojrzenie na architekturę rdzenia Cortex-M3 Na rysunku 1.4 przedstawiono w uproszczeniu budowę rdzenia Cortex-M3. Jak wspomniano, obsługują one listę instrukcji Thumb-2, która zawiera polecenia umożliwiające operacje zarówno na danych 16- jak i 32-bitowych. Zaletą tej listy jest większa, w porównaniu do rozkazów ARM, gęstość upakowania poleceń (zaj- Rys Budowa rdzenia Cortex-M3 Rys Porównanie cech list instrukcji ARM, Thumb i Thumb-2
7 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3 15 Rys Przełączanie pomiędzy trybami ARM i Thumb w rdzeniach ARM7 i ARM9 mują mniej miejsca w pamięci Flash) i szybsze działanie programów (nawet do 1,25 DMIPS/MHz) niż miało to miejsce w przypadku znanej ze starszych rozwiązań listy Thumb zapisanych w postaci listy poleceń Thumb-2 (rysunek 1.5). Nie ma zatem potrzeby, tak jak to było w przypadku rdzeni ARM7 i ARM9, przełączania się pomiędzy 16-bitowym trybem Thumb a 32-bitowym ARM, co było typowym zabiegiem programistów, pozwalającym oszczędzać pamięć programu tam, gdzie prędkość wykonywania programów nie była krytyczna. Na rysunku 1.6 symbolicznie zaznaczono czas t, dla podkreślenia, że przełączanie trybów pracy wprowadza pewne opóźnienie w wykonywaniu programu. Lista Thumb-2 ma pewne rozszerzenia w stosunku do listy ARM (np. sprzętowe dzielenie), problemem jest to, że rdzenie Cortex-M3 nie są kompatybilne ze swoimi poprzednikami. Niestety oznacza to, że nie można bezpośrednio uruchomić programu napisanego np. dla ARM7 na układzie wyposażonym w rdzeń Cortex-M3. Rdzeń Cortex-M3 zaprojektowano z wykorzystaniem architektury harvardzkiej, co oznacza, że magistrale: pamięci programu i pamięci danych są od siebie oddzielone, co zilustrowano na rysunku 1.7. Takie podejście pozwala na dostęp do pamięci programu i pamięci danych w tym samym czasie, pamięci te współdzielą tę samą przestrzeń adresową, a więc nie można zaadresować, jak mogłoby się wydawać do 8 GB, a tylko do 4 GB w każdym obszarze. Zastosowanie architektury harvardzkiej pozwoliło na zwiększenie wydajności jednostki centralnej, ponieważ dostęp do pamięci danych może nie mieć dużego wpływu na wykonywanie programu. Może, ale nie musi. Bolączką pamięci Flash wbudowanych w mikrokontrolery STM32F103 jest ich relatywnie Rys Istotnym elementem architektury harvardzkiej (zastosowanej w rdzeniu Cortex-M3) jest rozdzielenie magistrali zapewniających dostęp do pamięci programu i pamięci danych
8 16 1. Rdzeń Cortex-M3 Rys Sposoby zapisu danych w formatach big endian i little endian niska częstotliwość maksymalnego sygnału zegarowego, przynajmniej w odniesieniu do maksymalnej częstotliwości rdzenia. Pamięć Flash nie może być taktowana szybciej niż sygnałem 24 MHz, a rdzeń może pracować z prędkością do 72 MHz. Gdy kolejno po sobie następujące instrukcje wykonują operacje na pamięci Flash, to wtedy wykonywanie programu może zostać opóźnione ze względu na wolniejszą prace pamięci. Więcej informacji na temat współpracy rdzenia mikrokontrolera i wewnętrznej pamięci Flash zamieszczono w rozdziale 3. Mikrokontrolery wyposażone w rdzenie Cortex-M3 mogą używać kodowania zarówno big endian jak i little endian, co oznacza różne kolejności zapisu bajtów do pamięci. Na rysunku 1.8 przedstawiono sposób zapisu bajtów w obydwu standardach: jak widać big endian polega na tym, że najbardziej znaczący bajt jest zapisywany jako pierwszy, natomiast w little endian jako pierwszy zapisywany jest mniej znaczący bajt. Dzięki dostępności obydwu trybów zapisu do pamięci można projektowaną aplikację dostosować do własnych wymagań, przykładowo aplikacje wykorzystujące sieć Ethernet mogą od razu pracować w kodowaniu big endian, przez co nie jest potrzebna zmiana kolejności nadchodzących bajtów. W przypadku bardziej zaawansowanego i wymagającego systemu rdzenie z rodziny Cortex mogą być wyposażone w jednostkę ochrony pamięci ( MPU Memory Protection Unit). Architektura Cortex ów zawiera w swej strukturze już zaimplementowane bloki do debugowania z obsługą pułapek ( breakpoint) i punktów podglądu ( watchpoint). Rdzenie Cortex obsługują dwa tryby pracy o różnych stopniach uprzywilejowania: tryb uprzywilejowany, tryb użytkownika. Po zerowaniu jednostka centralna zawsze uruchamia się w trybie uprzywilejowanym, a do jego zmiany służy najmłodszy bit rejestru specjalnego CONTROL. Praca w tym trybie umożliwia nieograniczony dostęp do zasobów rdzenia. Gdy program jest wykonywany w trybie użytkownika, niektóre zasoby rdzenia nie są dostępne, dzięki czemu aplikacja użytkownika nie ma dostępu do kluczowych ze względu na niezawodność elementów systemu, takich jak m.in. niektóre obszary pamięci. Dzięki takiemu rozwiązaniu łatwiej jest tworzyć na platformie Cortex niezawodnie działające systemy operacyjne, ponieważ kernel pracujący w trybie uprzywilejowa-
9 1.5. Przestrzeń adresowa 17 nym ma dostęp do wszystkich zasobów, natomiast aplikacja uruchamiana w systemie pracuje w bezpiecznym trybie nieuprzywilejowanym (użytkownika) Rejestry podstawowe Rdzeń Cortex-M3 wyposażono w szesnaście rejestrów podstawowych (R0 do R15), przy czym trzynaście z nich (od R0 do R12) jest rejestrami ogólnego przeznaczenia (General Purpose Register) rysunek 1.9. Trzeba zaznaczyć, że większość instrukcji 16-bitowych może operować tylko na ośmiu młodszych rejestrach z zakresu R0 do R7, a tylko niektóre z instrukcji 16-bitowych mogą pracować na rejestrach starszych. Rejestr R13 jest wskaźnikiem stosu. Podzielono Rys Rejestry rdzenia Cortex-M3 go na dwa oddzielne rejestry bankowane, co oznacza, że w danym momencie jest widoczny tylko jeden. Rejestr R13 składa się z: MSP Main Stack Pointer domyślnego rejestru używanego przez przerwania i jądra systemów operacyjnych, pracujących w trybie uprzywilejowanym, PSP Process Stack Pointer używanego przez program użytkownika uruchomionym pod skrzydłami systemu operacyjnego. Model wykorzystujący dwa stosy umożliwia tworzenie aplikacji o wyższym poziomie bezpieczeństwa, ponieważ program użytkownika nie ma dostępu do stosu sytemu operacyjnego, a co za tym idzie ma ograniczony negatywny wpływ na stabilność systemu. Pozostałe rejestry: R14 tzw. Link Register zawiera w sobie adres powrotu, a R15 licznik rozkazów zawiera adres aktualnie wykonywanej instrukcji. Może być zapisywany w celu sterowania wykonywaniem programu. Oprócz wyżej wymienionych rejestrów rdzenie Cortex-M3 wyposażono także w rejestry specjalne: Program Status Register, Interrupt Mask Register, Control Register. Służa one do sterowania pracą rdzenia i sposobem wykonywania programu, a ich zawartość może być modyfikowana tylko za pomocą instrukcji specjalnych, nie mogą być modyfikowane podczas normalnej pracy rdzenia Przestrzeń adresowa Przestrzeń adresowa obsługiwana przez rdzenie Cortex-M3, wynosząca w sumie 4 GB, jest podzielona na segmenty, m.in.: segment pamięci programu, pamięci SRAM i pamięci zewnętrznej RAM, urządzeń peryferyjnych itd. Mapę pamięci przedstawiono na rysunku Mimo, że przestrzeń adresową zdefiniował producent, istnieje możliwość odmiennego jej skonfigurowania. Przykładem może być np. umieszczenie programu w pamięci SRAM, zewnętrznej pamięci RAM, jak również np. umieszczenie danych w przestrzeni adresowej pamięci programu. Tego typu rozwiązania są mało efektywne, ale podczas pisania i testowania aplikacji czasem bardzo wygodne.
10 18 1. Rdzeń Cortex-M3 Rys Mapa pamięci obsługiwana przez rdzenie Cortex-M Bit-band, czyli obszary o dostępie atomowym Podtytuł z pewnością wymaga wyjaśnienia: co to bowiem znaczy obszar o dostępie atomowym? Kiedyś uważano, że atom jest najmniejszą, niepodzielną cząstką materii. Rozwój nauki wykazał błędność tego założenia, ale w celu wytłumaczenia określenia dostęp atomowy, trzymajmy się starszej wersji poglądu na budowę materii. Analogią do atomu w systemach cyfrowych jest bit. Po tym porównaniu łatwo już zrozumieć istotę obszarów o dostępie atomowym. Są to obszary pamięci, gdzie jest możliwy dostęp do pojedynczych bitów, a nie jak to jest zazwyczaj do całych bajtów. W przestrzeni adresowej rdzenia Cortex M3 znajdują się dwa obszary bit-band. Pierwszy w regionie pamięci RAM, a drugi w regionie urządzeń peryferyjnych. Dla pamięci RAM obszar, w którym jest możliwy dostęp atomowy rozpoczyna się od adresu 0x , natomiast dla urządzeń peryferyjnych jest to adres 0x Pomysł obszarów bit-band jest efektem dążenia do maksymalnej optymalizacji pracy rdzenia. Często zdarza się, że aplikacja musi zmienić stan tylko jednego bitu w danym miejscu w pamięci. Standardowo odbywa się to za pomocą trzech elementarnych operacji: odczytu komórki pamięci do rejestru, ustawienia interesującego bitu, przepisania zmodyfikowanej wartości z rejestru do komórki pamięci.
11 1.5. Przestrzeń adresowa 19 Rys Bit do którego wyznaczamy w przykładzie dostęp atomowy Wykorzystanie dostępu atomowego znacznie upraszcza sprawę, należy wykonać tylko operację zapisu (lub odczytu) pod odpowiedni adres. Zapis musi się odbyć na adres obliczony na podstawie adresu interesującego słowa, adresu bazowego regionu bit-band, numeru bajtu oraz pozycji bitu w bajcie. Obliczenia adresu dostępu atomowego przedstawiono poniżej. Załóżmy, że chcemy ustawić bit 5 komórki (bajtu) o adresie 0x (zaznaczony na rysunku 1.11) czyli jest to obszar bit-band w pamięci RAM. Adres tego bitu jest obliczany z zależności: adres_bitu = poczatek_regionu_bit_band + (przesuniecie_bajtu * 32) + (numer_bitu * 4), gdzie: adres_bitu na ten adres należy dokonać zapisu/odczytu, poczatek_regionu_bit_band dla obszaru pamięci RAM jest to 0x , przesuniecie_bajtu offset w stosunku do początku regionu bit-band, w omawianym przypadku ma on wartość 0x07, numer_bitu pozycja bitu, do której chcemy uzyskać dostęp atomowy. Wykorzystując powyższe informacje podstawiamy dane: adres_bitu = 0x (0x07 * 0x20) + (0x05 * 0x04) Wszystkie liczby są w systemie heksadecymalnym. Po wykonaniu obliczeń otrzymujemy: adres_bitu = 0x220000F4 Rys Mapowanie obszarów bit-band
12 20 1. Rdzeń Cortex-M3 Zapisując na ten adres wartość 0 lub 1 dokonamy (odpowiednio) skasowania lub ustawienia bitu 5 w bajcie o adresie 0x Z powyższych informacji i obliczeń wynika, że każdy bit z obszaru o dostępie atomowym ma przypisany zupełnie inny adres dla pierwszego bitu spod adresu 0x jest to adres 0x Dla omawianego przypadku zilustrowano to na rysunku Sterownik przerwań NVIC Jednym z istotniejszych zadań większości systemów mikroprocesorowych jest reakcja na zdarzenia ze świata zewnętrznego. Konstrukcje typowych mikrokontrolerów są zoptymalizowane pod względem obsługi zdarzeń i przerwań. W rdzenie Cortex- M3 wbudowano sprzętowy kontroler przerwań NVIC (Nested Vectored Interrupt Controller) i jest on nieodłącznym elementem tej architektury. Celem stosowania NVIC jest po pierwsze uproszczenie obsługi (zagnieżdżonych) przerwań, a po drugie skrócenie opóźnień w obsłudze przerwań. Jak wiadomo, w rdzeniach ARM7/ARM9 dostępne były dwa rodzaje przerwań (IRQ i FIQ), a ich obsługa była dość skomplikowana. Inżynierowie z firmy ARM zauważyli to i w rdzeniach Cortex mamy do dyspozycji NVIC, który znacznie upraszcza obsługę przerwań. Rdzeń Cortex-M3 obsługuje do piętnastu przerwań (wyjątków) systemowych i do 240 przerwań zewnętrznych to ile tych przerwań będzie faktycznie obsługiwanych przez fizyczny układ zależy od producenta mikrokontrolera. Większość wyjątków systemowych i wszystkie przerwania zewnętrzne mogą mieć programowo ustalany priorytet, co przedstawiono na rysunku Na uwagę zasługują trzy pierwsze wyjątki: ich priorytety mają wartość ujemną dla podkreślenia tego, że to one są w systemie najważniejsze, przy czym 3 jest priorytetem najwyższym z możliwych jest to zerowanie systemu. Rys Priorytety przerwań rdzenia Cortex-M3
13 1.6. Sterownik przerwań NVIC 21 Rys Obsługa przerwań zagnieżdżonych Kontroler NVIC umożliwia: Obsługę przerwań zagnieżdżonych wszystkie zewnętrzne przerwania i większość przerwań systemowych mogą mieć ustawiane różne priorytety. W momencie wystąpienia przerwania kontroler NVIC porównuje priorytet tego przerwania z priorytetem obecnego zadania. Jeżeli priorytet nowego przerwania jest wyższy od dotychczasowego, wtedy nowe zadanie o wyższym priorytecie dokona wywłaszczenia poprzedniego i jest wykonywane w pierwszej kolejności. Sytuację taką przedstawiono na rysunku Obsługę wektorów przerwań NVIC oferuje również sprzętowe wsparcie dla wektorów przerwań. W momencie, kiedy przerwanie zostaje przyjęte do realizacji adres funkcji obsługi przerwania (ISR) jest pobierany z wektora w pamięci. Nie ma potrzeby programowego wyznaczania adresu ISR, dzięki temu czas potrzebny na obsłużenie przerwania jest krótszy. Dynamiczne zmiany priorytetów przerwań co oznacza, że priorytety przerwań mogą być zmieniane programowo podczas pracy mikrokontrolera. Przerwanie, które jest w danym momencie obsługiwane, zostaje zablokowane przed zmianą priorytetu dopóki nie opuści ISR, zatem nie występuje niebezpieczeństwo wielokrotnego obsłużenia tego samego przerwania podczas zmiany priorytetu. Zmniejszenie opóźnień związanych z przerwaniami rdzeń Cortex-M3 zoptymalizowano pod kątem możliwie najkrótszych opóźnień czasowych obsługi przerwania. Jedną z podstawowych czynności mających na celu skrócenie tego czasu jest automatyczne zapisywanie i przywracanie kontekstu zadania, czyli zawartości kluczowych dla tego zadania rejestrów. W dalszej części tego rozdziału omówiono dokładniej poszczególne mechanizmy skracające opóźnienia w obsłudze przerwań ( Tail-Chaining, Late Arrival, przerywanie operacji POP). Maskowanie przerwań przerwania i wyjątki (exceptions) mogą być maskowane na podstawie ich priorytetów lub maskowane całkowicie poprzez odpowiednie użycie rejestrów maskujących. Ma to szczególne znaczenie dla zadań, w których wykonaniu czas jest parametrem krytycznym. W tym przypadku takie przerwania będą obsługiwane bez wywłaszczenia. Przykładowo można blokować przerwania od danego priorytetu w dół.
14 22 1. Rdzeń Cortex-M Lista rozkazów Thumb-2 Jedną z najważniejszych zalet rdzenia Cortex-M3 jest zdolność do obsługi instrukcji na danych 16- i 32-bitowych bez konieczności stosowania jakichkolwiek zabiegów (lista instrukcji Thumb-2). Takie rozwiązanie pozwoliło na zmniejszenie objętości wynikowego kodu oraz na zwiększenie wypadkowej prędkości wykonywania programu. W celu możliwie jak najlepszego wykorzystania możliwości drzemiących w zestawie instrukcji Thumb-2, stworzono pewną dedykowaną do tego celu odmianę asemblera Unified Assembler Language ( UAL) zunifikowany język asemblera. Dzięki temu operowanie instrukcjami 16- i 32-bitowymi stało się dużo prostsze i bardziej przejrzyste. W zestawie instrukcji Thumb-2 niektóre operacje mogą być wykonywane zarówno jako 16- jak i 32-bitowe. Przykładem może być dodawanie wartości liczbowej do rejestru: ADDS R0, #5 ADDS.N R0, #5 ADDS.W R0, #5 ;Zostanie użyta 16 bitowa instrukcja Thumb (domyślna, dla mniejszego ;rozmiaru kodu) ;Zostanie użyta również 16 bitowa instrukcja (N = Narrow) ;Tutaj będzie zastosowana 32 bitowa instrukcja Thumb 2 (W = Wide) Bez użycia sufiksu W (wide) lub N (narrow) kompilator wybierze domyślny rodzaj instrukcji, z reguły będzie to 16-bitowa instrukcja z zestawu Thumb-2. Z przedstawionych informacji widać, że zarówno twórcy kompilatorów jak i programiści, którzy podejmują się pisania części aplikacji w asemblerze, mają spore pole do popisu. Możliwości optymalizacji kodu są ogromne, choć jest to oczywiście praco- i czasochłonne. Tak więc decyzje dotyczące optymalizacji sposobu pisania kodu aplikacji powinny być podejmowane przy braniu pod uwagę zarówno czynników czasowych jak i ekonomicznych.
1.1. Firma ARM i jej wyroby
10 Od kilku lat na rynku mikrokontrolerów obserwujemy nowe, interesujące zjawisko. O ile jeszcze kilka lat temu każdy większy producent półprzewodników miał w ofercie produkcyjnej mikrokontrolery wyposażone
Wykład 2. Mikrokontrolery z rdzeniami ARM
Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów
Wykład 2. Mikrokontrolery z rdzeniami ARM
Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów ARM są szeroko
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Mikrokontrolery STM32 z bliska
Mikrokontrolery STM32 z bliska Jeszcze nie tak dawno możliwość zastosowania w swoich aplikacjach mikrokontrolerów 32 bitowych nawet nie przeszła przez myśl większości konstruktorom. Sytuacja uległa zmianie
Wykład 6. Mikrokontrolery z rdzeniem ARM
Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery
Procesory firmy ARM i MIPS
Procesory firmy ARM i MIPS 1 Architektura procesorów ARM Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC.
Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
MIKROKONTROLERY I MIKROPROCESORY
PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,
1. Wprowadzenie Wstęp
1 Wprowadzenie 12 1. Wprowadzenie 1.1. Wstęp We współczesnej technice powszechne jest wykorzystanie programowalnych układów cyfrowych. Często stanowią one jeden z elementów większego urządzenia bądź systemu
Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430
Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Wykład 5. Architektura ARM
Wykład 5 Architektura ARM Plan wykładu ARM co to jest? od historii od dzisiaj Wersje architektury ARMv1 ARMv7 Rodziny obecnie w użyciu ARM7 Cortex-A9 Listy instrukcji ARM, Thumb, Thumb-2, NEON, Jazelle
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Systemy na Chipie. Robert Czerwiński
Systemy na Chipie Robert Czerwiński Cel kursu Celem kursu jest zapoznanie słuchaczy ze współczesnymi metodami projektowania cyfrowych układów specjalizowanych, ze szczególnym uwzględnieniem układów logiki
Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,
Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane
Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08
Mikrokontrolery 8-bitowe Mikrokontrolery 8-bitowe stanowią wciąż najliczniejszą grupę mikrokontrolerów. Istniejące w chwili obecnej na rynku rodziny mikrokontrolerów opracowane zostały w latach 80-tych.
Cortex-M3 ST Microelectronics core processor capabilities. Możliwości procesorów z rdzeniem Cortex-M3 firmy ST Microelectronics
Marcin Gąsiorek V rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy Cortex-M3 ST Microelectronics core processor capabilities The paper presents the capabilities of the ARM Cortex-M3
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe
3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47
Spis treści 3 1. Rdzeń Cortex-M3...9 1.1. Firma ARM i jej wyroby...10 1.2. Rodzina rdzeni Cortex...12 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3...13 1.4. Rejestry podstawowe...16 1.5. Przestrzeń
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08
Mikrokontrolery 16-bitowe Oferowane obecnie na rynku mikrokontrolery 16-bitowe opracowane zostały pomiędzy połowa lat 80-tych a początkiem lat 90-tych. Ich powstanie było naturalną konsekwencją ograniczeń
ISBN 978-83-60233-22-1. Copyright by Wydawnictwo BTC Warszawa 2007. Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka
W książce zawarto praktyczne wprowadzenie w świat programowania w języku C mikrokontrolerów z rdzeniem ARM7. Przykłady zawarte w książce pokazują sposób wykorzystywania zasobów wbudowanych w mikrokontrolery
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel
Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080
Architektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Architektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
MIKROPROCESORY architektura i programowanie
SYSTEM PRZERWAŃ (dla µ-kontrolerów rodziny 51) pomysł przerwań zewnętrznych i programowych to kolejny, genialny fundament konstrukcji procesorów cyfrowych Naturalnie sekwencyjne wykonywanie programu może
Technika mikroprocesorowa
Technika mikroprocesorowa zajmuje się przetwarzaniem danych w oparciu o cyfrowe programowalne układy scalone. Systemy przetwarzające dane w oparciu o takie układy nazywane są systemami mikroprocesorowymi
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Mikrokontroler Wykład 5
Mikrokontroler Wykład 5 Mikrokontroler jednoukładowy Mikrokontroler jednoukładowy jest układem scalonym, w którym zostały zintegrowane następujące elementy Rdzeń obliczeniowy Kontroler pamięci oraz pamięć
Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach
mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Opracował: Jan Front
Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny
WPROWADZENIE Mikrosterownik mikrokontrolery
WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC
Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową
Prezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Układy zegarowe w systemie mikroprocesorowym
Układy zegarowe w systemie mikroprocesorowym 1 Sygnał zegarowy, sygnał taktujący W każdym systemie mikroprocesorowym jest wymagane źródło sygnałów zegarowych. Wszystkie operacje wewnątrz jednostki centralnej
1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33
Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
Jądro systemu operacyjnego
Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między
Rynkowe nowości, część 1
Rynkowe nowości, część 1 Procesor, którego nie było Historia ARM-ów sięga roku 1985, kiedy to firma Acorn Computer Group opracowała pierwszy na świecie komercyjny procesor RISC, który po dość istotnych
Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji
Komputer Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji Budowa komputera Drukarka (printer) Monitor ekranowy skaner Jednostka
Budowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Wykład Mikroprocesory i kontrolery
Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Zapoznanie się ze środowiskiem IAR Embedded Workbench; kompilacja, debuggowanie,
Kurs Zaawansowany S7. Spis treści. Dzień 1
Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Działanie i charakterystyka sterownika GE FANUC VersaMaxNano
Działanie i charakterystyka sterownika GE FANUC VersaMaxNano Sterownik wykonuje cyklicznie program sterujący. Oprócz wykonywania programu sterującego, sterownik regularnie gromadzi dane z urządzeń wejściowych,
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
Mikrokontrolery w mechatronice. Wstępne uwagi
Mikrokontrolery w mechatronice Wstępne uwagi Wstępny program wykładu: Układy sterowania;układy programowalne. System binarny i heksadecymalny. Mikroprocesor i mikrokontroler - podobieństwa i różnice. Charakterystyka
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje
Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania
Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia
Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3
Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3 organizowany przez: Koło Naukowe Mikrosystemów ONYKS we współpracy z: Wydawnictwem BTC Polskim przedstawicielstwem STMicroelectronics Plan spotkania
Zarządzanie zasobami pamięci
Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli
Podstawy Techniki Mikroprocesorowej
Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11
Spis treści 3 Wstęp...9 1. Podstawowe informacje o mikroprocesorach AT91SAM9...11 1.1. Krótka charakterystyka wybranych mikroprocesorów serii AT91SAM9...12 1.1.1. Cechy wspólne... 12 1.1.2. Rodzina SAM9
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08
Tendencje rozwojowe mikrokontrolerów Rozwój mikrokontrolerów następował w ciągu minionych 25 lat w następujących kierunkach: Rozwój CPU mikrokontrolerów w celu zwiększenia szybkości przetwarzania danych
1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
Przetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
Wybrane zagadnienia elektroniki współczesnej
Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów
Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).
Wykład 7. Architektura mikroprocesorów powtórka
Wykład 7 Architektura mikroprocesorów powtórka Architektura mikroprocesorów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit:
Procesory Blackfin. Część 1
Procesory Blackfin. Część 1 Wykład 7 Projektowanie cyfrowych układów elektronicznych Mgr inż. Łukasz Kirchner lukasz.kirchner@cs.put.poznan.pl http://www.cs.put.poznan.pl/lkirchner Charakterystyka rodziny
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Wstęp...9. 1. Architektura... 13
Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe
Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę
Systemy wbudowane. Przykłady kodu Assembler
Systemy wbudowane Przykłady kodu Assembler Wstęp Slowo assembly w języku angielskim oznacza składać, montować W odniesieniu do języka programowania słowo to odnosi się do niskopoziomowego języka programowania
Popularne pamięci FLASH firmy GigaDevice
1 Popularne pamięci FLASH firmy GigaDevice Popularne pamięci FLASH firmy GigaDevice Pamięci FLASH znajdują się w większości urządzeń zawierającym mikrokontroler bądź mikroprocesor. Ich stosowanie wymuszone
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Architektura ARM. Materiały do wykładu. Marcin Peczarski. 19 maja 2015. Instytut Informatyki Uniwersytet Warszawski
7 1 2 Materiały do wykładu Architektura ARM Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 19 maja 2015 7 1 2 1 ARM = Advanced RISC Machines Międzynarodowa firma, mająca główną siedzibę w
Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).
Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć