|
|
 |
|
Arkitektura ARM |
|
|
|
|
|
|
|
|
|
|
|
ARM-ja është një arkitekture me instruksione (instruction set architecture (ISA)) RISC (reduced instruction set computer) 32-bit e krijuar nga ARM Holdings. Ishte e njohur si Makineria RISC e avancuar, dhe përpara kësaj si Acorn RISC Machine. Arkitektura ARM është ISA 32-bit me e përdorur sipas sasisë se prodhuar. [1][2] Fillimisht u konceptua si një procesor për kompjutera personal me desktop nga Acorn Computers, një treg tashme i zotëruar nga familja x86 e përdorur nga kompjutera te pajtueshëm me platformën IBM PC. Thjeshtësia relative e procesorëve ARM i beri ato te përshtatshëm për aplikacione me fuqi te vogël. Kjo i beri ato zotërues ne tregun e celulareve dhe elektronikes se ngulitur si mikroprocesore dhe microcontrollues relativisht te vegjël dhe me çmim te ulet.
Ne 2007, rreth 98 perqind e me shume se një bilion celulareve te shitur përdorin te paktën një procesor ARM.[3] Ne 2009, procesorët ARM japin llogari për afërsisht 90 % te te gjithë procesorëve te ngulitur RISC 32-bit. Procesorët ARM përdoren gjerësisht ne elektroniken e konsumit, duke përfshire PDA-te, celularet, median digjitale, konzolat e lojërave qe mbahen ne dore, makinave llogaritëse dhe për hard drive-t dhe router-et.
Arkitektura ARM është e licensueshme. Kompanitë qe kane ose kane patur licensen ARM përfshijnë Alcatel-Lucent, Apple Inc., Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel (permes DEC), LG, Marvell Technology Group, NEC, Nuvoton, NVIDIA, NXP (me pare e quajtur Philips), Oki, Qualcomm, Samsung, Sharp, STMicroelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha dhe ZiiLABS.
Procesorët ARM krijohen nga ARM dhe te licencuarit e ARM-se. Shembujt me te njohur te familjeve te procesorëve ARM te ARM Holdings përfshijnë ARM7, ARM9, ARM11 dhe Cortex. Shembuj te procesorëve ARM te krijuar nga te licencuarit e rëndësishëm përfshijnë DEC StrongARM, Freescale i.MX, Marvell (me pare e quajtur Intel) XScale, Nintendo, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, dhe linjës se produkteve Texas Instruments OMAP.
Historia
Pasi arritën ca sukses me kompjuterin BBC Micro, Acorn Computers Ltd konsideruan si te ecnin përpara nga procesori MOS Technology 6502 relativisht i thjeshte për te adresuar tregjet e biznesit si ai qe se shpejti do zotërohej nga IBM PC, i filluar ne 1981. Plani Acorn Business Computer (ABC) kërkonte një numër procesorësh te dyte te bëhen te punojnë me platformën BBC Micro, por procesorët si Motorola 68000 dhe National Semiconductor 32016 ishin te papërshtatshëm, dhe 6502 nuk kishte fuqi te mjaftueshme për një shpërfaqje grafike për përdoruesit.
Acorn-it do t'i duhej një arkitekture e re, pasi testoi te gjithë procesorët e disponueshëm dhe vuri re qe i mungonin gjera. Acorn-i pastaj konsideroi seriozisht projektimin e një procesori te vetin, dhe inxhinieret e tyre gjeten ca letra mbi projektin Berkeley RISC. Ata ndjenë se neqoftese një klase studentesh te diplomuar mund te krijonin një procesor 32-bit konkurrues, atëherë Acorn nuk do e kishte fare problem. Një udhëtim tek Western Design Center ne Phoenix i tregoi inxhiniereve te Acorn-it Steve Furber dhe Sophie Wilson qe nuk kishin nevoje për burime masive.
Wilson vendosi te krijonte kompletin e instruksioneve, duke shkruar një simulim te procesorit ne BBC Basic qe përdorej ne BBC Micro me një procesor te dyte 6502. Kjo ia mbushi mendjen inxhiniereve te Acorn-it se ishin ne rrugën e duhur. Gjithsesi, para se te shkonin me larg, do kishin nevoje për me shume burime. Erdhi koha për Wilson-in t'i afrohej shefit ekzekutiv te Acorn-it, Hermann Hauser, dhe t'i shpjegonte çfarë ishte ne përgatitje e sipër. Pasi te merrte konfirmimin, një skuadër e vogël u krijua për te zbatuar modelin e Wilson-it ne hardware.
Makineria Acorn RISC: ARM2
Projekti zyrtar Makineria Acorn RISC filloi ne Tetor 1983. Projektimi drejtohej nga Wilson dhe Furber, me një qellim projektimi kryesor për te arritur trajtimin e hyrjes dhe daljes se te dhënave me sa me pak vonese si MOS Technology 6502 qe u përdor ne projektimet ekzistuese kompjuterike te Acorn. Arkitektura e hyrjes ne memorie e 6502 kishte lejuar krijuesit te prodhojnë makineri te shpejta pa përdorimin e hardware-ve te kushtueshme për hyrje direkte ne memorie. VLSI prodhoi silikonin e pare ARM me 26 Prill 1985 – u njoh si ARM1 ne Prill 1985.[4] Sistemet e para te "vërteta" te prodhimit te quajtur ARM2 ishin te disponueshëm vitin pasardhës.
Aplikacioni i tij i pare praktik ishte si një procesor i dyte për BBC Micro-n, ku u përdor për te krijuar software-t e simulimit për te përfunduar punën mbi çipet mbështetëse (VIDC, IOC, MEMC) dhe te shpejtonte operimin e software-it CAD te përdorur ne krijimin e ARM2. Me pas Wilson kodoi BBC Basic ne gjuhen assembly, dhe njohuritë e thella te përfituara nga projektimi i kompletit te instruksioneve lejoi kodin te behej shume i dendur, duke bere ARM BBC Basic një testim ekstremisht te mire për çfarëdo emulatori ARM. Qëllimi origjinal i një kompjuteri te bazuar kryesisht ne ARM u arrit ne 1987 me daljen e Acorn Archimedes.
Kaq e madhe ishte fshehtësia rreth projektit ARM CPU saqe kur Olivetti po diskutonin për te kontrolluar një pjese te Acorn-it ne 1985, atyre nuk i treguan për skuadrën e krijimit derisa bisedimet u kryen. Ne 1992 Acorn fitoi përsëri çmimin Queen's Award for Technology për ARM.
ARM2 paraqiti një transportues te dhënash me 32-bit, një hapësire adresash me 26-bit dhe 16 regjistra me 32-bit. Kodi i programit duhet te ishte brenda 64 Mb memorie, sepse program counter-i ishte i limituar deri ne 26-bit sepse 4 bit-at e pare dhe 2 te fundit te regjistrit 32-bit shërbejnë si flamuj për status. ARM2 ishte mikroprocesori me i thjeshte i dobishëm 32-bit ne te gjithë boten, me vetëm 30,000 tranzistore (krahaso numrin e transistoreve me modelin 6 vjet me te vjetër te Motorola-s, Motorola 68000 me rreth 70,000 transistore). Shume prej kësaj thjeshtësie vjen ngaqë nuk ka mikrokod (qe përfshin rreth një-te-katerten deri ne një-te-treten e 68000) dhe, si shumica e CPU-ve te sotshëm, nuk përmban cache. Kjo thjeshtësi coi ne harxhimin e vogël te energjisë, duke performuar me mire se Intel 80286.[5] Nje pasardhës, ARM3, u prodhua me cache 40 Kb, qe e përmirësoi edhe me tepër performancën.

