+ All Categories
Home > Documents > Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf ·...

Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf ·...

Date post: 01-Mar-2019
Category:
Upload: lamnhu
View: 221 times
Download: 0 times
Share this document with a friend
46
Architektura ARM Wyklad 5
Transcript
Page 1: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Architektura ARM

Wykład 5

Page 2: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Plan wykładu

• ARM – co to jest?– od historii od dzisiaj

• Wersje architektury– ARMv1 – ARMv7

• Rodziny obecnie w użyciu– ARM7 – Cortex-A9

• Listy instrukcji– ARM, Thumb, Thumb-2, NEON, Jazelle

Page 3: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM - historia

The ARM is a 32-bit reduced instruction set

computer (RISC) instruction set architecture

(ISA) developed by ARM Holdings

Page 4: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM - historia

• Architektura ARM powstała w latach 80-tych ubiegłego wieku

• Została wymyślona przez firmę Acorn RISC Machine• Jest „następcą” procesora 6502 znanego z Commodore 64• Prawdziwy „rozkwit” zaczął się pod koniec lat 90-tych

Page 5: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM - historia

• Dzięki swojej prostocie i wydajności znalazła „swoje miejsce” w aplikacjach typu telefony komórkowe

• Obecnie około 90% stosowanych procesorów 32-bitowych typu RISC to procesory z jądrem ARM

• Procesory ARM stosowane są od mało wydajnych układów sterujących do komputerów typu netbook

Page 6: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o
Page 7: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – główne cechy

• Architektura 32-bitowa• Procesor o zredukowanej liczbie instrukcji RISC• Wspólna magistrala danych i programu (von Neumana) dla wersji prostszych

• Rozdzielone magistrale dla wersji szybszych• Dostępny szeroki wachlarz wersji o różnym stopniu skomplikowania i różnej wydajności

• Kolejka rozkazów

Page 8: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v1 (rodzina ARM1):– pierwsza wersja procesora ARM– adresowanie 26-bitowe– brak mnożenia/ koprocesora

• ARM v2 (rodzina ARM2): – pierwsza wersja komercyjna– dodane instrukcje mnożenia 32-bit– dodane wsparcie dla koprocesora

Page 9: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v2a (rodzina ARM3):– pierwsze użycie pamięci cache (4kB)– do 12 MIPS przy 25 MHz

• ARM v3 (rodzina ARM6 oraz ARM7): – adresowanie 32-bit– dodane magistrale do pamięci cache oraz koprocesora– dodany kontroler pamięci (ARM7500FE)– do 40 MIPS przy 56 MHz

Page 10: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v4 (rodzina ARM7TDMI, ARM8, ARM9):– 3-stage and 5-stage pipelining– Instrukcje Thumb– przewidywanie pętli– układy kontroli pamięci MPU lub MMU– duża wydajność przy stosunkowo prostej konstrukcji– do 200 MIPS przy 200 MHz (StrongARM)– wariant najpopularniejszy i ciągle wykorzystywany

Page 11: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v5 (rodzina ARM7TDMI, ARM9, ARM10):– 6-stage and 7-stage pipelining– instrukcje Thumb– instrukcje Jazelle– instrukcje rozszerzone DSP– wielopoziomowy cache– bardzo duża wydajność– do 1000 MIPS przy 1250 MHz (XScale)– wariant bardzo popularny i ciągle wykorzystywany

Page 12: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v6 (rodzina ARM11, Cortex-M0, Cortex-M1):– 8-stage and 9-stage pipelining– instrukcje Thumb-2– instrukcje Jazelle– instrukcje rozszerzone DSP

– SIMDSIMD– wielopoziomowy cache– duża wydajność– optymalizowany pod kątem danych audio i wideo

Page 13: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM – Warianty architektury

• ARM v7 (rodzina Cortex z wyłączeniem: Cortex-M0, Cortex-M1):

– 13-stage pipelining– instrukcje Thumb-2– instrukcje Jazelle– instrukcje rozszerzone DSP– sprzętowe mnożenie i dzielenie stało i zmiennoprzecinkowe– MultiCore (1-4 rdzeni)

– SIMD (NEON)SIMD (NEON) – do 16 instrukcji w jednym czasie– wielopoziomowy cache– ogromna wydajność (do 10000 MIPS!!!)– przyszłość architektury ARM dostępna już teraz

Page 14: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM 7 TDMI

Page 15: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI

• Główne cechy:– Obecnie podstawowa rodzina z grupy ARM– 32-bitowy RISC o małym poborze mocy– Architektura von Neumanna– 3-poziomowa kolejka – Dwa zbiory instrukcji: 32-bitowy ARM oraz 16-bitowy Thumb– 7 trybów pracy– Operacje na danych:

•8-bitowych (byte)

•16-bitowych (halfword)•32-bitowych (word)

– TDMI jest skrótem od: Thumb, Debug, Multiplier, Interrupts

Page 16: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o
Page 17: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMIArchitektura głównego rdzenia

Page 18: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMIDiagram funkcyjny

Page 19: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – tryby pracy

• User (usr): normalny tryb pracy• FIQ (fiq): tryb transmisji danych (fast irq, transfer typu DMA)• IRQ (irq): tryb obsługi przerwań• Supervisor (svc): tryb chroniony dla wsparcia systemów operacyjnych• Abort mode (abt): tryb błędu• System (sys): tryb użytkownika uprzywilejowanego• Undefined (und): tryb instrukcji niezdefiniowanej

Page 20: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – rejestry

• 37 rejestrów• dostępna ilośćzależy od trybu pracy• R15 jest zawsze licznikiem programu• R13 jest zawsze wskaźnikiem stosu

Page 21: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – rozkazy ARM

• Istnieją dwie listy rozkazów: pełna (ARM) i uproszczona (Thumb)• Lista ARM jest zbiorem poleceń 32-bitowych – każde polecenie ma długość 32 bitów• Polecenia zajmują dużo miejsca w pamięci• Każde z poleceń może być wykonywane warunkowo• Wynik operacji może być od razu dostępny z przesunięciem• Istnieje 5 trybów adresowania• Każdy z trybów adresowania posiada kilka opcji

Page 22: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – rozkazy ARM

Page 23: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI –rozkazy ARM

Page 24: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – rozkazy Thumb

• Lista Thumb jest zbiorem poleceń 16-bitowych –każde polecenie ma długość 16 bitów• Jest to podzbiór listy ARM • Polecenia zajmują mało miejsca w pamięci• Tylko niektóre z poleceń mogą być wykonywane warunkowo• Operacje na danych są w dalszym ciągu 32-bitowe• W liście Thumb wykorzystane są jedynie rejestry R0-R7 • Tylko instrukcje specjalne wykorzystują rejestry R8-R15 • Każda instrukcja ma odwzorowanie w liście ARM

Page 25: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – rozkazy Thumb

Page 26: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI –rozkazy Thumb

Page 27: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Virtual Memory System

• Blok VMSA służy do przydzielania rozdzielnych (wirtualnych) przestrzeni adresowych dla różnych aplikacji (procesów)

• Procesy mają przydzielaną pamięć z wykorzystaniem układu MMU (Memory Management Unit)

• W układzie MMU tłumaczenie adresów wirtualnych na fizyczne odbywa się poprzez tablice TLB (Translation Lookaside Buffers)

Page 28: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Virtual Memory System

Page 29: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Protected Memory System

• Blok PMSA służy do przydzielania rozdzielnych (wirtualnych) przestrzeni adresowych dla różnych aplikacji (procesów)

• Procesy mają przydzielaną pamięć z wykorzystaniem układu MPU (Memory Protection Unit)

• Efekt działania PMSA podobny do VMSA ale prostsza konstrukcja sprzętu i oprogramowania

• Brak adresów wirtualnych

• Konkretne procesy mają dostęp tylko do określonych obszarów pamięci

Page 30: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Protected Memory System

Page 31: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Vector Floating Point

• VFP jest koprocesorem arytmetycznym służącym do operacji zmiennoprzecinkowych pojedynczej i podwójnej precyzji

• Istnieje kilka wersji: w ARM7TDMI – VFPv2 (VFP9), w Cortex’ach – VFPv3 (VFP10, VFP11)

• Pełna kompatybilność z IEEE754

• Zrównoleglenie wykonywania operacji najbardziej czasochłonnych w celu zwiększenia wydajności

• Trzy oddzielne kolejki instrukcji – więcej niż jedna instrukcja wykonywana naraz

Page 32: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

ARM7TDMI – Vector Floating Point

• VFPv2 wspiera wykonywanie krótkich instrukcji wektorowych

• Do 8 operacji na danych pojedynczej precyzji na raz

• Do 4 operacji na danych podwójnej precyzji na raz

• Krótkie instrukcje wektorowe są najbardziej użyteczne w aplikacjach graficznych i przetwarzania sygnałów

• Pozwalają na zwiększenie wydajności przy jednoczesnym zmniejszeniu kodu

Page 33: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-MCortex-RCortex-A

Page 34: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o
Page 35: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Rodzina Cortex

• Obecnie korporacja ARM silnie wprowadza na rynek rodzinę Cortex• Rodzina ta składa się z trzech podrodzin:

– Cortex-M – rdzenie przewidziane do mikrokontrolerów i aplikacji typu cost-sensitive; Rdzenie wspierają instrukcje Thumb-2; – Cortex-R – rdzenie przewidziane do aplikacji systemów czasu rzeczywistego real-time systems; Rdzenie wspierająinstrukcje ARM, Thumb oraz Thumb-2– Cortex-A – rdzenie najbardziej złożone i wydajne, przewidziane do wydajnych urządzeń multimedialnych; Rdzenie wspierają instrukcje ARM, Thumb oraz Thumb-2

Page 36: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M

Page 37: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M

• Główne cechy:– Procesor 32-bitowy– Kolejka instrukcji 3 stopniowa– Lista instrukcji Thumb-2 – bardzo zwarty kod przy dużej wydajności– Wiele trybów i domen oszczędzania energii– Nested Vectored Interrupt Controller – dobrze zdefiniowane czasy i sposoby wywoływania przerwań– Wsparcie dla systemów RTOS– Wsparcie dla debuggerów (JTAG, SWD – Serial WireDebug)

Page 38: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M0

• Główne cechy:– Najuboższa wersja procesorów ARM– Jednocześnie też najbardziej oszczędna – jedynie 85µW/MHz– Kompatybilność z wersją Cortex-M3– Struktura składa się z zaledwie 12000 bramek– Tylko 56 instrukcji optymalizowanych pod kątem języka C– Wsparcie dla nisko-mocowej komunikacji bezprzewodowej: Bluetooth Low Energy (BLE), ZigBee, itp.– Wydajność 0.9 DMIPS/MHz– Instrukcja mnożenie 32x32 w jednym cyklu– Opóźnienie wywołania przerwań: 16 cykli

Page 39: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M1

• Główne cechy:– Rdzeń procesora przewidziany do osadzenia w strukturze FPGA– Wsparcie dla układów firm Actel, Altera oraz Xilinx– Łatwa migracja z układów FPGA (development) to ASIC (production)

Page 40: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M3

• Główne cechy:– Wprowadzony na rynek w 2004 roku– Przewidziany do najbardziej wydajnych mikrokontrolerów– Wysoka wydajność i bogactwo cech– Mały pobór prądu (12.5 DMIPS/mW)– Do 240 źródeł przerwań!!!– Wsparcie dla szeregu protokołów szeregowych– Wydajność 1.25DMIPS/MHz– Wsparcie dla operacji na bitach– Mnożenie 32x32 w jednym cyklu, dzielenie w 2-12 cyklach– Kolejka instrukcji (3 stopnie) plus przewidywanie skoków– Kontrola pamięci (MPU) – Prędkość działania: do 275 MHz /340 DMIPS

Page 41: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-M4

• Główne cechy:– Najbogatsza wersja rodziny Cortex-M– Przewidziane do zastosowań nisko-mocowegoprzetwarzania sygnałów– Połączenie 32-bit mikrokontrolera i procesora DSP– Instrukcje DSP:

• jednocyklowe 16,32-bit MAC

• jednocyklowe 2x16-bit MAC

• 8,16-bit arytmetyka SIMD• dzielenie sprzętowe (2 – 12 cykli)

– Jednostka FPU o pojedynczej precyzji– Pozostałe cechy jak w Cortex-M3– Prędkość działania: do 300 MHz /375 DMIPS

Page 42: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-A9

Page 43: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o
Page 44: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Single core Cortex-A9

Page 45: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cortex-A9

• Główne cechy:– Najbogatsza wersja rodziny Cortex-A– Następca wysokowydajnej rodziny ARM11– Przewidziane do zastosowań w procesorach o dużej i bardzo dużej mocy obliczeniowej– Możliwe wersje jedno- i wielordzeniowe– Praca z zegarem do 2GHz– Możliwość bloków NEON oraz FPU– Prędkość działania: do 5000 DMIPS na rdzeń– Dostępne wersje optymalizowane pod kątem prędkości lub zużycia energii

Page 46: Wykład 5 - ue.pwr.wroc.plue.pwr.wroc.pl/wyklad_architektura_mikroprocesorow/AM_5.pdf · komputerów typu netbook. ARM – główne cechy • Architektura 32-bitowa • Procesor o

Cdn...


Recommended