# Ordinador

Un ordinador (del francès ordinateur) o computadora (del llatí computare, calcular) és una màquina electrònica que rep i processa dades per a convertir-les en informació útil.
Està formada per un conjunt de circuits integrats i d'altres components relacionats que pot executar amb exactitud, rapidesa i d'acord amb les instruccions que rep per part d'un usuari o d'un programa. Els ordinadors són aparells digitals en tant que es basen en l'àlgebra de Boole i el sistema binari. La principal característica que el diferencia d'altres màquines similars és que és una màquina de propòsit general, és a dir, que pot complir diverses tasques segons les possibilitats del llenguatge de programació i el maquinari. El model en què es basen els ordinadors actuals és arquitectura de Von Neumann, és a dir, que utilitzen la memòria principal per emmagatzemar dades i instruccions alhora, característica que els permet executar programes diferents, sent per tant una màquina de propòsit general. Això els diferencia d'altres aparells com les calculadores no programables.

## Etimologia

La paraula 'ordinador' prové del francès 'ordinateur', que al seu torn procedeix de 'ordonnateur' (qui dona ordres). En part per qüestions de màrqueting, ja que la descripció d'IBM per a la seva introducció a França en 1954 situava les capacitats d'actuació de la màquina prop de l'*omnipotència, idea equivocada que perdura avui dia en considerar que la màquina universal de *Turing és capaç de computar absolutament tot. El 1984, acadèmics francesos van reconèixer en el debat "Les jeunes, la technique et nous" que l'ús d'aquest substantiu és incorrecte, perquè la funció d'un PC és la de processar dades, no la de donar ordres. Mentre que d'altres, com el catedràtic de filologia llatina Jacques Perret, coneixedors de l'origen religiós del terme, el consideren més correcte que les alternatives. La utilització de la paraula 'ordinateur' s'ha exportat a llengües com el català, el castellà i el basc. D'altres idiomes europeus com el portuguès, l'alemany o el neerlandès, fan servir derivats del terme computadora. D'aquesta manera aconsegueixen parlar amb més propietat i definir correctament la funció dels PC's.

## Història

Els primers aparells que més s'assemblen als ordinadors actuals són de meitat del segle XX (1940-1945), encara que el concepte de computador ja existia prèviament (vegeu àbac i altres calculadores mecàniques). És una màquina electrònica que rep i processa dades per a convertir-los en informació útil. Un ordinador és una col·lecció de circuits integrats i altres components relacionats que pot executar amb exactitud, rapidesa i d'acord amb el que li indiqui un usuari o automàticament un altre programa, una gran varietat de seqüències o rutines d'instruccions que són ordenades, organitzades i sistematitzades en funció d'una àmplia gamma d'aplicacions pràctiques i precisament determinades. Aquest procés s'ha denominat amb el nom de programació i al qui el duu a terme se li diu programador. Els primers ordinadors electrònics eren de la mida d'una cambra gran, i consumien l'energia equivalent a la de centenars d'ordinadors personals (PC) actuals. Els ordinadors moderns estan basats en circuits integrats minúsculs i són molt més potents (milions de vegades més) que abans, mentre que ocupen molt menys espai. Fins i tot poden ser de la mida d'un rellotge de polsera i alimentats per una pila. Els ordinadors personals són avui dia la icona de la societat de la informació i és en això pensa la majoria de gent en sentir la paraula ordinador, si bé bé avui dia la forma més comuna d'ordinadors són els ordinadors encastats. Aquests ordinadors són petits i simples, i normalment són utilitzats per a controlar altres dispositius: des d'avions de combat, robots industrials o càmeres digitals fins a joguines infantils.

### Generacions d'ordinadors

La primera generació d'ordinadors (1944-1950), anomenada també ordinadors primitius, estava constituïda per circuits amb milers de vàlvules per a processar la informació. Com a conseqüència, les seves dimensions eren de gran magnitud i, alhora, l'escalfament que produïen ocasionava avaries molt complexes i de manera freqüent. S'arribà a la conclusió, doncs, que el que es necessitaven eren dispositius que fossin més petits, més ràpids i més freds.
Els operadors introduïen les dades i programes en un codi especial per mitjà de targetes perforades. L'emmagatzematge intern s'aconseguia amb un tambor que girava ràpidament sobre el qual un dispositiu de lectura i escriptura col·locava marques magnètiques.
L'any 1948, el transistor inventat per William Shockley, John Bardeen i Walter Brattain, físics estatunidencs, va demostrar que podia substituir les vàlvules de buit. Ben aviat s'aplicà el transistor al disseny dels ordinadors i fou d'aquesta manera com s'originà la segona generació d'ordinadors. La mida de la segona generació d'ordinadors (1950-1964) també era destacable, però, tanmateix, eren més segurs, freds i ràpids que no pas els de la generació anterior.
Alguns dels primers models que es van comercialitzar varen ser el TXO del Massachusetts Institute of Technology, l’IBM sèrie 7000 i el LEO Mark 3. Durant aquesta mateixa època, es varen introduir avenços que van ser fonamentals en els components de maquinari auxiliar; per exemple, l'emmagatzematge en disc magnètic, la memòria permanent, la modularitat dels components etc. En paral·lel, es van desenvolupar també els primers llenguatges de programació d'alt nivell, com FORTRAN, COBOL, ALGOL, entre d'altres.
Els llenguatges de programació d'alt nivell que estaven basats en una lògica, propera a la humana, van facilitar que els departaments d'informàtica poguessin fer de manera més senzilla més aplicacions per a la seva corporació. Algun exemple n'és el del llenguatge COBOL, amb el que es feien programes de comptabilitat a mida de l'empresa. També, amb el llenguatge FORTRAN, per exemple, es feien càlculs científics especialitzats pel mon acadèmic.
En conseqüència, doncs, amb l'aparició dels llenguatges de programació i d'aplicacions especialitzades, la necessitat de tenir coneixements informàtics específics va anar disminuint notablement.
L'any 1958, l'invent del primer circuit integrat de Jack Kilby, informàtic estatunidenc, permeté combinar en plaques de silici de dimensions reduïdes circuits sencers amb tots els seus elements -transistors, resistències, condensadors etc-. Amb això, l'any 1964 s'originà la tercera generació d'ordinadors, la qual fou anomenada, per primera vegada, miniordinadors. La sèrie més comercialitzada va ser la 360 de l'IBM. El circuit integrat va permetre abaratir els costos i reduir-ne les dimensions.
A principis de 1970, la tècnica d’integració a gran escala va permetre integrar milers de components en un petit circuit o xip. L'any 1971 l'empresa INTEL inventà el primer microprocessador. En un sol xip hi cabien totes les funcions de la unitat central de procés d’un ordinador -CPU-. Aquest, doncs, va ser el principi de la quarta generació d'ordinadors.
Des d'aleshores, la integració ha avançat de manera considerable; avui dia es poden integrar milions de components electrònics en un sol xip. Tot i que encara ens situem a l'època del microprocessador, des de principis de 1980 es pot distingir una cinquena generació d'ordinadors -coneguda també com a FGCS-, en què les tècniques d'integració a gran escala permeteren integrar desenes de milers d'elements en un mateix xip.

