Ordenagailu

Ordenagailua edo konputagailua programa informatiko bat aplikatuz datuak prozesatzeko gai den gailu elektronikoa da. Tresna digital eta elektronikoa da, bere osagaiak digitalak direlako eta erabil dezakeen informazioak diskretua edo kuantifikagarria izan behar direlako (zenbakiak, testua, irudiak, bideoa edo soinua...).

Ordenagailua helburu orokorreko makina automatikoa da, era askotako kalkulu edo eginkizunak burutu ditzake eta. Moldagarria da hainbat lanetarako. Nahi ditugun emaitzak lortuko dituen programa idazteko gauza bagara, gero konputagailuak automatikoki erabiliko du programa hori, inoren laguntzarik gabe eta nahi beste aldiz. Programa agindu-sekuentzia bat da, eta aginduak, konputagailuak ulertzen dituen eragiketa logiko edota aritmetikoak. Horregatik, konputagailua programagarria dela esaten da, eta programak egiteko moduak eta teknikak aztertzen dituen informatikaren arloari programazioa deritzo. Programak idazteko programazio-lengoaiak erabiltzen dira. Gainera, ordenagailuak agindu horiek arin-arin egingo ditu, informazio-kantitate handia erabiliz eta errorerik gabe.

Konputagailuak maneiatzeko eta diseinatzeko teknikak aztertzen dituen diziplinari informatika deritzo. Oro har, informazioaren tratamendu automatikoaren zientzia da informatika.

Historia 
Ez dakigu gizakiok noiztik kontatzen dugun, baina gizakiaren hasiera-hasieratik seguru. Eta hala jarraitzen dugu, kontatzen. Gizakiaren oinarrizko ezaugarria dirudi. Kuriosoa hala ere, hitz bera erabiltzen baitugu lehen begi-kolpean oso desberdinak ematen dituzten bi gauzetarako. Hala dio hiztegiak kontatu hitzari buruz:

 (lat. computāre)
 1. Besteri, ahoz nahiz izkribuz, gertatu edo asmatu den zerbait esan edo aditzera eman. Ipuin lohiak kontatzen.
 2. Multzo bateko osagaien kopurua mugatu. Ardiak kontatzen ez daki.

Bai, kontaketak eta kontakizunak hitz berean. Istorioak kontatzen ditugu gizakiok, eta ardiak kontatu ere. Letrak eta zenbakiak zaku berean. Kontatu, gogoratzeko. Eta gogoratzeko hasi ginen idazten. Hasieratik bertatik sortu zen beharra, kontatzen genituen istorioak eta kantuak idazteko, egiten genituen kontuak idazteko.

Kontutxoak eta kontaketak batera. Sumer-etik heldu zaizkigu, 4.000 urte baino gehiago igaro eta gero, lehen idazkunak, eta hor daude istorioak —Gilgamesh— eta zenbakiak —ale eta olio-ekoizpenak, eskaintzak tenpluetan—. Eta horrela gaur arte.

Eta bidean, kalkulatzeko "makinak" asmatu genituen. Sinpleak, oso sinpleak hasieran (kontatzeko aleak, harri koxkorrak), baina gero eta sofistikatuagoak ondoren. Eta ikusgarriak, ia sinesgaitzak gaur. Kontaketa-makina zaharren artean, abakoa da segur asko ezagunena, oraindik munduko hainbat lekutan erabiltzen baita. Oso sinpleak dira forman, baina oso erabilgarriak oinarrizko eragiketa aritmetikoak azkar eta doitasunez egiteko.

Mendebaldeko industria-iraultzaren eta gailu mekanikoen garapenarekin batera, kalkulu-makina sofistikatuagoak sortu ziren. Batetik, 200 urte baino gehiagotan, ia atzo arte, erabili diren kalkulu-tresna analogiko arrakastatsu-enak: kalkulu-erregelak, hau da, taula logaritmikoak erregeleta moduan antolatuta, bata besteekiko desplazatzen baitira eragiketak egiteko. Eta bestetik, konputagailu mekanikoak egiteko lehen proposamenak: Charles Babbage-ren, eta Ada Lovelace-ren, makina diferentzial eta analitikoak, non lehenengoz agertu baitziren konputagailu modernoen ezaugarri behinenak, txartel zulatuak eta guzti.

