Kichakataji cha msingi nane armv7 3 GHz. Wenye leseni za ARM na takriban gharama za leseni. Kama hitimisho

Hivi karibuni, uundaji sana wa swali ulionekana kuwa haufikiri, lakini maendeleo ya teknolojia na quirks ya soko yamesababisha hali ambapo ushindani halisi unawezekana.

Hivi majuzi, uundaji wa swali ulionekana kuwa hauwezekani: inawezekana hata kulinganisha processor ya "simu" na chipsi zinazotumiwa kwenye "kompyuta za kibinafsi," seva, na hata kompyuta kuu? Wakati huo huo, maendeleo ya teknolojia na matatizo ya soko yamesababisha hali ambapo wataalam wanajadili kwa uzito uwezekano wa sio tu ushindani kati ya wasindikaji wa ARM na chips x86, lakini vita kali kati yao.

Kwanza kabisa, hebu tufafanue dhana na tujue wapinzani wanaowezekana.

Wasindikaji wa kati wa x86 ni microprocessors zinazounga mkono seti ya maagizo ya jina moja na kuwa na usanifu mdogo unaotokana na IA-32, yaani, Intel Architecture 32-bit. Chips zimejengwa juu ya usanifu wa CISC (Complex Instruction Set Computing, yaani, na seti kamili maagizo"), ambayo kila maagizo yanaweza kufanya shughuli kadhaa za kiwango cha chini mara moja.

Kwa kihistoria, familia ya x86 ilianzia 16-bit Mifano ya Intel 8086, iliyotolewa mnamo 1978. Wasindikaji hawa wakawa 32-bit tu mwaka wa 1985, wakati "386" ya kwanza ilianzishwa. Mwaka 1989 Mwaka wa Intel ilitoa scalar ya kwanza (yaani, kufanya operesheni moja katika mzunguko wa saa moja) chip i486 (80486), ambayo kwa mara ya kwanza ilionyesha kumbukumbu ya kache iliyojengwa ndani na kitengo cha FPU cha kuelea. Wasindikaji wa Pentium, walioletwa mwaka wa 1993, walikuwa wa kwanza wa juu (yaani, wanafanya shughuli kadhaa kwa mzunguko wa saa) na superpipeline (chips hizi zilikuwa na mabomba mawili).

Kwa hiyo, chipsi za kisasa zinazoendana na x86 ni vichakataji vidogo vya superscalar vilivyojengwa kwenye usanifu wa CISC.

Wasindikaji wa ARM ni chips 32-bit kulingana na usanifu wa RISC (Kupunguza Maelekezo ya Kuweka Kompyuta), yaani, na seti ya maagizo iliyopunguzwa. Usanifu huu unategemea wazo la kuongeza utendaji kwa kuongeza kurahisisha maagizo na kupunguza urefu wao.

Historia ya wasindikaji wa ARM ilianza mwaka wa 1978, wakati kampuni ya Uingereza ya Acorn Computers iliundwa. Chapa ya Acorn ilitoa mifano kadhaa maarufu ya kompyuta za kibinafsi kwenye soko la ndani kulingana na chipsi za MOS Tech 6502 za bits nane. Kwa njia, CPU sawa ilipatikana katika Apple I na II na Commodore PET.

Walakini, pamoja na ujio wa mtindo wa hali ya juu zaidi wa 6510, ambao ulianza kusanikishwa katika Commodore 64 mnamo 1982, safu ya kompyuta ya Acorn, pamoja na BBC Micro ya elimu, ilipoteza umuhimu. Hii ilisababisha wamiliki wa Acorn kuunda kichakataji chao kulingana na usanifu wa 6502, ambao ungewaruhusu kushindana kwa masharti sawa na mashine za kiwango cha PC za IBM.

Mfano wa kwanza wa uzalishaji wa ARM2, uliotengenezwa kama sehemu ya mradi wa Mashine ya Acorn RISC, ilitolewa mnamo 1986 na ikawa processor rahisi na ya bei rahisi zaidi ya 32-bit wakati huo: sio tu ilikosa kumbukumbu ya kashe, ambayo ilikuwa kawaida kwa chipsi. wakati huo, lakini pia programu ndogo: tofauti na wasindikaji wa CISC, msimbo mdogo ulitekelezwa kama nyingine yoyote kanuni ya mashine, kwa kuibadilisha kuwa maagizo rahisi. Kifa cha ARM2 kilikuwa na transistors 30,000, na muundo huu wa kompakt ulibaki kipengele cha tabia ya familia hii: ARM6 ina transistors 5000 tu zaidi.

Tofauti na Intel au AMD, ARM haitoi wasindikaji yenyewe, ikipendelea kuuza leseni kwa wengine. Miongoni mwa kampuni zilizo na leseni kama hizo ni Intel na AMD sawa, na vile vile VIA Technologies, IBM, NVIDIA, Nintendo, Vyombo vya Texas, Freescale, Qualcomm na Samsung. Ukweli wa dalili: wakati AMD, kampuni ya pili katika soko la wasindikaji la x86, ilisherehekea kutolewa kwa CPU yake ya milioni 500 mnamo 2009, kisha mnamo 2009 pekee karibu wasindikaji bilioni tatu wa ARM walisafirishwa hadi sokoni!

Wasindikaji wa kisasa wa ARM ni chipsi za bomba la juu zaidi zilizojengwa kwenye usanifu wa RISC.

Kwa kuzingatia ufafanuzi huu wawili, karibu tofauti rasmi kati ya familia za ARM na x86 ni usanifu mdogo wa RISC na CISC. Walakini, hii haiwezi kuzingatiwa tena kuwa tofauti ya kimsingi: kuanzia na marekebisho ya i486DX, chipsi za x86 zilianza kuonekana zaidi kama wasindikaji wa RISC. Kuanzia kizazi hiki, microcircuits, huku zikidumisha utangamano na seti zote za awali za maagizo, zinaonyesha utendaji wa juu tu kwa seti ndogo. maelekezo rahisi, ambayo inaonekana kwa kutiliwa shaka kama seti ya maagizo ya RISC. Kwa hivyo, x86 ya leo inaweza kuzingatiwa kwa usalama kuwa wasindikaji wa CISC na cores za RISC: mtafsiri wa maunzi aliyejengwa ndani ya chip huamua maagizo tata ya CISC katika seti ya maagizo rahisi ya ndani ya RISC. Ingawa kila maagizo ya CISC yanaweza kugawanywa katika maagizo kadhaa ya RISC, kasi ya utekelezaji wa mwisho hutoa ongezeko kubwa la utendaji. Kwa kuongeza, hatupaswi kusahau kuhusu superscalarity na superpipelining ya chips kisasa.

Tofauti nyingine ni muhimu zaidi: sehemu ya simba ya x86 ni wasindikaji wote, "hung" na anuwai ya vizuizi na moduli, ambazo zimeundwa kushughulikia kwa mafanikio karibu kazi yoyote - kutoka kwa kutumia wavuti na usindikaji. faili za maandishi kabla ya usimbaji video azimio la juu na kufanya kazi na graphics tatu-dimensional. Kwa chips za ARM zinazolenga kutumika katika simu mahiri na zingine vifaa vinavyobebeka, malengo na fursa tofauti kabisa.

Kisha bidhaa hizo tofauti zinapaswa kugawanywa katika nini? Bila shaka, ni ujinga kulinganisha msingi wa quad i5 na "simu" Qualcomm MSM7201A, inayopatikana katika mawasiliano ya HTC Dream na Hero, lakini kuna mizani ambapo masoko ya ARM na i86 yanaingiliana leo. Hizi ni, kwa upande mmoja, chips za hivi karibuni za ARM kama vile Cortex-A8 (usanifu wa ARMv7-A), na kwa upande mwingine, wasindikaji wa kiwango cha chini cha x86. Intel Atom. Kulingana na Cortex-A8, mtindo kibao cha apple iPad na Intel Atom huendesha wingi wa netbooks.

Chips hizi zina jambo lingine muhimu kipengele cha jumla: Wachakataji hawa wote wawili hufanya kazi kwa kanuni ya utekelezaji wa maagizo kwa kufuatana, wakati wasindikaji wengi wa x86 ni wasindikaji wa nje ya utaratibu. Mzunguko huu umeundwa ili kufikia utendaji wa juu kwa kila wati ya matumizi ya nguvu kwa kuondoa moduli zinazohusika na utekelezaji wa maagizo nje ya utaratibu.

Atom pia ina tofauti kadhaa za kimsingi kutoka kwa Cortex-A8. Kwanza kabisa, karibu chipsi zote katika familia hii zinaunga mkono teknolojia ya kompyuta ya Hyper-Threading, ambayo hukuruhusu kuwakilisha moja. msingi wa kimwili kama mbili za mtandaoni. Hii ni faida kubwa sana, kwa kiasi kikubwa kuongeza tija, na si tu katika maombi kiasi nadra. programu zenye nyuzi nyingi, lakini pia wakati wa kutekeleza amri na matumizi makubwa ya mifumo ya I/O. Kwa mfano, Atom iliyo na Hyper-Threading hupakia Windows haraka sana kuliko ile ya msingi-moja ya VIA Nano bila usaidizi wa hali hii.

Ulinganisho wa vitendo wa utendaji wa Atom na Cortex-A8 ulifanywa na Van Smith, mwandishi wa OpenSourceMark na vifurushi vya majaribio ya miniBench na mmoja wa waandishi wenza wa SiSoftware Sandra. Tulijaribu mashine kulingana na vichakataji Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050 na, kwa kulinganisha, kulingana na Athlon XP-M ya simu kwenye msingi wa Barton. Kwa kuwa sifa za Cortex-A8 yenye mzunguko wa saa 800 MHz zilichukuliwa kama mahali pa kuanzia, masafa ya uendeshaji ya VIA Nano na Athon yalipunguzwa kwa thamani sawa, na Atom hadi 1000 MHz (kupunguzwa zaidi hakuwezekana. ) Wakati huo huo, Cortex-A8 bado ina kadhaa wazi pointi dhaifu: Usaidizi wa kumbukumbu ya polepole ya 32-bit DDR2-200 na zaidi ya picha za kawaida zilizounganishwa na azimio la juu la 1024 kwa 768 na kina cha rangi ya biti kumi na sita. Majaribio yote yalifanywa kwenye mifumo inayofanya kazi Mifumo ya Ubuntu 9.04 Linux.

Matokeo ya jaribio yaligeuka kuwa ya kuvutia zaidi: Cortex-A8 ilionyesha utendaji wa kiushindani katika hesabu kamili na matumizi ya chini ya nishati ikilinganishwa na wapinzani wake. Kama inavyotarajiwa, vipimo tu vya upelekaji data wa kumbukumbu na mahesabu ya uhakika wa kuelea, "kisigino cha Achilles" cha chips za ARM, kiligeuka kuwa kushindwa. Kwa muda mrefu, wasindikaji wa ARM kwa ujumla hawakuwa na moduli za FPU, na ingawa Cortex-A8 ina moduli mbili kama hizo (Neon 32-bit SP na VFP), nguvu zao hazitoshi. Mahesabu ya hatua zinazoelea ni Michezo ya 3D, na uundaji wa kisayansi, na baadhi ya aina za usindikaji na usimbaji wa video na sauti. Kwa hivyo ikiwa watengenezaji wa vichakataji vya ARM wanalenga netbook, nettop na niche ya kompyuta kibao, wanahitaji kuboresha utendaji wa FPU kwa kiasi kikubwa. Matokeo ya kina ya majaribio yote yanaweza kupatikana hapa (http://www.brightsideofnews.com/news/2010/4/7/the-coming-war-arm-versus-x86.aspx).

Je, tutegemee mapigano kati ya familia tofauti na zinazofanana za wasindikaji wa ARM na x86? Hadi sasa, katika suala la utendaji katika maombi ya burudani ya wingi, "silaha" ni duni sana hata kwa "atomi". Hata hivyo, mtazamo huo ni wa kutia moyo: usanifu wa hivi punde zaidi wa Cortex-A9 umeundwa ili kuunda vichakataji vyenye core moja hadi nne na, kulingana na ARM Limited, wameboresha kwa kiasi kikubwa utendakazi wa sehemu zinazoelea. Chips za kwanza kulingana na Cortex-A9 - NVIDIA Tegra 2 - ni chipsi zenye msingi-mbili zilizo na msingi wa michoro unaoauni video ya Full HD 1080p na michoro ya pande tatu yenye kiolesura cha programu OpenGL ES 2.0. Kompyuta kibao au netbook yenye sifa kama hizo inaweza kushindana kwa urahisi na kifaa chochote chenye msingi wa Atom. Hebu tuongeze hapa ufanisi wa kipekee, ambao unamaanisha maisha marefu ya betri. Kwa hivyo Apple iPad inaweza kuwa ishara ya mwanzo wa vita kati ya chips za ARM na wasindikaji wa x86 kwenye uwanja wao wenyewe.

Kichakataji cha ARM ni kichakataji cha rununu kwa simu mahiri na kompyuta kibao.

Jedwali hili linaonyesha vichakataji vyote vya ARM vinavyojulikana kwa sasa. Jedwali la vichakataji vya ARM litaongezwa na kuboreshwa kadiri miundo mipya inavyoonekana. Jedwali hili hutumia mfumo wa masharti kutathmini utendakazi wa CPU na GPU. Data ya utendaji ya kichakataji cha ARM ilichukuliwa kutoka zaidi vyanzo mbalimbali, haswa kulingana na matokeo ya majaribio kama vile: PassMark, Mtutu, GFXBench.

Hatudai usahihi kabisa. Kwa usahihi kabisa cheo na tathmini utendaji wa vichakataji vya ARM haiwezekani, kwa sababu rahisi kwamba kila mmoja wao ana faida kwa njia fulani, lakini kwa namna fulani hupungua nyuma ya wasindikaji wengine wa ARM. Jedwali la wasindikaji wa ARM hukuruhusu kuona, kutathmini na, muhimu zaidi, linganisha SoCs tofauti (System-On-Chip) ufumbuzi. Kwa kutumia meza yetu, unaweza kulinganisha wasindikaji wa simu na inatosha kujua hasa jinsi moyo wa ARM wa simu mahiri au kompyuta yako kibao ya baadaye (au ya sasa) umewekwa.

Hapa tumelinganisha wasindikaji wa ARM. Tuliangalia na kulinganisha utendaji wa CPU na GPU katika SoCs tofauti (System-on-Chip). Lakini msomaji anaweza kuwa na maswali kadhaa: Wasindikaji wa ARM hutumiwa wapi? Kichakataji cha ARM ni nini? Usanifu wa ARM unatofautianaje na wasindikaji wa x86? Wacha tujaribu kuelewa haya yote bila kuingia kwa undani sana.

Kwanza, hebu tufafanue istilahi. ARM ni jina la usanifu na wakati huo huo jina la kampuni inayoongoza maendeleo yake. Kifupi ARM kinasimama kwa (Advanced RISC Machine au Acorn RISC Machine), ambayo inaweza kutafsiriwa kama: advanced RISC machine. Usanifu wa ARM inachanganya familia ya viini vya processor 32 na 64-bit vilivyotengenezwa na kupewa leseni na ARM Limited. Ningependa kutambua mara moja kwamba kampuni ya ARM Limited inajishughulisha pekee na maendeleo ya kernels na zana kwao (zana za kurekebisha, compilers, nk), lakini si katika uzalishaji wa wasindikaji wenyewe. Kampuni ARM Limited huuza leseni za utengenezaji wa vichakataji vya ARM kwa wahusika wengine. Hapa kuna orodha ya baadhi ya makampuni yaliyopewa leseni ya kuzalisha vichakataji vya ARM leo: AMD, Atmel, Altera, Cirrus Logic, Intel, Marvell, NXP, Samsung, LG, MediaTek, Qualcomm, Sony Ericsson, Vyombo vya Texas, nVidia, Freescale... na wengine wengi.

Baadhi ya makampuni ambayo yamepata leseni ya kuzalisha vichakataji vya ARM huunda matoleo yao ya cores kulingana na usanifu wa ARM. Kama mfano tunaweza kutaja: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A4/A5/A6 na HiSilicon K3.

Leo wanafanya kazi kwenye wasindikaji wa msingi wa ARM karibu umeme wowote: PDA, simu za mkononi na simu mahiri, vichezaji dijitali, koni za mchezo zinazobebeka, vikokotoo, vya nje diski ngumu na ruta. Zote zina msingi wa ARM, kwa hivyo tunaweza kusema hivyo ARM- wasindikaji wa simu kwa simu mahiri na vidonge.

Kichakataji cha ARM inawakilisha a SoC, au "mfumo kwenye chip". Mfumo wa SoC, au "mfumo kwenye chip," unaweza kuwa na chip moja, pamoja na CPU yenyewe, sehemu zingine. kompyuta kamili. Hiki ni kidhibiti cha kumbukumbu, na kidhibiti cha bandari cha I/O, na msingi wa michoro, na mfumo wa kuweka nafasi (GPS). Inaweza pia kuwa na moduli ya 3G, pamoja na mengi zaidi.

Ikiwa tutazingatia familia tofauti ya wasindikaji wa ARM, sema Cortex-A9 (au nyingine yoyote), haiwezi kusemwa kuwa wasindikaji wote wa familia moja wana utendaji sawa au wote wana vifaa. Moduli ya GPS. Vigezo hivi vyote hutegemea sana mtengenezaji wa chip na nini na jinsi aliamua kutekeleza katika bidhaa yake.

Kuna tofauti gani kati ya wasindikaji wa ARM na X86?? Usanifu wa RISC (Kompyuta iliyopunguzwa ya Maagizo) yenyewe inamaanisha seti iliyopunguzwa ya maagizo. Ambayo ipasavyo husababisha matumizi ya wastani ya nishati. Baada ya yote, ndani ya chip yoyote ya ARM kuna transistors chache zaidi kuliko mwenzake kutoka kwa mstari wa x86. Usisahau kwamba katika mfumo wa SoC vifaa vyote vya pembeni viko ndani ya chip moja, ambayo inaruhusu kichakataji cha ARM kuwa na ufanisi zaidi wa nishati. Usanifu wa ARM awali uliundwa ili kukokotoa utendakazi kamili pekee, tofauti na x86, ambayo inaweza kufanya kazi na hesabu za sehemu zinazoelea au FPU. Haiwezekani kulinganisha wazi usanifu hizi mbili. Kwa njia fulani, ARM itakuwa na faida. Na mahali pengine ni kinyume chake. Ikiwa unajaribu kujibu swali kwa maneno moja: ni tofauti gani kati ya wasindikaji wa ARM na X86, basi jibu litakuwa hili: processor ya ARM haijui idadi ya amri ambazo processor ya x86 inajua. Na wale wanaojua wanaonekana wafupi zaidi. Hii ina faida na hasara zake. Iwe hivyo, hivi majuzi kila kitu kinapendekeza kwamba wasindikaji wa ARM wanaanza polepole lakini kwa hakika kupata, na kwa njia fulani hata kuzidi wasindikaji wa kawaida wa x86. Wengi hutangaza wazi kwamba vichakataji vya ARM hivi karibuni vitabadilisha jukwaa la x86 katika sehemu ya Kompyuta ya nyumbani. Kama tunavyojua tayari, mnamo 2013 kampuni kadhaa maarufu ulimwenguni ziliacha kabisa utengenezaji zaidi wa netbooks kwa niaba ya Kompyuta kibao. Kweli, nini kitatokea, wakati utasema.

Tutafuatilia vichakataji vya ARM ambavyo tayari vinapatikana sokoni.

Jibu ni kwa programu zilizo na usalama ulioongezeka wa utendaji. Na angalau kokwa ARM Cortex-R Vidhibiti vidogo vya "muda halisi" vya utendaji wa juu kutoka Vyombo vya Texas vinatumiwa kwa kusudi hili.


Ingawa vichakataji vya Cortex-R karibu vinaendana kabisa na vichakataji vya Cortex-A na Cortex-M kulingana na seti ya maagizo, bado kuna tofauti kubwa kati yao. Hasa, msingi wa Cortex-R hutoa utendaji wa juu zaidi kuliko Cortex-M, wakati huo huo kuwa na uwezo wa kufanya shughuli za kuamua ambazo ni vigumu kufikia kwenye vichakataji maombi vya Cortex-A. Kwa hiyo kwa suala la utendaji, Cortex-R iko kati ya Cortex-M na Cortex-A, lakini wakati huo huo inaweza kutumika katika microcontrollers na wasindikaji.


Msingi wa Cortex-R umejengwa kwenye usanifu wa Harvard na hutoa kasi ya juu ya saa kutokana na bomba la hatua 8 na utekelezaji wa maelekezo ya juu zaidi. Maagizo ya SIMD ya maunzi huwezesha utendakazi wa hali ya juu wa usindikaji wa mawimbi ya dijiti na uchakataji wa midia. Cortex-M pia ina vipengele vya kuimarisha utendaji kama vile kitangulizi cha maagizo, kitabiri cha tawi, na kigawanyaji maunzi. Vipengele vile vya usanifu husaidia wasindikaji wa Cortex-R4 na Cortex-R5 kufikia utendaji wa juu utendaji DMIPS/MHz. Mwingine kipengele cha kuvutia Viini vya Cortex-R vina bomba la sehemu inayoelea linalotii IEEE-754 ambalo linaauni umbizo la usahihi-moja (32-bit) na usahihi maradufu (64-bit), na huendeshwa kwa sambamba na kitone cha uhakika.



Kwa kumbukumbu ya muda wa chini wa kusubiri iliyounganishwa kwa ukali na kichakataji, majibu kwa matukio ya wakati halisi hutokea haraka iwezekanavyo, na ushughulikiaji wa kukatiza hufanywa haraka iwezekanavyo. Uwezo huu, pamoja na utendakazi wa juu na uamuzi wa msingi wa Cortex-R, husaidia kukidhi mahitaji ya programu za wakati halisi ambazo zinahitaji pia usalama wa utendaji.


Ikiwa unafanya kazi katika tasnia ya usalama na utegemezi wa kifaa, pengine umesikia kuhusu usalama wa utendaji kazi katika vifaa vinavyoweza kupangiliwa. vipengele vya elektroniki, na kiwango cha kwanza ambacho kinaweza kukumbuka ni IEC 61508. Ni kiwango kikuu cha usalama cha kimataifa ambacho kimekuwepo kwa takriban miaka 20 na kinafuatwa na viwanda vingi. Usalama wa kiutendaji hutolewa kwa usafiri (anga, reli na sekta ya magari), katika tasnia, dawa, nishati mbadala na nyanja zingine. Sekta hizi ama zimeunda viwango vyao vya usalama au kurekebisha viwango vya kimataifa kama vile IEC 61508. Ikumbukwe hasa, sekta ya magari ilipitisha kiwango chake cha usalama cha utendaji kazi, ISO 26262, mwaka wa 2012.


Kwa hivyo, ni nini kizuri kuhusu Cortex-R katika suala la usalama wa kufanya kazi? Kwanza kabisa, vipengele vya kipekee vya usanidi vinavyoruhusu urekebishaji wa makosa. Vipengele hivi ni chaguo ambazo ARM imeunda moja kwa moja kwenye kernel, ambayo ni pamoja na ugunduzi wa makosa na urekebishaji, ulinzi wa kumbukumbu ya basi na L1, njia za utendakazi za watumiaji na zilizobahatika. programu yenye kitengo cha ulinzi wa kumbukumbu (MPU) na usaidizi wa usanidi wa Hatua ya Kufuli ya msingi-mbili (DCLS).


DCLS ni nini na kwa nini inahitajika? Ikiwa wewe ni mhandisi wa programu anayefanya kazi kwenye mradi unaohitaji kuaminika na kazi salama vifaa, basi DCLS itafanya maisha yako kuwa rahisi zaidi. Hii ni muhimu sana ikiwa unatumia vidhibiti vidogo viwili au cores mbili huru kugundua makosa katika msingi mmoja.


Kuna shida kadhaa maalum wakati wa kufanya kazi na kernel huru. Kwanza, unahitaji kuandika msimbo wa "ziada" kwa kila microcontroller ambayo itafuatilia microcontroller nyingine. Pili, sasa unahitaji kufanya nambari hii kuwa sehemu kuu ya moduli yako usalama wa mfumo, hii ina maana kwamba ni lazima utoe uaminifu na usalama katika kila mstari wa msimbo huu kazi zaidi. Kwa DCLS, msimbo huu "wa ziada" na hitaji la kuulinda huwa jambo la zamani. Kwa kweli, msanidi programu bado atalazimika kuandika mistari mingi ya nambari zinazohusiana na usalama, lakini utaratibu huu bado hurahisisha maisha yake.


Kwa urahisi wa kuelewa, utaratibu wa DCLS unaweza kufikiriwa kama mchanganyiko wa kichakataji kikuu na moduli ya uthibitishaji. Kwa mtazamo wa msanidi programu, upangaji wa mfumo kama huo hautatofautiana na upangaji wa kidhibiti cha kawaida cha msingi mmoja. Msingi wa pili, yaani moduli ya uthibitishaji, pamoja na mantiki ya kulinganisha, hufanya kazi ya msimbo wa "ziada" ulioelezwa hapo juu, pamoja na mengi zaidi. Mantiki ya kulinganisha inaweza kugundua hitilafu katika mizunguko michache ya kichakataji, ilhali msingi tofauti unaweza kuchukua mamia au hata maelfu ya mizunguko kufanya hivyo. Kwa hivyo, DCLS ni haraka sana katika kugundua makosa na inaweza kuokoa wakati muhimu katika kuunda msimbo wa kuaminika.

Chips za kwanza za ARM zilionekana miongo mitatu iliyopita kutokana na juhudi za kampuni ya Uingereza ya Acorn Computers (sasa ni ARM Limited), lakini kwa muda mrefu walikuwa katika kivuli cha ndugu zao maarufu zaidi - wasindikaji wa x86. Kila kitu kiligeuka chini na mpito wa tasnia ya IT hadi enzi ya baada ya kompyuta, wakati haikuwa tena PC zilizotawala roost, lakini. vifaa vya rununu.

Vipengele vya usanifu wa ARM

Labda inafaa kuanza na ukweli kwamba katika usanifu wa processor ya x86 ambayo hutumiwa sasa Intel na AMD, seti ya amri ya CISC (Complex Instruction Set Computer) inatumika, ingawa haijaingizwa fomu safi. Kwa hivyo, idadi kubwa ya amri ngumu, ambayo kwa muda mrefu imekuwa alama ya CISC, kwanza hupangwa kuwa rahisi, na kisha tu kusindika. Ni wazi kuwa mlolongo huu wote wa vitendo huchukua nguvu nyingi.

Njia mbadala inayotumia nishati ni chips za usanifu za ARM zilizo na seti ya maagizo ya RISC (Kompyuta iliyopunguzwa ya Maelekezo). Faida yake ni ya awali seti ndogo amri rahisi ambazo huchakatwa kwa juhudi ndogo. Matokeo yake, usanifu wa processor mbili - x86 na ARM - huishi kwa amani (kwa kweli, si kwa amani sana) katika soko la matumizi ya umeme, ambayo kila mmoja ina faida na hasara zake.


Usanifu wa x86 umewekwa katika nafasi ya ulimwengu wote kulingana na kazi zinazoweza kushughulikia, ikijumuisha hata zile zinazotumia rasilimali nyingi kama vile uhariri wa picha, muziki na video, pamoja na usimbaji fiche na ukandamizaji wa data. Kwa upande wake, usanifu wa ARM "hutoka" kwa sababu ya matumizi ya chini ya nguvu na, kwa ujumla, utendaji wa kutosha kwa madhumuni muhimu zaidi leo: kuchora kurasa za wavuti na kucheza maudhui ya vyombo vya habari.


Mtindo wa biashara wa ARM Limited

Kwa sasa, ARM Limited inajishughulisha tu na ukuzaji wa usanifu wa kuchakata marejeleo na utoaji wao wa leseni. Uundaji wa miundo maalum ya chip na uzalishaji wao wa wingi uliofuata ni kazi ya wenye leseni za ARM, ambazo kuna nyingi sana. Miongoni mwao kuna kampuni zinazojulikana tu katika duru nyembamba kama STMicroelectronics, HiSilicon na Atmel, na vile vile wakuu wa IT ambao majina yao yanajulikana - Samsung, NVIDIA na Qualcomm. NA orodha kamili makampuni yenye leseni yanaweza kupatikana kwenye ukurasa unaolingana wa tovuti rasmi ya ARM Limited.


Idadi kubwa kama hiyo ya waliopewa leseni kimsingi inatokana na wingi wa maombi ya vichakataji vya ARM, na vifaa vya rununu ni ncha tu ya barafu. Chips za gharama nafuu na za ufanisi wa nishati hutumiwa katika mifumo iliyoingia, vifaa vya mitandao na vifaa. Vituo vya malipo, modemu za 3G za nje na wachunguzi wa kiwango cha moyo wa michezo- vifaa hivi vyote vinatokana na usanifu wa kichakataji cha ARM.


Kulingana na wachambuzi, ARM Limited yenyewe hupata $0.067 kama mrabaha kwa kila chip inayozalishwa. Lakini hii ni kiasi cha wastani sana, kwa sababu kwa gharama mpya zaidi wasindikaji wengi wa msingi kwa kiasi kikubwa kuliko chips za msingi-moja za usanifu wa urithi.

Mfumo wa Chip moja

Kutoka kwa mtazamo wa kiufundi, wito wa wasindikaji wa chips za usanifu wa ARM sio sahihi kabisa, kwa sababu pamoja na cores moja au zaidi za kompyuta, zinajumuisha idadi ya vipengele vinavyohusiana. Inafaa zaidi katika kwa kesi hii ni masharti mfumo wa chipu-moja na mfumo-on-a-chip (kutoka kwa mfumo wa Kiingereza kwenye chip).

Kwa hivyo, mifumo ya hivi karibuni ya chip-moja kwa simu mahiri na kompyuta kibao ni pamoja na kidhibiti kumbukumbu ya ufikiaji bila mpangilio, kichapuzi cha picha, kipunguza sauti, kodeki ya sauti na moduli za hiari za mawasiliano zisizotumia waya. Chips zilizobobea sana zinaweza kujumuisha vidhibiti vya ziada vya kuingiliana navyo vifaa vya pembeni, kwa mfano sensorer.


Vipengele vya kibinafsi vya mfumo wa chip moja vinaweza kutengenezwa moja kwa moja na ARM Limited au na makampuni ya tatu. Mfano wa kushangaza wa hii ni vichapuzi vya michoro, ambavyo pamoja na ARM Limited (michoro ya Mali) vinatengenezwa na Qualcomm (picha za Adreno) na NVIDIA (michoro ya GeForce ULP).

Hatupaswi kusahau kuhusu kampuni ya Imagination Technologies, ambayo haifanyi chochote isipokuwa kubuni vichapuzi vya picha za PowerVR. Lakini ni yeye ambaye anamiliki karibu nusu soko la kimataifa michoro ya simu: Vidude vya Apple na Amazon, kompyuta kibao Samsung Galaxy Tabo 2 na pia simu mahiri za bei nafuu kulingana na wasindikaji wa MTK.

Vizazi vya zamani vya chips

Usanifu wa kichakataji uliopitwa na wakati, lakini bado unatumika sana ni ARM9 na ARM11, ambazo ni za familia za ARMv5 na ARMv6, mtawalia.

ARM9. Chips za ARM9 zinaweza kufikia mzunguko wa saa 400 MHz na, uwezekano mkubwa, zimewekwa ndani yako kipanga njia cha waya na simu kuu ya zamani lakini bado inategemewa kama vile Sony Ericsson K750i na Nokia 6300. Muhimu kwa chips za ARM9 ni seti ya maagizo ya Jazelle, ambayo hukuruhusu kufanya kazi kwa raha na programu za Java (Opera Mini, Jimm, Foliant, n.k.).

ARM11. Wasindikaji wa ARM 11 inaweza kujivunia seti iliyopanuliwa ya maagizo ikilinganishwa na ARM9 na masafa ya juu zaidi ya saa (hadi GHz 1), ingawa nguvu zao pia hazitoshi kwa kazi za kisasa. Walakini, kwa sababu ya matumizi ya chini ya nguvu na, sio muhimu sana, gharama, chipsi za ARM11 bado zinatumika kwenye simu mahiri ngazi ya kuingia: Mfuko wa Samsung Galaxy na Nokia 500.

Vizazi vya kisasa vya chips

Chips zote mpya za usanifu wa ARM ni za familia ya ARMv7, wawakilishi wa bendera ambao tayari wamefikia cores nane na kasi ya saa ya zaidi ya 2 GHz. Cores za kichakataji zilizotengenezwa moja kwa moja na ARM Limited ni za laini ya Cortex na watengenezaji wengi wa mifumo ya chipu-moja huzitumia bila mabadiliko makubwa. Qualcomm na Apple pekee ndio wameunda marekebisho yao wenyewe kulingana na ARMv7 - ya kwanza iliita ubunifu wao Scorpion na Krait, na ya pili - Swift.


ARM Cortex-A8. Kihistoria, kiini cha kwanza cha kichakataji cha familia ya ARMv7 kilikuwa Cortex-A8, ambayo iliunda msingi wa SoCs maarufu za wakati wake kama Apple A4 (iPhone 4 na iPad) na Samsung Hummingbird (Samsung Galaxy S na Galaxy Tab). Inaonyesha takriban mara mbili zaidi utendaji wa juu ikilinganishwa na ARM11 iliyopita. Kwa kuongezea, msingi wa Cortex-A8 ulipokea kichakataji cha NEON kwa usindikaji wa video ya azimio la juu na usaidizi. Programu-jalizi ya Adobe Mwako.

Ukweli, haya yote yaliathiri vibaya matumizi ya nguvu ya Cortex-A8, ambayo ni ya juu sana kuliko ile ya ARM11. Licha ya ukweli kwamba chips za ARM Cortex-A8 bado hutumiwa katika vidonge vya bajeti (mfumo wa Allwiner Boxchip A10 single-chip), siku zao kwenye soko zinaonekana kuhesabiwa.

ARM Cortex-A9. Kufuatia Cortex-A8, ARM Limited ilianzisha kizazi kipya cha chips - Cortex-A9, ambayo sasa ni ya kawaida na inachukua niche ya bei ya wastani. Utendaji wa cores ya Cortex-A9 imeongezeka takriban mara tatu ikilinganishwa na Cortex-A8, na pia inawezekana kuchanganya mbili au hata nne kati yao kwenye chip moja.

Kichakataji cha NEON kimekuwa cha hiari: NVIDIA iliifuta katika mfumo wake wa Tegra 2-chip moja, na kuamua kuifungua. nafasi zaidi kwa kiongeza kasi cha picha. Kweli, hakuna kitu kizuri kilichokuja kwa hili, kwa sababu maombi mengi ya mchezaji wa video bado yalitegemea NEON iliyojaribiwa kwa wakati.


Ilikuwa wakati wa "utawala" wa Cortex-A9 kwamba utekelezaji wa kwanza wa dhana kubwa.LITTLE iliyopendekezwa na ARM Limited ilionekana, kulingana na ambayo mifumo ya moja-chip inapaswa kuwa na nguvu na dhaifu, lakini cores ya processor yenye ufanisi wa nishati. Utekelezaji wa kwanza wa dhana kubwa.LITTLE ilikuwa mfumo wa NVIDIA Tegra 3-on-chip na cores nne za Cortex-A9 (hadi 1.7 GHz) na msingi wa tano wa ufanisi wa nishati (500 MHz) kwa ajili ya kufanya kazi rahisi za chinichini.

ARM Cortex-A5 na Cortex-A7. Wakati wa kubuni vichakataji vya Cortex-A5 na Cortex-A7, ARM Limited ilifuata lengo lile lile - kufikia maelewano kati ya matumizi madogo ya nishati ya ARM11 na utendakazi unaokubalika wa Cortex-A8. Hawajasahau juu ya uwezekano wa kuchanganya cores mbili au nne - chipsi za msingi za Cortex-A5 na Cortex-A7 polepole zinaonekana kuuzwa (Qualcomm MSM8625 na MTK 6589).


ARM Cortex-A15. Cores za processor Cortex-A15 ikawa mwendelezo wa kimantiki wa Cortex-A9 - kwa sababu hiyo, chips za usanifu za ARM kwa mara ya kwanza katika historia ziliweza kulinganisha takriban katika utendaji na Intel Atom, na hii tayari ni mafanikio makubwa. Sio bure kwamba Canonical Mahitaji ya Mfumo kwa toleo la Ubuntu Touch OS iliyo na kazi nyingi kamili iliyoonyeshwa processor mbili za msingi ARM Cortex-A15 au Intel Atom sawa.


Hivi karibuni, vifaa vingi vinavyotegemea NVIDIA Tegra 4 vilivyo na viini vinne vya ARM Cortex-A15 na msingi shirikishi wa tano wa Cortex-A7 vitauzwa. Kufuatia NVIDIA, wazo kubwa.LITTLE lilichukuliwa na Samsung: "kwa moyo wake" Simu mahiri ya Galaxy S4 ni chipu ya Exynos 5 Octa yenye cores nne za Cortex-A15 na idadi sawa ya cores ya Cortex-A7 inayotumia nishati.


Matarajio ya baadaye

Gadgets za rununu kulingana na chipsi za Cortex-A15 bado hazijaonekana kuuzwa, lakini mwelekeo kuu katika maendeleo zaidi ya usanifu wa ARM tayari unajulikana. ARM Limited tayari imeanzisha rasmi familia inayofuata ya wasindikaji wa ARMv8, wawakilishi ambao watakuwa 64-bit. Fungua enzi mpya Wasindikaji wa RISC Cortex-A53 na Cortex-A57 cores: ya kwanza ni ya ufanisi wa nishati, na ya pili ni ya juu ya utendaji, lakini wote wawili wana uwezo wa kufanya kazi kwa kiasi kikubwa cha RAM.

Watengenezaji wa vifaa vya elektroniki vya watumiaji bado hawajavutiwa haswa na familia ya kichakataji cha ARMv8, lakini wenye leseni wapya wako mbioni kupanga kuleta chips za ARM kwa soko la seva: AMD na Calxeda. Wazo hilo ni la ubunifu, lakini lina haki ya kuishi: vichapuzi sawa vya NVIDIA Tesla, vinavyojumuisha idadi kubwa kokwa rahisi zimethibitisha ufanisi wao katika mazoezi kama suluhu za seva.

Siku hizi, kuna usanifu mbili maarufu wa processor. Hii ni x86, ambayo ilitengenezwa nyuma katika miaka ya 80 na inatumika katika kompyuta za kibinafsi na ARM - zaidi ya kisasa, ambayo inakuwezesha kufanya wasindikaji wadogo na zaidi ya kiuchumi. Inatumika katika vifaa vingi vya rununu au kompyuta kibao.

Usanifu wote una faida na hasara zao, pamoja na maeneo ya maombi, lakini pia kuna vipengele vya kawaida. Wataalamu wengi wanasema kwamba ARM ni siku zijazo, lakini bado ina hasara ambazo x86 haina. Katika makala yetu ya leo tutaangalia jinsi usanifu wa mkono unatofautiana na x86. Wacha tuangalie tofauti za kimsingi kati ya ARM na x86, na pia jaribu kuamua ni ipi bora.

processor ni sehemu kuu ya yoyote kifaa cha kompyuta, iwe simu mahiri au kompyuta. Utendaji wake huamua jinsi kifaa kitafanya kazi kwa kasi na muda gani kinaweza kufanya kazi kwenye nishati ya betri. Ili kuiweka kwa urahisi, usanifu wa processor ni seti ya maagizo ambayo yanaweza kutumika kutunga programu na kutekelezwa katika kiwango cha vifaa kutumia mchanganyiko fulani wa transistors za processor. Ndio zinazoruhusu programu kuingiliana na maunzi na kuamua jinsi data itahamishwa na kusomwa kutoka kwa kumbukumbu.

Washa wakati huu Kuna aina mbili za usanifu: CISC (Complex Instruction Set Computing) na RISC (Kupunguza Maelekezo Kuweka Kompyuta). Wa kwanza anadhani kwamba processor itatekeleza maagizo kwa matukio yote, ya pili, RISC, inaweka watengenezaji kazi ya kuunda processor na seti ya maagizo ya chini yanayohitajika kwa uendeshaji. Maagizo ya RISC yana ukubwa mdogo na rahisi zaidi.

Usanifu wa x86

Usanifu wa kichakataji cha x86 ulianzishwa mwaka wa 1978 na ulionekana kwa mara ya kwanza katika wasindikaji wa Intel na ni wa aina ya CISC. Jina lake linachukuliwa kutoka kwa mfano wa processor ya kwanza na usanifu huu - Intel 8086. Baada ya muda, kwa kutokuwepo kwa mbadala bora, wazalishaji wengine wa processor, kwa mfano, AMD, walianza kuunga mkono usanifu huu. Sasa ni kiwango cha kompyuta za mezani, laptops, netbooks, seva na vifaa vingine sawa. Lakini wakati mwingine wasindikaji wa x86 hutumiwa kwenye vidonge, hii ni mazoezi ya kawaida.

Programu ya kwanza ya Intel 8086 ilikuwa na uwezo wa 16-bit, kisha mwaka wa 2000 usanifu wa usanifu wa 32-bit ulitolewa, na hata baadaye usanifu wa 64-bit ulionekana. Tulijadili hili kwa undani katika makala tofauti. Wakati huu, usanifu umeendelea sana, seti mpya za maelekezo na upanuzi zimeongezwa, ambazo zinaweza kuongeza sana utendaji wa processor.

x86 ina hasara kadhaa muhimu. Kwanza, huu ni ugumu wa amri, mkanganyiko wao, ambao uliibuka kwa sababu ya historia ndefu ya maendeleo. Pili, wasindikaji kama hao hutumia nguvu nyingi na hutoa joto nyingi kwa sababu ya hii. Wahandisi wa x86 hapo awali walichukua njia ya kupata utendaji wa juu, na kasi inahitaji rasilimali. Kabla ya kuangalia tofauti kati ya mkono x86, hebu tuzungumze juu ya usanifu wa ARM.

Usanifu wa ARM

Usanifu huu ulianzishwa baadaye kidogo nyuma ya x86 - mnamo 1985. Ilitengenezwa na kampuni maarufu ya Uingereza ya Acorn, kisha usanifu huu uliitwa Arcon Risk Machine na ulikuwa wa aina ya RISC, lakini basi toleo lake lililoboreshwa la Advanted RISC Machine lilitolewa, ambalo sasa linajulikana kama ARM.

Wakati wa kuendeleza usanifu huu, wahandisi walijiweka lengo la kuondoa mapungufu yote ya x86 na kuunda usanifu mpya kabisa na ufanisi zaidi. Chips za ARM zimepokelewa matumizi ya chini ya nguvu Na bei ya chini, lakini walikuwa na utendaji mbaya ikilinganishwa na x86, kwa hiyo awali hawakupata umaarufu mkubwa kwenye kompyuta za kibinafsi.

Tofauti na x86, watengenezaji awali walijaribu kupata gharama za chini kwenye rasilimali, wana maagizo machache ya processor, transistors chache, lakini pia, ipasavyo, chini ya kila aina ya vipengele vya ziada. Lakini kwa miaka iliyopita Utendaji wa vichakataji vya ARM umeboreshwa. Kuzingatia hili, na matumizi ya chini ya nguvu zilianza kutumika sana ndani vifaa vya simu, kama vile kompyuta kibao na simu mahiri.

Tofauti kati ya ARM na x86

Na sasa kwa kuwa tumeangalia historia ya maendeleo ya usanifu huu na tofauti zao za kimsingi, wacha tufanye. kulinganisha kwa kina ARM na x86, kulingana na sifa zao mbalimbali, ili kuamua ni bora na kwa usahihi kuelewa tofauti zao ni nini.

Uzalishaji

Uzalishaji wa x86 vs mkono ni tofauti. Makampuni mawili tu huzalisha wasindikaji wa x86: Intel na AMD. Hapo awali, hii ilikuwa kampuni moja, lakini hiyo ni hadithi tofauti kabisa. Makampuni haya pekee yana haki ya kuzalisha wasindikaji hao, ambayo ina maana kwamba wao tu watadhibiti mwelekeo wa maendeleo ya miundombinu.

ARM inafanya kazi tofauti sana. Kampuni inayotengeneza ARM haitoi chochote. Wanatoa tu ruhusa ya kukuza wasindikaji wa usanifu huu, na watengenezaji wanaweza kufanya chochote wanachohitaji, kwa mfano, kutoa chipsi maalum na moduli wanazohitaji.

Idadi ya maagizo

Hizi ndizo tofauti kuu kati ya mkono na usanifu wa x86. vichakataji vya x86 vilikuzwa kwa haraka na kuwa na nguvu zaidi na tija. Waendelezaji wameongeza idadi kubwa ya maelekezo ya processor, na kuna zaidi ya tu seti ya msingi, na kuna maagizo mengi ambayo yanaweza kufanywa bila. Hapo awali, hii ilifanyika ili kupunguza kiasi cha kumbukumbu iliyochukuliwa na programu kwenye diski. Chaguzi nyingi za ulinzi na uboreshaji, uboreshaji na mengi zaidi pia zimetengenezwa. Yote hii inahitaji transistors ya ziada na nishati.

ARM ni rahisi zaidi. Kuna maagizo machache zaidi ya processor hapa, yale tu ambayo mfumo wa uendeshaji unahitaji na hutumiwa kweli. Ikiwa tunalinganisha x86, basi 30% tu ya yote hutumiwa huko maelekezo iwezekanavyo. Wao ni rahisi kujifunza ikiwa unaamua kuandika programu kwa mkono, na pia zinahitaji transistors chache kutekeleza.

Matumizi ya nguvu

Hitimisho lingine linaibuka kutoka kwa aya iliyotangulia. Transistors zaidi kwenye ubao, eneo lake kubwa na matumizi ya nishati, na kinyume chake pia ni kweli.

wasindikaji wa x86 hutumia nguvu nyingi zaidi kuliko ARM. Lakini matumizi ya nguvu pia huathiriwa na ukubwa wa transistor yenyewe. Kwa mfano, kichakataji cha Intel i7 hutumia Wati 47, na kichakataji chochote cha simu mahiri cha ARM hakitumii zaidi ya Wati 3. Hapo awali, bodi zilizo na ukubwa wa kipengele kimoja cha 80 nm zilitolewa, basi Intel ilipata kupunguzwa hadi 22 nm, na mwaka huu wanasayansi waliweza kuunda bodi yenye ukubwa wa kipengele cha 1 nanometer. Hii itapunguza sana matumizi ya nguvu bila kupoteza utendaji.

Katika miaka ya hivi karibuni, matumizi ya nishati ya wasindikaji wa x86 yamepungua sana, kwa mfano, wasindikaji wapya Intel Haswell inaweza kudumu kwa muda mrefu kwenye nishati ya betri. Sasa tofauti kati ya mkono dhidi ya x86 inatoweka polepole.

Uharibifu wa joto

Idadi ya transistors huathiri parameter nyingine - kizazi cha joto. Vifaa vya kisasa haiwezi kubadilisha nishati yote kuwa hatua yenye ufanisi, baadhi yake hutawanywa kama joto. Ufanisi wa bodi ni sawa, ambayo ina maana kwamba transistors chache na ukubwa wao mdogo, joto la chini ambalo processor itazalisha. Hapa swali halitokei tena ikiwa ARM au x86 itatoa joto kidogo.

Utendaji wa processor

ARM haikuundwa awali kwa utendakazi wa hali ya juu, hapa ndipo x86 inapozidi. Hii ni kwa sababu ya idadi ndogo ya transistors. Lakini hivi karibuni, utendaji wa wasindikaji wa ARM umekuwa ukiongezeka, na wanaweza tayari kutumika kikamilifu kwenye kompyuta za mkononi au seva.

hitimisho

Katika nakala hii tuliangalia jinsi ARM inavyotofautiana na x86. Tofauti ni kubwa kabisa. Lakini hivi majuzi mstari kati ya usanifu wote umekuwa wazi. Wachakataji wa ARM wanakuwa na tija zaidi na kwa kasi zaidi, na wasindikaji wa x86, kutokana na kupungua kwa ukubwa wa kipengele cha muundo wa bodi, huanza kutumia nguvu kidogo na kuzalisha joto kidogo. Tayari unaweza kupata vichakataji vya ARM kwenye seva na kompyuta za mkononi, na x86 kwenye kompyuta kibao na simu mahiri.

Una maoni gani kuhusu hizi x86 na ARM? Je, kwa maoni yako ni teknolojia gani ya baadaye? Andika kwenye maoni! Japo kuwa, .

Kuhitimisha video kuhusu maendeleo ya usanifu wa ARM: