Sistema bat txipean (SoC)
Sistema bat txipean (SoC, system on a chip ingelesez) zirkuitu integratu bat da, ordenagailu baten edo beste sistema elektroniko baten osagai gehienak edo guztiak hartzen dituena. Osagai horiek ia beti izaten dituzte txip bat prozesatzeko unitate zentrala (PUZ), memoria-interfazeak, sarrera/irteerako gailuak eta interfazeak, eta biltegiratzeko bigarren mailako interfazeak, askotan beste osagai batzuekin batera, hala nola irrati-modemak eta grafikoak prozesatzeko unitate bat (GPU), dena txip bakar batean. SoCak seinale digitalak eta analogikoak, seinale mixtoak eta, askotan, irrati-maiztasunak prozesatzeko funtzioak izan ditzake. [1]
Errendimendu handieneko SoCak memoria eta biltegiratze sekundarioko txip dedikatuekin eta fisikoki bereiziekin konbinatu ohi dira (LPDDR eta eUFS edo eMMC, hurrenez hurren). Horiek SoCaren gainean jar daitezke PoP (package on package ingelesez), edo SoCaren inguruan koka daitezke. Gainera, SoCek haririk gabeko modem bereiziak erabil ditzakete (bereziki, WWAN modemak). [2]
SoC batek mikrokontroladore bat, mikroprozesadore bat edo, agian, periferikoak dituzten zenbait prozesadore-nukleo ditu, hala nola GPU bat, modemak eta Wi-Fi edo koprozesadore bat edo gehiago. Mikrokontroladore batek zirkuitu periferikoak eta memoria dituen mikroprozesadore bat integratzen duen bezala, SoC bat ere periferiko aurreratuagoak dituen mikrokontroladore baten integraziotzat har daiteke.
Multitxip-arkitektura batekin alderatuta, funtzionalitate baliokidea duen SoC batek energia kontsumo txikiagoa izango du, baita tamaina txikiagoa ere. Osagaiak ordezteko gaitasun txikiagoa izatearen kontura gertatzen da hori. Definizioz, SoC diseinuak osagai-modulu ezberdinetan guztiz edo ia guztiz integratuta daude. Arrazoi horiengatik, hardwarearen industrian osagaiak estuago integratzeko joera orokorra egon da, hein batean SoCaren eraginagatik eta informatika eramangarri eta txertatuaren merkatuetatik ikasitakoengatik.
SoCak oso ohikoak dira konputazio eramangarriaren merkatuan (mugikorretan eta bestelako gailu adimentsuetan). [3][4]
Motak
[aldatu | aldatu iturburu kodea]Oro har, hiru SoC mota bereiz daitezke:
• Mikrokontrolagailu baten inguruan eraikitako SoCak.
• Mikroprozesadore baten inguruan eraikitako SoCak, askotan telefono mugikorretan aurkitzen direnak.
• Berariazko aplikazioetarako espezializatutako zirkuitu integratuko SoCak, aurreko bi kategoriekin bat ez datozen aplikazio espezifikoetarako diseinatuak.
Aplikazioak
[aldatu | aldatu iturburu kodea]SOCak edozein zeregin informatikotan aplika daitezke. Hala ere, normalean informatika eramangarrian erabiltzen dira, hala nola tabletetan, telefono mugikorretan, erloju adimendunetan eta netbooketan, baita sistema integratuetan eta lehen mikrokontrolagailuak erabiltzen ziren aplikazioetan ere.
Sistema integratuak
[aldatu | aldatu iturburu kodea]Sistema integratuen merkatuan, non lehen mikrokontrolagailuak bakarrik erabil zitezkeen, SoCak garrantzia hartzen ari dira. Sistemen integrazio estuagoak fidagarritasun handiagoa eta akats gutxiago ematen ditu, eta SoCek mikrokontrolagailuek baino funtzionalitate gehiago eta potentzia informatiko handiagoa eskaintzen dute. Aplikazioek adimen artifizialaren azelerazioa, ikusmen artifizial integratua, datuen bilketa, telemetria, bektoreen prozesamendua eta ingurune-adimena barne hartzen dituzte. Sarritan, SoC integratuak gauzen interneteko (Internet of Things (IoT)) merkatuetara bideratzen dira, multimedia, sareak, telekomunikazioak eta ertzeko konputazioa. [5]
- Zynq 7000 SoC
- Zynq UltraScale+ MPSoC
- Zynq UltraScale+ RFSoC
- Versal Adaptive SoC
Konputazio mugikorra
[aldatu | aldatu iturburu kodea]Konputazio mugikorrean oinarritutako SoCek beti dituzte prozesadoreak, memoriak, txipeko cacheak, haririk gabeko sareen gaitasunak eta, askotan, kamera digitalen hardwarea eta firmwarea. Memoria-tamainak handituz gero, gama altuko SoCek askotan ez dute memoriarik ez flash biltegiratzerik izango eta, horren ordez, memoria eta flash memoria SoCren ondoan edo gainean jarriko dira. Konputazio eramangarriaren SoCren adibide batzuk hauek dira:
• Samsung Electronics: Exynos, batez ere Samsung Galaxy telefono mugikorren serieak erabiltzen duena [6]
• Qualcomm: Snapdragon, telefono mugikorretan askotan erabiltzen dena. 2018an, Snapdragon SoCak, Windows 10 zuten ordenagailu eramangarrien bizkarrezur gisa erabiltzen hasi ziren, eta "PC beti konektatuak" gisa merkaturatzen ziren. [7][8]
• MediaTek: Dimensity eta Kompanio seriea. Qualcommek bezalaxe, beren txipak komerzializatzen dituzte
• Apple: Apple Silicon, beren produktuetan erabiltzen dituzte
Ordenagailu pertsonalak
[aldatu | aldatu iturburu kodea]1992an, Acorn Computersek A3010, A3020 eta A4000 ordenagailu pertsonalen gama ekoitzi zuen SoC ARM250ekin. Jatorrizko Acorn ARM2 prozesadorea memoria kontrolatzaile batekin (MEMC), bideo kontrolatzaile batekin (VIDC) eta S/I kontrolatzaile batekin (IOC) konbinatzen zuen. ARM zuten aurreko Acorn ordenagailuetan, lau txip diskretu ziren. ARM7500 txipa bere bigarren belaunaldiko SoCa zen, ARM700, VIDC20 eta IOMD kontrolatzaileetan oinarrituta, eta asko erabili zen deskodetzaile gisa integratutako gailuetan, baita ondorengo Acorn ordenagailu pertsonaletan ere.
Tablet eta ordenagailu eramangarrien fabrikatzaileek sistema integratuen eta telefono mugikorren merkatutik hartu dituzte, energia-kontsumo txikiagoari, errendimendu hobeari eta fidagarritasunari buruz, hardware- eta firmware-moduluen integrazio estuago batetik abiatuta, eta LTE eta txipean integratutako haririk gabeko beste sare-komunikazio batzuk (sare-interfazeko kontrolagailu integratuak). [9]
Egitura
[aldatu | aldatu iturburu kodea]SoC batek hardware-unitate funtzionalak ditu, software-kodea exekutatzen duten mikroprozesadoreak barne, bai eta komunikazio-azpisistema bat ere, modulu funtzional horien artean konektatzeko, kontrolatzeko, zuzentzeko eta elkarreragiteko.
Osagai funtzionalak
[aldatu | aldatu iturburu kodea]Prozesadorearen nukleoak
[aldatu | aldatu iturburu kodea]SoC batek gutxienez prozesatzeko nukleo bat izan behar du, baina normalean SoC batek nukleo bat baino gehiago izaten du. Prozesadore-nukleoak mikrokontroladore bat, mikroprozesadore bat (μP), seinale digitaleko prozesadore bat (DSP) edo aplikazioaren jarraibide espezifikoen multzoko prozesadore bat (ASIP) izan daitezke. ASIPek aplikazio-domeinu baterako pertsonalizatutako eta lan-karga mota jakin baterako xede orokorreko jarraibideak baino eraginkorragoak izateko diseinatutako instrukzio-multzoak dituzte. Prozesadore anitzeko SoCek definizioz prozesadore nukleo bat baino gehiago dute. ARM arkitektura aukera arrunta da SoC prozesadore nukleoetarako. [10][11]
Memoria
[aldatu | aldatu iturburu kodea]SoCek memoria-blokeak izan behar dituzte beren kalkuluak egiteko, mikrokontrolagailuek eta beste sistema integratu batzuek bezala. Aplikazioaren arabera, SoC baten memoriak memoria hierarkia bat eta cache hierarkia bat osa ditzake. Informatika eramangarriaren merkatuan, hori ohikoa da, baina kontsumo baxuko mikrokontrolagailu integratu askotan, hori ez da beharrezkoa. SoC sistementzako memoria-teknologiek irakurketa bakarreko memoria (ROM), ausazko atzipen-memoria (RAM), elektrikoki ezaba daitekeen ROM programagarria (EEPROM) eta flash memoria dituzte. Beste sistema informatikoetan bezala, RAMa RAM estatikoan (SRAM), erlatiboki azkarragoa baina garestiagoa, eta RAM dinamikoan (DRAM), motelagoa baina merkeagoa, zatitu daiteke. SoC batek cache-hierarkia bat duenean, SRAMa prozesadorearen erregistroak eta nukleoen cacheak inplementatzeko erabiltzen da normalean, eta DRAMa memoria nagusirako erabiltzen da. "Memoria nagusia" prozesadore bakarraren espezifikoa izan daiteke (nukleo anitzekoa izan daiteke) SoCak prozesadore anitz dituenean, kasu honetan memoria banatua da eta txipean moduluen arteko komunikazioaren bidez bidali behar da, beste prozesadore bat sartu ahal izateko.
Interfazeak
[aldatu | aldatu iturburu kodea]SoCek kanpoko interfazeak dituzte, normalean komunikazio protokoloetarako. Sarritan, industriaren estandarretan oinarritzen dira, hala nola USB, Ethernet, USART, SPI, HDMI, I²C eta CSI beste askoren artean. Interfaze horiek aldatu egingo dira aurreikusitako aplikazioaren arabera. Haririk gabeko sareen protokoloak ere onar daitezke, hala nola Wi-Fi, Bluetooth, 6LoWPAN eta eremu hurbileko komunikazioa.
Beharrezkoa denean, SoCek interfaze analogikoak izaten dituzte, bihurgailu analogiko-digitalak eta digital-analogikoak barne, sarritan seinaleak prozesatzeko. Hainbat sentsore edo eragingailurekin elkarreragin dezakete, transduktore adimendunak barne. Aplikazioaren berariazko modulu edo babesleekin elkarreragin dezakete.
Seinale digitalen prozesadoreak
[aldatu | aldatu iturburu kodea]Seinale digitalen prozesadoreen nukleoak (DSP) SOCetan sartu ohi dira. Sentsoreetarako, eragingailuetarako, datu-bilketarako, datu-analisirako eta multimedia-prozesamendurako seinaleak prozesatzeko eragiketak egiten dituzte SOCetan. DSP nukleoek instrukzio oso luzeko (VLIW) eta instrukzio bakarreko datu anitzeko (SIMD) instrukzio arkitekturak izaten dituzte, eta, beraz, oso egokiak dira instrukzio mailako paralelismoa ustiatzeko prozesamendu paraleloaren eta exekuzio supereskalarraren bitartez. DSP nukleoek aplikazioaren jarraibide espezifikoak izaten dituzte, eta, hala, aplikazioaren jarraibide espezifikoen multzoko prozesadoreak (ASIP) izan ohi dira. Aplikazioaren jarraibide espezifiko horiek hardware dedikatuko unitate funtzionalei dagozkie, eta horiek jarraibide horiek kalkulatzen dituzte.
DSPen instrukzio tipikoen artean daude biderketa-metaketa, Fourieren transformatu azkarra, biderketa-batuketa fusionatua eta konboluzioak.
Beste batzuk
[aldatu | aldatu iturburu kodea]Beste sistema informatiko batzuek bezala, SoCek tenporizazio-iturriak behar dituzte erloju-seinaleak sortzeko, SoCaren funtzioen exekuzioa kontrolatzeko eta SoCaren seinaleak prozesatzeko aplikazioei denbora-testuingurua emateko, beharrezkoa bada. Denbora-iturri erabilienak kristalezko osziladoreak dira.
SoC periferikoek denbora-kontagailuak, denbora errealeko tenporizadoreak eta berriro pizten hasteko sorgailuak dituzte. SoCek tentsio erreguladoreak eta energia emateko zirkuituak ere badituzte.
Moduluen arteko komunikazioa
[aldatu | aldatu iturburu kodea]SOCek egikaritze-unitate asko dituzte. Unitate horiek, askotan, datuak eta jarraibideak bidali behar dituzte batetik bestera. Hori dela eta, SOC guztiek, arruntenek izan ezik, komunikazio-azpisistemak behar dituzte. Hasiera batean, beste mikrokonputagailu-teknologiekin bezala, datu-busen arkitekturak erabiltzen ziren, baina duela gutxi garrantzia hartu dute interkomunikazio-sare sakabanatuetan oinarritutako diseinuek, hau da, txipeko sare (NoC) izenekoek, eta aurreikusten da etorkizun hurbilean busen arkitekturak gaindituko dituztela SoCaren diseinuan.
Erreferentziak
[aldatu | aldatu iturburu kodea]- ↑ (Ingelesez) «7 dazzling smartphone improvements with Qualcomm’s Snapdragon 835 chip» Network World (Noiz kontsultatua: 2024-12-17).
- ↑ (Ingelesez) Amadeo, Ron. (2020-02-18). «Qualcomm’s Snapdragon X60 promises smaller 5G modems in 2021» Ars Technica (Noiz kontsultatua: 2024-12-17).
- ↑ EETimes. (2004-12-03). «The why, where and what of low-power SoC design» EE Times (Noiz kontsultatua: 2024-12-17).
- ↑ (Ingelesez) «Power Management for Internet of Things (IoT) System on a Chip (SoC) Development» Design And Reuse (Noiz kontsultatua: 2024-12-17).
- ↑ «Qualcomm launches SoCs for embedded vision | Imaging and Machine Vision Europe» www.imveurope.com (Noiz kontsultatua: 2024-12-17).
- ↑ (Gaztelaniaz) «Desmontaje del Galaxy S10 y S10e» iFixit 2019-03-06 (Noiz kontsultatua: 2024-12-17).
- ↑ (Ingelesez) updated, Dan Thorp-Lancaster last. (2018-08-16). «ARM is going after Intel with new chip roadmap through 2020» Windows Central (Noiz kontsultatua: 2024-12-17).
- ↑ (Ingelesez) Microsoft. «Windows 11 Computers: Desktops, 2-in-1 PCs & More | Microsoft» Windows (Noiz kontsultatua: 2024-12-17).
- ↑ (Ingelesez) «Qualcomm 5G Modems and RF Modules | Advanced 4G LTE Modems» www.qualcomm.com (Noiz kontsultatua: 2024-12-17).
- ↑ Furber, Steve. (2000). ARM system-on-chip architecture. (1. publ. argitaraldia) Addison-Wesley ISBN 978-0-201-67519-1. (Noiz kontsultatua: 2024-12-17).
- ↑ Javaid, Haris; Parameswaran, Sri. (2014). Pipelined Multiprocessor System-on-Chip for Multimedia. Springer ISBN 978-3-319-01113-4. (Noiz kontsultatua: 2024-12-17).