Alan Turing-en eskutik helduko da, bigarren mundu-gerran, gaurko konputagailuen aitzindari elektromekaniko sofistikatuena, Bombe, Enigma makinarekin Alemaniako armadak sortzen zituen kode sekretuak haustea lortu zuena.Baina gaurko konputagailuen aroa gailu elektronikoen garapenarekin hasiko da. Aurrenetako bat ENIAC konputagailua izan zen. Makina gero eta konplexuagoak eta ahaltsuagoak sortzeko lasterketa zorabiagarriaren abiapuntua izan zen. Hortik sortu ziren lehenbiziko makina komertzialak; UNIVAC (1946), gero IBM (1964), XEROX, DIGITAL (1977)… enpresen eskutik plazaratu ziren makinak, eta horrela, eten gabe, gaurko superkonputagailuak sortu ziren arte.

1970eko hamarkadan-edo hasi zen mikroelektronikaren eta zirkuitu integratuen garapenak beste bultzada bat eman zion lasterketa horri. Hor sortu ziren lehenbiziko kalkulagailuak eta, ondoren, ordenagailu pertsonalak eta eramangarriak, dagoeneko denontzat tresna arrunt bilakatu direnak.Eta hortik aurrera, gaur arte, zoroa izan da lasterketa. Konputagailuen eboluzioa analizatzen duen Moore-ren legearen arabera, makina hauen konputazio-ahalmena bikoiztu egiten da, gutxi gora behera, bi urtetan behin. Hazkunde esponentzialeko lege hori bete zen 40 urtetan, baina ematen du azkenetan dagoela. Ondo dakigu ez dagoela ezer mugarik gabe esponentzialki haz daitekeenik; izan ere, gaurko teknologiaren mugetara heldu ginen, oso azkar hurbildu ere.

Ezaugarriak 
 Abiadura: konputagailu guztiek kalkuluak abiadura ikaragarrian egiten dituztela esan daiteke, eskuzko kalkuluen edo makina mekanikoz baliaturiko kalkuluen abiadurarekin konparatuz gero. Baina nola neurtu konputagailu baten abiadura? Komeni da bereiztea, batetik, prozesadorearen abiadura, eta, bestetik, konputagailuaren errendimendua. Prozesadorearen abiadura GHz-etan ematen da, eta CPUaren erlojuaren maiztasuna (erloju-abiadura) adierazten du. Zenbat eta altuago izan maiztasuna, orduan eta eragiketa gehiago egingo ditu segundoko. Segundo batean mila milioi (109) eragiketa burutzeko gauza bada prozesadorea, GHz batekoa dela esaten dugu. 2008ko prozesadoreen abiadura 2,6 eta 3,5 GHz artekoa da. Konputagailuaren errendimendua neurtzeko, bestelako neurri batzuk izango ditugu kontuan. MIPS (milioi bat agindu segundoko), MFLOPS (milioi bat eragiketa zenbaki errealekin segundoko), edo proba-bankuak (programa edo programa-banku jakin bat exekutatzen da konputagailuan osagai desberdinen errendimendua neurtzeko).
 Edukiera: edukierak konputagailuan zenbat informazio gorde edo biltegiratu daitekeen adierazten du. Informazio hori konputagailuaren memoria-sisteman edo Interneten bidez konektatuta dagoen beste konputagailu batean gorde daiteke. Konputagailuan informazioa gordetzeko erabiltzen den oinarrizko unitatea bytea da. Bytea 8 bitez osatuta dago eta, oro har, karaktere bat edo zenbaki bat gordetzeko balio du. Konputagailuaren edukiera neurtzeko erabiltzen diren unitateak bytearen multiploak dira. Gaur egungo konputagailu pertsonaletan erabiltzen diren ohiko unitateak megabyteak eta gigabyteak dira. Megabyte bat (MB = 220 byte) milioi bat karaktere dira gutxi gorabehera, eta gigabyte bat (GB = 230 byte), mila milioi karaktere. Adibidez, CD batek 700 MB ditu, eta DVD batek, 4,5 GB. 2008an saldu ziren konputagailu pertsonal estandarretan, memoria nagusia 1 GB eta 2 GB artekoa izan zen, eta kanpo-memoria (disko gogorra), 160-500 GBkoa. Interneten eskura dagoena askoz gehiago da, noski; esaterako, zenbatetsi izan da, bakarrik ingelesez, bilioi bat hitz zegoela 2006an (milioi bat milioi hitz!). Kontuan hartu liburu arrunt batek 100.000 hitz inguru dauzkala, eta zenbatetsi dela pertsona ikasi batek bizitza osoan 300 milioi hitz irakurtzen dituela.
 Moldagarritasuna: konputagailuak helburu orokorreko makinak direla esan dugu. Baina konputagailu batzuk problema-mota zehatz batean espezializatuta daude, eta beste problema-mota batzuk burutzen motelagoak izango lirateke. Adibidez, egun, gero eta konputagailu txiki gehiago ditugu gure inguruan (etxean edo lantokian), konfigurazio minimo batekin helburu zehatz bakarra dutena, esate baterako, arropa-garbigailua, kamera digitalak, automobilak, robotak edo umeen jostailuak kontrolatzeko gailuak. Dena dela, konputagailu guzti horiek oinarrizko elementu berekin osatzen dira, eta erabilpen oso desberdinak dituzten konputagailuak antolatu ahal dira.
 Fidagarritasuna: kalkuluak ziztu bizian burutzen ditu ordenagailuak, baina hori bezain garrantzitsua da kalkulu horien errore-marjina eskuz egindako kalkuluena baino askoz txikiagoa dela. Konputagailuaren beste funtsezko ezaugarri bat fidagarritasuna da. Gaur egungo konputagailuak oso fidagarriak dira, hau da, oso seguruak. Horrek ez du esan nahi ez dutela okerrik egiten, baizik eta erroreren bat gertatzekotan konputagailuaren mekanismoen bidez igarri eta, askotan, zuzentzen dela. Gertatzen diren errore gehienak giza akatsen ondorioak dira (programari, datuei edo sistema eragileei dagozkienak).