## Funcionament

El que defineix els ordinadors antics i els diferencia de la resta de màquines és que aquests poden ser programats o hakejats. Es pot donar una llista d'instruccions (el programa) a l'ordinador i aquest les guardarà i les durà a terme en algun moment.
En la majoria de casos, les instruccions dels ordinadors són simples: afegir un nombre a un altre, moure unes dades d'un lloc a un altre, enviar un missatge a un dispositiu extern, etc. Aquestes instruccions es llegeixen des de la memòria, i en general són executades en el mateix ordre en què han estat donades. Hi ha però instruccions especials per a indicar a l'ordinador que ha de saltar (endavant o endarrere) cap a algun altre punt del programa, i continuar d'executar-se des d'allà. Aquestes instruccions s'anomenen instruccions de salt (o branques). Fins i tot es pot fer que aquestes instruccions siguin condicionals, de manera que es poden executar diverses instruccions en funció del resultat d'alguna operació anterior, o d'algun esdeveniment extern. Molts ordinadors suporten directament subrutines, donant un tipus de salt que "recorda" el lloc des d'on ha saltat cap a una altra instrucció, per a retornar-hi quan la subrutina hagi acabat i continuar executant des d'aquell punt.
L'execució d'un programa es pot comparar amb llegir un llibre. Malgrat que una persona normalment llegirà cada lletra i línia seqüencialment, també pot tirar enrere en el text, o saltar paràgrafs sencers d'escàs interès. De manera similar, un ordinador pot anar enrere i repetir les instruccions d'alguna secció del programa una vegada i una altra, fins que es compleixi alguna condició interna. Això s'anomena flux de control del programa, que és el que permet a l'ordinador d'executar tasques repetidament sense intervenció humana.
Comparativament, una persona usant una calculadora pot fer les operacions aritmètiques bàsiques com sumar dos nombres amb pocs passos. Però sumar tots els nombres de l'1 al 1000 requeriria milers de petjades de tecla i molt de temps, amb la quasi-certesa de cometre algun error. En canvi, un ordinador es pot programar per a fer això amb només unes poques instruccions. Per exemple:
Quan s'indica d'executar el programa, l'ordinador fa la tasca repetitiva de sumar sense més intervenció humana. Pràcticament mai no s'equivocarà. Un PC modern pot enllestir la tasca en una milionèsima de segon.
Noteu, però, que un ordinador no pot "pensar" per ell mateix, sinó que només resol els problemes exactament de la manera que ha estat programat per a fer-ho. Un humà intel·ligent que es trobés amb el problema de dalt aviat es podria adonar que en lloc de sumar tots els nombres un per un, pot simplement usar l'equació
    $1+2+3+\cdots +n={{n(n+1)} \over 2}$
i arribar a la resposta correcta (500500) sense gaire esforç. És a dir que no tindria en compte solucions alternatives més eficients. Sovint es fan intents de crear programes que puguin esquivar aquesta limitació fonamental de les computadores. Aquest programari, que imita l'aprenentatge i l'adaptació humanes, forma part de la intel·ligència artificial.
El codi anterior (mov, add, cmp) és escrit en assemblador. És el llenguatge en què es programa la CPU, i està íntimament lligat amb cada model i marca de CPU, encara que el més usual és el x86. Per simplicitat, s'han creat llenguatges d'alt nivell que permeten de programar més fàcilment, com el C o el C++. Com que la CPU només entén el codi assemblador, un programa compilador fa la traducció del llenguatge d'alt nivell a assemblador. En llenguatges més moderns com C# o Java, el programa es compila només a un codi intermediari, que posteriorment serà traduït a assemblador, en temps d'execució, per un intèrpret o màquina virtual.
Llenguatge de programació :
| Llenguatges d'alt nivell més usats | BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal |
| Llenguatges script més usats | Bourne script, JavaScript, Python, Ruby, PHP, Perl |

## Arquitectura

