Systemy mikroprocesorowe

Podobne dokumenty
System mikroprocesorowy i peryferia. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

Organizacja typowego mikroprocesora

Mikrokontrolery AVR ATmega

Architektura komputerów

MIKROKONTROLERY I MIKROPROCESORY

Podstawy Techniki Mikroprocesorowej

Mikroprocesory i Mikrosterowniki

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Architektura komputerów

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

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

Mikroprocesory i Mikrosterowniki

Systemy wbudowane Mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery

8 bitowy rdzeń AVR. Dariusz Chaberski

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Procesory rodziny x86. Dariusz Chaberski

Architektura mikroprocesorów z rdzeniem ColdFire

Architektura systemów komputerowych

Technika Mikroprocesorowa

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Szkolenia specjalistyczne

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

Mikroprocesory i mikrosterowniki

Wykład Mikroprocesory i kontrolery

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

KARTA PRZEDMIOTU. Architektura Komputerów C4

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

ARCHITEKTURA PROCESORA,

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Układy wejścia/wyjścia

Budowa Mikrokomputera

Mikrokontrolery czyli o czym to będzie...

Programowanie niskopoziomowe

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]

Technika mikroprocesorowa I Wykład 2

Architektura mikroprocesorów TEO 2009/2010

Struktura i działanie jednostki centralnej

Przestrzeń pamięci. Układy dekoderów adresowych

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Mikroprocesory rodziny INTEL 80x86

Wstęp Architektura... 13

LEKCJA TEMAT: Zasada działania komputera.

Architektura systemów komputerowych. dr Artur Bartoszewski

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Komputery klasy PC. Dariusz Chaberski

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

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

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

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

LEKCJA TEMAT: Współczesne procesory.

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Magistrala systemowa (System Bus)

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

Dekodery 1/15. Konstrukcje dekoderów Wykorzystanie dekoderów

Architektura komputerów. Asembler procesorów rodziny x86

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Budowa i zasada działania komputera. dr Artur Bartoszewski

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

architektura komputerów w 1 1

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

Architektura komputera

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Technika mikroprocesorowa

Projektowanie. Projektowanie mikroprocesorów

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Techniki mikroprocesorowe i systemy wbudowane

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Technika mikroprocesorowa I Wykład 1

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Maszyny liczace - rys historyczny

PRZEWODNIK PO PRZEDMIOCIE

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

KARTA PRZEDMIOTU KARTA PRZEDMIOTU

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Mikrokontroler AVR ATmega32 - wykład 9

Architektura komputerów

Systemy wbudowane. Paweł Pełczyński

Systemy wbudowane. Mikrokontrolery cz. 1. Opracowano na podstawie (

Procesory. Schemat budowy procesora

Budowa komputera Komputer computer computare

Zarządzanie zasobami pamięci

Mikroprocesor Intel 8088 (8086)

Architektura systemów komputerowych

Transkrypt:

Dariusz Chaberski Uniwersytet Mikołaja Kopernika w Toruniu Wydział Fizyki, Astronomii i Informatyki Stosowanej Regionalne Kółka Fizyczne Urząd Marszałkowski w Toruniu Program Operacyjny Kapitał Ludzki Włocławek, 27 lutego 2010

Ustalenia 2/55 email: rkf.chaberski@fizyka.umk.pl www: http://www.fizyka.umk.pl/~rkf.chaberski http://www.fizyka.umk.pl/rkf/rkfgrudziadz.html 20 godzin = 2 godziny + 6 3 godziny Luty 6, 13, 20, 27 Marzec 6, 13, 20, 27 Kwiecień 3, 10, 17, 24

Architektura 3/55 A mikroprocesor C 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 graficzna magistrala adresowa magistrala danych sygnały sterujące A układy wejścia wyjścia D C klawiatura mysz stacja dyskietek

Architektura Komputer osobisty 4/55 mikroprocesor interfejsy komunikacyjne karta graficzna zestaw układów specjalizowanych CHIPSET 1 zestaw układów specjalizowanych CHIPSET 2 magistrale systemowe pamięć operacyjna interfejsy pamięci masowej

Architektura Komputer osobisty 5/55

Architektura Komputer osobisty 6/55

Architektura System kontrolny 7/55 magnes trwały Vcc wyświetlacz alfanumeryczny blok zasilacza z akumulatorem mikrokontroler moduł transmisji radiowej ultradźwiękowy czujnik ruchu klawiatura czytnik kart RFID

Architektura System kontrolny 8/55

Architektura System pomiarowy 9/55 czujnik głowica pomiarowa wyświetlacz alfanumeryczny mikrokontroler klawiatura blok zasilacza pamięć danych pomiarowych interfejs transmisji danych sygnały wzorcowe

Architektura Mikrokontroler - mikroprocesor porównanie 10/55 mikrokontroler mała moc obliczeniowa (30 MIPSów) na ogół brak instrukcji zmniennoprzecinkowych przetwarzanie jednopotokowe bogate peryferia (liczniki i układy czasowe, przetworniki A/C i C/A, duża liczba interfejsów) dostępne operacje bitowe brak układu zarządzania pamięcią MMU praca tylko w trybie rzeczywistym rzadko obsługiwany bezpośredni dostęp do pamięci DMA zastosowanie: aparatura kontrolno pomiarowa

Architektura Mikrokontroler - mikroprocesor porównanie mikroprocesor duża moc obliczeniowa (10000 MIPSów obecnie) wielordzeniowość oraz technologia HT przetwarzanie wielopotokowe dostępne instrukcje zmniennoprzecinkowe do działania wymaga dodatkowych peryferii (kontroler DMA, pamięć (programu i danych), kontroler przerwań) dostępny układ zarządzania pamięcią MMU adresowanie w trybie rzeczywistym i wirtualnym z reguły architektura Von-Neumana możliwość pracy w systemie wieloprocesorowym zastosowanie: komputery (stacje robocze - komputery osobiste, serwery) 11/55

Dwójkowe kody liczbowe Kod naturalny 12/55 n m A: a n 1 a n 2 a n 3 a 1 a 0 a 1 a 2 a 3 a 1 m a m L(A) = n 1 i= m 2 i L (a i )

Dwójkowe kody liczbowe Kod znak-moduł (ZM) 13/55 n 1 m A: a n 1 a n 2 a n 3 a n 4 a 1 a 0 a 1 a 2 a 3 a 1 m a m L(A) = ( 1) L(a n 1) n 2 i= m 2 i L (a i )

Dwójkowe kody liczbowe Kod uzupełnienie do 1 (U1) 14/55 n 1 m A: a n 1 a n 2 a n 3 a n 4 a 1 a 0 a 1 a 2 a 3 a 1 m a m L(A) = L(A)

Dwójkowe kody liczbowe Kod uzupełnienie do 2 (U2) 15/55 n 1 m A: a n 1 a n 2 a n 3 a n 4 a 1 a 0 a 1 a 2 a 3 a 1 m a m L(A) = L(A + L 1 (2 m ))

16/55 Systemy mikroprocesorowe Dwójkowe kody liczbowe Zapis zmiennoprzecinkowy n m A: a n znak a n 1 a n 2 a n 3 a 1 cecha - wykładnik C = A[n 1, 0] M = A[ 1, m] S = A[n] E = 2 n 1 1 L(A) = ( 1) L(S) L(M) 2 L(C) E 2 n 1 L(C) 0 1 L(M) < 2, normalizacja L(S) = 0, 1 a 0 a 1 a 2 a 3 a 1 m a m mantysa

Operacje na liczbach dwójkowych Suma 17/55 A: 1 1 0 1 0 1 1 1 0 0 B: 0 0 1 1 0 0 1 0 1 0 A+B: 0 0 0 0 1 0 0 1 1 0 C: 1 Z: 0 N: 0 V: 0 S: 0 H: 0

Operacje na liczbach dwójkowych Różnica 18/55 A: 1 1 0 1 0 1 1 1 B: 1 1 1 0 1 0 0 0 A-B: 1 1 1 0 1 1 1 1 C: 1 Z: 0 N: 1 V: 0 S: 1 H: 1

Operacje na liczbach dwójkowych Różnica 19/55 A: 1 1 0 1 0 1 1 1 B: 0 0 0 1 0 1 1 1 1 A-B: 1 1 1 0 1 1 1 1 C: 0 Z: 0 N: 1 V: 0 S: 1 H: 0

Operacje na liczbach dwójkowych Iloczyn 20/55 A: 1 1 0 1 0 1 1 1 B: 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 A B: 1 1 0 1 1 1 1 1 0 1 1 0 0 1 1 C: 0 Z: 0

Operacje na liczbach dwójkowych Iloraz 21/55 A % B: 0 0 0 1 0 1 0 1 A: 1 1 0 1 0 1 1 1 B: 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 C: 0 Z: 0 0 1 0 1

Operacje na liczbach dwójkowych Operacje logiczne 22/55 A: 0 0 0 1 0 1 0 1 B: 1 1 0 1 0 1 1 1 A B: A B: 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 A B: 1 1 0 0 0 0 1 0 A: 1 1 1 0 1 0 1 0

Adresowanie Adresowanie bezpośrednie 23/55 pamięć programu rejestry ogólnego przeznaczenia akumulator

Adresowanie Adresowanie pośrednie 24/55 pamięć programu rejestry ogólnego przeznaczenia lub pamięć akumulator

Adresowanie Wartość natychmiastowa 25/55 pamięć programu akumulator

Adresowanie Architektura Von Neumana 26/55 0x7ffff pamięć programu 0x50000 0x4ffff pamięć danych 0x00000 b m 1 b 0

Adresowanie Architektura harwardzka 27/55 0xffff 0x4ffff pamięć programu pamięć danych 0x0000 b n 1 b 0 0x00000 b m 1 b 0

Instrukcje Budowa 28/55 R: r k 1 r 0 O: o l 1 o 0 rodzaj operacji pierwszy operand O : o m 1 o 0 W: w n 1 w 0 drugi operand wynik R(W, F) = R(O, O, F) przykłady F [W] = [O] O F W = O [#O ]

Instrukcje Rodzaje instrukcji 29/55 pełniona funkcja przesłań arytmetyczne logiczne sterujące warunkowe specjalne typ danych stałoprzecinkowe zmiennoprzecinkowe bitowe blokowe DSP - Digital Signal Processing SIMD - Single Instruction Multiple Data poziom uprzywilejowania

Instrukcje Podział mikroprocesorów ze względu na listę instrukcji 30/55 RISC (ang. Reduced Instruction Set Computer) zbiór instrukcji jest ortogonalny mała liczba instrukcji CISC (ang. Complex Instruction Set Computer) rozbudowana liczba instrukcji wysoka specjalizacja instrukcji

Instrukcje Instrukcje przesłań 31/55 rejestry ogólnego przeznaczenia pamięć RD H RD L AD: RS AS: AS+1: [AD] = RS RD H RD L = [AS] [AS + 1]

Instrukcje Instrukcje przesunięcia 32/55 logiczne w prawo b N 1 b 0 C 0 w lewo 0 arytmetyczne w prawo b N 1 b 0 C

Instrukcje Instrukcje blokowe 33/55 DI: SI: pamięć CNT: DI: SI: licznik przesłań rejestr indeksowy przeznaczenia rejestr indeksowy źródła znacznik kierunku DIR

34/55 Systemy mikroprocesorowe Układ wykonawczy Cykl wykonywania instrukcji przetwarzanie sekwencyjne F D R E W F D E F F D E W F D R E przetwarzanie potokowe F D R E W F D E F F D E W F D R E F - pobranie kodu instrukcji D - dekodowanie instrukcji R - odczyt argumentów E - wykonanie instrukcji W - zapisanie wyniku - oczekiwanie

Układ wykonawczy Wielowątkowość 35/55 Standardowy procesor procesor fizyczny procesor logiczny UW1 UW2 UW3 Procesor z technologią HT procesor fizyczny procesor logiczny UW1 UW2 UW3

Układ wykonawczy Hiperskalarność 36/55 Standardowy układ wykonawczy akumulator rejestr tymczasowy rejestr znaczników rejestry ogólnego przeznaczenia wskaźnik stosu rejestr rozkazów licznik programu

Układ wykonawczy Hiperskalarność 37/55 Hiperskalarny układ wykonawczy rejestry ogólnego przeznaczenia FIFO sekwenser licznik programu

Urządzenia peryferyjne Magistrale 38/55 WR zapis CS OE odczyt D D 0 D 1 A A 0 A 1

Urządzenia peryferyjne Porty wejścia wyjścia 39/55 R LED VCC R P D 0 D 0 Q D C Q D C IN OE OUT IN OE OUT D A C dekoder adresów

Urządzenia peryferyjne Przetwornik analogowo cyfrowy mikrokontroler ANIN 0 ANIN 1 ANIN 7 przetwornik A/C (SAR) D 0... D 11 b 7 INT jednostka centralna CLK preskaler bajt konfiguracyjny ADRH ADRL b 1 b 0 40/55

Urządzenia peryferyjne Przetwornik cyfrowo analogowy mikrokontroler ANOUT 1 przetwornik C/A D 0... D 11 b 7 jednostka centralna ANOUT 2 przetwornik C/A D 0... D 11 VREF + b 1 b 0 VREF ADRH ADRL CLK 41/55

Urządzenia peryferyjne Bezpośredni dostęp do pamięci 42/55 drugi poziom mikroprocesor DACK pierwszy poziom szyna adresowa szyna danych DREQ kontroler DMA sygnały sterujące DACK DACK DREQ DREQ kontroler DMA DACK kontroler DMA DREQ układ zewnętrzny

Urządzenia peryferyjne Kontroler przerwań 43/55 magistrala danych magistrala sterująca magistrala adresowa przerwanie potwierdzenie A2-A0 W CS OE IO D7-D0 kontroler przerwań wejścia przerwań

Urządzenia peryferyjne Kontroler przerwań 44/55 skok skok skok instrukcja instrukcja instrukcja przerwanie instrukcja instrukcja instrukcja instrukcja powrót podprogramy obsługi przerwań kod przerwanego programu pełny kod podprogramu obsługi przerwania

8 bitowe mikrokontrolery rodziny AVR Podział 45/55 tinyavr megaavr XMEGA

8 bitowe mikrokontrolery rodziny AVR Rdzeń AVR 46/55 8 bitowa magistrala danych pamięć programu FLASH rejestr instrukcji licznik programu słowa kontrolno statusowe 32 8 rejestrów ogólnego przeznaczenia kontroler przerwań jednostka SPI dekoder instrukcji linie sterujące adresowanie bezpośrednie adresowanie pośrednie ALU pamięć danych SRAM Watchdog licznik czasomierz komparator analogowy Moduł 1 we/wy Moduł 2 we/wy EEPROM Moduł n we/wy porty wejścia wyjścia

8 bitowe mikrokontrolery rodziny AVR Rejestr statusowy numer bitu 7 0 nazwa I T H S V N Z C dostęp R/W R/W R/W R/W R/W R/W R/W R/W wartość początkowa 0 0 0 0 0 0 0 0 I - globalne zezwolenie na przerwania T - znacznik kopii H - znacznik przeniesienia połówkowego S - bit znaku S=V N V - znacznik przepełnienia N - znacznik wartości ujemnej Z - znacznik wartości zerowej C - znacznik przeniesienia lub pożyczki 47/55

8 bitowe mikrokontrolery rodziny AVR Rejestry ogólnego przeznaczenia 7 0 R0 R1 R2 adres 0x00 0x01 0x02... R13 R14 R15 R16 R17 0x0D 0x0E 0x0F 0x10 0x11... R26 R27 R28 R29 R30 R31 0x1A 0x1B 0x1C 0x1D 0x1E 0x1F młodszy bajt rejestru X starszy bajt rejestru X młodszy bajt rejestru Y starszy bajt rejestru Y młodszy bajt rejestru Z starszy bajt rejestru Z X, Y, Z - rejestry indeksowe/wskaźnikowe 48/55

8 bitowe mikrokontrolery rodziny AVR Mapa pamięci programu 49/55 15 0 wektory przerwań i resetu 0x0000 FLASH obszar aplikacji obszar programu modyfikującego pamięć programu 0x1FFF

8 bitowe mikrokontrolery rodziny AVR Budowa cyfrowego portu wejścia wyjścia 50/55 PUD DDxn Q D Q CLR RESET WDx RDx Pxn SLEEP PORTxn Q D Q CLR RESET WPx RRx synchronizator SYNC PINxn D L Q Q D Q Q RPx clk I/O magistrala danych

8 bitowe mikrokontrolery rodziny AVR Przykładowe instrukcje 51/55 mnemonik operandy opis znaczniki # uwagi ADD Rd, Rr Rd=Rd+Rr ZCNVSH 1 d,r=[0,31] ADC Rd, Rr Rd=Rd+Rr+C ZCNVSH 1 d,r=[0,31] ADIW Rd, K Rd+1:Rd=Rd+1:Rd+K ZCNVS 2 K=[0,63], d=24,26,28,30 COM Rd Rd=0xFF-Rd ZCNVS 1 d=[0,31] NEG Rd 0x00-Rd ZCNVSH 1 d=[0,31] CALL k [SP]=PC+2, PC=k - 4/5 k=[0,4m-1] RET - PC=[SP] - 4/5 - RETI - I=1, PC=[SP] I 4/5 - BREQ k if(z==1) PC=PC+1+k - 1/2 k=[-64,63] MOV Rd, Rr Rd=Rr - 1 r,d=[0,31] LDI Rd, K Rd=K - 1 d=[16,31], K=[0,255] LDS Rd, k Rd=[k] - 2 d=[0,31], k=[0,64k-1] LD Rd, X Rd=[X] - 2 d=[0,31] LPM - R0=[Z] - 3 -

Procesory rodziny x86 Adresowanie w trybie rzeczywistym 52/55 pamięć segment danych segment stosu segment programu segment dodatkowy rejestr segmentu danych rejestr segmentu stosu rejestr segmentu programu rejestr segmentu dodatkowego przesunięcie adres efektywny adres fizyczny

Procesory rodziny x86 Adresowanie w trybie chronionym 53/55 adres wirtualny selektor rejestr segmentowy adres efektywny adres fizyczny pamięć fizyczna deskryptor segmentu segment deskryptorów adres bazowy rozszerzenie rejestru segmentowego dana segment danych deskryptor segmentu

Procesory rodziny x86 Przełączanie zadań zadanie 1 zadanie 2 rozkaz rozkaz wywołanie rozkaz rozkaz stan rejestrów procesora segment stanu zadania 1 stan rejestrów procesora segment stanu zadania 2 rozkaz rozkaz powrót rozkaz stan rejestrów procesora stan rejestrów procesora segment deskryptorów selektor zadania deskryptor zadania 1 deskryptor zadania 2 segment deskryptorów zadań 54/55

Literatura 55/55 [1] 8-bit Microcontroller with 16K Bytes In-System Programmable Flash - ATmega16 ATmega16L. Atmel 2006. [2] Mikrokontrolery AVR w praktyce. Jarosław Doliński. BTC. Warszawa 2003. [3] Intel386 TM DX MICROPROCESSOR 32-BIT CHMOS MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT. Intel. 1995. [4] IA-32 Intel Architecture Software Developer s Manual Volume 1-3. Intel. 2004. [5] Mikrokomputery klasy IBM PC. Henryk Małysiak, Bolesław Pochopień, Eugeniusz Wróbel. WNT. Warszawa 1992. [6] Anatomia PC. Piotr Metzger, Adam Jełowicki. Helion. Wydanie czwarte lub nowsze. 1998.