Mikroprozesadore

Mikroprozesadorea (edo “prozesadorea”) sistema informatiko baten zirkuitu integraturik konplexuena da. Zehazki, sistema informatiko baten prozesadorearen osagai guztiak (datuak prozesatzeko logika eta kontrol unitatea) osagai elektronikoen miniaturizazioari esker zirkuitu integratu bakar batean sartzean sortzen da mikroprozesadorea. Zentzu metaforikoan, ordenagailu baten burmuina izango litzateke. Mikroprozesadorea eginkizun anitzeko, erlojudun, erregistrotan oinarritutako zirkuitu digital integratua da.

Sarrera bezala datu bitarrak onartzen ditu, prozesatzen ditu bere memorian gordetako aginduen arabera eta irteera bezala prozesamenduaren emaitzak ematen ditu. Mikroprozesadore batek bai logika digital sekuentziala eta bai logika konbinazionala du barnean. Sistema bitarrean adierazitako zenbaki eta sinboloekin egiten dute lan mikroprozesadoreek.

Logika Boolearrean edo Booleren aljebran oinarritutako eragiketa bitarrak egiten dituzte mikroprozesadoreek. George Booleren ondoren izendatu zuten logika hori. Sistema informatikoek logika boolearra erabiliz jarduteko gaitasuna Claude Shannon frogatu zuen lehen aldiz 1938an, Master bateko ikaslea zelarik. Shannon "Informazio-teoriaren aitatzat" hartzen dute.

Gaur egungo gailuetan programa guztiak (sistema eragiletik erabiltzailearen aplikazioetara) exekutatzeko arduraduna da.

Prozesamenduko unitate zentral (PUZ) bat edo gehiago eduki dezake, erregistro multzo, kontrol unitate, unitate aritmetiko-logiko eta koma higikorreko unitatez (lehen «koprozesadore matematikoa» deitutakoa) osatuta. 

Orokorrean, mikroprozesadorea ordenagailuaren txartel nagusira (ama plaka) konektatzen da zokalo baten bidez, baina batzuetan soldatuta dago horri. Haren funtzionamendu egokia bermatzeko, mikroprozesadoreari hozte-sistema bat jartzen zaio gainean, normalean kobre edo aluminiozko bloke batekin, eta horri itsatsita bentiladore bat hartutako beroa disipatzeko.

Errendimendu handiko sistema informatiko bat paraleloan lana egiten duten mikroprozesadore bat baino gehiagorekin egon daiteke hornituta, eta mikroprozesadore bakoitza aldi berean core fisiko edo logiko anitzekin. Core fisikoak PUZ baten eragiketak egiten dituen txip-aren atal fisiko berezituak dira, eta core logikoak simulatutako core fisikoak dira.

Gaur egun dagoen tendentzia elementu guztiak (koma higikorreko unitateak, RAM eta bus kontroladoreak, dedikatutako prozesadore grafikoak…) mikroprozesadorearen barruan integratzekoa da, energiaren ikuspuntutik txip eraginkorrak sortzeko.

Zirkuitu integratuetan oinarritutako kostu txikiko konputagailuen etorrerak gizarte modernoa eraldatu du. Konputagailu pertsonaletako erabilera orokorreko mikroprozesadoreak hainbat gauzatarako erabiltzen dira: konputaziorako, testuak editatzeko, multimedia bisualizaziorako eta Internet bidezko komunikaziorako. Askoz mikroprozesadore gehiago sistema txertatuen parte dira, eta kontrol digitala eskaintzen dute objektu ugariren gainean, etxetresna elektrikoetatik automobil, telefono zelular eta prozesu industrialen kontroleraino.

Prestazioak 
1970eko hamarkadaren lehen urteetara arte, prozesadore baten osagai elektronikoak ezin ziren zirkuitu integratu bakar batean egon, bi edo hiru "txip" erabili behar ziren PUZ bat egiteko. 1971n, Intel konpainiak lehenengo aldiz lortu zuen prozesadore bat osatzen zuten transistore guztiak zirkuitu integratu bakar batean elkartzea, "4004" zirkuitu integratuan. Honela sortu zen mikroprozesadorea.

Miniaturizazioa deitutako prozesu horri esker lorpen asko izan dira:

 Osagaien arteko distantziak txikiagoak direnez, prozesadorearen funtzionamendu-maiztasuna handitu da.
 Kostua murriztu da, hainbat zirkuitu izan beharrean zirkuitu bakarra izateagatik.
 Ordenagailu txikiak sortu dira: mikroordenagailuak.

Mikroprozesadore baten ezaugarri nagusiak hauek dira:

 Agindu-multzoa: exekuta ditzakeen aginduak. Mikroprozesadore batek, besteak beste, agindu hauek exekuta ditzake: bi zenbaki batu, bi zenbaki konparatu berdinak diren edo handiena edo txikiena zein den zehazteko, azpiprograma bat exekutatu... Horrelako hamarnaka agindu desberdin exekuta ditzake mikroprozesadore batek.
 Arkitekturaren konplexutasuna. Mikroprozesadorean dauden transistore kopuruaren arabera neurtzen da. Zenbat eta transistore gehiago izan, orduan eta agindu gehiago exekutatuko ditu segundo batean.
 Datuen tamaina bitetan: Mikroprozesadoreak agindu batean prozesa dezakeen bit kopurua. Egungo mikroprozesadoreek 64 biteko zenbakiekin lan egin dezakete agindu bakar batean.
 Funtzionamendu-maiztasuna: Onartzen duen erloju-abiadura maximoa. Erlojuaren rola mikroprozesadorearen erritmoa zehaztea da. Zenbat eta abiadura handiagoa, orduan eta agindu gehiago exekutatu ahalko dira segundoko. Praktikan, hala ere, prozesadorearen arkitekturaren araberakoa izango da beharrezko erloju-zikloen kopurua.

Aurreko ezaugarrien konbinazioak mikroprozesadore baten ahalmena edo errendimendua zehazten du, MIPSetan adierazten dena (Millions of Instructions Per Second = segundo batean zenbat milioi agindu exekutatzen dituen). Gaur egungo prozesadoreek (2008) 59.000 milioi agindu baino gehiago exekuta ditzakete segundoko.

