|
Article on other languages:
|
Parts d'un ordinador personal de sobretaula modern:
Un ordinador o computadora és un aparell que manipula dades seguint una llista d'instruccions. Els primers aparells que més s'assemblen als ordinadors moderns són de meitat del segle XX (1940-1945), tot i que el concepte de computador ja existia prèviament (vegeu àbac i altres calculadores mecàniques). Els primers ordinadors electronics eren de la mida d'una gran habitació, 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 l'icona de la societat de la informació i és en el que pensa la majoria de gent en sentir la paraula ordinador, tot i que 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 usats per controlar altres dispositius: des d'avions de combat, robots industrials o càmeres digitals fins a joguines infantils. 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. Això els diferencia d'altres aparells com les calculadores. Els ordinadors són aparells digitals en tant que es basen en l'Àlgebra de Boole i el sistema binari.
HistòriaArquitectura de programa emmagatzematAllò que defineix els ordinadors moderns i els diferencia de la resta de màquines és que aquests poden ser programats. 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 número 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 indicar a l'ordinador que ha de saltar (endavant o endarrere) cap algun altre punt del programa, i continuar executant-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 diferents instruccions en funció del resultat d'alguna operació anterior, o d'algun esdeveniment extern. Molts ordinadors suporten directament subrutines, proporcionant un tipus de salt que "recorda" el lloc des d'on ha saltat cap a una altra instrucció, per 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. Tot i que una persona normalment llegirà cada lletra i línia seqüencialment, també pot tirar enrere en el text, o saltar-se paràgrafs sencers d'escàs interès. De forma 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 executar tasques repetidament sense intervenció humana. Comparativament, una persona usant una calculadora pot fer les operacions aritmètiques bàsiques com sumar dos números amb pocs passos. Però sumar tots els números de l'1 al 1000 requeriria milers de petjades de tecla i molt temps, amb la quasi-certesa de cometre algun error. En canvi, un ordinador es pot programar per fer això amb només unes poques instruccions. Per exemple:
mov #0,sum ; posa sum a 0
mov #1,num ; posa num a 1
loop: add num,sum ; suma num a sum
add #1,num ; suma 1 a num
cmp num,#1000 ; compara num amb 1000
ble loop ; si num <= 1000, torna enrere a 'loop'
halt ; fi del programa. para.
Noti's 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 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 números un a un, pot simplement usar l'equació 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 l'intel·ligència artificial. Llenguatges de programacióEl codi anterior (mov, add, cmp) està escrit en assemblador. És el llenguatge en què es programa la CPU, i està íntimament lligat amb cada model i marca de CPU, tot i que el més usual és el x86. Per simplicitat, s'han creat llenguatges d'alt nivell que permeten 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 intermig, que posteriorment serà traduit a assemblador, en temps d'execució, per un intèrpret o màquina virtual.
FuncionamentUn ordinador de propòsit general té quatre parts principals: l'unitat aritmètico-lògica (ALU), l'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 l'unitat de control, l'ALU, els registres, i l'E/S bàsica és conegut com l'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.
Una instrucció (arquitectura MIPS) que suma 350 a $r2 i ho guarda en $r1. L'unitat de control s'encarrega d'interpretar el significat dels números en binari de l'instrucció.
Unitat de ControlL'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 a 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, un 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:
1. Llegeix el codi per la següent instrucció de la cel·la indicada pel comptador de programa
2. Descodifica el codi numèric de l'instrucció en un conjunt de comandes o senyals per cada un dels altres sistemes.
3. Incrementa el comptador de programa de forma que apunti a la següent instrucció.
4. Llegeix les dades que la instrucció necessiti de les cel·les de memòria (o potser d'un dispositiu d'entrada).
L'ubicació d'aquestes dades habitualment s'emmagatzema junt amb el codi de la instrucció.
5. Proporciona les dades necessàries a la ALU o a un registre.
6. Si l'instrucció requereix una ALU o un maquinari especialitzat, ordena al maquinari de dur a terme l'operació demanada.
7. Escriu el resultat des de l'ALU a una posició de memòria o a un registre, o a un dispositiu extern.
8. Es torna al punt (1) i es repeteix el procediment.
Així doncs, la seqüència d'operacions que la CPU du a terme per executar una instrucció ve a ser un altre programa en sí. 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 Aritmètico-lògicaLa 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 números 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 varies operacions simples que l'ordinador pugui executar. Per tant qualsevol ordinador es pot programar 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 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 varies 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 principalLa memòria la podem imaginar com una llista de cel·les en les que es poden llegir i escriure números. Cada cel·la, numerada amb una adreça, pot emmagatzemar un únic número. A aquesta memòria se li envien ordres de l'estil "posa el número 123 a la cel·la número 1357" o "afegeix el número que hi ha a la cel·la 1357 al número 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 números, 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 números. En la majoria d'ordinadors moderns, cada cel·la de memòria guarda els números binaris en grups de vuit bits (anomenat byte o octet en català). Cada octet pot representar fins a 256 números diferents; o bé des de 0 a 255 o des de -128 a +127. Per emmagatzemar números grans, es poden usar varis octets consecutius (normalment, dos, quatre o vuit). Habitualment els números 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 números. Els ordinadors moderns poden 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: random access memory (RAM) (memòria d'accés aleatori) o read-only memory (ROM) (memòria de només lectura). La RAM es pot llegir i escriure a la CPU en qualsevol moment que se li ordeni, mentre que la ROM ve pre-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/SortidaL'E/S és la manera que té l'ordinador d'enviar i rebre informació del món exterior. 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. I de sortida el monitor, els altaveus o la impressora. També les xarxes informàtiques són E/S. També es considera E/S la memòria secundària, categoria de la que 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 sí: independents, amb la seva pròpia memòria i CPU. ProgramariEl programari (en anglès Software) és la part immaterial de l'ordinador. De vegades al programari fix se l'anomena firmware (el software dels drivers o de la BIOS). El primer software 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 un software que conté funcions comunes per tal de reaprofitar codi. Tipus d'ordinadorAlguns dels molts tipus d'ordinadors. Algunes d'aquestes distincions són més històriques que actuals.
|
|||||||||||||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net