








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Fonaments d'informàtica, Profesor: , Carrera: Enginyeria en Electrònica Industrial i Automàtica (GEI), Universidad: UAB
Tipo: Apuntes
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!









Fonaments d'informàtica
Índex del tema Objectius.................................................................................................................................. 1 1.1. Programació. Sistemes programables............................................................................. 1 1.1.1. Tipus de sistemes programables.............................................................................. 2 1.1.2. Estructura d'un ordinador.......................................................................................... 2 1.2. Maquinari d'un ordinador.................................................................................................. 2 1.2.1. La memòria................................................................................................................ 3 1.2.2. La CPU...................................................................................................................... 5 1.2.3. Instruccions de la CPU.............................................................................................. 6 1.2.4. Cóm funciona la CPU?.............................................................................................. 8 1.3. Programari........................................................................................................................ 8 1.3.1. Llenguatge màquina.................................................................................................. 9 1.3.2. Llenguatge assembler o ensamblador...................................................................... 9 1.3.3. Llenguatge d’alt nivell.............................................................................................. 10 1.3.4. Sistema Operatiu (SO)............................................................................................ 11 1.3.5. Classificació del programari.................................................................................... 13
Avui dia estem envoltats d'aparells que són “programables”. Rellotges, mòbils, equips multimèdia, ordinadors, etc. I el que ens espera en aquest camp! Però, què significa programable? Què es programar? I, què és un programa? Entenem per programació el fet d'aconseguir que un sistema programable faci la funció desitjada a través d’uns programes. Un sistema direm que es un sistema programable quan pot modificar el seu comportament modificant unes dades d'entrada o bé, modificant el programa. Dada és la representació informàtica de una informació del món real. Les dades d'entrada són informacions que li donem al sistema. La forma de donar-li les dades pot ser molt diversa però una de les més habituals és mitjançant un teclat o botonera. Com podem veure, tot gira al voltant del “programa”. Què és un programa? Una seqüència finita d' instruccions que, seguides una a una pel sistema programable, fan que aquest es comporti de la manera desitjada. Què és una instrucció? És una de les ordres que el sistema programable entén i “sap fer”. Cada sistema programable té el seu propi conjunt d'instruccions, a partir del qual, es poden construir programes (programar). El conjunt de normes sintàctiques i semàntiques, juntament amb el conjunt d'instruccions, formen els anomenats llenguatges de programació , de la mateixa manera que el conjunt de normes sintàctiques, normes semàntiques i paraules formen els llenguatges que fem servir per comunicar- nos (com pot ser el català, el castellà, l'anglès, etc.)
Conceptes bàsics de programació Hi ha infinitat de llenguatges de programació de la mateixa manera que tenim milers de idiomes en el món. Uns molt habituals i d'altres utilitzats per minories (sovint, grups de recerca) Així com cada idioma té el seu propi vocabulari, cada llenguatge de programació té el seu conjunt propi d'instruccions.
Segons la complexitat del sistema programable podem diferenciar:
En un ordinador podem distingir dues parts fonamentals:
memòria Dispositius de sortida Emmagatzemament massiu
Conceptes bàsics de programació Amb això, la informació que podem guardar es del tipus 0 o 1, fals o cert, no o sí. Però, si ajuntem més d'una cel·la d'aquestes, podrem tenir més possibilitats d'emmagatzemament. Per exemple, si ajuntem dos cel·les tindrem les següents combinacions 00, 01, 10 i 11, per tant podrem guardar informacions que puguin tenir 4 valors diferents. Amb tres cel·les tindrem 8 combinacions diferents, amb 4 en tindrem 16, etc. En general, si ajuntem n cel·les tindrem 2n combinacions diferents (veure taula 1 ). A la taula 2 podem veure les 16 combinacions quan fem servir 4 cel·les. També hi podem veure les combinacions de ceros i uns com números escrits en el sistema de numeració en base 2 (binari) en lloc del sistema en base 10 (decimal) al qual estem habituats. En el món dels ordinadors, a aquestes cel·les de memòria que representen dígits binaris se les anomena bit ( bi nary digi t ). Bit es defineix com la unitat mínima d'informació en un ordinador. El bit s'abreuja amb la lletra b (minúscula). Agrupant 8 bits tenim l'anomenat byte , el qual és la unitat mínima d'emmagatzemament a la memòria i, per tant, la unitat que es fa servir per mesurar la capacitat dels dispositius d'emmagatzemament. S'abreuja amb la lletra B (majúscula). Per tant, podem veure la memòria com un dispositiu on es pot escriure o llegir bytes. La memòria és un magatzem de bytes, però està ordenat. Cada byte s'emmagatzema en una “caixa” de memòria que s'anomena posició de memòria. Cada caixa porta un número identificador, de manera que podem dir, per exemple, “guarda aquest byte a la caixa número 345”. Més tard podrem recuperar el byte dient “dona'm el byte de la caixa número 345”. Aquest número que identifica la posició de memòria reb el nom d'adreça de memòria (ja que, igual que la adreça postal identifica un habitatge, l'adreça de memòria identifica una posició). Parlant correctament diríem “grava aquest byte a l'adreça o posició de memòria 345” o “llegeix el byte de l'adreça o posició de memòria 345”. Les adreces de memòria van des de la zero fins la capacitat de la memòria que, sovint, és una potència de dos. El bloc d'informació que es transfereix en una única operació entre la CPU i la memòria s'anomena word i pot ser 1, 2, 4 o 8 bytes consecutius. Coincideix habitualment amb el tamany dels blocs d'informació que la CPU sap tractar. Segur que has sentit a parlar de CPU's de 16 bits, de 32 bits, de 64 bits. Habitualment fem servir per les unitats capacitat en potències de 10 ja que nosaltres pensem en sistema decimal (de fet per que des de petits ens han ensenyat el sistema decimal i no un altre). Així tenim per exemple el decilitre, el mililitre, el hectolitre, etc. (Veure taula 3 ). De manera semblant mesurem la capacitat de les memòries i dispositius d'emmagatzemament fent servir potencies de 2 ja que els ordinadors fan servir el sistema binari. Pots veure les unitats més habituals a la taula 4. Combinació Número binari Número decimal 0000 0 0 0001 1 1 0010 10 2 0011 11 3 0100 100 4 0101 101 5 0110 110 6 0111 111 7 1000 1000 8 1001 1001 9 1010 1010 10 1011 1011 11 1100 1100 12 1101 1101 13 1110 1110 14 1111 1111 15 Taula 2 Combinacions de 4 cel·les de memòria Bytes bits Nombre de combinacions diferents 1 8 256 2 16 65. 4 32 4.294.967. 8 64 18.446.744.073.709.551. Taula 1 Nombre combinacions diferents en funció del número de bits que fem servir
Fonaments d'informàtica Actualment, la capacitat de la memòria de l'ordinador tipus PC de sobretaula està a l'ordre dels megabytes (256MB, 512MB com a valors habituals), en els servidors i estacions de treball està a les unitats de gigabyte (1 o 2 gigabytes). La capacitats del discos durs està a les desenes i centenes de gigabytes en un sol dispositiu. Però la capacitat de gestió dels ordinadors tipus servidors de bases de dades arriba als terabytes. Per tant, podem concloure que una memòria electrònica només pot emmagatzemar combinacions de ceros i uns. Per emmagatzemar la informació que nosaltres volem tractar, números enters, naturals, reals, colors, lletres, paraules, formes, etc., haurem d'establir una correspondència entre cada combinació de ceros i uns amb un dels valors que volem guardar. La correspondència entre els ceros i uns i els números naturals és immediata ja que podem considerar la combinació com un número en binari. Per a la resta d'informacions que no són números naturals tindrem que pensar altres correspondències. Afortunadament ja hi ha hagut molta gent que ha pensat correspondències que han esdevingut estàndards internacionals.
La CPU és el dispositiu electrònic més complex dins un ordinador ja que és la part encarregada d'executar els programes a la màxima velocitat possible i de coordinar tota la resta de dispositius que formen l'ordinador. A la il·lustració 2 podem veure com és una CPU per dintre a grans blocs. La unitat de control (UC) és la part encarregada de l'execució de les instruccions del programa i de la coordinació de la resta de mòduls. Els registres són elements que permeten emmagatzemar les dades que en cada moment la CPU està utilitzant. Per exemple, per fer una suma de dos números, la CPU els ha de tenir guardats en dos registres i el resultat el deixarà de nou en un registre. Podríem dir que és una memòria dins de la pròpia CPU. És una memòria molt petita (alguna desena de registres) però que és capaç de anar a la mateixa velocitat de la CPU. Hi han registres d'ús general, que el programador decidirà què fer amb ells, i registres d'ús específic que la UC fa servir per a certes operacions concretes. Potència Prefix Aplicat a litres Símbol 10 -3^ mili mililitre ml 10 -2^ centi centilitre cl 10 -1^ deci decilitre dl 1 litre l 101 deca decalitre dal 102 hecto hectolitre hl 103 kilo kilolitre kl Taula 3 Unitats de mesura de capacitat Potència Prefix Aplicat a byte En decimal 21 B 1 byte 210 k kB (kilobyte) 1024 bytes 220 M MB (megabyte) 1048576 bytes (1024 KB) 230 G GB (gigabyte) 1073741824 bytes (1024 MB) 240 T TB (terabyte) 1099511627776 bytes (1024 GB) 250 P PB (petabyte) 1125899906842624 bytes (1024 TB) 260 E EB (exabyte) 1152921504606846976 bytes (1024 PB) 270 Z ZB (zettabyte) 1180591620717411303424 bytes (1024 EB) 280 Y YB (yottabyte) 1208925819614629174706176 bytes (1024 ZB) Taula 4 Unitats de mesura de la capacitat dels dispositius d'emmagatzemament
Fonaments d'informàtica Podem veure a la taula 5 alguns exemples d'instruccions d'una CPU imaginària molt senzilla de 8 bits, per tant, tots els seus registres, excepte el program counter, tenen aquest tamany i sap treballar amb nombres enters d'aquest tamany. Suposarem que té una memòria de 65536 bytes de capacitat i, per tant, les adreces de memòria són de 16 bits (2 bytes), ja que 2^16 són 65536. A continuació podem veure un petit programa de tres instruccions ubicat a la memòria que suma el número 3 y el número 36 i guarda el resultat a l'adreça de memòria 30864. A la il·lustració 3 tenim una imatge de la memòria i a la taula 6 podem veure la memòria amb el valor que cada byte té en binari (que és la forma en que realment està a memòria), en decimal i en hexadecimal (sistema de numeració en base 16 que s'utilitza en informàtica per representar els valors en la memòria per la seva facilitat de traducció entre el binari i l'hexadecimal). Podem veure que a la posició 0 de memòria està la instrucció de codi 1 i a la posició 1 està el número 3. Per tant, això significa posa un 3 dins el registre acumulador. A la posició 2 hi ha la instrucció de codi 2 i a la següent posició hi ha el valor 36. Això significa suma a l'acumulador el número 36 i el resultat deixa'l a l'acumulador. A la posició 4 hi ha la instrucció de codi 3 i a las dos següents posicions hi ha els valors 120 (78H) i 144 (90H) si considerem per separat els dos bytes, però, si considerem que els dos junts són un únic número de 16 bits, el valor és el 30864 (7890H).
El funcionament de la CPU es molt senzill i segueix aquests passos:
Conceptes bàsics de programació
El llenguatge màquina és el llenguatge que parla (que entén) la CPU. També s'anomena codi màquina. Les característiques fonamentals dels programes escrits en codi màquina són:
Conceptes bàsics de programació Podem veure al exemple 2 un tros d'un programa escrit en llenguatge ensamblador d'una CPU de la casa Intel per a PC. Les línies que comencen amb el caràcter ';' o bé la part de la línia darrera del ';' són comentaris que ha posat el programador per fer més intel·ligible el programa. Les línies com “LineCountLoop:” són etiquetes que representen adreces de memòria. Cx, dx, bx, ax, etc. són els noms d'alguns dels registres de la CPU (en aquests cas del fabricant INTEL).
Per a intentar solucionar el problema dels llenguatges ensambladors que tenen instruccions massa elementals, van néixer el llenguatges d'alt nivell. Són llenguatges que ens proporcionen una màquina virtual molt més potent que la real (la CPU), i, per tant, tenen instruccions molt més complexos. A més a més, incorporen eines per a la creació de programes molt desenvolupades. Són llenguatges que intenten, també, ser més propers al llenguatge humà. Els llenguatges de programació ens defineixen les normes sintàctiques i semàntiques per la creació de programes, així com el conjunt d'instruccions i una llibreria de funcions predefinides que permeten al programador construir programes més ràpidament. El conjunt d’instruccions a utilitzar no tenen traducció directe a les instruccions de la CPU. La seva sintaxi està expressada en la forma habitual del llenguatge natural en el que ens solem expressar els humans, sense deixar de tenir en compte que les instruccions que donem a la màquina no poden tenir doble interpretació o ambigüitats. Les característiques fonamentals dels programes escrits en llenguatge d'alt nivell són:
Fonaments d'informàtica A l'exemple 5 pots veure un cas del que estem dient, i a la propera secció més endavant veurem de quina manera es soluciona.
El SO és un programari molt especial. Té unes funcions específiques que cap altre programari té dins d'un ordinador. D'aquestes funcions podem destacar les següents:
Fonaments d'informàtica
Dins del programari que podem trobar en un ordinador podem distingir dos grans grups de programes en funció de la seva funcionalitat: Programari de base És el programari necessari pel funcionament de l'ordinador i el seu manteniment. La gran estrella d'aquest tipus de programari es el sistema operatiu. Podem englobar dins aquest grup els següents programes:
Conceptes bàsics de programació