Egitura 
Mikroprozesadore baten unitate zentralak honako osagai hauek izaten ditu, funtsean:

 Unitate aritmetiko-logiko bat (UAL), datuen gaineko eragiketak egiten dituena (aritmetikoak: batuketak, kenketak... eta logikoak: AND eta OR bezalakoak).
Erregistroak: Mikroprozesadoreari datuak aldi baterako gordetzeko aukera ematen dioten gordailuak.
 Kontrol-unitatea, mikroprozesadore osoa kontrolatzen duena aginduen arabera. Kontrol-unitatea honela ere deskonposa daiteke: agindu-erregistroa, exekutatu beharreko aginduaren kodea memorizatzeko; deskodetzailea, agindu hori deskodetzeko eta zehazki jakiteko ze agindu de; sekuentziadorea, agindua exekutatzeko.

Erregistro batzuek oso zeregin berezia dute:

 Egoera-erregistroa (eta adierazleak edo flags): edozein unetan mikroprozesadorearen egoera gordetzen duen erregistroa; irakurri besterik ezin da egin.
 Programaren kontagailua (PC, Program Counter): exekutatu beharreko aginduaren helbidea duena.
 Pilaren erakuslea (SP, Stack Pointer): pila izeneko memoria-eremu berezi baten erakuslea dena. Honek azpiprogramen argumentuak eta itzulera-helbideak gordetzen ditu.

Programaren kontagailua (PC) da ezinbestekoa den bakarra, egoera-erregistro (flags) eta pila erakuslerik (SP) gabeko prozesadoreak badaudelako.

Arkitektura 
Mikroprozesadorea datuak prozesatzeko unitate bat da, eta hainbat zati bereiz daitezke:

 Kapsulatzea: siliziozko olata bere baitan inguratzen duena da, sendotasuna emateko, hondatzea eragozteko (adibidez, aire bidezko oxidazioaren bidez) eta oinarrizko plakaren zokalora akoplatuko duten kanpoko konektoreekiko lotura ahalbidetzeko.
 Cache memoria: memoria oso azkarra da. Prozesadoreak hau erabiltzen du seguruenik laster egikarituko diren eragiketetan erabiliko den informazioa gordetzeko. Honi esker, informazioa eskuratzeko ez da RAM memoria atzitu beharko, eta, ondorioz, itxoite-denbora murriztuko du. Mikroprozesadore guztiek L1 edo lehenengo mailako cachea dute kapsulatuta, eta batzuek L2 eta L3 mailako cacheak ere badituzte.
 Koprozesadore matematikoa: koma higikorraren unitatea. Horiek barneratzen dituzten kalkulu matematikoetan espezializatutako mikroprozesadore zatia da. Zati hori zati «logikotzat» hartzen da, erregistroekin, kontrol-unitatearekin, memoriarekin eta datu-busarekin batera.
 Erregistroak: erabilera partikular batzuetarako erabiltzen den memoria txikia eta oso azkarra.
 Memoria: prozesadoreak programen aginduak eta datuak aurkitzen dituen tokia da. Memoria ordenagailuaren barneko zatia da, eta bere funtsezko funtzioa uneko lanerako biltegiratze-espazioa eskaintzea da.
 Portuak: prozesadorea kanpoko munduarekin komunikatzeko modua da. Prozesadoreak komunikatu behar duen ordenagailuko edozein osagaik "portu-zenbaki" bat izango du esleituta.

Funtzionamendua 
Ikuspuntu logiko eta funtzionaletik, mikroprozesadorea funtsean hainbat osagai ditu: hainbat erregistro, kotrol unitate bat, unitate aritmetiko-logiko bat eta, mikroprozesadorearen arabera, koma higikorreko unitate bat .

Mikroprozesadoreek erloju batek zehazten duen erritmoaren arabera funtzionatzen dute. Erloju-seinale hori azkarra eta erregularra da eta zirkuituaren funtzionamenduaren abiadura ezartzen du. Horrez gain, beste osagai batzuekiko sinkronizazioa ziurtatzen du, adibidez, memoriarekiko sinkronizazioa. Erlojuaren abiadura zenbat eta azkarragoa izan, orduan eta handiagoa izango da programetako aginduen prozesamendu abiadura. Hala ere, erlojuaren abiadura handitzeak zenbait eragozpen ekartzen ditu; izan ere, prozesadoreak azkarrago lan egiten duen heinean elektrizitate gehiago kontsumitzen du eta gehiago berotzen da.

Gaur egungo mikroprozesadoreak gai dira erloju ziklo bakoitzeko hainbat agindu exekutatzeko. Izan ere, paraleloan lan egiten duten hainbat exekuzio-unitate dituzte, eta modu egokian funtzionatzeko beharrezkoa dute aurresatea zein izango diren agindu bakoitzaren ondoren exekutatu beharko diren hurrengo aginduak.

Mikroprozesadoreak memoria nagusian sekuentzialki antolatutako zenbaki bitar gisa gordetako aginduak exekutatzen ditu. Aginduen exekuzioa hainbat fasetan egiten da:

 Prefetch edo aurrebilaketa, memoria nagusitik agindua irakurtzeko prestatu.

 Fetch edo bilaketa, memoria nagusitik agindua irakurri eta deskodeketa egiten den lekura bidali.

 Aginduaren deskodeketa, hau da, agindua zein den zehaztea eta zer egin behar den aztertzea.

 Eragigaiak irakurri.
Eragiketa egin.

 Memoria nagusian edota erregistroetan emaitzak idatzi.

Fase hauetako bakoitza PUZ-aren ziklo batean edo batzuetan egiten da. Ziklo kopurua prozesadorearen egituraren araberakoa da, zehazki segmentazio-mailaren araberakoa.  Ziklo hauen iraupena edo denbora erlojuaren maiztasunak ezartzen du. Mikroprozesadorea PLL zirkuitu batera konektatzen da, normalean kuartzozko kristal batean oinarrituta dagoena, erritmo konstantean pultsuak sortzeko eta segundo batean hainbat ziklo sortzeko gai dena.

