Transcript ARM Uvod
UGRADBENI SUSTAVI
“EMBEDED SYSTEMS”
Sven Gotovac
Primjer razvoja sustava
1965. godine Intelov suosnivač Gordon Moore predvidio je
razvoj sustava na čipu rekavši da će se broj tranzistora na čipu
udvostručiti svake približno dvije godine (18 mjeseci). Ovo
predviđanje pokazalo se vrlo dobrim i poznato je pod nazivom
Moore-ov zakon.
Moore-ov zakon na djelu možemo lako raspoznati samo ako
pogledamo kakvo računalo smo za određen iznos novaca mogli
kupiti npr. prije godinu dana u odnosu na danas....
U našem primjeru možemo pogledati taj fenomen i s malo
drugačije strane...
Jedna od najzahtjevnijih aplikacija na računalu svakako je
dekompresija i prikazivanje video sadržaja
Prije par godina takve sadržaje mogli smo gledati SAMO na
stolnom računalu
Primjer razvoja sustava
Prije par godina takav sadržaj bilo
je moguće prikazivati i na
naprednim dlanovnicima (na slici
je primjer PocketPC uređaja koji
prikazuje MPEG4 video)
Prikazani uređaj u sebi sadrži
procesor iz porodice ARM koji
radi na 400 MHz
Međutim brzina procesora nije
jedini važan faktor u sustavu, već
se mora gledati i propusna moć
memorijskog sustava, periferija,
tip aplikacije i slično..
Danas već možemo
gledati video na
mnogim MALIM i
SNAŽNIM uređajima
pa i mobilnim
telefonima.
A mnogi od njih
zasnovani su na
procesoru ARM!!!!!
Svijet digitalnih računala...
Mnoge struke KORISTE
računalnu tehnologiju za:
Potrošačku elektroniku
Automobilsku elektroniku
Industrijske primjene
Bežične uređaje
Prijenos i obradu
multimedije
Pohranu podataka
Telekomunikacije
Medicinu
Automobilska industrija
Automobilska industrija
Regulator klima uređaja
Kućanski aparati
Perilica rublja
Mikrovalna
Televizor
DVD
….
Potrošačka elektronika
Mobitel
iPod
iPhone
…
Komunikacijski uređaji
Usmjerivač
Preklopnik
…
Zahtjevi industrije i tržišta
Procesorska snaga
Cijena
Niska potrošnja
Sigurnost/Pouzdanost
Prilagodljivost
Modularnost
Široka primijenjenost
....
Nažalost brojni od ovih zahtjeva su diametralno suprotni i
nemoguće ih je sve zadovoljiti pa tražimo optimalno
rješenje za pojedinu primjenu
Primjer...
Životni ciklus nekih proizvoda u
današnje vrijeme je izuzetno kratak....
(posebice potrošačka elektronika)
Novi proizvod se mora
Projektirati
Proizvesti prototip
Ispitati
Pripremiti proizvodnju
Pripremiti tržište
Proizvesti
Distribuirati
Ponekad za samo 3-6 mjeseci
Stavljanje novog proizvoda na tržište
U tih 3-6 mjeseci nemoguće je uvijek iznova projektirati uređaj
Takav postupak bio bi
Skup
Spor
U današnje vrijeme teži se sve većem “ponovnom” korištenju
intelektualnog vlasništva (IP, Intellectual Property) što se obično
naziva “reusability”
Ideja je da dijelove sustava (sklopovske i programske)
napravimo tako da su modularni kako bi ih mogli koristiti u što
više proizvoda i u što više budućih inačica
Stavljanje novog proizvoda na tržište
U općem slučaju (naravno ne uvijek) oslanjanje na rješenja koja
su vezana za pojedine kratke životne faze proizvoda nisu dobra
(npr. pisanje programske podrške za specifične procesore koji
za par godina neće biti na tržištu ili će biti preslabi, korištenje
sklopovlja koje nema mogućnost proširenja,...)
Dokazano je da je jedan od najvažnijih faktora uspjeha što raniji
izlazak na tržište sa kvalitetnim proizvodom
To se može postići isključivo minimizacijom potrebe za
redizajniranjem (tj.pokušava se iskoristiti što više
postojećeg)
Potrebne nove funkcionalnosti možda se mogu KUPITI na
tržištu (ako se procjeni da je to isplativije nego razvijati ih
unutar kuće)
Stavljanje novog proizvoda na tržište
Da bi se tako nešto postiglo potrebno je koristiti neke
opće prihvaćene načine izvedbe dijelova sustava,
bilo da su to sklopovski ili programski
Upravo na tom načelu se zasniva uspjeh procesora
ARM na tržištu
U nastavku ćemo objasniti zašto je to tako
Stvarni svijet-Ova predavanja: Što ih povezuje
4/8/16/32/64 bitovni CPU ?
Neki procesori su ZANIMLJIVI (npr. nova Intel Penryn
mikroarhitektura)
Neki procesori su JEDNOSTAVNI (npr. Microchip PIC MCU)
Neki procesori se KORISTE
Naš izbor je ARM (jer se KORISTI)
Ali “ARM” u stvari NIJE PROCESOR u onom obliku kako se
obično zamišlja procesor već predstavlja ideju pristupa
tržištu
Približno 70% tržišta 32 bitovnih procesora !!!!!!!
Objasnimo što zapravo ARM radi na tržištu
Kratka povijest ARM-a
Prva verzija ARM procesora razvijena je u Acorn
Computers Limited, Cambridge, Engleska, između 1983 i
1985. godine.
U to vrijeme dominaciju na tržištu imali su 8 bitovni
mikroprocesori sa relativno kompleksnim skupom
instrukcija (CISC - Complex Instruction Set Computers).
Samo nešto ranije, početkom 80-tih, u okviru tri gotovo
usporedna istraživačka projekta (IBM 801, Berkeley RISC
i Stanford MIPS) razvijena je potpuno nova arhitektura
procesora koja se zasniva na jednostavnim instrukcijama
koje se mogu izvoditi velikom brzinom (RISC -Reduced
Instruction Set Computers).
RISC procesor razvijen na sveučilištu Berkeley u to
vrijeme pokazivao je izuzetne performanse u usporedbi sa
komercijalnim procesorima uz znatno jednostavniju (i
jeftiniju) sklopovsku izvedbu.
Prvi ARM procesor
U to vrijeme razviti procesor zahtijevalo je milijunske
investicije, stotine projektanata i dugo vrijeme razvoja
što si je moglo priuštiti samo nekoliko najvećih firmi –
a Acorn nije spadao u tu grupu
Projektanti u Acornu vidjeli su u RISC tipu arhitekture
mogućnost da stvore svoj procesor bez potrebe
dugogodišnjeg razvoja te velikog broja projektanata i
financijskih sredstava
Tako je nastao prvi procesor ARM, čije ime je bila
skraćenica od Acorn RISC Machine.
Prvi prototip procesora napravljen je od strane firme
VLSI Technology Inc. i isporučen Acornu u travnju
1985.
Advanced RISC Machines
Kako je ova arhitektura postala izuzetno uspješna na
tržištu (zbog relativno niske cijene i dobrih
performansi) tako je i 1990. od dijela firme Acorn u
kojoj je stvoren prvi procesor ARM formirana nova
firma pod nazivom Advanced RISC Machines koja je
preuzela projekt širenja tržišta i daljnjeg razvoja ARM
arhitekture.
Od tada i skraćenica imena procesora (ARM) mijenja
svoje značenje i postaje Advanced RISC Machine.
ARM arhitektura
Jezgra ARM procesora je jako jednostavno u usporedbi s drugim
procesorima opće namjene što znaći da ga je moguće proizvesti sa
znatno manjim brojem tranzistora što ostavlja dosta slobodnog prostora
za druge periferije (DSP, FPU, Cache, MMU, AD DA, …)
ARM ISA kao i arhitektura na razini digitalnih sklopova projektirani su
sa ciljem maksimalne uštede energije što je presudno u svim mobilnim
aplikacijama
ARM arhitektura je modularna, jedina obavezna komponenta je
cjelobrojni (integer) cjevovod; sve ostale komponente su opcionalne
(DSP, FPU, Cache, MMU, AD DA, …) što daje veliku fleksibilnost u
projektiranju i izgradnji aplikacijski orijentiranih sklopova temeljenih na
ARMu.
ARM procesori zauzimaju malo prostora, imaju malu potrošnju ali ipak
imaju veliku procesnu moć posebice za “embedded” aplikacije. Npr.
PVA255 XScale procesor na 400 MHz ima performanse ravne Pentium
II na 300 MHz ali troši pedeset puta manje energije..
Povijest ARM procesora
1983, tvrtka Acorn Computers namjerava razviti
vlastiti 16-bit microprocessor za desktop računala
Dvije godine ranije istraživači na Berkeley-u radili su
na projektu RISC-a
Acorn je preuzeo RISC koncept i 1985 napravili su
prvi vlastiti 26-bit Acorn RISC Machine (ARM)
procesor, koji je ujedno bio i prvi komercijalni RISC.
Za izradu je trebalo manje od 25,000 transistora, a
performanse su usporedive s Intel 80286 procesorom
Ovo je bila prva verzija ARM v1
Povijest ARM procesora
ARM v2 uvodi vezu sa koprocesorom.
Naknadno se dodaje brza memorija u verziji ARM v3.
Najznačajniji događaj za ARM je bio 1990 kada je
Apple odlučio koristiti ovaj procesor u Newton IPod.
4ta generacija ARM jezgri izašla je 1996. Glavno
poboljšanje je podrška za Thumb 16-bit komprimirani
skup naredbi. One zauzimaju svega 40%
memorijskog prostora u usporedbi sa 32 bitovnim
kodom ali je manje efikasan.
Najpoznatiji predstavnik ove porodice je ARM7TDMI
jezgra koja se koristi u većini Apple iPod player-a, a
temeljen je na praktički istom tro razinskom
cjevovodu kao i prvi ARM procesori iz 1985. i sadrži
svega 30.000 tranzistora.
Povijest ARM procesora
1999, razvijena je 5ta generacija ARM arhitektura
koja je uvela digitalni procesor signala i Java byte
code ekstenziju u ARM skup naredbi.
Najpopularnija implementacija ove generacije
procesora je Intel XScale koji se koristi u većini
ugradbenih uređaja većih zahtjeva, mrežni procesori,
mobiteli, smart-phones, i PDA.
6ta generacija ARM procesora projektirana je 2001 i
uvodi SIMD proširenje skupa naredbi, poboljšani
skup naredbi za Thumb , TrustZone vizualizacijsku
tehnologiju i podršku za višeprocesorski rad
Posljednja ARM v7 arhitektura proširuje SIMD skup
naredbi i poboljšava podršku za floating point.
Povijest ARM procesora
Ver.
Year
Features
Implementations
v1
1985
The first commercial RISC (26-bit)
ARM1
v2
1987
Coprocessor support
ARM2, ARM3
v3
1992
32-bit, MMU, 64-bit MAC
ARM6, ARM7
v4
1996
Thumb
ARM7TDMI, ARM8, ARM9TDMI,
StrongARM
v5
1999
DSP and Jazelle extensions
ARM10, XScale
v6
2001
SIMD, Thumb-2, Trust-Zone, multiprocessing
ARM11, ARM11 MPCore
v7
?
VFP-3
ARM Cortex
Tablica Povijest razvoja ARM arhitektura
ARM danas
Od tada do danas procesor ARM doživljava brojna poboljšanja i
proširenja te su na tržištu prisutne razne generacije i varijante
ARM arhitekture.
Danas je najnovija Arhitektura v.7 (porodica ARM Cortex)
Još jedna od specifičnosti i izuzetnih karakteristika firme ARM je
u tome što je ona bila prva firma koja svoj cijeli poslovni model
zasniva na licenciranju arhitekture svojih procesora bez da ima
vlastite poluvodičke tvornice i bez da sama proizvodi procesore.
Procesore zasnovane na ARM arhitekturi proizvode Intel,
Motorola, ST, Philips ... iako svi oni imaju i svoje vlastite
procesore
Što radi ARM
Projektiranje ARHITEKTURA 32-bitovnih procesora i
sustava
Licenciranje takvih sustava vodećim svjetskim
elektroničkim firmama
Razvoj i partnerstvo u razvoju ALATA i USLUGA
namijenjenih razvoju ARM ARHITEKTURE
Osnovna podloga su serije efikasnih 32-bitovnih
procesorskih jezgri koje rezultiraju u optimalnim
procesorima u pogledu cijene, performansi i ostalih
bitnih karakteristika
Projekt MP3
JTAG
port
Embedded trace
macrocell
Trace
port
ARM
720
64 kByte
ROM/Flash
64 kByte
SRAM
AHB wrapper
AHB wrapper
AHB wrapper
TIC
AHB
Auditor
Static
Memory
ROM/Flash/
SRAM
AHB
Decoder
AHB
Decoder
AAC
I/F
MMC
I/F
RTC
Module
Interrupt
Controller
PLL
Reset
PMU
LCD
Contoller
UART
With PDA
Timers
GPIO
Keypad I/F
Koraci...
Korak 1: Izbor procesorske jezgre
Zahtjevi:
Performanse (na temelju analize
algoritma)
Potrošnja (ciljno trajanje baterije)
Veličina (zahtjevi tržišta)
Cijena (na temelju ciljane prodajne
cijene cijelog uređaja)
Arhitektura
Za MP3 player gornje zahtjeve može
zadovoljiti npr. ARM720
Koraci...
Korak 2: Definicija SoC (System on
Chip) infrastrukture
Zahtjevi
Standard a ne neko unikatno
rješenje (moguća integracija s
modulima drugih proizvođača)
Pouzdanost (izbjegavanje
problema)
Gornje zahtjeve za izabrani ARM
procesor zadovoljava AMBA Advanced Microcontroller Bus
Architecture
AMBA opisuje načine povezivanja
komponenata u sustavu
ARM
720
AHB
Auditor
AHB wrapper
AHB
Decoder
AHB
Decoder
Koraci...
Korak 3: Memorijski blokovi
Zahtjevi:
Gustoća, cijena,..
Kapacitet
Cijena
Prilagođenje pojedinom
proizvodnom procesu
Moduli vanjskih partnera
proizvođača memorije
AHB
Auditor
ARM
720
64 kByte
ROM/Flash
64 kByte
SRAM
AHB wrapper
AHB wrapper
AHB wrapper
AHB
Decoder
AHB
Decoder
Koraci...
Korak 4: Vanjski
sklopovi (što sve želimo
da korisnik ima)
TIC
Static
LCD, tipke
Memory
ROM/Flash/
SRAM
USB
Flash Card i/f
Timer, Interrupt,...
AHB
Auditor
ARM
720
64 kByte
ROM/Flash
64 kByte
SRAM
AHB wrapper
AHB wrapper
AHB wrapper
AHB
Decoder
AHB
Decoder
AAC
I/F
MMC
I/F
•Izbor: Moduli raznih
RTC
Module
Interrupt
Controller
PARTNERA
PLL
Reset
PMU
LCD
Contoller
UART
With PDA
Timers
GPIO
Keypad I/F
Mogući partneri
Prednosti
Dijelovi projekta koje ne možete efikasno
napraviti, mogu se pronaći na tržištu
Ono u čemu ste Vi dobri MOŽETE PONUDITI
I DRUGIMA
I Vi možete postati jedan od sudionika u
procesu !!!! (Ovo nije fraza već istina.
Projektiranje pojedinog IP modula ne zahtjeva
velike investicije pa tako gotovo svatko sa
dobrom idejom može izaći na SVJETSKO
tržište)
Performanse ARM arhitektura
Potrebna znanja
Poznavanje mikroprocesora:
Arhitektura
Periferije
Memorija Flash/SRAM/SDRAM/Catch
Brojila
GPIO
UART
USB
A/D D/A
….
Programiranje
ISA
Asembler
C/C++
Razvojno okruženje
Operacijski sustavi.
Primjer jednostavnog MCU-a
Flash
Eprom
A
D
MCU
Interface
D
A
Perilica rublja
DVD
Digitalni fotoaparat
Regulator asinkronog motora
Regulator asinkronog motora
Direct torque control
Vector control