Encara que les tecnologies emprades en les computadores digitals han canviat molt des que van aparèixer els primers models en els anys quaranta, la majoria encara utilitza l'Arquitectura de von Neumann, publicada a principis dels anys 1940 per John von Neumann, que altres autors atribueixen a John Presper Eckert i John William Mauchly.
L'arquitectura de Von Neumann descriu un ordinador amb quatre seccions principals: la unitat aritmètic lògica (ALU per les seves sigles de l'anglès: Arithmetic Logic Unit), la unitat de control, la memòria central, i els dispositius d'entrada i sortida (E/S). Aquestes parts estan interconnectades per canals de conductors anomenats busos:
La memòria és una seqüència de cel·les d'emmagatzematge numerades, on cada una és un bit o unitat d'informació. La instrucció és la informació necessària per fer allò que es desitja amb el computador. Les cel·les contenen dades que es necessiten per dur a terme les instruccions, amb el computador. El nombre de cel·les varien molt d'ordinador a ordinador i les tecnologies emprades per a la memòria han canviat força, van des dels relés electromecànics, tubs plens de mercuri en els quals es formaven els polsos acústics, matrius d'imants permanents, transistors individuals a circuits integrats amb milions de cel·les en un sol xip. En general, la memòria pot ser reescrita diversos milions de vegades (memòria RAM); s'assembla més a una pissarra que a una làpida (memòria ROM) que només es pot escriure una vegada. El processador (també anomenat Unitat central de processament o CPU) consta de:
Un típic símbol esquemàtic per a una ALU: A i B són operands, R és la sortida; F és l'entrada de la unitat de control; D és un estat de la sortida. La unitat aritmètic lògica o ALU és el dispositiu dissenyat i construït per dur a terme les operacions elementals com les operacions aritmètiques (suma, resta…), operacions lògiques (I, O, NO), i operacions de comparació o relacionals. En aquesta unitat és on es fa tot el treball computacional. La unitat de control segueix la direcció de les posicions en memòria que contenen la instrucció que l'ordinador està a punt de seguir en aquell moment, recupera la informació posant-la en la ALU per a l'operació que ha de desenvolupar. Transfereix després el resultat a ubicacions apropiades en la memòria. Una vegada que passa això, la unitat de control va a la següent instrucció (normalment situada a la següent posició, a menys que la instrucció sigui una instrucció de salt, informant a l'ordinador que la propera instrucció estarà ubicada en una altra posició de la memòria). Els dispositius E/S serveixen a l'ordinador per obtenir informació del món exterior i / o comunicar els resultats generats per l'ordinador a l'exterior. Hi ha una gamma molt extensa de dispositius E/S com teclats, monitors, unitats de disc flexible o càmeres web.

### Programes

El tret que defineix els ordinadors moderns que els distingeix de totes les altres màquines és que poden ser programats. S'ha de dir que algun tipus d'instruccions (el programa) es pot donar a l'ordinador, i comportarà un procés en ells. Mentre alguns ordinadors poden tenir conceptes estranys "instruccions" i "imprimir" (vegi computació de quantum), els ordinadors moderns basats en l'arquitectura de von Neumann, sovint tenen un codi màquina en forma d'un llenguatge de programació imperatiu.
En termes pràctics, un programa informàtic poden ser just unes quantes instruccions o estendre's a molts milions d'instruccions, per exemple com fer els programes per a processadors de textos i navegadors web. Un ordinador modern típic pot executar milers de milions d'instruccions per segon (gigaflops) i rarament comet una equivocació durant molts anys de funcionament.

## Components

L'ordinador està compost pel maquinari (hardware) i el programari (software).

### Maquinari

Un ordinador de propòsit general té quatre parts principals: la unitat aritmeticològica (ALU), la unitat de control, la memòria i les entrades i sortides dels diversos dispositius (de forma abreujada, Entrada/Sortida). Totes aquestes parts són interconnectades mitjançant busos, que normalment són conjunts de cables.
El conjunt de la unitat de control, l'ALU, els registres, i l'E/S bàsica és conegut com la Unitat Central de Procés (CPU) o processador. Originàriament les CPUs es construïen separades, però des de mitjans dels 70 s'han construït en un únic circuit integrat anomenat microprocessador.

#### Unitat de Control

La Unitat de Control (també anomenat sistema de control o controlador central) dirigeix els diferents components d'un ordinador. Llegeix i interpreta (descodifica) les instruccions del programa una per una i les converteix en una sèrie de senyals de control que operen les altres parts de l'ordinador. Els sistemes de control d'ordinadors avançats poden arribar a reordenar instruccions per tal d'optimitzar-ne l'execució.
Una peça clau de tota CPU és el comptador de programa, una cel·la de memòria (registre) especial, que manté l'adreça de la memòria on està situada la següent instrucció del programa.
La funció del sistema de control és com es descriu a continuació. Noti's que es tracta d'una versió simplificada, i que alguns d'aquests passos es poden executar concurrentment o en un diferent ordre depenent del tipus de CPU:
Com que el comptador de programa és (conceptualment) un conjunt com qualsevol altre de cel·les de memòria, pot canviar-se amb les operacions de l'ALU. Sumar 100 al comptador de programa faria que la següent instrucció es llegís 100 posicions més endavant en el codi del programa. Les instruccions que modifiquen el comptador de programa normalment es coneixen per "salts" i permeten fer bucles (instruccions que es repeteixen) que són també sovint instruccions condicionals (ambdós, exemples de control de flux).
Així doncs, la seqüència d'operacions que la CPU du a terme per executar una instrucció ve a ser un altre programa en si. I de fet, en els dissenys de CPU més complexos hi ha una part encara més petita, anomenada microseqüenciador, que s'encarrega d'executar un programa de microcodi com el de dalt.

#### Unitat aritmeticològica

La ALU és capaç de fer dos tipus d'operacions: aritmètiques i lògiques.
El conjunt d'operacions aritmètiques que una ALU suporta pot estar limitada a sumar i restar, o bé pot incloure funcions per multiplicar, dividir, funcions trigonomètriques i arrels quadrades. Algunes només poden operar en nombres enters (integer) mentre que d'altres usen punt flotant amb una precisió limitada. Tot i així, qualsevol ordinador que pugui fer les operacions bàsiques pot ser programat per efectuar operacions més complexes descomponent-les en diverses operacions simples que l'ordinador pugui executar. Per tant, qualsevol ordinador pot programar-se per fer qualsevol operació aritmètica, tot i que un ordinador que la suporti directament per maquinari l'executarà més ràpid (en menys passos).
El conjunt d'operacions lògiques retornen true o false (cert o fals). Les comparacions entre nombres (més gran que, més petit que, igual) com ara "64 és més gran que 65?".
O altres operacions lògiques com AND, OR, XOR, NOT. Que són útils entre altres coses per construir predicats condicionals, a partir del qual s'executaran unes instruccions si es retorna true o unes altres si es retorna false.
Els ordinadors superescalars contenen diverses ALUs que els permeten processar moltes instruccions alhora. Algunes targetes gràfiques i ordinadors disposen d'instruccions SIMD i MIMD que els permeten executar operacions sobre vectors i matrius.

