Mikroprocesory µPs Mikrokontrolery µCs...- ICP (In-Circuit Programming) ADC: - Up to 12 channels -...

80
Mikroprocesory – µPs Mikrokontrolery – µCs Procesory sygnałowe – DSP 1/80

Transcript of Mikroprocesory µPs Mikrokontrolery µCs...- ICP (In-Circuit Programming) ADC: - Up to 12 channels -...

Mikroprocesory – µPs Mikrokontrolery – µCs

Procesory sygnałowe – DSP

1/80

Mikroprocesory - µPs

Mikroprocesor – układ cyfrowy wykonany jako pojedynczy

układ scalony charakteryzujący się wielkim stopniem

integracji (ULSI –ang. Ultra Large Scale Integration), zdolny

do wykonywania operacji cyfrowych zgodnie z dostarczonym

ciągiem instrukcji.

Mikroprocesor – układ cyfrowy wykonany jako pojedynczy

układ scalony charakteryzujący się wielkim stopniem

integracji (ULSI –ang. Ultra Large Scale Integration), zdolny

do wykonywania operacji cyfrowych zgodnie z dostarczonym

ciągiem instrukcji.

2/80

Mikroprocesory - µPs

Kryteria podziału mikroprocesorów:

długość słowa

mapa pamięci

lista rozkazów

ilość rdzeni

Kryteria podziału mikroprocesorów:

długość słowa

mapa pamięci

lista rozkazów

ilość rdzeni

3/80

uProcesory

• Architektura procesora według mapy pamięci architektura Von-Neumana (1945) (systemy z jednolitą

przestrzenią adresową) – jedna szyna danych wspólna dla

danych i programu, a podział obszaru pamięci na dane i program

