Procesory osadzone ETD 7211 W

Wielkość: px
Rozpocząć pokaz od strony:

Download "Procesory osadzone ETD 7211 W"

Transkrypt

1 Procesory osadzone ETD 7211 W

2 Oscylator kwarcowy Częstotliwość: Hz Temperatura pracy: C Dokładność pomiaru: ppm/ C 2 (±1) 2 0,035 ppm = 0,035 ppm 1 C : 1,1 s/rok 10 C : 110 s/rok

3 Agenda Organizacja pamięci Obsługa programatora Ratowanie makiety Assembler i układy architektury ARM Obsługa wejść i wyjść ARM - Acorn RISC Machine do 1990 r. ARM - Advanced RISC Machine od 1990 r.

4 Odczyt Rej Shift ALu Zapis do Rej Potokowość (pipelining) - rozwiniecie Instrukcja Pobranie Dekodowanie Wykonanie ADDS R0, R4, R8 ADCS R1, R5, R9 ADDS R0, R4, R8 ORR R0, R0, #3 ADCS R1, R5, R9 ADDS R0, R4, R8 ADCS R3, R7, R1 ORR R0, R0, #3 ADCS R1, R5, R9 ADDS R0, R4, R8 ADCS R3, R7, R1 ORR R0, R0, #3 ADCS R1, R5, R9 Cykl zegara N N+1 N+2 N+3 N+4 Pobranie instrukcji Zamiana instrukcji Thumb -> ARM Dekodowanie Wybór rejestrów

5 Rozkazy procesora Rdzeń procesora ARM może pracować w jednym z następujących trybów: ARM Thumb Jazelle - 32-bitowe instrukcje, kod programu zostaje wyrównany do 4 bajtów, - szybszy nawet o 40% - Stosowany gdy wydajność jest parametrem krytyczny - zestaw 16-bitowych instrukcji, - upakowanie kodu większe nawet do 70% w stosunku do ARM, - zużycie mniejszej ilości pamięci/zasobów nawet do 30% - Mniejsze zużycie energii - tryb pozwalający na bezpośrednie wykonywanie instrukcji zgodnych ze specyfikacją języka Java, - wszystkie instrukcje są 8 bitowe, - procesor odczytuje zawsze 4 kolejne instrukcje 6

6 Rejestry specjalne Rejestry podstawowe Rejestry ogólnego przeznaczenia ARM7TDMI organizacja pamięci R0 R1 R12 R13 (SP) R14 (LR) R15 (PC) PSR PRIMASK CONTROL Stack Pointer Link Register Program Counter Program Status Reg. Primary Mask Reg. CONTROL Register Rejestry R0 R12 przeznaczenie ogólne R13 SP wskaźnik stosu R14 LR rejestr powrotny R15 PC licznik programu CPSR (Current Program Status Register) rejestr statusowy Dane pamięć RAM Stałe pamięć Flash 6+1 trybów ochrony 31 [16*] rejestrów ogólnego przeznaczenia, 6 rejestrów statusu W sumie 37 rejestrów * Dostępnych jednocześnie R0 R15

7 Rejestr statusowy Rejestr statusowy CPSR podaje aktualny stan w jakim znajduje się mikroprocesor. Rejestr ten podzielony jest na bity i pola bitowe. Znaczenie flag: N = ujemny wynik operacji Z = wynik operacji =0 C = przeniesienie/pożyczka V = przepełnienie Znaczenie bitów: I = wyłączenie przerwania IRQ F = wyłączenie przerwania FIQ T = tryb Thumb lub ARM 8

8 Laboratorium wiadomości istotne

9 Na dobry początek - wyjaśnienie OK, programator działa hmm raczej spodziewalibyśmy się sygnatury 0x4Fxxxxxx

10 Keil uvision - mapa pamięci Zmapowanie wg specyfikacji urządzenia. bardzo ważne aby zaznaczyć 11

