SITNA CREVCA<>
102018<><>

Mikroprocesorska arhitektura ARM (3): Cortex-M i Cortex-R

Kora elektronskog mozga

Mikrokontroleri su nezaobilazni u savremenim automobilima, televizorima, telefonima, mrežnoj opremi i svemu drugom što ima veze sa elektronikom

Iako će prva asocijacija na mikroprocesor kod velike većine ljudi biti računar, najmasovnija upotreba mikroprocesorske tehnologije zapravo je vezana za mikrokontrolere, integralna kola koja, osim mikroprocesora, u sebi sadrže manje količine skladišne i operativne memorije, kao i različit broj interfejsa niskog nivoa. Oni se nalaze gotovo svuda oko nas, a mi smo retko svesni te činjenice. Recimo, osim CPU, u našem kompjuteru imamo još bar nekoliko mikrokontrolera. Oni se, u ovom ili onom obliku, sreću unutar hard i SSD drajvova, kao delovi elektronike za razne senzore (kamera, otisak prsta, nivo osvetljenosti, temperatura, žiroskop, touch ekrani...), zatim u GPS uređajima, mrežnim i zvučnim karticama, štampačima i ko zna u čemu još ne. Mikrokontroleri su nezaobilazni u savremenim automobilima, televizorima, telefonima, mrežnoj opremi i svemu drugom što ima veze sa elektronikom.

Danas tržištem 32-bitnih mikrokontrolera ubedljivo dominiraju proizvodi bazirani na ARM Cortex-M arhitekturi, pa je red da se bolje upoznamo sa njihovim osnovama.

Cortex-M3

Prva praktična realizacija ARMv7 arhitekture i celokupne Cortex generacije zaživela je u obliku Cortex-M3 mikrokontrolera čija je specifikacija obelodanjena 2004. godine, godinu dana pre najave prvog Cortex-A mikroprocesora. Prvi modeli se pojavljuju na tržištu dve godine kasnije i postavljaju nove standarde na polju 32-bitnih mikrokontrolera. Prethodno su na ovom segmentu tržišta dominirali uređaji bazirani na uspešnom ARM7TDMI dizajnu. I dok su oni praktikovali Fon Nojmanov (John von Neumann) pristup sa zajedničkim kešom za instrukcije i podatke, Cortex-M3 donosi tzv. harvardski dizajn koji podrazumeva postojanje odvojenih magistrala za podatke i instrukcije, što samo po sebi stvara mogućnost povećanja brzine rada.

 
Osim podrške za tradicionalni Thumb set instrukcija, Cortex-M3 nudi mogućnost rada sa njegovim naslednikom, odnosno sa Thumb-2. To je zapravo kombinacija novih 16-bitnih i 32-bitnih instrukcija koje rezultuju 26 odsto kompaktnijim kôdom u odnosu na standardni ARM set. Osim kompaktnosti, povećana je i brzina izvršenja u odnosu na izvorni Thumb, i to za jednu četvrtinu, pa je taj kôd sada samo za nijansu sporiji od onog koji se sastoji od standardnih ARM instrukcija. Pri tome je zadržana puna kompatibilnost sa prethodnikom i ne zahteva se nikakva posebna naredba za promenu režima rada. U odnosu na ARM7TDMI Thumb set, Cortex-M3 postiže za 70 odsto veću efikasnost po megahercu.

Ova generacija jezgara je karakteristična i po tome što ima hardversku podršku za množenje i deljenje brojeva, što nije bila naročito česta pojava u svetu mikrokontrolera. Za množenje je potreban samo jedan takt procesora, dok kod deljenja broj ciklusa varira od 2 do 12, u zavisnosti od veličine brojeva.

Standardnom cevovodu od tri nivoa kod M3 je dodata mogućnost spekulativnog izvršavanja instrukcija. Ova jezgra ostvaruju brzinu od 1,25 DMIPS po megahercu, što je solidan rezultat i za današnje vreme, a da ne govorimo o vremenima kada su se prvi modeli pojavili na tržištu.