Osagaiak 

Konputagailuen arkitektura John Von Neumannek 1945. urtean proposatutakoa da oraindik, funtsean, oinarrizko egitura gisa.
Lau atal edo osagai nagusi bereizten dira. Sarrera/irteerako azpisistema bi norabidetan erabiltzen da; batetik, konputagailuaren informazioa (programak eta datuak) sartzeko, eta, bestetik, konputagailuak lortzen duen emaitza kanporatzeko. Programa memorian gordeko da prozesadoreak exekuta dezan. Sistemaren informazio-trukea busen bidez egingo da.

Konputagailu baten osagaiak hauek dira:
 Prozesatzeko Unitate Zentrala (PUZ, prozesatzeko unitate zentrala, edo CPU, central processing unit)): Kontrol unitatea, erregistroak (exekutatzen den programaren eta prozesadorearen informazioa gordetzen dute) eta unitate aritmetiko-logikoak (memorian dauden instrukzioak deskodetze eta exekutatzen ditu) osatzen dute.
 Unitate aritmetiko-logikoa (ALU, arithmetic and logic unit): Eragiketa aritmetikoak (batuketa, kenketa, biderketa…) eta logikoak (konparazioak, and, or,not, …) egiten ditu. Datuak memoria nagusitik hartzen ditu.
 Kontrol-unitatea: Konputagailuaren funtzionamendu guztia gidatu eta kontrolatzen du. Memoria nagusian dauden makina-instrukzioak irakurtzen ditu bata bestearen ostean, beharrezko diren kontrol seinaleak sortzen ditu eta irakurritako instrukzioak exekutatzen ditu. Exekutatu behar den instrukzioa memorian zein posizioan dagoen jakiteko, programaren kontagailua erabiltzen da.
 Erregistroak: Datuak aldi baterako gordetzeko erabiltzen dira. Oso edukiera txikiko baina atzipen-abiadura izugarriko memoria antzeko elementu batzuk dira. Horrexegatik, maiz erabiltzen diren datuak erregistroetan gordetzen dira. Gehienetan erregistro berezi bat dago, akumuladorea, hemen eragiketa baten emaitzak gordetzen dira eta bere edukian eragiketa multzo bat egiten dira.

 Busak: konputagailuaren osagai garrantzitsuenak lotzen dituzte. Datuak (seinale elektrikoak) osagaien artean bidaltzeko elektrizitatearen hari eroaleak dira.
 Memoria Nagusia: Unitate honetan, informazioa (datuak eta programak) gorde daiteke modu egonkorrean geroago eskuratzeko. Programen exekuzioa azkarragoa izan dadin, memoria-sisteman zenbait memoria mota erabiltzen dira: cache memoria (azkarrena), memoria nagusia (RAM, random access memory, motakoa, irakurketak eta idazketak onartzen dituena), diskoak (kanpo-memoria) eta abar. Cachea eta memoria nagusia CPUarekin lotuta daude; kanpo-memoria, berriz, sarrera/irteerako unitateekin. Memorien barne-egiturari begira, esan dezakegu gelaxkatan antolatzen direla, eta horietako bakoitza helbide baten bidez atzitzen dela.

 Sarrera/irteera unitateak: erabiltzailearekiko komunikazioa unitate honen bidez egiten da. Bi osagai-mota bereizten dira: sarrera-unitateak eta irteera-unitateak. Programa (aginduak) eta datuak sarrera-unitateen bidez ematen zaizkio konputagailuari. Sartutako informazioa memorian gordeko da. Ohiko sarrera-unitateak hauek dira: teklatua, sagua, mikrofonoa, eskanerra, CD- eta DVD-irakurgailuak... Emaitzak irteera-unitateen bidez kanporatzen dira, erabiltzaileak eskuratu ditzan. Ohiko irteera-unitateak hauek dira: pantaila, bozgorailuak, inprimagailua, CD- eta DVD-grabagailuak... Zenbait unitate sarrerarako zein irteerarako erabil daitezke: USB memoria, disko-unitateak, ukipen-pantaila... Kanpo-memoriak sarrera/irteerako unitate bereziak dira, mota guztietako informazioa (aginduak eta datuak) gordetzen dute, geroago irakurtzeko prest egon dadin.