11 LPC mapa pamięci Wektory wyjątków i wektor resetu zajmują pierwsze 64 bajty przestrzeni adresowej przed uruchomieniem programu z pamięci Flash sprawdzana jest jego poprawność na podstawie unikalnej sygnatury, która jest umieszczona w nieużywanym wektorze 0x Sygnatura ta jest sumą kontrolną w uzupełnieniu do dwóch zawartości tablicy wektorów wyjątków. BOOT ROM AND FLASH 32 kb ON-CHIP STATIC RAM - w skrócie wewnętrzna pamięć RAM kb ON-CHIP NON-VOLATILE MEMORY - w skrócie wewnętrzna pamięć FLASH

12 LPC mapa pamięci BOOT ROM AND FLASH ROM RAM 32 kb ON-CHIP STATIC RAM - w skrócie wewnętrzna pamięć RAM kb ON-CHIP NON-VOLATILE MEMORY - w skrócie wewnętrzna pamięć FLASH

13 Jednak.

14 LPC mapa pamięci BOOT ROM AND FLASH ROM RAM 32 kb ON-CHIP STATIC RAM - w skrócie wewnętrzna pamięć RAM kb ON-CHIP NON-VOLATILE MEMORY - w skrócie wewnętrzna pamięć FLASH

15 LPC wektory przerwań w pamięci Wektor Przerwanie/wyjątek Uwagi 0x0 RESET po resecie lub włączeniu zasilania rdzeń rozpoczyna pracę w trybie SVC od adresu 0x0 0x4 UNDEF obsługa nieznanych/niezdefiniowanych rozkazów 0x8 SVC tryb superużytkownika, zaraz po włączeniu zasilania 0xC ABORT wyjątek wystąpił w trakcie pobierania rozkazu 0x10 ABORT wyjątek wystąpił podczas dostępu do danych 0x14 Zarezerwowane sygnatura programu 0x18 IRQ obsługa przerwań z niskim priorytetem (może zostać przerwany przez FIQ) 0x1C FIQ tryb obsługujący przerwania i wyjątki o wysokich priorytetach (super szybki) 16

16 A co z zablokowanym procesorem?

17 Programowanie szeregowe - RS232 ISP, kasowanie pamięci 18 RX RS232 Linia P0.3 TX RS232 Linie P0.2

18 Flash Magic bootloader - RS232 ISP, kasowanie pamięci Linia P w stan niski (zwarcie do GND) Power Off Power On Kasujemy pamięć Chip Erase Linia P2.10 odłączona od GND Reset lub Power Off Power On 19

19 Wracając do wykładu

20 ARM7 przetwarzanie danych ARM7 - typowa architektura Load and Store co oznacza, że wszystkie operacje wykonywane są na rejestrach Brak rozkazów operujących bezpośrednio na pamięci - wyjątek stanowi: LOAD, STORE 21

21 ARM7TDMI Rdzeń ARM7TDMI stanowi mózg systemu, kręgosłupem są poszczególne magistrale a kończynami peryferia.

22 ARM7 - przesuwnik bitowy (ang. Barrel shifter) Barrel shifter wielopozycyjny przesuwnik bitowy, wykonujący przesunięcia arytmetyczne, logiczne oraz rotacje użytego w rozkazie operandu. Co daje: uzupełnia możliwości rdzenia o brakujące na liście rozkazów przesunięcia i rotacje, służy do skalowania jednego z argumentów w rozkazach arytmetycznych i logicznych (operacje mnożenia/dzielenia przez potęgę liczby 2 bez potrzeby wykonywania osobnej operacji) Rd rejestr przeznaczenia, Rn, Rm rejestry źródłowe 23

23 ARM7 - przesuwnik bitowy (ang. Barrel shifter) Użycie przesuwnika bitowego zdefiniowane jest w 2 operandzie, za pomocą dodatkowego mnemonika kodującego Słowo wejściowe: a 3 a 2 a 1 a 0 Rn Rm LSL LSR ASR przesunięcie logiczne w lewo a 2 a 1 a 0 0 przesunięcie logiczne w prawo 0 a 3 a 2 a 1 przesunięcie arytmetyczne w prawo 0 a 3 a 2 a 1 5 bitowa stała natychmiastowa, lub 8 najmłodszych bitów rejestru specyfikującego ROR rotacja w prawo a 0 a 3 a 2 a 1 RRX Rotacja w prawo z uwzględnieniem flagi C, flaga C jest wsuwana do najstarszego bitu rejestru Rm, zaś najmłodszy bit rejestru Rm jest przesuwany do C 24 SUB R4, R5, R6, ASR #2 ASR - przesunięcie operandu w rejestrze R6 MOV R4, #0 MOV R5, #100 MOV R6, #16 Jaka wartość zostanie umieszczona w rejestrze R4?