Errendimendua 
Prozesadore baten errendimendua modu desberdinetan neur daiteke. Duela gutxi arte erlojuaren maiztasuna neurri zehatz bat zela uste zen, baina mito hori, “Megahertzen mitoa” bezala ezagutzen dena, indargabetu egin da prozesadoreek ez dutelako frekuentzia handiagorik behar izan euren konputazio ahalmena handitzeko. 

Azken urteetan, maiztasun hori 1,5 GHz-etik 4 GHz-era bitartekoa izan da, baina prozesadoreek prozesatzeko gaitasun handiagoak lortu dituzte, maiztasun balio horiek izan zituzten lehen mikroprozesadoreekin alderatuta. Gainera, kapsulatze beraren barruan nukleo gehiago sartzeko joera dago, errendimendua handitzeko konputazio paralelo baten bidez. Ondorioz, erlojuaren abiadura fidagarritasun gutxiagoko adierazlea bihurtzen da. Nolanahi ere, prozesadore baten potentzia neurtzeko modu fidagarri bat ziklo bakoitzeko exekutatzen diren aginduen bitartez da. 

Errendimendua neurtzea maiztasunaren bitartez soilik da baliagarria arkitektura berdina edo oso antzekoak dituzten prozesadoreekin, barne funtzionamendua berdina izanik: kasu horretan, maiztasuna adierazle baliagarria izan daiteke prozesadoreak konparatzeko. Porzesadore familia baten barruan, ohikoa da erloju maiztasunei dagokionez aukera ezberdinak aurkitzea, silizio txip guztiek ez baitituzte funtzionamendu muga berdinak. Txipak maiztasun ezberdinetan frogatzen dira, ezegonkortasun seinaleak erakusten dituzten arte; orduan, frogen emaitzen arabera sailkatzen dira. 

Prozesadoreak barne egitura ezberdinak dituzten lotetan fabrikatzen dira, gama eta beste ezaugarri batzuen arabera. Loteak beren gamaren arabera lortu ondoren, proba-banku batean hainbat prozesuren menpe jartzen dira, eta, jasan dezaketen tenperaturaren arabera edo ezegonkortasun seinaleak erakusten dituztenean, maiztasun bat esleitzen zaio prozesadore bakoitzari. Prozesadorea, maiztasun horrekin programatuta etorriko da, baina overclock praktikekin areagotu egin daiteke.

Prozesadore baten gaitasuna sistemaren gainerako osagaien araberakoa da, batez ere txipset, RAM memoria eta softwarearen araberakoa. Baina ezaugarri horiek alde batera utzita, prozesadore baten errendimenduaren gutxi gorabeherako neurketa bat egin daiteke adierazleen bidez. Adibidez, FLOPS denbora-unitateko koma higikorreko eragiketa kopuruaren bidez, edota MIPS denbora-unitateko agindu kopuruaren bidez. Prozesadore baten errendimenduaren neurri zehatz bat edukitzea oso zaila da konputazioan inplikatutako faktore ugariengatik eta normalean probak ez dira erabakiorrak belaunaldi berdineko sistemen artean.

Mikroprozesadoreen historia 
Mikroprozesadoreak agertu baino lehen, ordenagailu txikiak zirkuitu plaka multzoekin eraikitzen ziren, eskala txiki eta ertaineko zirkuitu integratu anitzekin. Mikroprozesadoreak multzo guzti horiek batzen ditu eskala handiko zirkuitu integratu bakarrean.

Mikroprozesadorearen asmakuntza polemiko samarra da. Oro har, onartzen da lehen mikroprozesadore komertziala Inteli dagokiola. Intel 4004, Federico Fagginek eta Marcian Hoffek sortutako 4 biteko mikroprozesadorea, 1971ko azaroaren 15ean agertu zen. Hala ere, beste bi proiektu izan ziren gutxi gorabehera garaikideak: Texas Instruments TMS 1000 eta Garrett AiResearch-en Central Air Data Computer (CADC).

Komertzialki ekoitzitako lehen mikroprozesadorea Intel 4004 izan zen, MOS LSI txip bakar gisa merkaturatua.Txip bakarreko mikroprozesadorea posible izan zen siliziozko ateko MOS (SGT) teknologia garatuta.  Lehen MOS transistoreek aluminiozko metalezko ateak zituzten, eta Federico Faggin fisikari italiarrak siliziozko ate autolerrokatuekin ordeztu zuen, 1968an Fairchild Semiconductorren siliziozko ateko lehen MOS txipa garatzeko. Faggin Intelekin elkartu zen geroago, eta siliziozko ateko MOS teknologia erabili zuen 4004a garatzeko, Marcian Hoff, Stanley Mazor eta Masatoshi Shimarekin batera, 1971n. 4004a Busicom japoniar enpresarentzat diseinatu zuten. Busicomek zenbait txipeko diseinua proposatu zuen 1969an, baina Faggin-en Intel taldeak txip bakar baten diseinu berria gauzatu zuen. Hala, Intelek lehen mikroprozesadore komertziala merkaturatu zuen, Intel 4004, 4 bitekoa, 1971n. Tarte labur baten ondoren, 1972an, 8 biteko Intel 8008 mikroprozesadorea merkaturatu zuten.

Lehen proiektuak 
Hainbat proiektuk mikroprozesadore bat sortu zuten ia-ia aldi berean: Garrett AiResearch-ek Central Air Data Computer (CADC) (1970), Texas Instruments-ek TMS 1802NC (1971ko irailean), Intelek 4004 (1971ko azaroan, Busicom-en 1969ko aurreko diseinu batean oinarritua). Eztabaidagarria izan zen ea 1969an Four-Phase Systems-ek egindako AL1 txipa mikroprozesadorea zen ala ez.