Oinarrizko osagai horiez gain beste osagai bi oso garrantzitsuak dira:
 Periferikoak: bi talde desberdindu daitezke, alde batetik, memoria lagungarriak, edukiera handiko biltegiratze euskarri bezala erabiltzen direnak, eta beste alde batetik, sistema eta kanpoko komunikazioa ezartzen duten unitateak ditugu.
 Kanala: periferikoen eta memoria zentralen arteko informazioaren transferentzia gestionatzen du.
Goian aipatutako egitura konplikatu daiteke konputagailu bakar batek prozesu ugari izan ditzakeelako bere barruan, edo, alderantziz ere, prozesu bakar bat aurrera eramateko hainbat prozesadore erabil daitekeelako. Honen arabera bi eredu orokor bereizten dira:
 Mulltiataza (Multitasking). Egungo konputagailu gehienek multiataza moduan ibiltzen dira. Ordenagailuaren funtzionatzeko modu bat da hori, baliabideak partekatzen dituzten ataza bi edo gehiago aldi berean exekutatzeko aukera ematen duena. Ataza bakoitzari denbora­tarte txiki bat esleitzen zaio txandaka, baina erabiltzaileari ataza guztiak aldi berean egiten direla iruditzen zaio. Aldi berean egikari daitekeen ataza kopurua ataza motaren eta sistemaren ezaugarrien araberakoa da (unitate zentralaren abiadura, memoria­ahalmena, etab.).
 Multiprozesadorea (Multiprocessing). Zenbait konputagailuk beren zereginak CPU bi edo gehiagoren artean bana ditzakete, horrela multiprozesadore­konfigurazio bat sortuz. Hori, orain dela gutxi arte, konputagailu handiekin bakarrik erabili ohi zen, baina azken urteetan konputagailu pertsonaletan ere hasi da erabiltzen. Prozesadore horiek antolatzeko bi arkitektura nagusi daude, memoria partekatua dutenak multiprozesadore edo SMP (symmetric multiprocessor) izenekoak– eta memoria pribatua dutenak –multikonputagailuak edo MPP (massively parallel processor) izenekoak–. Oraingoz prozesadoreen kopurua txikia izaten da konputagailu pertsonaletan (2 edo 3 gehienetan, baina batzuk 8 prozesadore edukitzera ailegatzen dira), superkonputagailuetan, ordea, ehunka edo milaka CPU koordinatzera ailegatu izan da, gela oso bat betez.