24 ARM7 - przesuwnik bitowy (ang. Barrel shifter) SUB R4, R5, R6, ASR #2 ASR - przesunięcie operandu w rejestrze R6 MOV R4, #0 MOV R5, #100 MOV R6, #16 W rejestrze R4 zostanie umieszczona wartość??? R4 R5 R R6, ASR #2 25 R6 4 SUB R4, R5, R6 R R4 = R5 - R

25 Asembler - składnia operand 1, np. wartość zapisana w rejestrze operand 2 rejestr docelowy (miejsce zapisu wyniku) <MNEMONIK> {<warunek>} {S} Rd, Rn, Operand kod operacji warunek wykonania instrukcji aktualizacja rejestru CPSR ADDEQS R0, R1, R3 26 Rozkazy standardowe, nie zawierające modyfikatora S domyślnie nie uaktualniają flag statusu w rejestrze CPSR, wyjątek: CMP, CMN, TST, TEQ

26 Assembler 27

27 Assembler - instrukcje

28 Asembler - instrukcje warunkowe nieco inaczej Prawie każda instrukcja może zawierać warunek określający kiedy dana instrukcja powinna być wykonana (np. kombinacja flag) Mnemonik Rozwinięcie mnemonika Warunek Stan flagi EQ equal równy Z=1 NE not equal nie równy Z=0 CS CARRY set ustawiona flaga przeniesienia CARRY; większy lub równy C=1 CC CARRY clear wyzerowana flaga przeniesienia CARRY, mniejszy C=0 MI minus/negative ujemny N=1 PL plus/positive or zero dodatni lub zerowy N=0 VS overflow set ustawiona flaga przepełnienia V=1 VC overflow clear wyzerowana flaga przepełnienia V=0 HI unsigned higher większy (liczby bez znaku) C=1 i Z=0 LS unsigned lower or same mniejszy lub równy (liczby bez znaku) C=0 lub Z=1 GE signed greater than or equal większy lub równy N=V LT signed less than mniejszy N V GT signed greater than większy Z=0 i (N=V) 29 LE signed greater then or equal mniejszy lub równy Z=1 lub (N V) AL always zawsze (mnemonik można pominąć) bez znaczenia

29 Asembler - instrukcje warunkowe nieco inaczej if (Z == 1) R1 = R2 + (R3*4) ADDEQ R1, R2, R3 LSL #2 Instrukcja warunkowa: add if equal Zostanie wykonana jeżeli wynik poprzedniej operacji uaktualniającej rejestr CPSR np. w operacji porównanie bądź arytmetycznej zwrócił zero W skrócie: jeżeli flaga Z w CPSR ustawiona na 1 wówczas R1 = Litera S w mnemoniku rozkazu oznacza, że instrukcja modyfikuje bity warunkowe fachowo S nazywany jest modyfikatorem uaktualniania rejestru CPSR 30 Zalety instrukcji warunkowych: wykonywanie instrukcji warunkowych pozwala na unikanie rozgałęzień

30 Asembler - ciekawsze instrukcje Jednostka mnożąca ALU rdzenia ARM7TDMI ma organizację 8*32 bity. Rozkazy mnożenia zależnie od wartości w rejestrze Rs wykonywane są w czasie od 1-4 cykli maszynowych. MUL Rd, Rz, Rs MLA Rd, Rz, Rs, Rn // mnożenie Rd=Rz*Rs // mnożenie z dodawaniem Rd=Rn+(Rz*Rs)!!! Powyższe rozkazy zachowuję tylko młodszą część 64-bitowego wyniku!!! MULEQ R0, R1, R2 //mnożenie będzie wykonane gdy Z=1 MULS R0, R1, R2 //nastąpi uaktualnienie flag stanu w rejestrze CPSR Rozkazy 64-bitowego mnożenie i mnożenia z dodawaniem mają następującą postać: UMULL Rd LOW, Rd HIGH, Rm, Rs UMLAL Rd LOW, Rd HIGH, Rm, Rs // wynik < Rd LOW, Rd HIGH > = Rm*Rs // wynik < Rd LOW, Rd HIGH > = Rm*Rs 31

31 Keil uvision5 - asembler i C Kod pisany w języku C/C++ bez problemu można wzbogacić fragmentami pisanymi w asemblerze: #include "LPC23xx.h" // miejsce na deklarację zmiennych // oraz funkcji int main (void){ while(1) { //ciało funkcji asm { } ADD r1, a, # } } Wstawka asemblerowa możliwość kodowania funkcji, newralgicznych części systemu, należy jednak pamiętać, że nazwy rejestrów nie muszą oznaczać fizycznych, jawnych rejestrów

32 Język C vs Asembler - przykład, implementacja pętli for int total; int i; total = 0; for (i = 10; i > 0; i--) { total += i; } prosty przykład w C i jego odpowiednik w asemblerze BNE - Branch if Not Equal przeskok warunkowy 33 etykiety: dalej, stop dalej: stop: MOV R0, #0 MOV R1, #10 ; wyzerowanie rejestru R0 ; zapisanie wartości 10 do R1 ADD R0, R0, R1 ; R0 - analogia zmiennej total SUBS R1, R1, #1 BNE dalej B stop ; pętla nieskończona

33 Język C vs Asembler - przykład, implementacja pętli while 34 a = 40; b = 25; while (a!= b) { if (a > b) a -= b; else b -= a; } CMP - Compare, wpływa na flagi N, Z, C, V; operacja (R0 R1) CMN - Compare Negative; operacja (R0 + R1) BEQ - Branch if Equal (Z=1) BLT - Branch if Less Than (N V) prosty przykład w C i jego odpowiednik w asemblerze MOV R0, #40 MOV R1, #25 ; R0 odpowiednik a ; R1 odpowiednik b dalej: CMP R0, R1 jeżeli Z=1, czyli R0=R1 BEQ stop BLT mniej SUB R0, R0, R1 B dalej mniej: SUB R1, R1, R0 jeżeli N=1 B dalej stop: B stop

34 Język C vs Asembler - implementacja pętli while ten sam przykład nieco inaczej a = 40; b = 25; while (a!= b) { if (a > b) a -= b; else b -= a; } prosty przykład w C i jego odpowiednik w asemblerze CMP - Compare, wpływa na flagi N, Z, C, V; operacja (R0 R1) BNE - Branch if Not Equal (Z=0) 35 SUBGT Subtract if Greater Than Z=0 i (N=V) SUBLT Subtract if Less Than N V dalej: stop: MOV R0, #40 MOV R1, #25 CMP R0, R1 SUBGT R0, R0, R1 SUBLT R1, R1, R0 BNE dalej B stop ; R0 odpowiednik a ; R1 odpowiednik b

35 Struktura osadzona Kod pisany w języku C Instrukcje asemblera 5 instrukcji 5 lub 6 cykli zegarowych 36

36 ARM magistrale połączeniowe 37 Magistrala Local Bus komunikacją z pamięcią operacyjną Magistrala AHB - Advanced High Performance Bus komunikacja z urządzeniami peryferyjnymi jak: VIC, pamięć RAM portu USB, Ethernet Magistrala VBP - VLSI Peripheral Bus komunikacja z pozostałymi urządzeniami peryferyjnymi, możliwość pracy z wolniejszymi urządzeniami

37 LPC sterowanie portami wyjściowymi - UM10211 Chapter 8 Układów LPC2368 posiada 4 porty I/O, Każda z linii może spełniać jedną z wielu funkcji np.: 38