Još jedna od novina se odnosi na uvođenje mogućnosti direktne manipulacije podacima na nivou bita, što je od velike važnosti za mikrokontrolere. Ovo se postiže korišćenjem tehnike pod nazivom bit-banding, koja je moguća zahvaljujući postojanju specijalnog područja u SRAM memoriji. Postoje dva takva područja opsega jednog megabajta, koja svoj manji deo odvajaju za manipulaciju nad bitovima. Ranije se u slučajevima potrebe rada na nivou bita morala vršiti procedura koja je trošila priličan broj procesorskih ciklusa.

 
Za razliku od prethodnih generacija ARM mikrokontrolera, Cortex-M3 prvi put donosi mogućnost rada sa takozvanim podacima bez poravnanja. Naime, stariji 32-bitni procesori brže izvršavaju kôd koji je „poravnat” po adresama deljivim sa brojem četiri. Loša stvar tog pristupa je to da, ukoliko imamo podatke manje veličine, dolazi do pojave neiskorišćenog memorijskog prostora. I dok ovo ne predstavlja problem u vremenima kada se memorija meri gigabajtima, kod mikrokontrolera koji imaju veoma skromne memorije, to igra značajnu ulogu. Kod generacije M3 je uveden mehanizam „pakovanja” podataka koji obezbeđuje da se, recimo, dva podatka tipa half-word (16 bita) tretiraju kao poravnata 32-bitna reč.

Stariji modeli, izrađivani sa tehnologijom od 180 nanometara, imali su površinu od 0,35 mm2 i potrošnju od 141 mikrovat po megahercu. Kasnije je, uvođenjem 90-nanometarskog procesa, kristal smanjen na 0,09 mm2, a potrošnja do 31 mikrovat po megahercu, dok implementacija ove arhitekture u izradi procesom od 40 nanometara veličinu spušta do 0,02 mm2, a potrošnju na prihvatljivih 11 mikrovati po megahercu. U broju SK 2/2018 pominjali smo mikrokontroler STM32F103C8T6 rađen po Cortex-M3 dizajnu i koji za vrlo malo novca pruža 128 kilobajta fleš memorije (zvanično upola manje), 20 kilobajta SRAM-a i brzinu od celih 90 DMIPS. Kada to uporedimo sa Atmelovim 328P, dobijamo šest puta brži rad, četiri puta više fleš memorije i deset puta više SRAM-a.

Cortex-M1

Generacija mikrokontrolera Cortex-M3 je imala topao prijem na tržištu i postavila je nove standarde po mnoštvu pitanja. S obzirom na odlične performanse, inženjeri iz ARM nisu morali da nastavljaju trku za još boljim dizajnom, već su se posvetili nekim drugim stvarima. Jedna od tih stvari je bila i uvođenje jezgra za integraciju sa FPGA čipovima. FPGA (field-programmable gate array) predstavlja tehnologiju koja omogućava uređivanje strukture logičkih matrica u skladu sa željama korisnika. Drugim rečima, to su integrisana kola koja se mogu programirati uz pomoć jezika HDL (hardware description language). Iako je generacija Cortex-M3 jezgara rađena u tada najnaprednijoj tehnologiji ARMv7-M, tri godine kasnije se vrši povratak na stariju ARMv6-M. Razlog je bio taj što se nije mogla postići željena optimizacija M3 jezgra, pa bi ono moralo da radi na nižim radnim taktovima. Isto tako, interfejs sistemske magistrale AHB-Lite je bio nešto složeniji za povezivanje sa ostatkom FPGA logike.

Čipovi ARMv6-M generacije imaju podršku za klasične Thumb instrukcije, sa dodatkom manjeg broja 32-bitnih naredbi karakterističnih za Thumb-2. Ostatak funkcionalnosti je sličan onome što smo gledali kod jezgara iz prethodnih ARMv6-M serija, uz hardversku podršku za 32-bitno množenje u opsegu 32-bitnih rezultata. U zavisnosti od proizvođača i modela, FPGA čipovi sa jezgrima Cortex-M1 imaju različite mogućnosti i različit broj integrisanih komponenti. Na primer, čip Actel Fusion M1AFS600 poseduje 30 analognih ulaza koji obrađuju signal preko 12-bitnih AD konvertera, kao i deset analognih izlaza. Na raspolaganju nam je 600.000 sistemskih kapija, odnosno, 13.824 logička čvora. Fleš memorija je veličine četiri megabita, dok SRAM ima razmer od 108 kilobita.