Four-Phase Systems-en AL1 (1969) 
Four-Phase Systems-en AL1a 8 biteko bit-puskazko txip bat zen, zortzi erregistro eta UAL bat zituena.  Lee Boyselek diseinatu zuen 1969an.  Une hartan, 24 biteko PUZ baten osagaietako bat izan zen (guztira, 9 txipek osatzen zuten PUZ hori, hiru AL1 txip horien artean), baina, geroago, mikroprozesadore deitu zioten, 1990ean Texas Instruments enpresak eragindako auziei erantzunez, proba-sistema bat eraiki zutenean epaimahai-aretoan erakusteko. Sistema horretan, AL1 txip bakar bat erabili zuten konputagailu bat osatzeko, RAM, ROM eta sarrera/irteerako gailu batekin batera.

Garrett AiResearch-en CADC (1970) 
1968an, Garrett AiResearch enpresak (non Ray Holt eta Steve Geller diseinatzaileak kontratatuta zeuden) ordenagailu digital bat ekoizteko erronkari ekin zion, sistema elektromekanikoekin lehiatzeko, AEBetako Itsas Armadako F-14 Tomcat hegazkin berrian hegaldia kontrolatzeko konputagailu nagusia garatzeko. 1970ean osatu zen diseinua, eta MOS teknologian oinarritutako txip multzoa erabili zuen PUZ nagusi gisa. Diseinua sistema mekanikoak baino nabarmen txikiagoa (20 aldiz, gutxi gorabehera) eta askoz fidagarriagoa izan zen, eta Tomcat-en lehen modelo guztietan erabili zen.

Pico/General Instrument 

1971n, Pico Electronics eta General Instrument-ek (GI) zirkuitu integratuen arloan haien lehen lankidetza aurkeztu zuten: txip bakarreko kalkulagailu oso bat, Monroe/Litton Royal Digital III kalkulagailurako. Aldarrikatu daiteke txip hori lehenengo mikroprozesadore edo mikrokontroladoreetako bat dela, txipean integratuta baizeuden ROM, RAM eta RISC agindu-multzodun prozesadorea. PMOS prozesuko lau geruzen diseinua eskuz marraztu zen, x500 eskalan, mylar filmean. Une hartan lan hori oso garrantzitsua izan zen, txiparen konplexutasuna dela eta.

GI-ko bost diseinu-ingeniarik osatutako spinout bat izan zen Pico Electronics, eta txip bakarreko kalkulagailu zirkuitu integratuak sortzea zuen helburu. Aurretik esperientzia esanguratsua izan zuten GI-n eta Marconi-Elliotten diseinatutako hainbat txipetako kalkulagailuekin.  Taldeko kide giltzarriek Elliott Automationen agindua jaso zuten, hasieran, MOS teknologian 8 biteko ordenagailu bat sortzeko, eta Glenrothes-en (Eskozia) MOS ikerketa-laborategi bat ezartzen lagundu zuten 1967an.

Intel 4004 (1971) 
Intel 4004a txip bakar batean sartutako benetako lehenengo mikroprozesadoretzat jotzen da. Intel Corporation-ek ekoitzi zuen 1971n. Hasieran, kalkulagailu baterako garatu zen eta iraultzailea izan zen bere garairako. 2300 transistore zituen, 4 biteko arkitekturako mikroprozesadorea zen, eta segundoko 60 000 eragiketa egin zitzakeen 700 kHz inguruko erloju-maiztasunarekin.

US$60ren prezioan merkaturatu zen (2019an US$378.78ren baliokidea). 4004-rako ezagutzen den lehen iragarkia 1971ko azaroaren 15ekoa da eta Electronic News-en agertu zen. Mikroprozesadorea Federico Faggin ingeniari italiarrak, Marcian Hoff eta Stanley Mazor ingeniari estatubatuarrak eta Masatoshi Shima ingeniari japoniarrak osatutako taldeak diseinatu zuen.

8 biteko mikroprozesadoreak 
8 biteko lehenengo mikroprozesadorea Intel 8008a izan zen. 1972aren erdialdean garatu zuten, terminal informatikoetan erabiltzeko. Intel 8008ak 3300 transistore integratzen zituen, eta 800 kHz-eko maiztasun maximoetan prozesa zezakeen.

8008a Intel 8080 arrakastatsuaren aitzindaria izan zen. Intel 8080a izan zen erabilera orokorrerako benetan diseinatutako 8 biteko lehenenengo mikroprozesadorea. 1974an garatu zuten. 4500 transistore zituen eta segundoko 200 000 agindu exekuta zitzakeen, 2 MHz inguruan lan eginez. 8008aren aldean, errendimendu hobea eskaini zuen eta euskarri-txip gutxiago behar zuen.

8080a izan zen lehenengo ordenagailu pertsonalaren (MITSen Altair 8800) PUZa. Horren ondoren, 8 biteko beste mikroprozesadore arrakastatsu batzuk merkaturatu ziren: Motorola 6800 (1974), MOS Technology 6502 (1975) eta Zilog Z80 (8080arekin bateragarria) (1976). Horiei esker, 70eko hamarkadaren amaieran eta 80ko hamarkadaren hasieran etxeko ordenagailu pertsonalen "iraultza" azkartu zen modu nabarmenean. Hala, Sinclair ZX81 eta Commodore 64 bezalako ordenagailu pertsonal merkeak merkaturatu ziren, mikroprozesadore horietan oinarrituta. Bideo-kontsoletan ere asko erabili izan dira 70eko eta 80ko hamarkadetan, bigarren eta batez ere hirugarren bideo-kontsola belaunaldiak kontuan hartuz. 8 biteko mikrokontrolagailuak dira, gaur egun, edozein lekutan aurki ditzakegun sistema txertatuen oinarria: autotik igogailura edo garbigailura.

16 biteko mikroprozesadoreak 
16 biteko lehen mikroprozesadorea National Semiconductorren IMP-16 izan zen, 1973koa, MOSFET teknologia erabiltzen zuten zenbait zirkuitu integratuk osatua.

Zirkuitu integratu bakar bateko 16 biteko lehen mikroprozesadorea, TMS 9900, 1976an aurkeztu zuen Texas Instruments-ek. Txip horren bilakaera TMS 9980 izan zen, Intelen 8080arekin lehiatzeko diseinatua, eta, ondoren, TMS 9995, 99105 eta 99110 iritsi ziren.