38 LPC sterowanie portami wyjściowymi - UM10211 Chapter 9 GPIO P0.0 RD1 TXD3 SDA P0.0/RD1/TXD3/SDA1 PINSEL0 bity 1 0 RESET 0x s Stany Opis funkcji 00 domyślnie, port GPIO 01 odbiornik linii CAN, RD1 10 nadajnik UART, TXD3 11 Linia danych I2C, SDA1 Za wybór odpowiedniej funkcji linii wyjściowej odpowiada odpowiedni rejestr PINSELx, a dokładniej bity 1 i 0 Po włączeniu zasilania i po każdym resetowaniu układu wszystkie linie I/O działają jako GPIO (General Purpose Input/Output)

39 PORT P0 LPC sterowanie portami wyjściowymi - UM10211 Chapter 9 IOPIN0 P0.0/RD1/TXD3/SDA1 IODIR0 IOCLR0 IOSET0 Każda linia I/O jest sterowana za pomocą bitów w rejestrach: IODIR odpowiada za kierunek portu: 1 wyjście, 0 - wejście IOPIN pozwala odczytać stan linii portu skonfigurowanego jako wejście, zapis wartości powoduję zmianę stanu portu IOCLR odpowiada za zerowanie stanu linii wyjściowej IOSET odpowiada za ustawienie wartości 1 na linii wyjściowej 40

40 LPC sterowanie portami wyjściowymi - UM10211 Chapter 9 IODIR odpowiada za kierunek portu: 1 wyjście, 0 - wejście IOPIN pozwala odczytać stan linii portu skonfigurowanego jako wejście IOCLR odpowiada za zerowanie stanu linii wyjściowej IOSET odpowiada za ustawienie wartości 1 na linii wyjściowej Sposób użycia w C: IODIR0=0x00FF0000; IOSET0=0x00F00000; IOCLR0=0x00F00000; // linie portu P0 ustawiono jako wyjście // linie ustawiono w stan wysoki // linie ustawiono w stan niski IOCLR, IOSET zmieniają tylko i wyłącznie stan określonej linii bez modyfikacji pozostałych IOSET0=0xF ;

41 LPC sterowanie portami wyjściowymi - UM10211 Chapter 9 Nieco inną odmianę wyjść GPIO stanowią szybie wyjścia FGPIO, (Fast General Purpose Input/Output), Szybkie linie/porty wyjściowe komunikują się z rdzeniem ARM za pośrednictwem szybkiej magistrali local bus. FIOnDIR rejestr kierunku FIOnPIN odczyt wartości panującej na porcie, zapis do tego rejestru zmienia stan portu FIOnSET ustawienie wartości 1 na danym pinie portu FIOnCLR ustawienie wartości 0 na danym pinie portu FIOnMASK rejestr maski portu, pozwala na określenie, które linie portu mogą być zmienione, zapis i odczyt jest możliwy tylko do/z tych linii portu, które odpowiadają bitom rejestru o wartości 0 IOPIN0 = (IOPIN0 && 0xFFFF00FF) 0x0000A500 FIO0MASK = 0xFFFF00FF; FIO0PIN = 0x0000A500; 42

42 LPC sterowanie portami wyjściowymi pull up, pull down. Podobnie jak w układach AVR, dla wyjść GPIO możliwe jest ustawienie rezystora podciągającego do VCC lub GND, Za ustawienie odpowiada rejestr PINMODE, a dokładniej każde jego 2 bity Pull-up/pull-down może być ustawiony dla każdej linii niezaleznie or realizowanej funkcji P0.15 P0.0 pull-up pull-down PINMODE0 bity 1 0 RESET 0x Stany Opis funkcji 00 domyślnie, na linii portu pull-up 01 wartość zarezerwowana 10 brak pull-up oraz pull-down 11 na linii portu pull-down PINMODE0 P0.0 P0.15 PINMODE1 P0.16 P0.26 PINMODE2 P1.0 P1.15 PINMODE3 P1.16 P1.31 PINMODE4 P2.0 P2.15 PINMODE5 zarezerwowany PINMODE6 P3.0 P3.15