#### Memòria principal

La memòria la podem imaginar com una llista de cel·les en què poden llegir-se i escriure nombres. Cada cel·la, numerada amb una adreça, pot emmagatzemar un únic nombre. A aquesta memòria se li envien ordres de l'estil "posa el nombre 123 a la cel·la número 1357" o "afegeix el nombre que hi ha a la cel·la 1357 al nombre que hi ha a la cel·la 2468 i posa el resultat a la cel·la 1595". La informació que es guarda a la memòria pot representar qualsevol cosa, amb la mateixa facilitat. Des de lletres a nombres, o les mateixes instruccions del programari que indiquen a l'ordinador què fer. En tant que la CPU no diferencia entre els diferents tipus d'informació, és responsabilitat del programari donar significat a allò que la memòria tan sols veu com a nombres.
En la majoria d'ordinadors moderns, cada cel·la de memòria guarda els nombres binaris en grups de vuit bits (anomenat byte o octet en català). Cada octet pot representar fins a 256 nombres diferents; o bé des de 0 a 255 o des de -128 a +127. Per emmagatzemar nombres grans, es poden usar diversos octets consecutius (normalment, dos, quatre o vuit). Habitualment els nombres negatius es guarden en format complement a dos. Són possibles altres formats, però normalment no es veuen fora d'aplicacions especialitzades o contextos històrics. En definitiva, un ordinador pot emmagatzemar qualsevol informació que es pugui representar d'alguna manera mitjançant nombres. Els ordinadors moderns tenen de milers de milions a un bilió de bytes de memòria.
La CPU conté un conjunt especial de cel·les de memòria anomenats registres que es poden llegir i escriure molt més ràpidament que la memòria principal. Típicament hi ha de 2 a 100 registres depenent del tipus de CPU. Aquests registres s'usen per les dades que es necessiten més freqüentment, per evitar haver d'accedir a la memòria principal, molt més lenta. Això produeix grans guanys en velocitat. La distància creixent de temps d'accés entre els registres i la memòria principal és un problema anomenat memory wall.
La memòria principal pot ser de dos tipus: memòria d'accés aleatori (RAM) o read-only memory (ROM) (memòria de només lectura). La CPU pot llegir i escriure a la RAM en qualsevol moment que se li ordeni, mentre que la ROM ja ve carregada amb programari i dades que mai canvien i que per tant són de només lectura. La ROM típicament s'usa per a les instruccions que l'ordinador executa en arrencar. En general, els continguts de la RAM s'esborren quan es talla l'alimentació elèctrica, mentre que la ROM preserva les dades indefinidament.

#### Entrada/Sortida

L'Entrada/Sortida (abreujat E/S, en anglès I/O) és la manera que té l'ordinador d'enviar i rebre informació del món exterior. Els components d'E/S s'anomenen perifèrics, i són de tres tipus: d'entrada, de sortida, i d'entrada i sortida:
* Els perifèrics d'entrada típics d'un ordinador personal són el teclat, el ratolí, la palanca de control (joystick), l'escàner, el micròfon o la càmera web.
* Els perifèrics de sortida més habituals són el monitor, els altaveus o la impressora.
* Entre els perifèrics d'entrada i sortida hi ha les xarxes informàtiques, les pantalles tàctils i la memòria secundària, categoria de la qual formen part tota una sèrie de dispositius d'emmagatzematge com els disquets, discs durs, CD (disc compacte), DVD, cintes, memòries flaix.
Molts dispositius d'E/S es poden considerar ordinadors en si: independents, amb la seva pròpia memòria i CPU.

#### Ratolí

El ratolí (de la traducció de mouse en anglès) és un dispositiu perifèric d'ordinador, generalment fabricat en material plàstic, que podem considerar, al mateix temps, com un dispositiu d'entrada de dades i de control, depenent del programari que maneja en cada moment.
Sol estar dotat de dos o tres botons de pulsació que permeten activar fent-hi clic diverses accions depenent del botó premut (esquerre, central, dret) i de l'àrea en el que es troba la puntera. Actualment la majoria de ratolins tenen una roda central que substitueix al tercer botó, això permet més comoditat en l'ús d'algunes aplicacions (com per exemple, els processadors de text o les finestres dels navegadors d'Internet) a l'integrar accions relacionades amb el moviment ascendent i descendent del contingut de la pantalla.

#### Teclat

Un teclat de computadora és un dispositiu perifèric, físic o virtual (com, per exemple, els teclats de pantalla o tàctils), utilitzats per a la introducció d'ordres i dades en una computadora. Té el seu origen en els teletips i les màquines d'escriure elèctriques, que es van utilitzar com a teclats dels primers ordinadors i dispositius d'emmagatzematge (gravadors de cinta de paper i targetes perforades).

#### Impressora

Una impressora és un dispositiu perifèric d'una computadora que permet generar una còpia física de textos o gràfics de documents guardats en format electrònic, imprimint en paper les dades, utilitzant cartutxos de tinta o tecnologia làser. Moltes impressores són utilitzades com a perifèrics, i estan permanentment unides a la computadora per un cable.

#### Multitasca

