mikroprocesory µps mikrokontrolery µcs...- icp (in-circuit programming) adc: - up to 12 channels -...
TRANSCRIPT
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
• 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 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
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 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
EVENT SYSTEM
49/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 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