43 Programowanie układów ARM - plik Startup.s LPC2300.s oprogramowanie wektora resetu oraz wektorów przerwań oprogramowanie kluczowych urządzeń peryferyjnych: kontroler pamięci, PLL alokacja miejsca na stosy oraz inicjalizacja wskaźników stosu Definicja stałych symbolicznych Oprogramowanie wektorów przerwań Oprogramowanie specyficznych urządzeń peryferyjnych Skoki do odpowiednich procedur obsługi Inicjalizacja adresów tych procedur Konfiguracja zegara PLL Wyłączenie układu watchdog Odblokowanie sygnału RESET Mapowanie pamięci 4 Inicjalizacja rdzenia ARM7TDMI Inicjalizacja wskaźników stosu w poszczególnych trybach pracy układu 44 5 Inicjalizacja bibliotek wymaganych przez kompilator oraz zmiennych globalnych lub skok do dalszej części programu Wywołanie funkcji inicjalizującej zmienne i biblioteki języka C lub asembler

44 Programowanie układów ARM - plik Startup.s LPC2300.s 1 Definicja stałych symbolicznych określenie wartości bitów M4-M0 Definicja stałych symbolicznych rozmiar stosu w bajtach rozmiar stosów należy dostosować do wymagań docelowej aplikacji 45

45 Dziękuję za uwagę

Procesory osadzone ETD 7211 W

Procesory osadzone ETD 7211 W Procesory osadzone ETD 7211 W4 05.11.2018 Przypomnienie Barrel shifter Instrukcje warunkowe ARM magistrale połączeniowe GPIO FGPIO ARM7 - przesuwnik bitowy (ang. Barrel shifter) Barrel shifter wielopozycyjny

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Szkolenia specjalistyczne

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

Bardziej szczegółowo

Programowanie w asemblerze ARM wprowadzenie

Programowanie w asemblerze ARM wprowadzenie Programowanie w asemblerze ARM wprowadzenie 17 stycznia 2017 Historia Firma ARM Ltd. powstała w 1990 roku jako Advanced RISC Machines Ltd., joint venture firm Acorn Computers, Apple Computer i VLSI Technology.

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

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

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A Symulator Escape Konfiguracja ogólna Enable MUL and DIV Complete Set of Comp.Oper Sign Extension of B/H/W Memory Oper on B/H/W Program Program Dane Dane Załaduj konfigurację symulatora (File -> OpenFile)

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

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)...

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

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

Bardziej szczegółowo

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

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.

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

Bardziej szczegółowo

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

Bardziej szczegółowo

Lista Rozkazów: Język komputera

Lista Rozkazów: Język komputera Lista Rozkazów: Język komputera Większość slajdów do tego wykładu to tłumaczenia i przeróbki oficjalnych sladjów do podręcznika Pattersona i Hennessy ego Lista rozkazów Zestaw rozkazów wykonywanych przez

Bardziej szczegółowo

Organizacja typowego mikroprocesora

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ą

Bardziej szczegółowo

Politechnika Świętokrzyska

Politechnika Świętokrzyska Politechnika Świętokrzyska Laboratorium Mikrokontrolerów Ćwiczenie 1 Programowanie w asemblerze dr inż. Robert Kazała Kielce 2015 Cel ćwiczenia Celem ćwiczenia jest zdobycie umiejętności obsługi środowiska

Bardziej szczegółowo

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Laboratorium 5 Operacje arytmetyczne Autor: Paweł Russek Tłumaczenie: Marcin Pietroń i Ernest Jamro http://www.fpga.agh.edu.pl/tm

Bardziej szczegółowo

Systemy wbudowane. Przykłady kodu Assembler

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

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

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

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

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.

Bardziej szczegółowo

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017 Politechnika Wrocławska, Wydział Elektroniki Mikrosystemów i Fotoniki Wydziałowy Zakład Metrologii Mikro- i Nanostruktur LABORATORIUM UKŁADÓW PROGRAMOWALNYCH PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

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

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są

Bardziej szczegółowo

Procesory osadzone ETD Wprowadzenie W

Procesory osadzone ETD Wprowadzenie W Procesory osadzone ETD 7211 Wprowadzenie W1 8.10.2018 Informacje Prowadzący: mgr inż. Maciej Rudek Konsultacje: Strona kursu: Poniedziałek: 11 00-13 00 Środa: 11 00-13 00 http://www.w12.pwr.wroc.pl/mikro/

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Kurs Elektroniki Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Mikrokontroler - autonomiczny i użyteczny system mikroprocesorowy, który do swego działania wymaga minimalnej liczby elementów dodatkowych.

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

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

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

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

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