Konputagailuaren funtzioak 
William Stallings-en sailkapena jarraituz ordenagailuen funtzioak lau dira:

 Datu-prozesaketa: ordenagailura sartu eta biltegiratzen diren datuak era askotakoak badira ere, datuak maneiatzeko prozedurak funtsean gutxi dira.
 Datu-biltegiratzea: ordenagailu bat datuak gordetzeko gai izan behar da, bai aldi baterako bai betiko. Biltegiratzeko euskarria memoria da, bai hegazkorra (memoria nagusia) edo ez-hegazkorra (memoria lagungarria).
 Datu-transferentzia: ordenagailuak kanpoko gailuekin komunikatzeko gai izan behar da. Horretarako sarrera, irteera eta sarrera-irteerako periferikoak ditu. Datu transferentzia lokala edo distantzia handikoa.
 Kontrola: azkenez, aipatutako hiru funtzioak bere helburuak ordenatuta eta erabiltzailearen beharrak asetzeko, kontrol baten menpean egon behar dira. PUZaren barruan dagoen unitate kontrola lan honetaz arduratzen da.

Konputagailu-motak 

Tamainaren, prozesadorearen eta aplikazioaren arabera, konputagailu-mota hauek azaltzen zaizkigu gure eguneroko bizitzan:

 Konputagailu pertsonala (PC): tamaina txikiko ordenagailua da, dituen ezaugarriak kontuan hartuta, erabiltzaile bakarrarentzat pentsatua, hau da, une oro lanean pertsona bakarra onartzen duena. Etxeetan edo bulegoetan egoten direnak ordenagailu pertsonalak dira. Mahai gaineko ordenagailu ere esaten zaie. Lantoki gehienetan, sare lokal baten bidez, hainbat PC konektatuta egoten dira.

 Konputagailu eramangarria (laptop): pisu eta tamainarengatik pertsona batek berekin erraz eraman dezakeen konputagailu pertsonala.

 Zerbitzari edo ostalaria: sare batera konektatuta dagoen eta beste ordenagailu bat edo batzuk zerbitzuz eta informazioz hornitzen dituen ordenagailua. Era askotako ostalariak daude: gainerako terminalak hornitzen dituen ordenagailu nagusia, bezeroak hornitzen dituen zerbitzaria, periferikoak hornitzen dituen ordenagailu pertsonala eta abar. Bereziki, webgune baten edo gehiagoren orriak eskaintzen dituenari esaten zaio.

 Konputagailu txertatua: helburu oso zehatza betetzen duen konputagailua. Konputagailu txertatuen elementu osagarrien konfigurazioa minimoa izaten da.

 PDA (palmtop): laguntzaile digital pertsonala () deitua. Eskuan erabiltzeko konputagailu txikia da. Gehienetan, telefono mugikorra, web-nabigatzailea, multimedia-ikuskatzailea eta ukipen-pantaila ere integratzen ditu.

 Konputagailu nagusia (mainframe): enpresetan aplikazio bereziak edo handiak exekutatzeko erabiliak. Sare lokal bat osatzen duten gainerako ordenagailuak eta periferikoak ordenagailu nagusira konektatzen dira, eta, horien bidez, erabiltzaileak ordenagailu nagusiko informazioa erabil eta manipula dezake. Sistema eragile bat baino gehiago onartzen dute, eta abiadura handikoak dira. Memoriaren araberako tamaina izaten dute, eta handienek hainbat gigabyteko memoria nagusia eta hainbat terabyteko disko-memoria dituzte. Dezente azkarragoak izan ohi diren beste unitate batzuen esku uzten ditu ordenagailu nagusiak tarteko zenbait lan edo lan espezializatuak.

 Superkonputagailuak: oso kalkulu handiak eta konplexuak egin ahal izateko eraikitzen dira. Kriptografian, simulazioan eta grafikoen tratamenduan erabiltzen dira batez ere. Gehienetan, prozesadore ugari (ehunka edo milaka) makina “bakar” batean integratzen dira, denak elkarrekin lan egin dezaten (multiprozesadoreak, terminal-taldea).