Bestalde, Intelek beste bide bat hartu zuen, eta 8080a zabaldu zuen 16 biteko mikroprozesadore bihurtzeko: Intel 8086, IBMren PCekin bateragarriak ziren ordenagailuetan erabili zen x86 familiako lehenengo kidea (gaur egungo PC motako ordenagailu gehienetan familia horren ondorengoak erabiltzen dira). Intelen ideia izan zen 8080rako idatzitako kodea berrerabili ahal izatea, eta horrek arrakasta komertzial handia ekarri zion. 8086 txipa 1978ko udan merkaturatu zen, baina merkatuan ez zegoenez 16 bitekin funtzionatzen zuen aplikaziorik, Intelek 8088 atera zuen merkatura, 1979an. Izan ere, 8088a, 8 biteko kanpo-bus bat erabiltzen zuena, izan zen IBMren lehen PCaren prozesadorea, 5150 modeloan, hain zuzen ere. Mikroprozesadore horiek 4 MHz-etik gorako maiztasunekin jarduten zuten.

32 biteko mikroprozesadoreak 

16 biteko diseinuak merkaturatu eta denbora gutxira 32 biteko mikroprozesadoreak agertzen hasi ziren.

32 biteko diseinuetan esanguratsuena 1979an sartutako Motorola MC68000 da. Programazioaren ikuspuntutik 32 biteko erregistroak zituen, baina 16 biteko datu-bideak erabiltzen zituen, 16 biteko hiru unitate aritmetiko-logiko zituen, eta kanpora begira 16 biteko datu-busa (pin kopurua murrizteko); kanpoko munduarekin konektatzeko 24 biteko helbideak zituen (barnean 32 biteko helbide osoekin lan egin zuen). Motorolak 16 biteko prozesadore gisa deskribatu ohi zuen, 32 biteko arkitektura izan arren.  

Benetako 32 biteko lehenengo mikroprozesadorea (32 biteko datu-bideak, 32 biteko busak eta 32 biteko helbideak) AT&T Bell Laborategietako BELLMAC-32A izan zen, 1980an aurkeztua eta 1982tik aurrera ekoitzia merkatu zabalari begira. 

32 biteko arkitekturako lehen prozesadoreetako bat Intel 80386 izan zen, 1980ko hamarkadaren erdialdean eta amaieran fabrikatua; bertsio desberdinetan 40 MHz inguruko maiztasunarekin lan egin zuen. 32 biteko lehen Intel mikroprozesadorea Intel iAPX 432 izan zen, 1981ean aurkeztua, baina ez zuen arrakasta komertzialik izan. Objektuetara bideratutako arkitektura babestua zuen, baina eraginkortasun eskasa, lehiakideen arkitekturekin alderatuta (Motorola 68000).

1985etik 2003ra bitartean, x86 familiako 32 biteko arkitekturak nagusituz joan ziren mahai gaineko ordenagailuen, ordenagailu eramangarrien eta zerbitzarien merkatuan, eta, aldi berean, abiadura eta gaitasunak handitu zituzten. Intelek lehen bertsioen lizentziak beste konpainia batzuei utzi zizkien, baina ez zuen gauza bera egin Pentiumarekin egin, eta horrek bere diseinuak egitera behartu zituen AMD eta Cyrix. Aldi horretan, prozesadoreen konplexutasuna (transistore kopurua) eta gaitasuna (agindu kopurua segundoko) handitu egin ziren, 1.000 aldiz gutxienez. Intel Pentiuma 32 biteko arkitekturako mikroprozesadore ospetsu eta ezagunena izango da ziurrenik.

64 biteko mikroprozesadoreak 

64 biteko mikroprozesadore-diseinuak gama altuko ekipoetan (zerbitzariak eta lan-estazioak) erabili dira 1990eko hamarkadaren hasieratik (1996ko Nintendo 64 bideo-kontsola barne), baina 2000ko hamarkadaren hasieran, berriz, ordenagailu pertsonalen merkatura sartu ziren.

2003ko irailean, AMDk 64 biteko arkitektura bat sortu zuen, x86 arkitekturarekin bateragarria, x86-64 arkitektura, orain AMD64 izena duena. Arkitektura berriaren lehen mikroprozesadorea Opteron izan zen; 2003ko apirilaren 22an agertu zen zerbitzarien merkatura zuzendua. Urte bereko irailaren 23an Athlon izango zen lehena PCaren merkatura zuzendua.

Intelen erantzuna IA-32e izan zen (EM64T Extended Memory 64 Technology izenekoa 2004tik aurrera, eta Intel 64, 2006tik aurrera), IA-32 arkitekturarekin bateragarria (Intel Architecture 32 bit). Kasu horretan, Intelek hartu zuen AMDk garatutako arkitektura; geroago, 64 biteko beste arkitektura bat garatu zuen, 2007an Itanium izenarekin aurkeztu zena, baina x86rekin bateragarria ez zena.

x86rekin bateragarriak diren mikroprozesadore horiek 32 biteko aplikazio zaharren kodea exekuta zezaketen abiadura arazorik gabe, eta baita 64 biteko programa berrien kodea ere. Sistema eragile batzuek bakarrik (Windows XP Professional x64 Edition, Windows Vista x64, Linux, BSD edo MacOS X) exekuta zitzaketen 64 biteko kodeak, eta ahalik eta gehien aprobetxatu mikroprozesadore horien ahalmenak.

Mikroprozesadore modernoek aurrekoek baino ahalmen eta abiadura askoz handiagoak dituzte, 64 biteko arkitekturetan lan egiten dute, 700 milioi transistore baino gehiago dituzte, Core i7 seriearen kasuan bezala, eta 3 GHz-etik (3.000 MHz) gorako maiztasun normaletan lan egin dezakete.