Apple, DEC, Intel: ARM6, StrongARM, XScale
Rreth fundit te viteve 80, Apple Computer dhe VLSI Technology filluan te punonin me Acorn ne versione me te reja te ARM. Puna ishte aq e rëndësishme saqe Acorn krijoi një kompani te re me skuadrën e krijimit ne 1990, dhe e quajti Advanced RISC Machines Ltd. Për këtë arsye, fjala ARM nganjëherë zgjerohet si Advanced RISC Machine ne vend te Acorn RISC Machine. Advanced RISC Machine u be ARM Ltd kur kompania prind, ARM Holdings plc, u hodh ne London Stock Exchange dhe NASDAQ ne 1998.Rritje e Licencës
Bërthama e ARM-se ka qëndruar pothuajse e njëjta ne madhësi gjate këtyre ndryshimeve. ARM2 kishte 30.000 transistore, ndërsa ARM6 shkoi vetëm deri ne 35.000. Biznesi i ARM-se gjithmonë ka qene te shesë IP cores, qe te licencuarit i përdorin për te krijuar mikrokontrolluesit dhe CPU-te e bazuara ne këtë bërthame. Implementimi me i suksesshëm është ARM7TDMI me qindra miliona shitje. Idea është qe Original Design Manufacturer te kombinoje bërthamën ARM me një numër pjesësh jo te detyrueshme për te prodhuar një CPU te plote, një qe te mund te ndërtohet ne semiconductor fabs te vjetra dhe prape te ketë performance te konsiderueshme me çmim te ulet. Atmel ka qene një qendër projektimi pararendëse ne Sistemin e Ngulitur te bazuar ne ARM7TDMI.
ARM licencoi rreth 1,6 bilion bërthama ne 2005. Ne 2005, rreth 1 bilion bërthama ARM u futen ne celulare.[7] Stampa:Ne, me shume se 10 bilion bërthama ARM janë ndërtuar, dhe iSuppli parashikon qe 5 bilion ne vit do te transportohen ne 2011.
Arkitektura e smartphones, personal digital assistants dhe aparaturave te tjera qe mbahen ne dore është ARMv5. Procesorët XScale dhe ARM926 janë ARMv5TE, dhe tashme jane me te shumte ne aparatura high-end sesa StrongARM, ARM9TDMI dhe ARM7TDMI te bazuar ne procesorë ARMv4, por aparaturat lower-end mund te përdorin bërthama me te vjetra me çmime me te ulëta licencimi. Procesorët ARMv6 paraqiten një hap me lart ne performance sesa nga bërthamat standarde ARMv5, dhe janë përdorur ne disa raste, por procesorët Cortex (ARMv7) tashme sigurojnë opsione me te shpejta se te gjithë brezat e mëparshëm. Cortex-A ka objektiv procesorët e aplikacioneve, siç i nevojiten smartphone-ve qe me përpara përdornin ARM9 ose ARM11. Cortex-R ka objektiv aplikacionet ne kohe reale, dhe Cortex-M ka objektiv mikrokontrolluesit.
Ne 2009, disa prodhues prezantuan netbook-et bazuar ne CPU me arkitekture ARM, ne konkurencë direkte me netbook-et e bazuar ne Intel Atom.
Puna e re Apple-ARM përfundimisht do kthehej ne ARM6, fillimisht i dale ne treg ne fillim te 1992. Apple përdorte ARM 610 te bazuar ne ARM6, si baze për PDA-ne Apple Newton. Ne 1994, Acorn përdori ARM 610 si CPU kryesore ne kompjuterët e tyre Risc PC. DEC licencoi arkitekturen ARM6 (gjë qe shkaktoi konfusion sepse ato gjithashtu prodhonin mikroprocesore Alpha)Stampa:Citation needed dhe prodhoi StrongARM. Ne 233 MHz kjo CPU harxhonte vetëm 1 Watt energji (versionet e mëvonshme harxhonin shume me pak).
Tiparet e tjera
Procesori ARM ka gjithashtu disa tipare qe shihen shume rralle ne arkitektura te tjera RISC, siç është adresimi PC-relativ (ne te vërtete, tek ARM-ja PC është një nga 16 regjistrat e saj) dhe mënyrat e adresimit pre- dhe post-increment.
Një tjetër gjë për t'u vërejtur është se ARM ka ekzistuar për një fare kohe, me kompletin e instruksioneve duke u rritur me kalimin e kohës. Disa procesore me te hershem ARM (para ARM7TDMI), për shembu ll, nuk kane instruksion për te ruajtur një sasi 2-byte, pra, për to nuk është e mundur te krijojnë kod efikas qe sillet ne mënyre te njëjte me objektet e C te tipit "volatile int16_t".
Bashkëprocesorët
Arkitektura siguron një mënyre jo-intrusive për te zgjeruar kompletin e instruksioneve duke përdorur "bashkëprocesoret" qe mund te adresohen duke përdorur MCR, MRC, MRRC, MCRR, dhe instruksione te tjera te ngjashme. Hapësira e bashkëprocesorit ndahet logjikisht ne 16 bashkëprocesore me numra 0 deri ne 15, ku bashkëprocesori 15 (cp15) është i rezervuar per disa funksione kontrolli tipike si menaxhimi i cache-ve dhe operimin e MMU (te procesorët qe e kane një te tille).
Ne aparaturat e bazuara ne ARM, pajisjet periferike janë zakonisht te lidhura me procesorin duke hartuar regjistrat e tyre fizike ne hapësirën e memories ARM ose ne hapësirën e bashkëprocesorit ose duke lidhur një tjetër pajisje e cila pastaj lidhet me procesorin. Hyrjet ne bashkëprocesor kane vonese me te vogël keshtuqe disa periferike (për shembull kontrolluesi i nderprerjeve XScale) janë projektuar qe te jene te arritshem ne te dy mënyrat (përmes memories dhe përmes bashkëprocesoreve). Ne raste te tjera, projektuesit e çipeve integrojnë hardware vetëm duke përdorur mekanizmin e bashkëprocesorit. Per shembull, një motor për përpunim imazhesh mund te jete një bërthame e vogël ARM7TDMI e kombinuar me një bashkëprocesor qe ka veprime te specializuara për te mbajtur një komplet specifik primitivesh transkodimi HDTV.
Thumb
Për te përmirësuar dendësinë e kodit te kompiluar, procesorët nga ARM7TDMI e me pas kane paraqitur modën Thumb. ("T"-ja ne "TDMI" tregon tiparin Thumb.) Ne këtë mode, procesori ekzekuton instruksione 16-bit. Shumica e këtyre instruksioneve Thumb 16 bit hartohen direkt me instruksionet ARM. Kursimi i hapësirës vjen duke bere te nënkuptueshme disa madhësi te instruksioneve dhe duke limituar numrin e mundësive krahasuar me instruksionet e plota ne modën ARM.
Ne Thumb, kodet me te vogla te operimit kane me pak funksionalitet. Për shembull, vetëm degëzimet mund te jene te kushtëzuara, she shume kode operimi kane akses te kufizuar vetëm ne gjysmën e regjistrave te CPU-se. Kodet e shkurtra te operimit japin përmirësim te përgjithshëm te dendësisë se kodit, edhe pse disa veprime kërkojnë instruksione ekstra. Ne situata ku gjerësia e portës se memories është me pak se 32-bit, kodet e shkurtra Thumb te operimit japin performance ne rritje ne krahasim me kodin 32-bit te ARM, meqë me pak kod programi ka nevoje te ngarkohet ne procesor përmes gjerësisë se vogël te memories.
Hardware-t e ngulitur, si Game Boy Advance, zakonisht kane një sasi te vogël te RAM-it te arritshëm me një datapath te plote 32-bit; shumica arrihet me një datapath dytesor 16-bit ose me te ngushte. Ne këtë situate, zakonisht kodi Thumb kompilohet dhe optimizohen manualisht disa nga sektorët me me shume pune intensive te CPU, duke përdorur instruksione ARM te plota 32-bit, duke vendosur këto instruksione me te gjera ne memorie 32-bit te arritshme nga cdo bus.
Procesori i pare me një ckodues instruksionesh Thumb ishte ARM7TDMI. Te gjithë ARM9 dhe familjet e mëvonshme, duke përfshire XScale, kane përmbajtur një ckodues instruksionesh Thumb.
Instruksionet e përmirësimit te DSP
Për te përmirësuar arkitekturën ARM për perpunim sinjalesh digjitale dhe aplikacioneve te multimedias, disa instruksione te reja iu shtuan kompletit. Keto tregohen me nje "E" ne emrat e arkitekturave ARMv5TE dhe ARMv5TEJ. Variantet E perfshijne gjithashtu T, D, M, dhe I.
Mjedisi i ekzekutimit te Thumb-it (ThumbEE)
ThumbEE, i njohur gjithashtu si Thumb-2EE, dhe i tregtuar si Jazelle RCT (Runtime Compilation Target), u shpall ne 2005, dhe u shfaq per here te pare ne procesorin Cortex-A8. ThumbEE eshte nje mode e katert procesori, duke bere ndryshime te vogla ne kompletin e instruksioneve Thumb te zgjeruar nga Thumb-2. Keto ndryshime e bejne kompletin e instruksioneve vecanerisht te pershtatshem per kod te krijuar gjate ekzekutimit te programit (p.sh. nga kompilimi JIT) ne Mjediset e menaxhuara te ekzekutimit. ThumbEE eshte nje objektiv per gjuhet si Limbo, Java, C#, Perl dhe Python, dhe lejon kompajlerat JIT te nxjerre kod te kompiluar me te vogel pa ndikuar ne performance.
Tiparet e reja te ThumbEE perfshijne kontrolle automatike te pointer-ave null ne cdo instruksion ngarkimi dhe ruajtjeje, nje instruksion per te kontrolluar kufijte e array, akses ne regjistrat r8-r15 (ku mbahet gjendja Jazelle/DBX Java VM), dhe instruksione speciale qe therrasin nje manovrues(handler).[44] Manovruesit jane sektore te vegjel kodi qe therritet shpesh, zakonisht i perdorur per te implementuar nje tipar te nje gjuhe programimi te nivelit te larte, si psh rezervimi i memorjes per nje objekt te ri.
Advanced SIMD (NEON)
Shtojca Advanced SIMD, e tregtuar si teknologjia NEON, eshte nje komplet instruksionesh SIMD i kombinuar 64- dhe 128-bit, qe siguron pershpejtim te standartizuar per aplikacionet e perpunimit te medias dhe te sinjaleve. NEON mund te ekzekutoje ckodim audio-je MP3 ne CPU me 10 MHz dhe mund te ekzekutoje codec-un e te folurit GSM AMR me me pak se 13 MHz. Ka nje komplet instruksionesh te hollesishem, file regjistrash te ndara dhe hardware ekzekutimi te pavarura. NEON mban numra te plote 8-, 16-, 32- dhe 64-bit dhe punon ne operime SIMD per te manovruar perpunimin e audios dhe videos si dhe perpunimin e grafikes dhe te lojerave. Ne NEON, SIMD mban deri ne 16 pune ne te njejten kohe.
VFP
Teknologjia VFP (Vector Floating Point) eshte nje shtojce bashkeprocesori ne arkitekturen ARM. Siguron perpunim numrash me presje me nje-precision dhe dopjo-precision me pak shpenzim. VFP siguron perpunim numrash me presje te pershtatshem per nje spektrum te gjere aplikacionesh si PDA, smartphone, kompresim dhe decompresim zeri, grafika tre-dimensionale dhe audio digjitale, printera, dhe aplikacione automotive. Arkitektura VFP gjithashtu mund te ekzekutoje instruksione te shkurtra vektore por keto punojne ne cdo element vektor njeri pas tjetrit dhe nuk ofrojne performancen e vertete te paralelizmit SIMD. Kjo mode mund te jete akoma e dobishme ne aplikacione per procesim grafikash dhe sinjalesh meqe lejon nje reduktim ne madhesine e kodit.
|
|
|
|
|
|
|
 |
|
Radio |
|
|
|
Heute waren schon 10482 visitorshier! |