Sistema bat txipean (SoC)

thumb|298x298px|Apple M1 *sistema bat txipean*
**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 mistoak eta, askotan, irrati-maiztasunak prozesatzeko funtzioak izan ditzake. 

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). 

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). 
thumb|360x360px|*SoC* batean oinarritutako mikrokontrolagailua

## Motak 
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  
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 
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. 

* AMD 

* Zynq 7000 SoC 

* Zynq UltraScale+ MPSoC 

* Zynq UltraScale+ RFSoC 

* Versal Adaptive SoC 

### Konputazio mugikorra 
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 SoCaren ondoan edo gainean jarriko dira. Konputazio eramangarriaren SoCaren adibide batzuk hauek dira: 

• Samsung Electronics:  Exynos, batez ere Samsung Galaxy telefono mugikorren serieak erabiltzen duena 

• Qualcomm:  Snapdragon, telefono mugikorretan askotan erabiltzen dena. 2018an, Snapdragon SoCak, Windows 10 zuten ordenagailu eramangarrien bizkarrezur gisa erabiltzen hasi ziren, eta "PC beti konektatu" gisa merkaturatzen ziren. 

• MediaTek:  Dimensity eta Kompanio seriea. Qualcommek bezalaxe, beren txipak komerzializatzen dituzte 

• Apple:  Apple Silicon, beren produktuetan erabiltzen dituzte 

### Ordenagailu pertsonalak 
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 ikaspenak, 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). 

## Egitura 
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 
#### Prozesadorearen nukleoak 
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. 

#### Memoria 
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, berriz, 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 
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 
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. 

DSP-instrukzio tipikoen artean daude biderketa-metaketa, Fourieren transformatu azkarra, biderketa-batuketa fusionatua eta konboluzioak. 

#### Beste batzuk 
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 
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 
## Kanpo estekak