RISC mikroprozesadoreak 
1980ko hamarkadaren bigarren erdialdearen eta 1990eko hamarkadaren lehen urteen artean, prestazio handiko RISC mikroprozesadore sorta berri bat agertu zen (Reduced Instruction Set Computer, agindu-multzo murriztuko konputagailua), UC Berkeley-n garatutako mikroprozesadorearen antzera. Hasieran, helburu bereziko makinetan erabili ziren, hala nola sistema txertatuetan eta Unix sistema eragilearen aldaerak zituzten lan-estazioetan. Baina, azkenean, beste aplikazio batzuetan ere erabili ziren, eta RISC sistema Intel prozesadoreetaraino ere zabaldu zen: barruan RISC arkitektura zeukaten, baina emulazio geruza bat erabiltzen zuten CISC (Complex Instruction Set Computer, agindu-multzo konplexuko konputagailua) motako x86 kodearekin bateragarritasunari jarraipena emateko.

RISC kontzeptua superkonputagailuen munduan agertu zen 1960ko hamarkadaren bukaeratik (CDC 6600), baina mota horretako mikroprozesadore bat garatzeko lehen proiektuak Berkeley RISC eta Stanford Unibertsitateko MIPD izan ziren. Lehen diseinu komertziala MIPS Technologies-ek egin zuen, eta R2000 izan zen, Stanford-en garatutako arkitekturatik eratorritako MIPS arkitekturako 32 biteko sistema. Ondoren, prestazioak hobetu zituen R3000a eta 64 biteko diseinua zuen R4000a etorri ziren. Proiektuen arteko lehiak IBM POWER eta Sun SPARC sistemak sortu zituen. Laster, fabrikatzaile nagusiek RISC diseinuak egiteari ekin zioten: AT&T CRISP, AMD 29000, Intel i860 eta Intel i960, Motorola 88000, DEBO Alpha eta Hewlett-Packard-en PA-RISC.

Mikroprozesadoreen arteko gerraren ondorioz, ia RISC familia guztiak desagertu dira merkatutik; IBMren PowerPCa eta Sun Microsystemsen SPARCa bakarrik daude aktibo, baina mugatuta zerbitzarien eta superkonputagailuen mundura. Silicon Graphics-ek 2006. urtera arte erabili zituen MIPSak bere sistema batzuetan, nahiz eta erabilera nagusia sistema txertatuetan egon. Zenbait konpainiak, hala nola ARM Ltd-ek, beste bide bat hartu dute. Hasieran, ARM arkitektura ordenagailu pertsonaletan erabiltzeko prozesadoreak sortzeko diseinatu zen, baina, urte gutxiren buruan, konpainia horrek orientazioa aldatu zuen, eta sistema txertatuetako kontsumo txikiko prozesadoreen merkatura bideratu zuen, orain MIPS, ARM eta PowerPC nagusi dituen merkatua.

1990eko hamarkadaren amaieran, 64 biteko bi RISC arkitektura baino ez ziren ekoizten oraindik bolumen esangarrian sistema txertatuetatik kanpoko aplikazioetarako: SPARC eta Power ISA, baina ARM gero eta indartsuago bihurtu den heinean, 2010eko hamarkadaren hasieran, hirugarren RISC arkitektura bihurtu zen konputazio orokorreko segmentuan.

Hainbat nukleotako mikroprozesadoreak 
Ordenagailu baten errendimendua hobetzeko beste bide bat prozesadore gehigarriak eranstea da, hala nola, zerbitzarietan eta lan-estazioetan 1990eko hamarkadako lehen urteetatik erabili ziren multiprozesamendu simetrikoko diseinuak. Mooreren legeari jarraiki, txip-fabrikatzaileak teknologiaren muga fisikoetara hurbiltzen joan dira, eta errendimendua hobetzeko beste bide batzuk bilatu dituzte, produktu berriak merkaturatzeko erritmoari eusteko.

Nukleo anitzeko prozesadore bat (multi-core) mikroprozesadore-nukleo bat baino gehiago dituen txip bat da. Nukleo bakoitzak prozesadorearen aginduak aldi berean exekuta ditzake paraleloan. Horrela, prozesadorearen errendimendu potentziala nukleo kopuruarekin biderkatzen da, softwarea prozesadorearen nukleo bat baino gehiago aprobetxatzeko diseinatuta badago. Zenbait osagai, hala nola bus-interfazea eta cachea, nukleoen artean parteka daitezke. Nukleoak fisikoki oso hurbil direnez, elkarren artean abiadura handiagoan komunikatu daitezke, eta, hala, sistemaren errendimendua hobetzen da, txip desberdinetan dauden multiprozesadore sistemekin alderatuta.

2005. urtean, AMDk iragarri zuen nukleo bikoitzeko lehen sistema komertziala masiboki ekoitziko zuela. Ordenagailu pertsonalen merkatuko zenbait nukleotako lehenengo prozesadore monolitikoa AMD Athlon X2 izan zen. 2007an, bi nukleoko prozesadore mota hori asko erabiltzen zen zerbitzarietan, lan-estazioetan eta ordenagailu pertsonaletan; lau nukleokoak, berriz, gama altuko aplikazioetan erabiltzen ziren, bai ingurune profesionaletan, bai etxeko ordenagailuetan.

Sun Microsystemsek Niagara eta Niagara 2 aurkeztu zituen. Biek zortzi nukleoko diseinua dute, bigarrenak hari gehiago ditu eta 1,6 GHz-ean lan egiten du.

Mahaigaineko ordenagailu modernoek PUZ anitzeko sistemak erabil ditzakete, baina merkatu profesionaletik kanpo aplikazio gutxik atera diezaiekete etekina lau nukleo baino gehiagori. Bai Intelek, bai AMDk, gaur egun, lau, sei edo zortzi nukleo azkarreko PUZak eskaintzen dituzte mahai gaineko ordenagailuetarako, eta zaharkitutzat uzten dituzte PUZ anitzeko sistemak helburu askotarako. Mahaigaineko ordenagailuen merkatua lau nukleoko PUZerako trantsizioan egon da Intel Core 2 Quad jaurti zutenetik, eta orain arruntak dira, nahiz eta nukleo bikoitzeko PUZak oraindik arruntagoak diren. Ordenagailu zaharrek edo portatilek aukera gutxiago dute bi nukleo baino gehiago izateko, mahaigaineko ordenagailu berrien aldean. Software guztia ez dago optimizatuta nukleo anitzeko PUZerako, eta horregatik erabilgarriagoak suertatzen dira nukleo gutxiago baina ahaltsuagoak dituzten PUZak.