jest umowny (zależy wyłącznie od rozmieszczenia tych

elementów w obszarze adresowym podczas projektowania

systemu.

programowanie ułatwione

powolna realizacja cyklu rozkazowego.

• Architektura procesora według mapy pamięci architektura Von-Neumana (1945) (systemy z jednolitą

przestrzenią adresową) – jedna szyna danych wspólna dla

danych i programu, a podział obszaru pamięci na dane i program

jest umowny (zależy wyłącznie od rozmieszczenia tych

elementów w obszarze adresowym podczas projektowania

systemu.

programowanie ułatwione

powolna realizacja cyklu rozkazowego.

4/80

uProcesory

• Architektura procesora według mapy pamięci architektura Von-Neumana:

informacje przechowywane są w komórkach pamięci o

jednakowym rozmiarze ang. cell, zawierających jednostki

informacji tzw. słowa ang. word

komórki pamięci tworzą uporządkowany zbiór z jednoznacznie

przypisanymi numerami zwanymi adresami

zawartość komórki pamięci może zmienić tylko procesor w

wyniku wykonania rozkazu zapisu słowa do pamięci

dane i rozkazy zakodowane są za pomocą liczb – bez analizy

programu trudno stwierdzić czy dany obszar pamięci zawiera

dane czy rozkazy

• Architektura procesora według mapy pamięci architektura Von-Neumana:

informacje przechowywane są w komórkach pamięci o

jednakowym rozmiarze ang. cell, zawierających jednostki

informacji tzw. słowa ang. word

komórki pamięci tworzą uporządkowany zbiór z jednoznacznie

przypisanymi numerami zwanymi adresami

zawartość komórki pamięci może zmienić tylko procesor w

wyniku wykonania rozkazu zapisu słowa do pamięci

dane i rozkazy zakodowane są za pomocą liczb – bez analizy

programu trudno stwierdzić czy dany obszar pamięci zawiera

dane czy rozkazy

5/80

Structured Computer Organization - A. S. Tanenbaum p. 74

Wykonanie instrukcji: 1. Pobranie instrukcji z pamięci do rejestru

instrukcji. 2. Zmiana licznika programu na wskaźnik na

aktualną instrukcję. 3. Określenie rodzaju ostatnio pobranej

instrukcji. 4. Jeśli instrukcja używa słowa z pamięci

określamy gdzie ono jest. 5. Pobranie słowa, jeśli potrzeba, do rejestru

CPU. 6. Wykonanie instrukcji. 7. Powrót do punktu 1, wykonanie kolejnej

instrukcji.

fetch-decode-execute cycle

uProcesory

6/80

• Architektura procesora według mapy pamięci architektura harwardzka – dwie oddzielne szyny dla

danych i rozkazów, w trakcie pobierania argumentów

wykonywanej właśnie instrukcji można równocześnie

zacząć pobieranie następnego słowa rozkazowego.

Magistrala danych i rozkazów mają rożną szerokość. Wada: utrudniony przepływ danych z pamięci programu do

pamięci operacyjnej nie można wykorzystywać techniki

programistycznej look-up tables; brak możliwości

indeksowanego przesłania danych z pamięci ROM do RAM co

powoduje np. brak możliwości budowy tabel współczynników

stałych w pamięci ROM

• Architektura procesora według mapy pamięci architektura harwardzka – dwie oddzielne szyny dla

danych i rozkazów, w trakcie pobierania argumentów

wykonywanej właśnie instrukcji można równocześnie

zacząć pobieranie następnego słowa rozkazowego.

Magistrala danych i rozkazów mają rożną szerokość. Wada: utrudniony przepływ danych z pamięci programu do

pamięci operacyjnej nie można wykorzystywać techniki

programistycznej look-up tables; brak możliwości

indeksowanego przesłania danych z pamięci ROM do RAM co

powoduje np. brak możliwości budowy tabel współczynników

stałych w pamięci ROM

uProcesory

7/80

• Architektura procesora według mapy pamięci architektura harwardzka:

oddzielone pamięci programu i danych, mogą być

wykonane w różnych technologiach, posiadać różną

długość słowa oraz odmienną strukturę adresowania

pamięć programu jest zazwyczaj większa niż pamięć

danych

pamięci instrukcji i danych zajmują inną przestrzeń

adresową

architektura stosowana w mikrokontrolerach

jednoukładowych, procesorach DSP oraz przy dostępie

procesora do pamięci cache

• Architektura procesora według mapy pamięci architektura harwardzka:

oddzielone pamięci programu i danych, mogą być

wykonane w różnych technologiach, posiadać różną

długość słowa oraz odmienną strukturę adresowania

pamięć programu jest zazwyczaj większa niż pamięć

danych

pamięci instrukcji i danych zajmują inną przestrzeń

adresową

architektura stosowana w mikrokontrolerach

jednoukładowych, procesorach DSP oraz przy dostępie

procesora do pamięci cache

uProcesory

8/80

PIC16F84 – architektura CPU PIC16F84 – architektura CPU

uProcesory

9/80

• Architektura procesora według mapy pamięci Zmodyfikowana architektura harwardzka – obszary

pamięci ROM i RAM są rozdzielone, ale mają taką

samą długość słowa

Podbieranie instrukcji i danych odbywa się po jednej

magistrali

Dzięki multiplekserom i odpowiedniej organizacji

magistrali pamięci ROM i RAM możliwe jest z pewnymi

ograniczeniami przesyłania stałych z pamięci ROM do

rejestrów i pamięci operacyjnej

• Architektura procesora według mapy pamięci Zmodyfikowana architektura harwardzka – obszary

pamięci ROM i RAM są rozdzielone, ale mają taką

samą długość słowa

Podbieranie instrukcji i danych odbywa się po jednej

magistrali

Dzięki multiplekserom i odpowiedniej organizacji

magistrali pamięci ROM i RAM możliwe jest z pewnymi

ograniczeniami przesyłania stałych z pamięci ROM do

rejestrów i pamięci operacyjnej

uProcesory

10/80

• Architektura procesora według listy rozkazów: RISC – ang. Reduced instruction set computer:

procesor jest zbudowany zgodnie z architekturą

harwardzką,

procesor wykorzystuje przetwarzanie potokowe

(pipeling ) w celu zwiększenia szybkości

wykonywania programu,

zbiór realizowanych instrukcji jest ograniczony (do

kilkudziesięciu) i spełnia warunki ortogonalności

(symetrii).

• Architektura procesora według listy rozkazów: RISC – ang. Reduced instruction set computer:

procesor jest zbudowany zgodnie z architekturą

harwardzką,

procesor wykorzystuje przetwarzanie potokowe

(pipeling ) w celu zwiększenia szybkości

wykonywania programu,

zbiór realizowanych instrukcji jest ograniczony (do

kilkudziesięciu) i spełnia warunki ortogonalności

(symetrii).

uProcesory

11/80

• Architektura RISC ortogonalność: każda instrukcja może operować na dowolnym

rejestrze roboczym,

każda instrukcja może wykorzystywać dowolny tryb

adresowania argumentów,

brak ukrytych powiązań między instrukcjami (efektów

ubocznych), które powodowałyby nieprzewidziane

reakcje systemu w zależności od kontekstu użycia

rozkazów w programie,

kody rozkazów i formaty instrukcji są zunifikowane –

instrukcje zajmują w pamięci programu taką samą

liczbę bajtów.

• Architektura RISC ortogonalność: każda instrukcja może operować na dowolnym

rejestrze roboczym,

każda instrukcja może wykorzystywać dowolny tryb

adresowania argumentów,

brak ukrytych powiązań między instrukcjami (efektów

ubocznych), które powodowałyby nieprzewidziane

reakcje systemu w zależności od kontekstu użycia

rozkazów w programie,

kody rozkazów i formaty instrukcji są zunifikowane –

instrukcje zajmują w pamięci programu taką samą

liczbę bajtów.

uProcesory

12/80

Rodziny mikroprocesorów o architekturze RISC:

Alpha

AMD 29000

ARM

Atmel AVR

IBM 801

Intel i860

Intel i960

Motorola M88000

MIPS

PA-RISC

PowerPC

SPARC

Rodziny mikroprocesorów o architekturze RISC:

Alpha

AMD 29000

ARM

Atmel AVR

IBM 801

Intel i860

Intel i960

Motorola M88000

MIPS

PA-RISC

PowerPC

SPARC

uProcesory

13/80

• Architektura procesora według listy rozkazów: CISC – ang. Complex instruction set computer –

charakteryzują się: złożonymi, specjalistycznymi rozkazami (instrukcjami), które do

wykonania wymagają od kilku do kilkunastu cykli zegara,

szeroką gama trybów adresowania,

w przeciwieństwie do architektury RISC rozkazy mogą operować

bezpośrednio na pamięci (zamiast przesłania wartości do

rejestrów i operowania na nich),

powyższe właściwości powodują, iż dekoder rozkazów jest bardzo

rozbudowany.

W architekturze CISC pojedynczy rozkaz mikroprocesora

wykonuje kilka operacji niskiego poziomu – pobranie z pamięci,

operację arytmetyczną i zapis do pamięci.

• Architektura procesora według listy rozkazów: CISC – ang. Complex instruction set computer –

charakteryzują się: złożonymi, specjalistycznymi rozkazami (instrukcjami), które do

wykonania wymagają od kilku do kilkunastu cykli zegara,

szeroką gama trybów adresowania,

w przeciwieństwie do architektury RISC rozkazy mogą operować

bezpośrednio na pamięci (zamiast przesłania wartości do

rejestrów i operowania na nich),

powyższe właściwości powodują, iż dekoder rozkazów jest bardzo

rozbudowany.

W architekturze CISC pojedynczy rozkaz mikroprocesora

wykonuje kilka operacji niskiego poziomu – pobranie z pamięci,

operację arytmetyczną i zapis do pamięci.

uProcesory

14/80

Rodziny mikrokontrolerów o architekturze CISC:

IBM System/360,

VAX – Digital,

PDP-11 – Digital,

x86

Rodziny mikrokontrolerów o architekturze CISC:

IBM System/360,

VAX – Digital,

PDP-11 – Digital,

x86

uProcesory

15/80

• Architektura procesora według listy rozkazów: MISC – ang. Minimal instruction set computer –

charakteryzują się: bardzo małą liczbą podstawowych operacji i odpowiadającymi im

kodami operacji,

zestawy instrukcji są częściej oparte na stosie, niż na rejestrach,

mniejsza i szybsza jednostka do dekodowania instrukcji,

szybsze wykonanie pojedynczych instrukcji.

Wadą architektury MISC jest to, że instrukcje mają skłonność

do posiadania większej ilości uzależnień sekwencyjnych, to

ogranicza liczbę instrukcji wykonywanych jednocześnie.

Komercyjne zastosowanie architektury MISC był INMOS transputer

• Architektura procesora według listy rozkazów: MISC – ang. Minimal instruction set computer –

charakteryzują się: bardzo małą liczbą podstawowych operacji i odpowiadającymi im

kodami operacji,

zestawy instrukcji są częściej oparte na stosie, niż na rejestrach,

mniejsza i szybsza jednostka do dekodowania instrukcji,

szybsze wykonanie pojedynczych instrukcji.

Wadą architektury MISC jest to, że instrukcje mają skłonność

do posiadania większej ilości uzależnień sekwencyjnych, to

ogranicza liczbę instrukcji wykonywanych jednocześnie.

Komercyjne zastosowanie architektury MISC był INMOS transputer

uProcesory

16/80

• Architektura procesora według listy rozkazów: Komercyjne zastosowanie architektury MISC wykorzystano w

transputerach firmy INMOS:

T-414 (1985 r.) – 32-bitowy CPU, 2 kB RAM

T-800 (1987 r. ) – 32-bitowy CPU, 2 kB RAM, FPU – IEEE 754

T-9000 (1994 r.) – 32-bitowy CPU, 16 kB RAM, 64-bitowy FPU, 5-

stopniowy pipeline, kanały komunikacyjne o przepustowości do

100 MB/s

• Architektura procesora według listy rozkazów: Komercyjne zastosowanie architektury MISC wykorzystano w

transputerach firmy INMOS:

T-414 (1985 r.) – 32-bitowy CPU, 2 kB RAM

T-800 (1987 r. ) – 32-bitowy CPU, 2 kB RAM, FPU – IEEE 754

T-9000 (1994 r.) – 32-bitowy CPU, 16 kB RAM, 64-bitowy FPU, 5-

stopniowy pipeline, kanały komunikacyjne o przepustowości do

100 MB/s

uProcesory

17/80

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word – mikroprocesory z

bardzo długim słowem instrukcji charakteryzują się: maksymalnym uproszczeniem jednostek sterujących (CU) w

samym mikroprocesorze,

przerzuceniem na barki oprogramowania złożoności przepływu

sterowania w mikroprocesorze, czyli wykonywania rozkazów

(programu),

uproszczoną logiką,

dużą liczbą danych - sygnałów sterujących,

pojedynczy rozkaz posiada w sobie zdekodowane (lub wstępnie

zdekodowane) sygnały sterujące – dane oraz instrukcje dla

konkretnych jednostek wykonawczych,

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word – mikroprocesory z

bardzo długim słowem instrukcji charakteryzują się: maksymalnym uproszczeniem jednostek sterujących (CU) w

samym mikroprocesorze,

przerzuceniem na barki oprogramowania złożoności przepływu

sterowania w mikroprocesorze, czyli wykonywania rozkazów

(programu),

uproszczoną logiką,

dużą liczbą danych - sygnałów sterujących,

pojedynczy rozkaz posiada w sobie zdekodowane (lub wstępnie

zdekodowane) sygnały sterujące – dane oraz instrukcje dla

konkretnych jednostek wykonawczych,

uProcesory

18/80

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

wykorzystują przetwarzanie ILP ang. Instruction Level

Parallelism – kompilator tłumaczy program wysoko-poziomowy na

podstawowe operacje, które mogą być wykonywane

równocześnie,

kompilator grupuje kilka operacji w bardzo długie słowo instrukcji

pojedyncza instrukcja procesora VLIW może mieć wielkość

kilkuset bitów od 128 do 1024,

procesor wspiera MFU ang. Multiple Functional Unit w

wykonywaniu kilku operacji w jednym cyklu zegarowym,

architektura VLIW oferuje ściśle zdefiniowany plan, czyli POE ang.

Plan Of Execution tworzony statycznie w czasie kompilacji,

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

wykorzystują przetwarzanie ILP ang. Instruction Level

Parallelism – kompilator tłumaczy program wysoko-poziomowy na

podstawowe operacje, które mogą być wykonywane

równocześnie,

kompilator grupuje kilka operacji w bardzo długie słowo instrukcji

pojedyncza instrukcja procesora VLIW może mieć wielkość

kilkuset bitów od 128 do 1024,

procesor wspiera MFU ang. Multiple Functional Unit w

wykonywaniu kilku operacji w jednym cyklu zegarowym,

architektura VLIW oferuje ściśle zdefiniowany plan, czyli POE ang.

Plan Of Execution tworzony statycznie w czasie kompilacji,

uProcesory

19/80

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

Kod obiektowy definiuje następujące zagadnienia:

kolejność wykonania każdej operacji,

które z modułów funkcjonalnych muszą być użyte,

które rejestry zawierają argumenty operacji,

VLIW procesor zawiera zbiór modułów funkcjonalnych: sumatory,

mnożniki, branch unit itd. oddzielonych od rejestrów i pamięci

podręcznej,

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

Kod obiektowy definiuje następujące zagadnienia:

kolejność wykonania każdej operacji,

które z modułów funkcjonalnych muszą być użyte,

które rejestry zawierają argumenty operacji,

VLIW procesor zawiera zbiór modułów funkcjonalnych: sumatory,

mnożniki, branch unit itd. oddzielonych od rejestrów i pamięci

podręcznej,

uProcesory

20/80

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

dzięki dokładnej znajomości organizacji procesora kompilator

tworzy POE,

kompilator dostarcza POE (poprzez zbiór instrukcji) do sprzętu,

który go implementuje.

branching:

a multiway branch operation – kilka fragmentów kodu

połączone jest w jedną złożoną instrukcję wykonywaną w jednym

cyklu zegarowym,

warunkowo wykonywane operacje, których wykonanie zależy od

wyniku poprzedniej operacji, może zastępować wiele jawnych

fragmentów oprogramowania jednocześnie

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word

dzięki dokładnej znajomości organizacji procesora kompilator

tworzy POE,

kompilator dostarcza POE (poprzez zbiór instrukcji) do sprzętu,

który go implementuje.

branching:

a multiway branch operation – kilka fragmentów kodu

połączone jest w jedną złożoną instrukcję wykonywaną w jednym

cyklu zegarowym,

warunkowo wykonywane operacje, których wykonanie zależy od

wyniku poprzedniej operacji, może zastępować wiele jawnych

fragmentów oprogramowania jednocześnie

uProcesory

21/80

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word - wady

bardzo duża objętość kodu obiektowego – wymagana duża

pamięć,

drogie narzędzia do wytwarzania oprogramowania na procesory

VLIW,

skomplikowany, a przez to czasochłonny proces kompilacji,

powolny proces kompilacji,

kompilator wymaga dogłębnej wiedzy o warstwie sprzętowej

procesora włączając w to ilość modułów funkcjonalnych i ich

własnych opóźnień,

brak kompatybilności na poziomie kodu obiektowego pomiędzy

kolejnymi wersjami kompilatorów.

• Architektura procesora według listy rozkazów: VLIW – ang. Very Long Instruction Word - wady

bardzo duża objętość kodu obiektowego – wymagana duża

pamięć,

drogie narzędzia do wytwarzania oprogramowania na procesory

VLIW,

skomplikowany, a przez to czasochłonny proces kompilacji,

powolny proces kompilacji,

kompilator wymaga dogłębnej wiedzy o warstwie sprzętowej

procesora włączając w to ilość modułów funkcjonalnych i ich

własnych opóźnień,

brak kompatybilności na poziomie kodu obiektowego pomiędzy

kolejnymi wersjami kompilatorów.

uProcesory

22/80

• Architektura procesora według listy rozkazów: EPIC – ang. Explicitly Parallel Instruction Computing –

odmiana architektury VLIW wykorzystują mechanizmy: ładowania spekulatywnego ang. speculative loading,

pobieranie danych z pamięci za nim są one wymagane przez

program,

minimalizowanie opóźnień dostępu do pamięci,

jest kombinacją kompilacji i optymalizacji kodu wynikowego,

kompilator wyszukuje instrukcji wymagających danych z

pamięci i jeżeli to możliwe wrzuca w strumień instrukcji ich

pobranie,

przewidywania ang. prediction,

jawnej współbieżności ang. explicit parallelism,

grupowania instrukcji w paczki, które wykonywane są w jednym

cyklu zegara.

• Architektura procesora według listy rozkazów: EPIC – ang. Explicitly Parallel Instruction Computing –

odmiana architektury VLIW wykorzystują mechanizmy: ładowania spekulatywnego ang. speculative loading,

pobieranie danych z pamięci za nim są one wymagane przez

program,

minimalizowanie opóźnień dostępu do pamięci,

jest kombinacją kompilacji i optymalizacji kodu wynikowego,

kompilator wyszukuje instrukcji wymagających danych z

pamięci i jeżeli to możliwe wrzuca w strumień instrukcji ich

pobranie,

przewidywania ang. prediction,

jawnej współbieżności ang. explicit parallelism,

grupowania instrukcji w paczki, które wykonywane są w jednym

cyklu zegara.

uProcesory

23/80

• Architektura procesora według listy rozkazów: ZISC – ang. Zero instruction set computer –

charakteryzują się: budową opartą na niezależnych komórkach, które mogą być

traktowane jak neurony lub równoległe procesory, każdy może

porównywać wektor wejściowy z wzorcem zapisanym w pamięci,

szybkością działania,

nieograniczona skalowalnością.

Układów ZISC stosowane są powszechnie w rozpoznawaniu

wzorców, ochronie oraz wyszukiwaniu informacji.

• Architektura procesora według listy rozkazów: ZISC – ang. Zero instruction set computer –

charakteryzują się: budową opartą na niezależnych komórkach, które mogą być

traktowane jak neurony lub równoległe procesory, każdy może

porównywać wektor wejściowy z wzorcem zapisanym w pamięci,

szybkością działania,

nieograniczona skalowalnością.

Układów ZISC stosowane są powszechnie w rozpoznawaniu

wzorców, ochronie oraz wyszukiwaniu informacji.

uProcesory

24/80

Mikrokontrolery - µC

Mikrokontroler – układ cyfrowy z wyspecjalizowanym

mikroprocesorem, niezbędnymi urządzeniami peryferyjnymi

zawartymi w jednym układzie scalonym, który

• jest zdolny do autonomicznej pracy,

• został zaprojektowany do pracy w systemach kontrolno –

pomiarowych oraz komunikacyjnych stąd posiada

rozbudowany system komunikacyjny z otoczeniem,

• z reguły pracuje w czasie rzeczywistym.

Mikrokontroler – układ cyfrowy z wyspecjalizowanym

mikroprocesorem, niezbędnymi urządzeniami peryferyjnymi

zawartymi w jednym układzie scalonym, który

• jest zdolny do autonomicznej pracy,

• został zaprojektowany do pracy w systemach kontrolno –

pomiarowych oraz komunikacyjnych stąd posiada

rozbudowany system komunikacyjny z otoczeniem,

• z reguły pracuje w czasie rzeczywistym.

25/80

Kryteria wyboru µC

• Liczba linii we/wy niezbędnych do współpracy z

otoczeniem;

• Ilość układów peryferyjnych;

parametry timerów, liczników;

liczba przerwań;

moduły umożliwiające współpracę z układami

analogowymi;

rodzaje interfejsów.

• Szacowane wymagania programu:

wielkość pamięci programu, danych,

architektura, lista rozkazów, częstotliwość taktowania.

• Liczba linii we/wy niezbędnych do współpracy z

otoczeniem;

• Ilość układów peryferyjnych;

parametry timerów, liczników;

liczba przerwań;

moduły umożliwiające współpracę z układami

analogowymi;

rodzaje interfejsów.

• Szacowane wymagania programu:

wielkość pamięci programu, danych,

architektura, lista rozkazów, częstotliwość taktowania.

26/80

Kryteria wyboru µC

• Parametry systemu:

rodzaj i napięcie zasilania;

pobór prądu;

możliwość stosowania trybów zmniejszonego poboru

energii, zmniejszenie szybkości pracy systemu;

wydajność prądowa linii we/wy.

• Parametry systemu:

rodzaj i napięcie zasilania;

pobór prądu;

możliwość stosowania trybów zmniejszonego poboru

energii, zmniejszenie szybkości pracy systemu;

wydajność prądowa linii we/wy.

27/80

Cechy µC

• umieszczenie magistrali danych i adresowej wewnątrz

układu scalonego (najczęściej wyprowadzana jest również

na zewnątrz),

• stała struktura pamięci ROM i RAM,

• niezmienność programu sterującego,

• rejestrowa struktura jednostki centralnej,

• dostęp do rejestrów procesora i układów we/wy poprzez

mechanizm adresowania pamięci RAM,

• procesory boolowskie wykonujące operacje na

pojedynczych bitach w pamięci, rejestrach i układach

we/wy,

• szeroki zestaw urządzeń peryferyjnych,

• umieszczenie magistrali danych i adresowej wewnątrz

układu scalonego (najczęściej wyprowadzana jest również

na zewnątrz),

• stała struktura pamięci ROM i RAM,

• niezmienność programu sterującego,

• rejestrowa struktura jednostki centralnej,

• dostęp do rejestrów procesora i układów we/wy poprzez

mechanizm adresowania pamięci RAM,

• procesory boolowskie wykonujące operacje na

pojedynczych bitach w pamięci, rejestrach i układach

we/wy,

• szeroki zestaw urządzeń peryferyjnych, 28/80

Cechy µC

• szybkie i rozbudowane systemy przerwań,

• różnorodne tryby pracy i środki redukcji poboru mocy,

• rozbudowane mechanizmy kontroli i detekcji

nieprawidłowych stanów mikrokontrolera.

• szybkie i rozbudowane systemy przerwań,

• różnorodne tryby pracy i środki redukcji poboru mocy,

• rozbudowane mechanizmy kontroli i detekcji

nieprawidłowych stanów mikrokontrolera.

29/80

Mikrokontrolery Advanced RISC Machine – CortexTM-M0 Components

30/80

Mikrokontrolery ARM – Cortex M0 - NANO130KE3BN

31/80

Mikrokontrolery ARM – Cortex M0 - NANO130KE3BN

32/80

Mikrokontrolery Core: - Cortex®-M0 processor - Max frequency of 42 MHz - Operating voltage: 1.8V to 3.6V - Temperature range: -40℃ ~ 85℃

Ultra-Low Power Consumption: - 200 uA/MHz (Normal) - 75 uA/MHz (Idle) - 2.5 uA (Pwr dn, RTC on, RAM retention) - 1 uA (Power down, RAM retention) - Fast wake-up: less than 3.5 us

Memory: - 128 KB of Flash Memory - 16 KB of SRAM - Configurable Data Flash - ISP (In-System Programming) - ICP (In-Circuit Programming)

ADC: - Up to 12 channels - 12-bit resolution - Up to 2 MSPS conversion rate - ±1℃ accurate temperature sensor

DAC: - Two DACs - 12-bit resolution - Up to 400 KSPS conversion rate

PWM: - Up to 8 channel PWM; - or 4 complementary paired PWM outputs - Period/duty trigger ADC function

33/80

Mikrokontrolery Connectivity: - USB 2.0 FS - Up to three SPIs (up to 32 MHz) - Up to two I²Cs (up to 1 MHz) - Up to five UARTs (two up to 1 Mbps) - Up to three ISO-7816-3 for smart card app. - One I²S Interface - 8/16 bits EBI interface

ADC: - Up to 12 channels - 12-bit resolution - Up to 2 MSPS conversion rate - ±1℃ accurate temperature sensor

Clock Control: - 4 to 24 MHz crystal oscillator - Internal 12 MHz (1% accuracy) - Internal 10 kHz OSC for low power system operation

34/80

Mikrokontrolery ARM – Cortex M0 - NUC140VE3CN

35/80

Mikrokontrolery ARM – Cortex M0 - NUC140VE3CN

36/80

Mikrokontrolery

ARM – Cortex M0 – M0516LDN

37/80

Mikrokontrolery ARM – Cortex M0 – M0516LDN

38/80

Mikrokontrolery

ARM – Cortex M0 – MINI54LDE

39/80

Mikrokontrolery ARM – Cortex M0 – MINI54LDE

40/80

Mikrokontrolery

41/80

Mikrokontrolery

42/80

MSP430 BLOCK DIAGRAM

43/80

MSP430 Snapshot of Integrated Peripherals

• ADC10 • ADC12 • SD16 • SD24 • Comparator • DAC12 • DMA • Multiplier • OpAmp

•Timers •Watchdog timer WDT • RTC •Brouwnout reset • PMM • SVS • A-POOL • AES • USB

• SPI • I2C • UART • LIN/IrDA • SCAN_IF • ESP430 • LCD • Capacitive Touch

44/80

MSP430

45/80

MSP430 Applications Metering Portable Medical Data Logging

Wireless Communications Capacitive Touch Personal Health and Fitness

Energy Harvesting Motor Control Security and Safety

46/80

AVR XMEGA Key Features High-precision analog — 12-bit ADCs with gain stage and combined throughput of 4 MSPS. Fast 12-bit DAC with high drive strength, as well as other functions that reduce the need for external components. Real-time performance — The event system facilitates inter-peripheral signaling with 100% predictable response time. To offload the CPU, all peripherals can use DMA for data transfer. Atmel picoPower® technology — True 1.6 volt operation, and 500 nA RTC operation with full SRAM retention for fastest possible wake-up time. High Integration — XMEGA devices integrate AES and DES crypto modules, up to 32 PWM outputs, 8 UART, 4 TWI (I2C) and 4 SPI channels, a CRC generator module, and more. AVR Software Library — A complete library of device drivers and communication stacks save time and development effort so you can focus on more important design tasks. Atmel QTouch® Sensing — QTouch Library support enables you to easily realize robust capacitive touch sensing interfaces for button, sliders and wheels. USB Connectivity — Delivers full-speed operation without the need for external crystals, 31 endpoints, and a special multi-packet function that maximizes data transfer rates while minimizing CPU load.

47/80

AVR XMEGA

•1 or 2 ADCs in each device •12-bit resolution •Up to 2 MSPS per ADC •Built-in gain stage •Differential and single-ended input •Integrated temperature sensor

•0 – 4 DAC channels in each device •12-bit resolution •Up to 1MSPS per DAC channels

48/80

AVR XMEGA

50/80

AVR XMEGA

Sleep mode Active Sleep mode Power save Sleep mode Power down

51/80

AVR XMEGA

Interrupt Controller

52/80

AVR XMEGA

Analog Comparators

53/80

Digital Signal Processors

Procesory sygnałowe – ang. Digital Signal Processors –

układy elektroniczne należące do klasy procesorów,

wyspecjalizowane w przetwarzaniu sygnałów analogowych

lub cyfrowych w czasie rzeczywistym.

Procesory sygnałowe – ang. Digital Signal Processors –

układy elektroniczne należące do klasy procesorów,

wyspecjalizowane w przetwarzaniu sygnałów analogowych

lub cyfrowych w czasie rzeczywistym.

54/80

Digital Signal Processors Cechy procesorów sygnałowych:

rozdzielenie pamięci programu i danych (architektura

harwardzka) z możliwością równoczesnego odczytu

instrukcji oraz danych,

sprzętowe dostosowanie do wykonywania operacji

najczęściej występujących przy przetwarzaniu sygnałów tj.

filtracji FIR i IIR, transformacji Fouriera, obliczaniu

korelacji wzajemnej,

potokowe przetwarzaniem instrukcji,

specjalne mechanizmy do realizacji operacji wejścia i wyjścia

w czasie rzeczywistym,

niższe zużycie energii oraz niższy koszt zakupu w

porównaniu z procesorami ogólnego przeznaczenia.

Cechy procesorów sygnałowych:

rozdzielenie pamięci programu i danych (architektura

harwardzka) z możliwością równoczesnego odczytu

instrukcji oraz danych,

sprzętowe dostosowanie do wykonywania operacji

najczęściej występujących przy przetwarzaniu sygnałów tj.

filtracji FIR i IIR, transformacji Fouriera, obliczaniu

korelacji wzajemnej,

potokowe przetwarzaniem instrukcji,

specjalne mechanizmy do realizacji operacji wejścia i wyjścia

w czasie rzeczywistym,

niższe zużycie energii oraz niższy koszt zakupu w

porównaniu z procesorami ogólnego przeznaczenia. 55/80

Digital Signal Processor Dziedziny zastosowań procesorów sygnałowych:

• Cyfrowa telefonia komórkowa

• Telefonia VOIP (ang. Voice over Internet)

• Komunikacja satelitarna

• Sprzęt nawigacyjny

• Modemy

• Poczta głosowa

• Automatyczne sekretarki

• Systemy wideokonferencjne

• Cyfrowe kamery

• Sonary

• Radary

Dziedziny zastosowań procesorów sygnałowych:

• Cyfrowa telefonia komórkowa

• Telefonia VOIP (ang. Voice over Internet)

• Komunikacja satelitarna

• Sprzęt nawigacyjny

• Modemy

• Poczta głosowa

• Automatyczne sekretarki

• Systemy wideokonferencjne

• Cyfrowe kamery

• Sonary

• Radary 56/80

Digital Signal Processors

Dziedziny zastosowań procesorów sygnałowych cd.:

• Sterowanie napędami

• Systemy zapobiegania kolizjom pojazdów

• Systemy bezpieczeństwa w komunikacji

• Sejsmologia

• Realizacja nagrań fonicznych

• Usuwanie szumu

• Ultradźwiękowe systemy diagnostyki medycznej

Dziedziny zastosowań procesorów sygnałowych cd.:

• Sterowanie napędami

• Systemy zapobiegania kolizjom pojazdów

• Systemy bezpieczeństwa w komunikacji

• Sejsmologia

• Realizacja nagrań fonicznych

• Usuwanie szumu

• Ultradźwiękowe systemy diagnostyki medycznej

57/80

TI DSP C5000 Zalety:

bardzo niskie zużycie mocy w trybie standby power 0.15mW;

niskie zużycie energii w trybie active power 0.15mW/MHz; (75% dual-MAC, 25%

add operation)

wysoki stopień integracji – duża ilość układów peryferyjnych;

duża ilość pamięci typu on-chip memory;

zaawansowane cyfrowe przetwarzanie sygnałów;

Zalety:

bardzo niskie zużycie mocy w trybie standby power 0.15mW;

niskie zużycie energii w trybie active power 0.15mW/MHz; (75% dual-MAC, 25%

add operation)

wysoki stopień integracji – duża ilość układów peryferyjnych;

duża ilość pamięci typu on-chip memory;

zaawansowane cyfrowe przetwarzanie sygnałów;

59/80

TI DSP C5000

61/80

TI DSP C5000 Application

Pulsoksymetr

62/80

TI DSP C5000 Application

Cyfrowy stetoskop

63/80

TI DSP C5000 Application Elektrokardiogram

64/80

TI DSP C5000 Application

MP3 Player/Recorder

65/80

TI C6000 Single Core

66/80

TI DSP C6000 Single Core Application

Signal/Waveform Generator

67/80

TI DSP C6000 Single Core Application Military: Sonar/Radar

68/80

TI DSP C6000 Multicore

69/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II:

70/80

TI ARM + DSP C6000 Multicore Architektura KeyStone II najistotniejsze elementy: TeraNet - maksymalizuje przepustowość strumienia danych w architekturze wielordzeniowej. Jest wielopoziomowym bardzo szybkim połączeniem wewnętrznym. Nieblokującymi kanałami dostarczającymi przepustowości łącznej ponad

2Tb/s. Dzięki TeraNet, swobodny i efektywny przepływ danych, pozwala wszystkim

elementom przetwarzającym pracować z pełną mocą.

71/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II najistotniejsze elementy: HyperLink - rozszerza magistralę TeraNet na zewnątrz układu. Każdy port HyperLink posiada przepustowość 50 Gbaud. Wprowadza minimalne narzuty protokołu komunikacyjnego. Zapewnia bardzo małe opóźnienia. Jest bardzo efektywnym portem komunikacyjnym pomiędzy procesorami w

systemach wieloprocesorowych. Wieloprocesorowy system połączony za pomocą portu HyperLink stanowi

jedno wielkie wirtualne urządzenie. Ułatwia to tworzenie oprogramowania i zwiększa wydajność systemu.

72/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II najistotniejsze elementy: Multicore Navigator : w ogromnym stopniu poprawia i wirtualizuje:

zarządzanie zasobami urządzenia; komunikację między procesorami (ARM-ARM, DSP-DSP, ARM-DSP); komunikację międzyprocesową.

Wspiera model programowania urządzeń wielordzeniowych OpenMP API, dostarczając sprzętowo wspieranej programowej warstwy abstrakcyjnej API, zapewnia to łatwą skalowalność systemu.

73/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II najistotniejsze elementy: CorePacs: Główne elementy przetwarzające; Układy bazujące na architekturze KeyStone II mogą być konfigurowane z

wielordzeniowym ARM CorePacs, DSP CorePacs i kombinacją obu tych grup; Zawiera pamięć podręczną poziomu L1/L2 74/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II najistotniejsze elementy: CorePacs: ARM CorePac: Posiada pamięć podręczną poziomu L1 instrukcji i danych; Pamięć podręczą/SRAM poziomu L2 współdzieloną przez wszystkie procesory

CorePacu; Pamięci poziomu L1/L2 z ARM CorePacs wyposażone są w ochronę ECC Error

Correction Code.

75/80

TI ARM + DSP C6000 Multicore

Architektura KeyStone II najistotniejsze elementy: CorePacs: Pamięć podręczna poziomu L3 jest zaimplementowana jako współdzielony

szybki podsystem pamięci - Multicore Shared Memory Controller (MSMC). MSMC pozwala DSP i ARM CorePacs dynamicznie dzielić wewnętrzną pamięć

poziomu L3 i zewnętrzny port pamięci DDR.

76/80

TI DSP C6000 Multicore Application High-Speed Data Acquisition and Generation

77/80

TI DSP C6000 Multicore Application Military and Avionics Imaging

78/80

TI DSP C6000 Multicore Application Military: Munitions and Targeting

79/80

Analog Devices DSP

80/80