Cortex-M0, M0+

Umesto da nove generacije mikrokontrolera dobijaju oznake u kojima figuriraju viši brojevi, ARM nakon jezgara M3 i M1, predstavlja generaciju M0, koja cilja na najniži segment tržišta, odnosno na područja u kojima tradicionalno dominiraju 8-bitni mikrokontroleri. Generalno, reč je o arhitekturi koja je vrlo slična sa onom viđenom kod generacije M1, a koja teži da na malom prostoru i uz nisku potrošnju energije obezbedi pristojnu brzinu rada. Korišćen je Fon Nojmanov dizajn sa protočnom obradom u tri faze. U odnosu na M3 čije jezgro poseduje 43.000 kapija, taj broj je ovde sveden na malo manje od 12.000. Povećanje brzine u odnosu na generaciju M1 je zaista skromno i umesto 0,8 imamo 0,84 DMIPS po megahercu. Treba reći da je u nekim slučajevima moguće „dogurati” i do 1,27 DMIPS po megahercu, ukoliko se koristi maksimalni stepen optimizacije. Čipovi izrađeni 0,18-mikronskim procesom troše 85 mikrovata po megahercu. Na ovo se naslanja podatak da efikasnost jezgara iznosi deset DMIPS po milivatu, dok ona kod pet godina starije M3 arhitekture iznosi šest DMIPS po milivatu. S obzirom na to da je radni takt mikrokontrolera baziranih na jezgrima M0 najčešće u granicama od 30 do 50 megaherca, jasno je da se radi o pristojnoj procesorskoj snazi. Ova generacija podržava 32 nivoa prekida (240 kod M3) kao i četiri nivoa njihovih prioriteta (8-256 kod M3). Niska cena i visoka energetska efikasnost su imali za posledicu da veliki broj firmi otkupi licencu za proizvodnju ovog jezgra.

Dve godine kasnije, ARM izlazi sa dizajnom Cortex-M0+, gde plus stavlja do znanja da se radi o unapređenoj verziji prethodnika. Ovo je ujedno i prvi ARM dizajn koji koristi protočnu obradu u samo dva koraka. To je postignuto tako što je korak namenjen obradi Decode faze naredbe podeljen na dva dela, pa se prvi (Pre-decode) izvršava zajedno sa Fetch fazom, dok Main decode ide uz Execute. Ovakav pristup je značio manje korišćenje flip-flop kola i samim tim, veću uštedu energije.

Omogućeno je premeštanje tablice vektora, kao kod M3. Dodata je posebna magistrala za I/O zadatke, koja omogućava da često korišćeni I/O registri završe posao u samo jednom procesorskom taktu. M0+ poseduje mogućnost korišćenja MPU (memory protection unit) mehanizma za ograničavanje pristupa u osam memorijskih zona, što ceo sistem čini stabilnijim. Opciono je podržana i MTB (micro trace buffer) logika koja omogućava kreiranje jeftinog interfejsa za testiranje programa.

Ova jezgra se mogu pohvaliti dodatno unapređenom energetskom efikasnošću, pa sada imamo vrednost od 50 mikrovati po megahercu (kod M0 je 85 mikrovati po megahercu) za modele rađene u 0,18 mikrona i samo 9,8 mikrovati po megahercu (12,5 kod M0) za čipove koji se proizvode 90-nanometarskim procesom. Po rečima proizvođača, brzina M0+ generacije mikrokontrolera iznosi 0,94 DMIPS po megahercu, u standardnom režimu, i 1,36 DMIPS po megahercu u uslovima maksimalne optimizacije.

Mikrokontroleri M0/M0+ su zbog svog nevelikog seta instrukcija prvenstveno predodređeni za opštu obradu I/O podataka, dok je u slučaju potrebe za većim obimom kalkulacija mudrije koristiti čipove iz klase M3 i jače. Cortex-M arhitektura predviđa jednostavno prebacivanje binarne konfiguracije programa sa slabijih na moćnije mikrolontrolere. Ovo je kategorija čipova sa niskom cenom i skromnim resursima, pa se najčešće susrećemo sa modelima koji imaju od 16 do 64 kilobajta fleš skladišta i jedan do osam kilobajta SRAM-a.