Mentre que un ordinador pot només executar un programa, normalment és necessari executar diversos programes alhora o si més no simular-ho. Això s'aconsegueix amb la multitasca: tot i que l'ordinador executa un sol programa a cada moment, el fet que els diferents programes es vagin succeint en ordre molt ràpidament (mitjançant canvis de context) provoca la sensació que aquests diferents programes s'executen en paral·lel, tot i només executar-se'n un en qualsevol instant donat.
Això s'aconsegueix amb un senyal especial anomenat interrupció, que provoca la interrupció del codi actualment en execució per donar pas a un altre codi. El punt del codi on s'ha interromput es desa de manera que més tard es pugui reprendre l'execució en aquell mateix punt. Quan s'executen diversos programes, hi ha interrupcions centenars de vegades per segon, per distribuir entre els diferents programes l'ús del recurs limitat que és el processador. Aquest concepte de compartició s'anomena time-sharing.
Abans de l'era dels ordinadors barats, el principal ús de la multitasca era el de permetre a diverses persones compartir el mateix ordinador.
A primera vista podria semblar que la multitasca provoca que els diferents programes s'executin molt més lentament - en proporcionalitat directa amb el nombre de programes que s'estan executant. Però això no es dona, ja que els programes es passen la majoria del seu temps esperant que els dispositius d'entrada/sortida (molt lents en comparació amb el processador) acabin la seva tasca. Si per exemple un programa està esperant que l'usuari cliqui amb el ratolí o premi una tecla, aleshores a aquest programa no se li assignarà temps d'ús del processador fins que el fet que s'està esperant s'esdevingui. Això allibera temps per als altres programes, de manera que es poden executar diversos programes alhora sense que l'alentiment global del sistema sigui inacceptable.

#### Multiprocessament

Alguns ordinadors són dissenyats per distribuir la seva càrrega entre diverses CPU, una tècnica que abans s'usava només en ordinadors grans i potents, com els supercomputadors, els mainframes i els servidors. Avui dia ja hi ha molts ordinadors portàtils i de sobretaula amb sistemes multiprocessador i multi-core (múltiples CPUs en un sol circuit integrat).
Els supercomputadors en particular, normalment ofereixen arquitectures úniques que difereixen significativament de les arquitectures bàsiques de programa emmagatzemat i dels ordinadors de propòsit general. Normalment disposen de milers de CPUs, interconnexions d'alta velocitat customitzades, i maquinari especialitzat. Aquests dissenys però acostumen a ser útils només per a certes tasques específiques, degut a la gran organització necessària dels programes per aprofitar tots els recursos disponibles alhora. Les supercomputadores s'acostumen a fer servir per simulacions a gran escala, renderització de gràfics, aplicacions criptogràfiques, i altres tasques molt "paral·lelitzables".

#### Xarxes informàtiques i Internet

Els ordinadors s'han fet servir per coordinar la informació de diversos llocs des dels anys 50. El sistema SAGE de l'exèrcit dels Estats Units va ser el primer sistema a gran escala d'aquest tipus. Aquest sistema va conduir al desenvolupament d'altres sistemes especialitzats d'ús comercial, com Sabre.
Els anys 70, informàtics d'instituts de recerca al llarg dels Estats Units van començar a connectar els seus ordinadors entre ells fent servir tecnologies de telecomunicacions. Aquest esforç fou fundat per l'ARPA (avui dia DARPA), resultant en la xarxa informàtica anomenada ARPANET. Les tecnologies que feren Arpanet possible s'estengueren i evolucionaren.
Amb el temps, la xarxa s'estengué més enllà dels entorns acadèmics i militars i es convertí en Internet. L'emergència de les xarxes informàtiques van comportar la redefinició de la naturalesa i les fronteres de l'ordinador. Els sistemes operatius i les aplicacions es van modificar per fer possible accedir a recursos ubicats en altres ordinadors de la xarxa, com ara dispositius perifèrics o informació emmagatzemada, com a extensió dels recursos de l'ordinador. En un inici, aquestes facilitats només eren disponibles per a treballadors en entorns d'alta tecnologia, però els anys 90, la difusió d'aplicacions com el correu electrònic o la World Wide Web, combinat amb el desenvolupament de tecnologies de xarxa ràpides i barates com l'Ethernet o l'ADSL, significà la implantació de xarxes informàtiques d'una manera quasi ubiqua. De fet, el nombre d'ordinadors en xarxa està en continu creixement. Una gran part dels ordinadors personals es connecten regularment a Internet per comunicar i rebre informació. La xarxes sense fils, usant xarxes amb tecnologia WiFi o xarxes de telefonia mòbil, ha significat que les xarxes informàtiques estiguin esdevenint comunes fins i tot en entorns de computació mòbil.

### Programari

Es coneix com programari (programari) a l'equipament lògic o suport lògic d’una computadora digital; compren el conjunt dels components lògics necessaris que fan possibles tasques específiques, en contraposició als components físics del sistema, anomenats maquinari. El programari (en anglès Software) és la part immaterial de l'ordinador. De vegades al programari fix se l'anomena firmware (el programari dels drivers o de la BIOS). El primer programari en executar-se és el de la BIOS, seguit pel sistema operatiu.
El sistema operatiu és un tipus especial de programa. Essencialment serveix per oferir multitasca, repartint els recursos de l'ordinador entre les diferents aplicacions. Actualment, Windows és el sistema operatiu més utilitzat amb un 90 % de quota. El segueixen Linux i MacOS. Les llibreries són col·leccions de programari que contenen funcions d'ús comú, i permeten de reaprofitar codi.
Programari :
| Sistema Operatiu | Unix/BSD | openBSD, NetBSD, FreeBSD, Solaris |
| Sistema Operatiu | GNU/Linux | Debian, Fedora, Gentoo, Mandriva, Red Hat, Slackware, SuSE, Ubuntu, Lliurex |
| Sistema Operatiu | Microsoft Windows | Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows CE, Windows 7, Windows 8, Windows 10 |
| Sistema Operatiu | DOS | PC-DOS, MS-DOS i altres |
| Sistema Operatiu | Mac OS | Mac OS classic, Mac OS X |
| Sistema Operatiu | Altres | SO Experimentals, en Temps Real i Encastats |
| Llibreries | Multimèdia | DirectX, OpenGL |
| Llibreries | Programació | C standard library, Standard Template Library, .NET |
| Dades | Protocol | TCP/IP, FTP, HTTP, SMTP |
| Dades | Format de fitxer | HTML, XML, JPEG, MPEG, PNG |
| Interfície d'usuari | Interfície gràfica d'usuari | Microsoft Windows, GNOME, KDE, QNX Photon, Common Desktop Environment, Graphical Environment Manager |
| Interfície d'usuari | Interfície de text | Línia d'ordres, shells |
| Aplicacions | Paquet ofimàtic | Processador de text, Autoedició, Presentacions, Base de dades, Scheduling & Time management, Full de càlcul, Comptabilitat |
| Aplicacions | Internet | navegador web, Client E-mail, servidor web, Missatgeria instantània |
| Aplicacions | Disseny i producció | Computer-aided design, Computer-aided manufacturing, ERP, Plant management, Robotic manufacturing, Supply chain management |
| Aplicacions | Gràfics | Editor raster, Vector graphics editor, Modelador 3D, gràfics 3D, Edició de video, Processament d'imatges |
| Aplicacions | Audio | Digital audio editor, Audio playback, Mixing, Audio synthesis, Informàtica musical |
| Aplicacions | Enginyeria del programari | Compilador, Assembler, Desassemblador, Interpreter, Debugger, editor de text, Entorn integrat de desenvolupament, Performance analysis, Revision control, Software configuration management |
| Aplicacions | Videojoc | Videojoc esportiu, Videojoc de rol tàctic, Videojoc d'aventures, Videojoc de plataformes, Videojoc d'acció |
| Aplicacions | Altres | Intel·ligència artificial, Antivirus, educatius, Installer/Package management systems, Gestor d'arxius |

## La imatge a l'ordinador

Codificar imatges en forma binària no és tan senzill com codificar números o textos. En qualsevol cas, com tota la informació que pot manipular un ordinador, haurà de ser convertida a forma digital i guardada per a la seva visualització en una zona de la memòria volàtil, la RAM, o en un dispositiu permanent.
Per a poder controlar la imatge de l'ordinador, imaginarem la pantalla dividida en files i columnes. Cada intersecció d'aquestes s'anomena píxel (contracció de la locució anglesa picture element).
Per poder tenir en algun lloc de l’ordinador la informació corresponent a una imatge cal reservar-hi una zona de la memòria per representar la pantalla. S'anomena memòria de pantalla o memòria de vídeo o videoRAM. La quantitat de memòria necessària per emmagatzemar una imatge és força gran.
Per produir una visualització a partir de la memòria de vídeo, uns circuits, anomenats multiplexors d'exploració, llegeixen la memòria de pantalla sincronitzats amb l'exploració de trama del monitor o la corresponent en una pantalla LCD. En el cas d'un tub de raigs catòdics, els circuits de display de vídeo modulen la intensitat dels feixos d’electrons en funció del contingut d’aquesta memòria de pantalla, de la mateixa manera que en un televisor ho feien a partir del senyal de vídeo compost estret del senyal d'antena.
Naturalment, per aconseguir imatges més realistes necessitarem la capacitat de produir colors, o com a mínim diversos nivells de gris entre el blanc i el negre estrictes. Això s'aconseguirà enviant diversos nivells de potencial del senyal que modula el feix d'electrons del tub per canviar la velocitat dels electrons i, per tant, la intensitat de la llum del fòsfor sobre el qual incideixen aquests electrons. Naturalment, la memòria de vídeo haurà de poder distingir tants valors numèrics diferents com nivells de gris es vulgui reproduir.
Per tant, haurem d’augmentar el nombre de bitsdedicats a cada píxel de la pantalla. Cada bit que s'afegeix duplica el nombre de nivells disponibles. Amb tres plans de bits podem representar a la pantalla imatges fins a 8 (2$^3$) nivells de gris. És convenient pensar que la memòria està distribuïda en plans de bits, de manera que a cada píxel li pertoca un bit de cada un dels tres plans.

## Tipus d'ordinador

En baixa s'enumeren alguns dels molts tipus d'ordinadors. Algunes d'aquestes distincions són més històriques que actuals.
* Supercomputador, són els ordinadors amb més capacitat de càlcul i, per tant, els més cars, més voluminosos i escassos.
* Ordinador central, també anomenat mainframe: acostumen a formar part d'una xarxa amb altres ordinadors centrals, miniordinadors o microordinadors. A les empreses punteres, serveixen per als càlculs que empren major memòria. Aquests càlculs acostumen a ser sol·licitats des de microordinadors pels usuaris de la xarxa.
* Miniordinador: Tots els usuaris es connecten al miniordinador. En desús, per la popularització de les xarxes i l'augment de capacitat dels microordinadors.
* Ordinador personal, categoria en què estan inclosos l'ordinador de sobretaula i l'ordinador portàtil.
* Micrordinador un tipus d'ordinador personal enfocat al mercat domèstic. Eren els ordinadors més barats, més petits i més populars. També coneguts com a home computer, s'endollaven directament a la televisió.
* Microcontrolador, ordinador de poca potència i baix consum integrat en un sol xip, usat per rentadores, torradores, rellotges, etc.
* Estació de treball (Workstation), similars que els PC's però amb més potència. Per a professionals que usen aplicacions intensives com CAD, renderització 3D, etc.
* Organitzador personal
* Telèfon mòbil
* Tauleta tàctil

## Curiositats

Alguns ordinadors més grans es diferencien del model anterior en un aspecte important: tenen diverses CPU i unitats de control que treballen alhora. A més, alguns, sobretot utilitzats per a la recerca, són molt diferents del model anterior però no tenen gaires aplicacions comercials.

## Procediments analògics i digitals de l'ordinador

Els ordinadors actuals poder encabir-se en dues categories genèriques, "analògics" i "digitals", en funció de la manera en què estan representats els nombres en la màquina que els fa servir.

### El procediment analògic

En la màquina analògica, cada nombre està representat per la quantitat física corresponent, el valor de la qual, mesurat en una unitat predeterminada, és igual al nombre en qüestió. Aquesta quantitat pot ser l'angle de rotació d'un disc concret, la intensitat d'un corrent o el valor d'un voltatge (relatiu), etcètera. Perquè la màquina computi, és a dir, operi amb aquests nombres segons una pauta preestablerta, cal que li proporcionem els components que puguin calcular amb aquestes quantitats representatives les operacions matemàtiques bàsiques.
Les operacions bàsiques convencionals
Aquestes operacions bàsiques se sol entendre que són les quatre operacions aritmètiques: la suma (l'operació x + y), la resta (x - y), la multiplicació (xy) i la divisió (x/y).
És evident que no resulta difícil sumar o restar dos corrents (ajuntant-los en direccions paral·leles o antiparal·leles). La multiplicació (de dos corrents) és més difícil, però hi ha diversos components electrònics que permeten aquesta operació. I passa el mateix amb la divisió (d'un corrent per un altre). (Tant per a la multiplicació com per la divisió -però no per a la suma i la resta- és clar que és rellevant la unitat en què es mesura el corrent.)
Operacions bàsiques poc habituals
Un tret força notable d'algunes màquines analògiques és el següent: de vegades la màquina està construïda sobre operacions "bàsiques" que no són les quatre operacions aritmètiques que acabem d'esmentar. Per exemple, el clàssic "analitzador diferencial", que expressa els nombres mitjançant els angles en què giren uns discs determinats, funciona així: en comptes de sumar, x + y, o restar, x - y, el que fa són operacions del tipus (x +- y) / 2 perquè les produeix un mecanisme fàcil de trobar i senzill, "l'eix diferencial" (el mateix mecanisme que es fa servir a l'eix posterior dels automòbils). En comptes de fer multiplicacions xy, s'utilitza un mètode molt diferent: en l'analitzador diferencial, totes les quantitats apareixen com a funcions del temps, i l'analitzador diferencial fa servir un òrgan anomenat integrador, que, per al es quantitats x(t), y(t), calcula la integral de Stieltjes z(t) = l$^t$ x(t) dy(t).
Aquest esquema és important en tres sentits:
Primer: les tres operacions anteriors, adequadament combinades, reprodueixen tres de les quatre operacions aritmètiques bàsiques habituals, és a saber, la suma, la resta i la multiplicació.
Segon: en combinació amb alguns trucs de realimentació, també generen la quarta operació, la divisió.
Tercer: i aquesta és la justificació bàsica de l'analitzador diferencial: les seves operacions bàsiques, (x +- y) / 2 i integració són, per a moltes classes de problemes, més econòmiques que les operacions aritmètiques (x + y, x - y, xy, x / y). Més en concret, qualsevol ordinador que hagi de resoldre problemes matemàtics complexos cal "programar-lo" perquè ho faci, i això vol dir que la complexa operació de resoldre el problema s'ha de substituir amb una combinació de les operacions bàsiques de la màquina.
Això sol comportar una cosa encara més subtil: aproximar-se a aquesta operació -en la mesura desitjada (prescrita)- amb combinacions d'aquesta mena. Ara bé, per a una classe de problemes un conjunt d'operacions bàsiques pot resultar més eficient, és a dir, pot permetre l'ús de combinacions més simples i menys extenses que un altre conjunt. Així, per exemple, per a sistemes d'equacions diferencials ordinàries -per a les quals es va idear l'analitzador diferencial-, les operacions bàsiques són més eficients que les operacions aritmètiques bàsiques ja esmentades.

### El procediment digital

En les màquines digitals, cada nombre es representa de la mateixa manera que en l'escriptura o la impressió convencionals, o sigui, com una seqüència de dígits decimals, cadascun dels quals als seu torn, està representat per un sistema de "marcadors".
Els marcadors i les seves combinacions i agrupacions
Un marcador que pugui aparèixer de deu maneres diferents és suficient per representar un dígit decimal. Una marcador binari, o sigui, que només pugui aparèixer de dues formes diferents, s'haurà d'utilitzar agrupant-lo amb d'altres per aconseguir un dígit decimal. (Un grup de tres marcadors binaris permet formar vuit combinacions, un nombre insuficient, mentre que un grup de quatre marcadors binaris ens permet obtenir 16 combinacions, una quantitat més que suficient. Per tant, cal fer servir grups d'un mínim de quatre marcadors per cada dígit decimal, encara que hi pugui haver raons per fer servir grups més nombrosos). Un exemple de marcador de deu valors seria un impuls elèctric que aparegués en una de deu línies preassignades, mentre que un marcador binari seria un impuls elèctric en una línia preassignada, de manera que la seva presència o absència en definís la informació (el "valor" del marcador). Un altre marcador binari possible seria un impuls elèctric que pot tenir una polaritat positiva o negativa i, és clar, hi ha molts altres possibles marcadors igualment vàlids.
Un altre cosa sobre els marcadors: els marcador amb deu valors diferents que acabo d'anomenar és evident que no és sinó el resultat d'agrupar deu marcadors binaris, és a dir, que és altament redundant en el sentit que hem explicat. El grup mínim, que està format per quatre marcadors binaris, també quedaria enquadrat en el mateix esquema. Agafem, per exemple, un sistema de quatre línies preassignades tals que hi puguin aparèixer impulsos elèctrics simultanis en qualsevol combinació. Se'n podrien formar 16, de combinacions, 10 qualsevol de les quals es podria establir que corresponguessin als dígits decimals.
Fixeu-vos que aquests marcadors, que solen ser impulsos elèctrics (o també voltatges o corrents elèctrics amb la durada necessària perquè siguin vàlids com a indicadors), s'han de controlar amb circuits de porta.
Classes de màquines digitals i els seus components bàsics
En les diferents etapes de desenvolupament fins avui, s'han fet servir successivament relés electromecànics, vàlvules, diodes, nuclis ferromagnètics i transistors -alguns d'ells en combinació amb els altres, i alguns preferentment en els òrgans de memòria de la màquina, mentre que altres es feien servir preferentment fora de la memòria (en els òrgans "actius"), la qual cosa ha donat origen a les corresponents varietats de màquines digitals.
Esquemes en sèrie i en paral·lel
Cada nombre es representa en la màquina mitjançant una seqüència de marcadors de deu valors diferents (o grups de marcadors), que poden estar organitzats de manera que apareguin simultàniament en diferents òrgans de la màquina -en paral·lel- o de manera successiva en un mateix òrgan de la màquina -en sèrie. Si la màquina està feta per processar, per exemple, nombres decimals de dotze xifres, amb sis dígits "a l'esquerra" de la coma i sis "a la dreta", llavors caldrà dotar-la de dotze marcadors (o grups de marcadors) en cada canal d'informació de la màquina que hagi de processar aquests nombres.
Les operacions bàsiques convencionals
Les operacions de les màquines digitals s'han basat sempre en les quatre de l'aritmètica. Pel que fa als procediments, prou coneguts, que s'hi fan servir, convé dir el següent:
Primer, pel que fa a la suma: contràriament als processos físics que donen lloc a aquesta operació en les màquines analògiques, en aquest cas l'operació se cenyeix a regles molt estrictes de caràcter lògic, sobre com formar sumes digitals, quan es genera ròssec i com repetir i combinar aquestes operacions. El caràcter lògic de la suma digital resulta encara més evident quan es fa servir el sistema binari en comptes del decimal. De fet, la taula de la suma binària (0+0= 00, 0+1= 1+0= 01, 1+1= 10) es pot definir així: el dígit suma és 1 si els dos dígits sumands són diferents, si no, és 0; el dígit de ròssec és 1 si els dos dígits sumands són 1, si no, és 0. A causa de la possible presència d'un dígit de ròssec, es fa necessària una taula de suma binària per a tres elements (0+0+0= 00, 0+0+1=0+1+0=1+0+0= 01, 0+1+1=1+0+1=1+1+0= 10, 1+1+1=11), que es definiria així: el dígit suma és 1 si el nombre d'1 entre els dígits sumands (inclòs el ròssec) és senar (1 o 3), si no, és 0; el dígit de ròssec és 1 si els 1 entre els dígits sumands (inclòs el ròssec) són majoria (2 o 3), si no, és 0.
En segon lloc, pel que fa a la resta: l'estructura lògica és molt semblant a la de la suma. Fins i tot es pot reduir a una suma -i sovint es fa- amb una simple "complementació" del subtrahend.
En tercer lloc, pel que fa a la multiplicació: el seu caràcter fonamentalment lògic és encara més evident -i la seva estructura està més desenvolupada- que en el cas de la suma. Amb cada dígit del multiplicador es formen els productes (del multiplicand), que solen estar precalculats per a tots el dígits decimals possibles mitjançant diversos tipus d'addició, i després es fa la suma total, amb els desplaçaments que s'escaiguin. De nou, en el sistema binari es fa encara més palès i transparent el seu caràcter lògic. Com que els únics dígits possibles són 0 i 1, s'omet el producte digital quan el multiplicand és 0 i té el valor del mateix multiplicand quan és 1.
Tot això s'aplica al producte de factors positius. Quan tots dos factors poden tenir tant signe positiu com negatius, les quatre situacions possibles estan regulades per regles lògiques addicionals.
Quart, pel que fa a la divisió: la seva estructura lògica és comprable a la de la multiplicació, llevat que en aquest cas hi intervenen diversos procediments de subtracció iteratius de prova i error, amb regles lògiques específiques (per a la formació dels dígits del quocient) en les diverses situacions alternatives que es poden produir i que cal tractar amb un esquema en sèrie repetitiu.
En resum, totes aquestes operacions són radicalment diferents dels processos físics que es fan servir en les màquines analògiques. Són totes models d'accions alternatives, organitzades en seqüències molt repetitives i es regeixen per regles lògiques estrictes. Sobretot en els casos de la multiplicació i al divisió, aquestes regles tenen un caràcter lògic força complex.

## Referències

* ↑ «15. Les 5 generacions d’ordinadors - informàtica 4t». [Consulta: 10 desembre 2021].
* ↑ Cambridge Computer Graphics «Cambridge computer graphics». Computer-Aided Design, 20, 5, 6-1988, pàg. 302. DOI: 10.1016/0010-4485(88)90102-9. ISSN: 0010-4485.
* ↑ L'ordinador i els seus components.
* ↑ «【COMPUTADORS PERSONALS】 Què són i quins tipus hi ha? ▷ 2022», 07-04-2020. Arxivat de l'original el 2022-10-04. [Consulta: 21 juny 2022].
* ↑ Neumann, John von. L'ordinador i el cervell. Obrador Edèndum i Publicadions URV, 2009. ISBN 978-84-936609-8-7.

## Bibliografia

* Lavington, Simon. A History of Manchester Computers. 2a edició. Swindon: The British Computer Society, 1998. ISBN 0850121558.
* Stokes, Jon. Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture. San Francisco: No Starch Press, 2007. ISBN 978-1-59327-104-6.
* Stern, Nancy. From ENIAC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers (en anglès). Digital Press, 1981. ISBN 0-932376-14-2.

## Vegeu també

* Aplicació informàtica
* Compaq Portable
* Internet
* Llista d'ordinadors ficticis
* Maquinari
* MareNostrum

## Enllaços externs

* Warhol & The Computer