Bardziej szczegółowo

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy: LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową

Bardziej szczegółowo

Mikrokontrolery STR91x od podstaw, część 1

Mikrokontrolery STR91x od podstaw, część 1 Mikrokontrolery STR91x od podstaw, część 1 Postanowiliśmy przygotować ekspresowy kurs poświęcony mikrokontrolerom STR91x gównie z powodu wielu zapytań o to czym różnią się one od popularnych wśród konstruktorów

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

Bardziej szczegółowo

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 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ę

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

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.

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki

Mikroprocesory i mikrosterowniki Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

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

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Język programowania: Lista instrukcji (IL Instruction List) Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne

Bardziej szczegółowo

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Jednostka centralna procesor (CPU, rdzeń) Schemat blokowy procesora rdzeniowego ATmega16 Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Zadania JC: dostęp do pamięci,

Bardziej szczegółowo

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

7. Technika mikroprocesorowa test

7. Technika mikroprocesorowa test 7. Technika mikroprocesorowa test 7.1. Wektor przerwań to: a) adres miejsca w pamięci programu, gdzie znajdują się adresy procedur obsługi przerwań lub ich pierwsze instrukcje b) obszar w pamięci programu

Bardziej szczegółowo

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz] Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne

Bardziej szczegółowo

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936) Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Programowanie w asemblerze ARM: instrukcje

Programowanie w asemblerze ARM: instrukcje Programowanie w asemblerze ARM: instrukcje 17 stycznia 2017 Instrukcje sterujace: skoki Instrukcja skoku B etykieta Dzięki sufiksom warunków mamy skoki warunkowe. Adres względny (do pc), w zakresie ok.

Bardziej szczegółowo

Metody obsługi zdarzeń

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

Bardziej szczegółowo

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa Projekt MARM Dokumentacja projektu Łukasz Wolniak Stacja pogodowa 1. Cel projektu Celem projektu było opracowanie urządzenia do pomiaru temperatury, ciśnienia oraz wilgotności w oparciu o mikrokontroler

Bardziej szczegółowo

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 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).

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle

Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle Marcin Stępniak Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle 1. Informacje 1.1. Instrukcje skoku Instrukcje skoku zmieniają wskaźnik instrukcji w rejestrze

Bardziej szczegółowo

Wprowadzenie - Keil µvision, konfiguracja...

Wprowadzenie - Keil µvision, konfiguracja... Politechnika Wrocławska, Wydział Elektroniki Mikrosystemów i Fotoniki Wydziałowy Zakład Metrologii Mikro- i Nanostruktur LABORATORIUM UKŁADÓW PROGRAMOWALNYCH PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

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

Bardziej szczegółowo

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) wersja 0.4 (20 kwietnia 2015) Filip A. Sala W niniejszym, bardzo krótkim opracowaniu, postaram się przedstawić

Bardziej szczegółowo

7. Technika mikroprocesorowa test

7. Technika mikroprocesorowa test 7. Technika mikroprocesorowa test 7.1. Wektor przerwań to: a) adres miejsca w pamięci programu, gdzie znajduje się procedura obsługi przerwania lub odwołanie do niej b) obszar w pamięci programu zawierający

Bardziej szczegółowo

Architektura mikroprocesorów TEO 2009/2010

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

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

PROGRAMOWALNE SYSTEMY MECHATRONIKI

PROGRAMOWALNE SYSTEMY MECHATRONIKI PROGRAMOWALNE SYSTEMY MECHATRONIKI Laboratorium nr 5 Podstawy programowania mikrokontrolerów. Przerwania. 1. System przerwań informacje ogólne Programy sterujące mikrokontrolerów rzadko mają postać listy

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura mikroprocesorów z rdzeniem ColdFire Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV

Bardziej szczegółowo

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535 Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u

Bardziej szczegółowo

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307 Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

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,

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Wykład Mikroprocesory i kontrolery

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

Bardziej szczegółowo

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

dr inż. Rafał Klaus Zajęcia finansowane z projektu Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle POKL Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

Bardziej szczegółowo

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

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

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo