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