Historikoki, AMD eta Intel hainbat aldiz txandakatu dira PUZ azkarrena duen konpainia gisa. 2012an, Intel izan zen liderra mahaigaineko ordenagailuen PUZen merkatuan, Sandy Bridge eta Ivy Bridge serieekin; aldi berean, AMDren Opterons-ek errendimendu handiagoa zuen bere prezioa kontuan harturik. Beraz, AMD lehiakorragoa zen gama apaletik ertainerako zerbitzari eta lan-estazioetan, eraginkorrago erabiltzen baitzituzten nukleo eta hari gutxiago.

Fabrikazioa 

Mikroprozesadore bat fabrikatzeko prozesua oso konplexua da. Hura gauzatzeko silizioa behar da, hareatik atera ohi dena (harearen osagai nagusietakoa baita silizio dioxidoa). Harea tenperatura altuan (1370°C) eta oso mantso (10-40 mm orduko) urtuz 20x150 zentimetroko monokristala egiten da. Zilindro perfektua lortzeko kristala mozten da. Ondoren, zilindroa 10 mikrako lodierako milaka laminatan mozten da diamante-zerra bat erabiliz, eta horietako lamina bakoitzetik ehunka mikroprozesadore egingo dira.

“Annealing” izeneko prozesu baten bidez, hots, laminak muturreko berotze baten eraginpean jartzea edozein akats kentzeko, gainazal lau bat lortzen da. Laserren bidez gainbegiratu ondoren, silizio oxidoz osatutako geruza isolatzaile batez estaltzen dira.

Hemendik aurrera, mikroprozesadore bakoitza osatuko duten transistoreak marrazteko prozesua hasiko da. Funtsean, behin eta berriz maskarak “inprimatzean” datza. Gero, material eroalez, isolatzailez eta erdieroalez osatutako geruza oso finak jalkitzen eta ezabatzen dira, argi ultramorearen bidez gogortuta eta inpresioak estaltzen ez dituen eremuak azidoen bidez kenduta. Ehunka urratsen ondoren, elementuen multzo konplexu batera iristen da, mikroprozesadorearen zirkuitu interkonektatu guztiak dituena.

Mikroprozesadore baten xehetasunak hain txikiak eta zehatzak direnez, hauts tanto bakar batek suntsi dezake. Horregatik, hauek fabrikatzeko “gela garbiak” erabiltzen dira, aire iragazketa sakona jasan eta ia hautsik ez dutenak. Gainera, langileek jantzi esterilak erabiltzen dituzte.

Prozesu guztiaren ondoren, laminak ehunka mikroprozesadore ditu gainazalean grabatuta. Txip bakoitza bereizi aurretik, horien osotasuna egiaztatu egiten da.

Plakatxo horietako bakoitzak plastikozko edo zeramikazko babes-kapsula bat izango du, eta kanpoaldearekin elkarlanean aritzeko ehunka pintza metalikoekin konektatuko da. Konexio horiek alanbre bidez egiten dira, gehienetan urrezkoak. Beharrezkoa izanez gero, kapsulak metalezko bero-disipadore txiki bat du, eta horri esker, beroa hobeto transferituko da txiparen barnetik disipadore nagusira. Azken emaitza mikroprozesadore bat da, ordenagailu komertzialetan erabiltzen direnak bezalakoa.

Silizio puruaz gain, beste aukerak ere garatzen ari dira, hala nola silizio karburoa (materialaren eroankortasuna hobetzen du, barne-erlojuaren maiztasun handiagoak ahalbidetuz), germanioa, grafenoa edo molibdenita.

Kanpoarekiko lotura 

Mikroprozesadoreak elementu metalikoen multzo bat du mikroprozesadorea osatzen duen zirkuitu integratuaren eta oinarrizko plakaren zirkuituen arteko konexio elektrikoa ahalbidetzen duena. Konplexutasunaren eta ahalmenaren arabera, prozesadore batek 8 eta 2000 elementu metaliko baino gehiago izan ditzake bere paketearen gainazalean. Prozesadorea oinarrizko plakaren gainean soldatutako PUZ zokalo baten laguntzaz muntatzen da. Normalean, hiru konexio mota bereizten dira:

 PGA (Pin Grid Array): konexioa prozesadorearen oinarrian zehar banatutako alanbre metaliko txikien bidez egiten da (hankatxoak edo pinak), oinarrizko plakan zulo txiki batzuen bidez sartuz. Prozesadorea sartzean, palanka batek pinak ainguratuko ditu kontaktu ona egin dadin eta ez daitezen askatu. 

 BGA (Ball Grid Array): konexioa zokaloarekin kontaktua egiten duten eta prozesadorera soldatuta dauden bolen bidez egiten da. 

 LGA (Land Grid Array): konexioa pin txikiekin kontaktuan dauden gainazal lauen bidez egiten da.

Konexio elektrikoen artean daude, besteak beste, txiparen barruko zirkuituen elikadura elektrikoa, erloju-seinaleak, eta datuekin, helbideekin eta kontrolarekin erlazionatutako seinaleak. Funtzio hauek zokaloarekin lotutako eskema batean banatuta daude. Hortaz, prozesadore eta oinarrizko plaken hainbat erreferentzia bateragarriak dira haien artean konfigurazio desberdinak ahalbidetuz.

Prozesadorearen busak 
Prozesadore guztiek bus nagusi bat edo sistemaren bus bat dute. Horren bidez, datuak, aginduak eta helbide guztiak bidali eta jasoko dira txipset-eko zirkuitu integratuetatik edo gainontzeko gailuetatik. Prozesadorearen eta gainontzeko sistemaren arteko konexio zubia denez, sistemaren errendimendutik asko definitzen du. Bere abiadura segundoko bitetan neurtzen da. 

