¡Descarga Fonaments de computadors y más Apuntes en PDF de Lenguaje Audiovisual solo en Docsity!
Tema 1 Les funcions d’un sistema de computadors són:
- Mecanismes de control
- Moviments de dades
- Facilitats d’emmagatzematge de dades
- Facilitat de processament de dades Les unitats funcionals d’un sistema de computadors són:
- Entrada / Sortida
- Sistema d’interconnexió (busos)
- Memòria
- CPU
Nivells conceptuals de descripció d’un ordinador: Cada màquina virtual és una abstracció del nivell inferior. En cada nivell executen les seves pròpies instruccions, demanant a les màquines dels nivells inferiors per a realitzar les tasques necessàries.
- (^) Nivell 6 Usuari: Programes executables
- Nivell 5 Llenguatge d’alt nivell: Java, c++
- Nivell 4 Llenguatge assembleari: Codi assembleari
- Nivell 3 Software: SO, llibreries
- Nivell 2 Màquina: Arquitectura d’instruccions
- Nivell 1 Control: Microcode o cablejat
- Nivell 0 Lògica digital: circuits, portes...
El model von Neumann: Els computadors de programa emmagatzemats actuals tenen les següents característiques:
- Unitats hardware
- Unitat central de processos (CPU)
- Memòria Principal (MP)
- Sistemes d’ E/S
- La capacitat d’executar processament d’instruccions seqüencials.
- Un camí de dades (data path) entre la CPU i l’ MP. Aquests ordinadors emprenen un cicle per executar els programes que consta de una cerca, una descodificació i una execució.
Una instrucció és un conjunt de símbols que representa una ordre d'operacions o tractament per l'ordinador. Les operacions solen realitzar-se amb dades Un programa és un conjunt ordenat d'instruccions que es donen al ordinador indicant les operacions o tasques que es desitja que realitzi Llenguatge de programació: símbols i regles per a construir un programa Repertori d'instruccions: conjunt d'instruccions diferents que pot executar la CPU. Magnitud: - Analògica agafa valors continus Digital agafa valors discrets La digitalització
- Dades Numèriques: representen números amb diferents codificacions:
- Coma fixa: la posició de la coma està predefinida, i se sol utilitzar per representar nombres enters ■ sense signe: positius. ■ amb signe: enters positius i negatius
- coma flotant: representació de nombres amb notació científica (exponents), amb coma variable. ■ IEEE 754: estàndard de coma flotant.
- Codificats a:
- magnitud i signe,
- (^) complement a la base,
- complement restringit a la base i
- representació en excés. Sistemes de computació No hi ha cap sistema 100% perfecte i que funcioni al 100%. A mesura que augmenta la densitat de emmagatzemen e incrementa la velocitat de transmissió la probabilitat d’errors s’incrementa. Per això és important tenir un sistema de detecció i correcció d’errors. P.ex (Checksum i CRC’s) La mesura més important del rendiment d’un computador és la rapidesa amb que pots executar programes. Per un bon rendiment és necessari dissenyar de manera coordinada. El temps transcorregut per a l’ execució depèn de totes les unitats del computador. Factors que influeixen en el rendiment:
- Productivitat: Quantitat de tasques que pot realitzar en un determinat temps
- Rendiment: Temps que tarda en realitzar una tasca. Rend= 1/ t exec. Programa N: Nº real d’execucions d’instruccionsCPI: cicles per instrucció.
T: Cicle del rellotgeF: Freqüència
Tema 2 Llenguatge màquina
- Les instruccions d'un programa s'escriuen en binari.
- Llenguatge proper al processador i depèn de cada processador: propietari
- Problema: Incòmode, fàcil cometre errors
- Solució:
- ús de pseudoinstruccions
- utilitzar altres llenguatges de programació Llenguatge assemblador
- Les instruccions es representen amb noms simbòlics o mnemònics
- Depèn de cada processador
- Cada instrucció en llenguatge assemblador es correspon amb una instruccions en llenguatge màquina
- Hi ha directives, etiquetes, ... Llenguatge alt nivell
- Tenen instruccions i sintaxi pròpia
- Llenguatge proper al llenguatge humà
- Es compila el mateix codi en diferents màquines: portabilitat La CPU de l'ordinador busca, descodifica i executa les instruccions d'un programa. Els dos components fonamentals de la CPU són la Unitat de Control i el data path (UAL i registres) El data path o camí de dades consta
- Unitat de processament: UAL
- Unitats d'emmagatzematge: registres
- Interconnectats per un bus de dades, que també està connectat a la memòria.
UC: Els components de la CPU executen operacions seqüenciades d'acord a les senyals que proporciona la seva unitat de control. Els biestables són elements de la memòria que emmagatzemen un bit
Registres Banc de registres (RF, RT) per emmagatzemar de manera temporal dades i/o direccions. Biestables indicadors de condició (F): C: Acarreo S: Indicador de signe (si el darrer resultat de la ALU és negatiu: S = 1) Z: Indicador de zero (si el darrer resultat de la ALU és zero, Z = 1) P: Indicador de paritat (si la paritat del últim resultat és parell, P = 1) V: Indicador de desbordament Registre de direcció (mar o AR), on haurà d'ubicar l'adreça de la dada / instrucció a llegir o escriure en memòria (o d'un port de Perifèric), Registre de dades (MBR o RD), on s'emmagatzema la dada a escriure en la memòria o la informació llegida de la memòria (o d'un perifèric), Lògica de control: circuits que generen les senyals de control (amb rellotge) Registre d'instrucció (IR): memoritza temporalment la instrucció del programa que la unitat de control està interpretant o executant Contador del programa (PC): registre-comptador que conté en tot moment la direcció de memòria on es troba la instrucció següent un executar. Una memòria disposa de les següents E/S:
- Entrada de dades (DBI)
- Sortida de dades (DBO)
- Entrada de direcció (AB)
- Senyals de control Escriptura en memòria: M(MAR) ←MBR Lectura de memòria: MBR ←M(MAR) L'execució de qualsevol instrucció es realitza en dues fases:
- Fase de cerca de 'Instrucció.
- MAR ←PC
- MBR ←M(MAR): llegir en memòria
- IR ←MBR (En IR queda emmagatzemat el codop de la instrucció)
- PC ←PC + 1
- Fase d'execució Operacions específiques corresponents al Codi d'Operació (codop) de la Instrucció captada, generant-se Les Senyals de control oportunes. L'execució d'una instrucció comporta com a mínim un accés a memòria (per captar la instrucció), podent efectuar accessos addicionals en la fase d'execució (captació d'operands, memorització de resultats, etc.) Les instruccions del llenguatge de programació es poden classificar:
- Instruccions de transferència de dades: moure, carregar, emmagatzemar, entrada, sortida, ...
- Instruccions de tractament: sumar, comparar, and, or, ...
- Instruccions de flux de control o de bifurcació i salts
- (^) Altres instruccions Cada ordinador té almenys un rellotge que sincronitza les activitats dels seus components. Per dur a terme cada operació o moviment de dades és necessari un nombre fix de cicles de rellotge La freqüència del rellotge, mesurada en MHz o GHz, determina la velocitat amb què es realitzen les operacions. El temps de cicle del rellotge és l'invers de la freqüència: T = 1 / f. Instruccions de control de fluxe El processador normalment executa seqüencialment les instruccions del programa. Amb les instruccions de control es pot alterar l'ordre d'execució d'un programa, saltant el mateix a l'execució d'una instrucció situada en una direcció de memòria arbitrària, ds, especificada a la instrucció de salt.
Quan es retorna a un procediment de trucada, la direcció de tornada pot eliminar aquesta memòria.
Una interrupció és una detenció de l'execució d'un programa abans que s'acabi. Es realitza per a executar un altre programa que gestiona o atén la interrupció, continuant després amb l'execució del programa interromput. Instruction Set Architectures (ISAs) Interfície entre el maquinari i el programari de baix nivell
- Avantatge: diferents implementacions de la mateixa arquitectura (el mateix codi es pot executar amb diferents prestacions)
- Desavantatge: de vegades impedeix utilitzar les noves innovacions (la compatibilitat binària és important) Elements d’una instrucció màquina Cada instrucció màquina ha de contenir la informació que necessita la CPU per a la seva execució. Els elements d'una instrucció màquina són:
- Codi d'operació: especifica l'operació a realitzar (suma, E / S, etc.).
- L'operació s'indica mitjançant un codi binari.
- Referència a operands font:
- l'operació pot implicar un o més operands font, és a dir, operands que són entrades per a la instrucció.
- (^) Referència al operant resultat: l'operació pot produir un resultat.
- Referència a la següent instrucció: diu a la CPU d'on captar la següent instrucció després de completar l'execució de la instrucció actual. Tema 2- Instruccions de Moviment o transferència de dades Mouen dades d'una posició de memòria o registre a una altra posició de memòria o registre sense canviar la seva forma Load: l'operand font està en memòria i l'operand destí està en un registre Store: l'operand font està en un registre i l'operand destí en memòria Move: normalment especifica els dos operands font i destí que poden estar en memòria o en registre
Moure dades des de o cap als dispositius d'entrada / sortida (E / S)
Instruccions aritmètiques i lògiques (ALU) Canvia el valor d'un o més operands per produir un resultat emmagatzemat en una altra posició. Instruccions aritmètiques Requereixen dos operands font i un operand destí del resultat. Adreces explícites:
- Instruccions amb 3-adreces: OP3 OP1 op OP
- Una direcció de memòria per a cada un dels tres operands
- Instruccions amb 2-adreces: OP1 OP1 op OP
- (^) Un operand font es sobreescriu amb el resultat
- Instruccions amb 1-direcció: Acc Acc op OP
- Un registre especial (visible al programador) el Accumulator register conté un operand font i emmagatzema el resultat
- Instruccions 0-adreces: TOS TOS op SOS
- Una pila implementada en maquinari conté els operands (TOS: top of stack, SOS: second of stack)
Modes d’adreçament Cada camp de operant o resultat en una instrucció conté informació sobre la manera d'adreçament emprat per accedir-hi.
- Immediat: les dades són part de la instrucció
- Directe: la direcció de les dades està en la instrucció
- Per registre: les dades estan en un registre
- Indirecte: es dona la direcció de la direcció de dades
- Indirecte per registre: utilitza un registre que conté una direcció de la direcció de dades.
- Indexat: utilitza un registre índex (explicita o implícitament) com un desplaçament, que es suma a l'adreça indicada com operant per determinar la direcció efectiva
■ IEEE 754: estàndard de coma flotant.
- Especials: s'utilitzen per detectar i corregir errors en la transmissió d'informació, facilitar operacions aritmètiques, etc. Alguns codis importants són:
Camp del signe: El bit de signe és zero per als números positius i un per als nombres negatius. Camp de l'exponent: L'exponent s'emmagatzema en la forma de "sencer esbiaixat": d'aquesta manera en els ne bit reservats per l'exponent es poden incloure exponents positius o negatius sense utilitzar un bit explícit de signe. Camp de la mantissa: Número normalitzat: l'exponent s'ajusta de manera que l'1 més significatiu de la mantissa es trobi en la posició 0 (posició de les unitats), és a dir, 1.M <2.
El camp de la mantissa s'obté emmagatzemant només la part fraccionària del nombre normalitzat, és a dir, no s'emmagatzema la informació "1." M = [1.m], amb 1.M < N = 1101.01 = 1.10101 · 23 ← 10101 Dades especials: s'utilitzen per detectar i corregir errors en la transmissió d'informació facilitar operacions aritmètiques, etc. Alguns codis importants són: el codi Gray, excés-3, codi de Hamming. Tema 4 El sistema de memòria L’ordinador treballa constantment amb instruccions i dades entre la memòria i el processador. Aquests dos treballen conjuntament, per això, el rendiment depèn de la velocitat ambdós (Memòria ràpida) i una capacitat d’emmagatzematge alta.
- (^) Memòria principal
- Memòria d'accés aleatori (random access memory, RAM) ■ RAM Dinàmica (DRAM) Consta de condensadors que es van descarregant requereix refresc per evitar la pèrdua de dades. Barata ■ RAM Estàtica(SRAM) Ràpida. No necessita ser refrescada
- Memòria de només lectura (read-only-memory, ROM). ■ (^) ROM; EPROM, EEPROM; ... Manté les dades quan s'apaga el sistema. Utilitzada per a emmagatzemar dades permanents o semipermanents Característiques principals:
- Capacitat d'emmagatzematge
- Quantitat d'informació binària que pot emmagatzemar el dispositiu de memòria
- Nombre de posicions x Bits
- Velocitat o temps d'accés. Paràmetres
- Temps d'accés
- Temps de cicle
- Ample de banda (Freqüència d'accés): número d'accessos que pot efectuar-se per segon (mesura velocitat de transferència)
- Cost per bit
- Preu que es paga per cada unitat mínima d'informació Altres característiques:
- Unitat de transferència
Emmagatzematge cache: La velocitat d’accés augmenta i el cost per bit augmenta Emmagatzematge primari Emmagatzematge secundari: El temps d’accés augmenta i la capacitat d’emmagatzematge augmenta. Memòria principal Està formada per una sèrie de chips a on s’emmagatzemen tota la informació del sistema. És ràpida, volàtil, cara i amb una capacitat limitada. Està organitzada en grups de celes de memòria: paraula de memòria. Una paraula és el conjunt de bits “n” que es pot llegir o memoritzar. “n” és l’amplada o longitud de la paraula o amplada de la memòria. La memòria és el conjunt ordenat de paraules a les que es pot accedir indicant la seva direcció. Disposa d’un bus de direcció de n línies i un bus de dades també de n línies per a entrada i sortida d’informació. Cache La necessitat del cache és molt important per el rendiment d’un microprocessador degut a que la MP té una latència 10 vegades major i el bus funciona a una freqüència entre 3 i 5 vegades menor que la del micro. Per això la cache és important per mantenir el temps d’accés promig a memòria i reduir l’ample de banda entre memòria principal i processador. Emmagatzema la informació de la memòria principal actualment en ús. Conté la major part del codi o dades recentment accedits.
Principi de localitat Els programes tendeixen a reutilitzar dades e instruccions que han utilitzat recentment. Un programa empra el 90% del temps a utilitzar el 10% del codi. Hi ha 2 tipus de localitats:
- Localitat temporal: Els elements accedits recentment, probablement seran accedits en un futur. (Bucles i subrutines)
- Localitat espacial: Els elements on les direccions estan ubicades en direccions pròximes tendeixen a ser referenciats junts en el temps. (seqüencial) Comunicació entre nivells
- Encert (Hit): les dades estan en el nivell superior F 0 E 0taxa d'encerts (hit rate): fracció dels accessos a memòria en els q s'han trobat les dades en el nivell superior
- Decisió (Miss o fault) les dades no estan en el nivell superior F 0 E 0s'ha d'accedir a l'inferior per portar el bloc q els conté F 0 E 0taxa d'Errors (miss rate): 1 - taxa d'encerts Velocitat amb què es processen els encerts i errors:
- Temps de Encert (Hit time): temps necessari per accedir a les dades, incloent el temps per determinar si és un encert o error
- Temps de Decisió (Miss time): temps q es triga a substituir un bloc. Aquest paràmetre és molt més gran que l'anterior
Memòria secundaria
Memòria virtual
Crea la il·lusió d’un espai de memòria propi e il·limitat. Facilita la compartició de memòria per varis processos. Funcionament:
- Les direccions que genera un processador són virtuals.
- La traducció a direccions físiques es gestiona dividint l’espai en pàgines. Amb la memòria virtual, el SO assigna una porció d’un medi d’emmagatzematge per funcionar com a RAM addicional. L’àrea que s’utilitza com a memòria virtual s’anomena “swap file”. Una pàgina es la quantitat de dades e instruccions que es poden intercanviar en un moment donat. Perifèrics d’emmagatzematge Parts
- (^) Part mecànica
- Part electrònica
Classificació dels perifèrics Podem distingir segons el seu comportament 3 tipus diferents de dispositius perifèrics:
- (^) Dispositius de presentació i adquisició (E / S).
- Xarxes de comunicació de dades.
- Dispositius d'emmagatzematge. Alguns dispositius d'E / S compleixen múltiples funcions. Característiques:
- Ergonomia: Un perifèric es diu que és ergonòmic quan el seu disseny físic extern s'adapta a l'usuari, obtenint una bona integració home-màquina i una adequada eficiència en la seva utilització fent còmode el seu ús a l'home.
- Cost
- Manteniment
- (^) Són lents, major longitud de paraules, menors velocitats de transferència. La connexió entre un dispositiu E/S i un ordinador es fa mitjançant el bus.
Controlador E/S Un Controlador d'E/S és l'element de l'ordinador responsable del control d'un o més dispositius externs, de l' intercanvi de dades entre aquests dispositius i la memòria principal i/o dels registres de la CPU. Cada controlador es connecta al bus del sistema i controla un o més dispositius perifèrics, aquest mòdul està dotat d'una intel·ligència és a dir, que conté una lògica necessària per permetre la comunicació entre el perifèric i el bus del sistema. Per a la comunicació amb l’exterior és necessari un controlador E/S. Tipus de controladors:
- Generals.
- Processadors E/S.
- Controladors de dispositius específics.
Funcions del controlador:
- (^) Control i temporització: En qualsevol moment la CPU pot comunicar-se amb un o més dispositius externs en qualsevol ordre segons les necessitats d'E/S del programa. Així la funció d'E / S inclou els requisits de control i temporització.
- Comunicació amb la CPU:
- Comandaments: el controlador d'e/s accepta ordres de la CPU que generalment s'envien utilitzant línies del bus de control.
- Dades .- la CPU i el mòdul d'E/S intercanvien dades a través del bus de dades.
- Informació d'estat : ja que els perifèrics són lents, és important conèixer l'estat del controlador de E/S.
- Reconeixement de direcció .- de la mateixa manera que cada paraula té una adreça cada dispositiu d'E/S té una altra, això permet que el controlador reconegui la direcció per a cada un dels perifèrics.
- Comunicació amb els dispositius: Aquesta comunicació implica intercanviar ordres, informació de l'estat i dades - Emmagatzematge temporal de dades: Aquesta és una necessitat clara ja que la velocitat de transferència des de i cap a la memòria principal o la CPU és bastant alta aquesta velocitat pot ser diversos ordres de magnitud menor per a la majoria dels dispositius perifèrics.