Superkonputagailuak 

Superkonputagailuak milaka prozesadore konektatuta dituen (abiadura handiko konexio-sare batez) makina aurreratuak dira, konputazio ikaragarri handia behar duten problema oso konplexuak ebazteko erabiltzen dira. Txinako Sunway TaihuLight superkonputagailua 2016ko ekainean TOP500 zerrendako azkarrena zen, LINPACK benchmarkean 93 petaflops eskuratuta. 2023ko ekainean, munduko superkonputagailurik azkarrena Cray etxeko Frontier zen (AEB). 8.699.904 kalkulu-nukleo (core) zituen, eta informazioa oso abiadura handiz joaten zen batetik bestera: 800 gigabit baino gehiago segundoan (giga = 109). Hala, kalkulu-abiadura harrigarria lortu zuen: 1,2 exaflop/s.Konparazio soil bat egin dezakegu aurrerapen teknologikoaren abiaduraz jabetzeko: 1998an superkonputagailurik azkarrena (ASCI Red, 1 teraflop/s-ko abiadura lehen aldiz gainditu baitzuen) baino milioi bat aldiz azkarragoa zen Frontier. 2023ko ordenagailu eramangarri batek 4 nukleo izango zituen eta komunikazio-abiadura 1 Gbit/s inguruan izango zen.

Exaflop/s hori kalkulu-abiadura adierazteko unitate bat da: 1018 (trilioi bat) eragiketa segundo batean (batuketak, biderketak, zatiketak…). Hortaz, Frontier gauza zen, segundo batean, 1,2 × 1018 eragiketa exekutatzeko. Ez da erraza kopuru horren esanahia atzematea, baina adibide batekin  azal daiteke.

Azken datu zientifikoen arabera, unibertsoa Big Bang izenarekin identifikatzen dugun gertaera puntual batean sortu zen, duela 13.700 miloi urte edo. Beraz, segundotan, unibertsoaren adina 4,3 × 1017 s da. Bada, pertsona batek exekutatuko balu eragiketa bat segundoko eten gabe, 1,2 × 1018 segundo beharko luke, hau da, 2,8 aldiz unibertsoaren adina, Frontier superkonputagailuak segundo batean egiten dituen eragiketak egiteko. Beste ikuspuntu batetik, Lurreko biztanle orok, 7.000 milioi edo, segundoko eragiketa bat exekutatuko balu eten gabe, 5,5 urte beharko genituzke denon artean eragiketa kopuru hori egiteko.

Frontier "superkonputagailu giganteen" adibide bat da. Bartzelonan badago beste bat, MareNostrum, 153.000 kalkulu-nukleo dauzkana. Arruntak dira industrian zein laborategietan ehunka prozesadore erabiltzen dituzten konputagailuak (Kontuan hartu behar da aurreko datuak urtetik urtera aldatzen direla; informazioa eguneratueskaintzen du www.top500.org webguneak).

Erreferentziak

Ikus, gainera 
 Sistema informatiko
 Terminal
 Mainframe
 Hardware
 Superkonputagailu
 Konputagailu-sarea
 ENIAC
 Konputagailu pertsonala 

 Konputagailu eramangarria 

 Zerbitzari
 Agustin Arruabarrena

Kanpo estekak 

 Ordenagailuen hastapenaren artikulua
 Makroordenagailuen artikulua
 Ordenagailu eramangarriak, hobekuntza askoren lekuko. Zientzia.net atarian
 Zientzia.net atariko artikulua: "The Baby: lehenengo ordenagailu elektronikoa" (2006/06/01)

Konputagailuak
Informatika
Industria elektronikoa