Bus hori modo desberdinetan inplementatu daiteke, serie-bus edo paraleloak erabiliz, eta hainbat motako seinale elektrikoak erabiliz. Modurik zaharrena bus paraleloa da, non datuetan, helbideetan eta kontroletan espezializatutako lineak definitzen diren. 

Intel-en arkitektura tradizionalean, bus horri front-side bus deitzen zaio; paralelo motakoa da, 64 datu lerrorekin eta 32 helbide lerrorekin. Horiez gain, kontrol lerro ugari ditu, ahalbidetzen dutenak prozesadorearen eta gainontzeko sistemaren artean datuak transmititzea. Eskema hau lehenengo prozesadoretik erabili da, baina seinaleztapenean hobekuntzak egin dira, 333 MHz-eko erlojuekin funtzionatzea ahalbidetzeko eta ziklo bakoitzeko 4 transferentzia egiteko.

AMD-ren eta Intel Core i7 prozesadoreetan serie motako beste bus batzuk erabili dira bus nagusietarako. Hauen artean, AMD-ren HyperTransport busa dago. Bus honek datuak pakete moduan maneiatzen ditu, komunikazio lerro kantitate gutxiago erabiliz eta funtzionamendu maiztasun altuagoak ahalbidetuz. Intel-en kasuan, Quickpath busa dago.

AMD-ren eta Intel-en mikroprozesadoreek, gainera, ausazko atzipen memoriaren kontrolagailu bat dute kapsulatzearen barruan. Hori dela eta, beharrezkoa da prozesadorearen memoria-busak inplementatzea moduluetarantz. Bus hori JEDEC-en DDR estandarren araberakoa da eta datuetarako, helbideetarako eta kontrolerako bus linea paraleloak dira. Kanal kopuruaren arabera, 1-4 memoria-bus egon daitezke.

Kapsulatzea 

Mikroprozesadoreak zirkuitu integratuak dira, eta, beraz, siliziozko txip batek eta konexio elektrikoak dituen kapsulatze batek osatzen dituzte. Lehenengo prozesadoreetan, plastiko epoxikoekin edo zeramikekin egiten zen kapsulatzea, besteak beste, DIP formatuan. Txipa termikoki eroalea zen material batekin itsasten zen oinarri batera, eta alanbre txikien bidez konektatzen zen hankatxo edo pinetan amaitutako pista batzuetara. Ondoren, guztia plaka metaliko batekin edo oinarriaren material bereko beste pieza batekin zigilatzen zen, alanbreak eta silizioa kapsulatuta gera zitezen.

Gaur egun, hainbat motatako mikroprozesadoreak (prozesadore grafikoak barne) flip chip teknologiaren bidez kapsulatzen dira. Txip erdieroalea zuzenean soldatzen da pista eroaleen multzo batera (substratu laminatuan), erdieroale-olatetan fabrikazioaren azken etapetan metatzen diren mikroesferen laguntzarekin. Substratu laminatua zirkuitu inprimatu moduko bat da, eta pinak edo kontaktuak bideratzeko pistak ditu. Pinek edo kontaktuk txip erdieroalearen eta PUZeko zokalo baten edo plaka base baten arteko konexiorako balioko dute.

Antzinean, txiparen eta pinen arteko konexioa mikroalanbreak erabiliz egiten zen, eta ahoz gora geratzen zen; Flip Chip metodoan buruz behera geratzen da, eta hortik datorkio izena. Metodo horren abantailetako bat da muntaiaren sinpletasuna eta beroa hobeto disipatzea. Pastilla buruz behera geratzen denean, siliziozko oinarrizko substratua agerian uzten du, eta, beraz, zuzenean hoztu daiteke beroa eroaten duten elementuen bidez. Gainazal hori zirkuitu integratuari etiketak jartzeko ere erabiltzen da. Mahaigaineko ordenagailuetarako prozesadoreetan, siliziozko pastillaren ahultasuna dela eta, metalezko plaka bat jartzea erabaki da, adibidez, Athlon prozesadoreetan.

Beroaren disipazioa 
Prozesadore batean integratutako transistore kopurua handitzearekin batera, energia-kontsumoa igo egin da, eta bero-disipazio naturala ez da nahikoa tenperatura onargarriei eusteko eta material erdieroalea ez kaltetzeko; hori dela eta, beharrezkoa suertatu zen hozte bortxatuzko mekanismoak erabiltzea, hau da, bero-disipadoreak erabiltzea.

Horien artean daude sistema sinpleak, hala nola disipadore metalikoak, erradiazio azalera handitzen dutenak, energia sistematik azkar atera dadin. Hozte likidoarekin ere badaude, zirkuitu itxien bidez.

Prozesadore modernoenetan, prozesadorearen goiko aldean, IHS izeneko xafla metaliko bat erabiltzen da. Xafla hori disipadorearekiko ukipen-gainazala izango da, txiparen hozte uniformea hobetzeko eta barne-erresistentziak babesteko pasta termikoa aplikatzean gerta daitezkeen kontaktuetatik. Zenbait prozesadore-modelok, bereziki Athlon XP-koek, zirkuitulaburrak jasan dituzte pasta termikoa behar bezala ez aplikatzearen ondorioz.

Muturreko overclock-eko praktiketarako, elementu kimikoak erabiltzen dira, hala nola izotz lehorra, eta kasu muturrekoagoetan, nitrogeno likidoa, –190 Celsius gradutik beherako tenperaturak inguratzeko gai direnak, eta helio likidoa, zero absolututik oso hurbil dauden tenperaturak inguratzeko gai dena. Hala, silizio-prozesadore baten erreferentzia-erlojuaren maiztasuna hirukoiztu arte egin daiteke. Silizioaren muga fisikoa 10 GHz-ekoa da, eta grafenoaren moduko beste material batzuena, berriz, 1 THz-ekoa.

Erreferentziak

Ikus, gainera 
 Prozesatzeko unitate zentral

Kanpo estekak 
 Mikroprozesadoreari buruzko artikulua

Mikroprozesagailuak
Mikrokonputadoreak