Cortex-M4(F)

Iako je od predstavljanja generacije mikrokontrolera Cortex-M3 prošlo već četrnaest godina, što je za elektroniku veoma dugačak period, on se i dan danas vrlo rado koristi u projektima koji zahtevaju dosta procesorske snage po prihvatljivoj ceni. Pošto staro pravilo govori da tim koji dobro igra ne treba menjati, ARM je, slično kao u slučaju generacije M1, radio na razvoju rešenja za specifične namene, koristeći kao osnovu jezgro M3. Ta specifična namena u ovom slučaju podrazumeva poslove orijentisane na DSP (digital signal processing). Generacija M4 može da obrađuje 1,25 DMIPS po megahercu, ali se ovde koristi varijanta arhitekture ARMv7E-M, a još iz prvog nastavka ove naše serije tekstova znamo da se slovo „E” odnosi na prisustvo naredbi za podršku DSP. Postoji širok spektar zadataka koji zahtevaju obradu signala ovog tipa, a proizvođač izdvaja tržišta audio-opreme, automatizaciju, IoT (internet of things), kontrole motora, upravljanje potrošnjom energije i automobilsku industriju.

Proširenje skupa instrukcija sa blokom za DSP omogućava da u jednom ciklusu paralelno obrađujemo četiri operacije sa 8-bitnim ili dve sa 16-bitnim vrednostima, zatim SIMD aritmetiku za 8 i 16 bita koja podržava tzv. „zasićenu” aritmetiku (saturation arithmetic), kao i hardversku podršku za deljenje koja, u zavisnosti od veličine brojeva, troši od dva do 12 procesorskih taktova. Zasićena aritmetika zaokružuje brojeve u granice nekog opsega (ako je taj opseg 0÷100, 20 – 50 daje 0, 60 + 35 daje 95, dok je 60 + 50 ili 99 × 99 zaokruženo na 100.

Osim varijante M4, postoji i arhitektura M4F koja dodatno donosi podršku za rad sa brojevima u formatu pokretnog zareza, što je od velike koristi u poslovima koji zahtevaju mnogo matematike. U pitanju je logika koja obrađuje podatke u 32-bitnoj preciznosti (single precision) po specifikaciji IEEE 754.

Prilikom korišćenja tehnološkog procesa od 0,18 mikrona, projektovana površina kristala iznosi 0,44 mm2, dok je potrošnja 151 mikrovat po megahercu. Upotrebom 90-nanometarske tehnologije površina se smanjuje na 0,12 mm2, a potrošnja na 32,82 mikrovata po megahercu. Još savremeniji tehnološki procesi dodatno poboljšavaju radne karakteristike ove generacije, pa tako upotreba 40-nanometarske tehnologije rezultuje kristalom veličine od 0,028 mm2 i potrošnjom od 12,26 mikrovati po megahercu.

Cortex-M7(F)

Trebalo je čekati deset godina da bi se pojavio model koji bi doneo osetno povećanje brzine u odnosu na Cortex-M3. U osnovi generacije M7 leži arhitektura ARMv7E-M, ali je njen dizajn značajno drugačiji u odnosu na generaciju M4. Reč je o rednom (in-order) superskalarnom dizajnu sa šestostepenom protočnom linijom i sa predviđanjem grananja, što su sve karakteristike koje više vezujemo za „prave” mikroprocesore. Još jedna od osobina ove generacije koja je približava klasičnim mikroprocesorima se odnosi na opcionu mogućnost uvođenja odvojenog keša za podatke (4-smerni asocijativni) i instrukcije (2-smerni asocijativni) u obimu od četiri do 64 kilobajta. Tu je i mogućnost dodavanja 64-bitnog ITCM (instruction tightly coupled memory) interfejsa, kao i dva 32-bitna TCM interfejsa za podatke, u oba slučaja sa veličinom do 16 megabajta. Jezgra izrađena 28-nanometarskim tehnološkim procesom imaju veličinu kristala od samo 0,067 mm2, dok je potrošnja 33 mikrovata po megahercu. Sve to je dovelo do skoro dvostrukog povećanja brzine procesorskog jezgra, ali je ukupna razlika još izraženija pošto ovi mikrokontroleri rade sa taktovima koji idu i do (za svoju kategoriju) impresivnih 800 megaherca.

 
Ostatak karakteristika je vrlo sličan onome što smo videli kod generacije M4. Dakle, tu su MPU (do 16 regiona), opcioni FPU, DSP ekstenzije, podrška za hardversko deljenje, niska latencija u izvršenju prekida, podrška za dibaging, mogućnost rada bez poravnanja podataka i još mnogo drugih stvari. U slučaju integracije FPU moguće je raditi sa 32 registra preciznosti 32 bita (single) ili sa 16 registara sa preciznosti 64 bita (double), a uvedeno je i nekoliko naredbi iz novog FPv5 koprocesora.

Ova generacija mikrokontrolera se javlja direktnim naslednikom serije M4(F) i preporučuje se za poslove gde je potrebna velika količina procesorske snage. Održana je potpuna kompatibilnost na binarnom nivou, tako da je prelazak na novi hardver krajnje jednostavan.

Cortex-M23, Cortex-M33(F)

 
U pitanju su dve sasvim sveže varijante Cortex-M arhitekture koje bi tek trebalo da počnu da se koriste u izradi konkretnih uređaja. Varijanta Cortex-M23 se može posmatrati kao naslednik generacije M0+, pošto od nje preuzima protočni niz sa dve faze. Međutim, ovde se kao osnova koristi arhitektura ARMv8-M, a u set instrukcija sada standardno ulazi brzo 32-bitno množenje (jedan takt), dok je brzo deljenje i dalje opcija. Inače, broj naredbi je u odnosu na M0+ proširen na 80.

Iako se navodi da TrustZone instrukcije koje povećavaju bezbednost sistema predstavljaju opciju, one će naći svoje mesto u najvećem broju konfiguracija, pošto je bezbednost važan deo IoT strategije koja se naglašava od strane marketinga. Tu je i podrška za MPU zasnovana na novoj PMSAv8 arhitekturi koja omogućava rad sa 16 zaštićenih regiona memorije i uz to olakšava rad programerima. Broj hardverskih prekida je povećan do 240, ali su ostala samo četiri nivoa prioriteta, kao kod M0+.

Preliminarni podaci govore da će brzina M23 jezgra biti na nivou od oko jedan DMIPS po megahercu, što je malo unapređenje u odnosu na M0+, ali treba istaći da to i nije bio primarni cilj, već se težilo ka što većoj minijaturizaciji, pošto se kao osnovna primena ovih mikrokontrolera očekuje u okviru raznoraznih senzora i uređaja sposobnih za rad u sistemu IoT. Čast da budu prvi predstavnici nove generacije su sredinom ovog leta dobili modeli SAM L10 i L11 kompanije Microchip, sa taktom jezgra od 32 megaherca, do 64 kilobajta fleša i 16 kilobajta SRAM-a, uz potrošnju od 25 mikroampera po megahercu. Sa cenom malo većom od jednog dolara predstavljaju ozbiljnu konkurenciju 8-bitnim mikrokontrolerima.

Za razliku od M23, M33 donosi osetljiviju prednost (preko 20 odsto u odnosu na M3 i M4), ili oko 1,5 DMIPS po megahercu, pa u njoj možemo videti logičnog naslednika ovih, sada već prilično vremešnih, dizajna. Slično prethodnicima, na raspolaganju imamo „borbeni komplet” u koji ulaze MPU, FPU (FPv5, 32-bitna preciznost) i DSP blok instrukcija. Kontroler prekida opslužuje do 480 linija, uz osam do 256 nivoa prioriteta. Tu je i celi skup dodataka koji olakšavaju testiranje i programiranje: ETM, BPU, MTB, DWT i ITM.

Naravno, veće performanse najčešće znače i veći utrošak energije, pa dok M23 uspeva da zadrži potrošnju na nivou generacije M0+, M33 troši dvostruko više i pri tome, M23 ima dimenzije koje iznose samo trećinu kristala mikrokontrolera M33. Dok je kod M23 jasna tendencija ka minimalnim dimenzijama i maloj potrošnji, kod M33 se težilo ka optimalnom odnosu dimenzija, potrošnje i procesorske snage, što ovu klasu preporučuje za najširi spektar namena.

Cortex-M35P

U pitanju je veoma sveža arhitektura za koju još nemamo dovoljan broj pouzdanih informacija. Pošto je predstavljena početkom maja ove godine, na njenu realizaciju ćemo čekati bar godinu dana. Ono što je izvesno je to da će se raditi o evoluciji M33 generacije, koja će sada biti osnažena sa kešom za instrukcije. Najveća pažnja će biti posvećena bezbednosti sistema, koja će biti izvedena u više slojeva, počevši od fizičke zaštite, preko TrustZone i MPU, pa do koncepta hardverske zaštite koji je prethodno viđen kod SecurCore porodice čipova.

Cortex-R serija – nešto između

Procesorska jezgra iz klase A se u radu najčešće oslanjaju na usluge „punokrvnih” operativnih sistema, kao što su Linux, Android ili Windows. Za razliku od njih, jezgra iz klase M se znatno ređe koriste sa specijalizovanim operativnim sistemima i njihov programski kôd se uglavnom direktno obraća hardveru. Profil R je pozicioniran negde između ove dve kategorije, što će reći da koristi minimalističke varijante operativnih sistema, ali istovremeno i blisko sarađuje sa hardverom. Ovo odlično odgovara onome što se podrazumeva pod embedded sistemima, tj. radnim okruženjima gde korisnici nemaju mogućnost da utiču na softversku konfiguraciju. Glavni akcenat ove klase je stavljen na maksimalnu pouzdanost prilikom eksploatacije u šarolikim radnim okruženjima. Neke od tehnologija koje omogućavaju stabilniji rad se odnose na napredno upravljanje izuzecima, korišćenje MPU (memory protection unit) i TCM (tightly coupled memory), sprečavanje preklapanja memorijskih regiona, upotreba ECC tehnika za proveravanje keša prvog nivoa i magistrala za prenos podataka.

Cortex-R4(F) je najstarija generacija čipova u klasi R i sagrađena je na osnovama arhitekture ARMv7R, sa protočnim nizom od osam nivoa, podrškom za predviđanje grananja i dual-issue procesiranjem instrukcija. Keš memorija je harvardskog tipa i kreće se od četiri do 64 kilobajta. Kada se radi o izvršavanju Thumb instrukcija, R4 je za 50 odsto brži od ARM946E-S i ostvaruje 1,62 DMIPS po megahercu. Dizajn podržava MPU koji može da radi sa osam do 12 memorijskih regiona. Poboljšanje performansi je moguće postići i upotrebom TCM (tightly-coupled memory) interfejsa. FPU jedinica je VFPv3 tipa i poseduje 16 registara dvostruke preciznosti. ECC sistem za proveru ispravnosti podataka ima mogućnost rada sa jednim ili dva bita, a tu je i podrška za proveru bita pariteta. Cortex-R4 se izrađuje tehnološkim procesom od 28 nanometara i ima energetsku efikasnost od 62 DMIPS po milivatu, dok se veličina kristala kreće od 0,21 mm2 pa naviše.

Cortex-R5(F) možemo posmatrati kao varijantu prethodnog dizajna koja glavne razlike donosi na planu programiranja, olakšavajući rad sa memorijom i detekcijom grešaka.

Cortex-R7(F) predstavlja značajno unapređenje u odnosu na R4 i R5, zahvaljujući superskalarnom dizajnu sa protočnom linijom od 11 nivoa, vanrednim izvršenjem instrukcija, predviđanjem grananja, pre-fetch mehanizmom, preimenovanjem registara i nizom drugih karakteristika koje viđamo kod procesora iz serije Cortex-A. Po prvi put u ovoj klasi imamo upotrebu brzog GIC (generic interrupt controller) za kompleksnu obradu prekida, kao i SCU (snoop control unit) koji je zadužen za komunikaciju keša sa procesorom i olakšava primenu paralelnog dizajna sa dva jezgra. Uvedena je i zaštita od hardverskih grešaka. Tehnološki proces je ostao na 28 nanometara, veličina jezgra iznosi 0,33 mm2, ali je zbog složenijeg dizajna energetska efikasnost opala do 46 DMIPS po milivatu. Brzina ove generacije je u opsegu 2,50-3,77 DMIPS po megahercu. S obzirom na radne taktove koje idu preko 1,5 gigaherca, ovi čipovi su dobro rešenje za poslove koji trebaju dosta procesorske snage i ne zahtevaju maksimalnu uštedu energije. Glavna ciljna tržišta su kontroleri za SSD uređaje i 5G modeme.

Cortex-R8(F) kompanija ARM izbacuje nakon pet godina mirovanja, 2016. godine. Ona je namenjena poslovima koji zahtevaju više snage, pa po rečima proizvođača donosi dvostruko veće performanse u odnosu na prethodnika. Zanimljivo je da su podaci o performansama na sajtu proizvođača za ovu generaciju identični kao za R7, pa pretpostavljamo da se radi o copy-paste grešci.

I ovde je primenjen superskalarni dizajn cevovoda sa 11 faza, vanrednim izvršavanjem instrukcija, pre-fetch mehanizmom, predviđanjem grananja, preimenovanjem registara i paralelnim izvršavanjem load-store instrukcija. To je praćeno sa po četiri do 64 kilobajta keš memorije za instrukcije i podatke. Funkciju matematičkog koprocesora obavlja VFPv3 modul sa 16 registara dvostruke preciznosti. Tu su još CoreSight modul za dibaging koji se može odnositi na pojedinačna jezgra ili za ceo klaster. Kada smo već kod jezgara, njih u ovom slučaju može biti od jednog do četiri. Očekivane performanse za konfiguracije sa četiri jezgra, pri brzini od 1,5 gigaherca, iznose oko 15.000 DMIPS.

Cortex-R52(F) je prvi predstavnik arhitekture ARMv8-R. Iako bi po analogiji sa arhitekturom ARMv8-A mogli pomisliti da se radi o jezgru koje izvršava 64-bitni kod, to nije tako. Pozitivna strana ovakvog rešenja je da je zadržana binarna kompatibilnost u odnosu na prethodnike, pa je proces prelaska na nove čipove vrlo jednostavan. Još nisu objavljeni podaci o performansama, ali proizvođač govori o tome da će R52 pod istim uslovima (sa jednim jezgrom) biti za 35 odsto brži od generacije R5 (razlog više da sumnjamo u podatke za R8) i da će rad sa MPU biti brži za čak četrnaest puta.

U najskorije vreme bi na tržištu trebalo da se pojavi model NXP S32S specijalizovan prvenstveno za upotrebu u automobilskoj industriji, gde će na sebe preuzeti poslove koji zahtevaju najviši stepen pouzdanosti i pri tome zahtevaju visoke performanse. Ovaj čip dolazi sa četiri jezgra koja koriste lockstep tehnologiju. Ona predviđa istovremeno paralelno izvršavanje identičnog kôda u dva jezgra, pa tako S32S praktično ima osam mikroprocesorskih jezgara, ali dodatna četiri ne utiču na povećanje performansi, već na pouzdanost. Ukoliko rezultat nije jednak u oba slučaja, to je znak da je jedan od procesora radio sa greškom, pa se rezultat odbacuje kao neispravan. Početni radni takt će da bude 800 megaherca, dok će na čipovima biti integrisano do 64 megabajta fleš memorije.

Igor S. RUŽIĆ

 
 NOVE TEHNOLOGIJE
Boston Dynamics, SpotMini i kućni roboti

 NA LICU MESTA
IFA 2018, Berlin, Nemačka
Samsung pres konferencija, „IFA 2018”, Berlin
Lenovo „Tech Life 2018”, Berlin

 KOMPJUTERI I FILM
Venom
First Man
Filmovi, ukratko

 DOMAĆA SCENA
Retro računarska scena danas

 SITNA CREVCA
Mikroprocesorska arhitektura ARM (3): Cortex-M i Cortex-R
Šta mislite o ovom tekstu?

 VREMENSKA MAŠINA
Black Hawk Down, Blackbird i Wikileaks

 PRST NA ČELO
Hepi brzdej tu ju
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera