Ingeniero en Informática
Fonaments de computadors
Fonaments de Computadors
Introducció
-
Presentació
-
Història dels Computadors
-
Estructura dels computadors
-
Esquema de blocs
-
Entrada-processador/Memòria-Sortida
-
Processador
-
La memòria
-
Perifèrics Entrada / Sortida
-
Exemple Intel 8086
-
Sistema de Representació de la informació
-
Sistemes de numeració
-
Canvis de base
-
Representació de nombres amb signe
-
Representació de nombres en punt flotant
-
Codis ASCII i BCD
-
Circuits combinacionals
-
Àlgebra de Boole
-
Funcions de 1, 2 i 3 variables
-
Minimització per àlgebra de Boole
-
Minimització per mapes de Karnaugh
-
Síntesis de funcions
-
Estructures NAND - NAND i NOR - NOR
-
Introducció als circuits seqüencials.
-
1ª Generació : Tub de buit. Ocupaven molt d'espai.
-
2ª Generació : Apareguda a partir del transistor que es comporta com un interruptor. Són més ràpids i més petits.
-
3ª Generació : Circuits integrats, és un conjunt de Transistors. Aquest implementa una funció, depenent del que tinguin a la entrada obtindrà una sortida.
-
4ª Generació : Integració de la CPU.
-
Bus de dades : usades únicament per a enviar dades d'un lloc a un altre, principalment comunicacions amb unitat de memòria.
-
Busos de control :
-
Busos de direccions : número o direcció que ens indica on podem trobar / deixar una dada / instrucció.
-
Algorisme / Programes
-
Arquitectura
-
Lectura - Escriptura comunicació amb l'exterior. Perifèrics E/S
-
Guardar dades emmagatzement a memòria principal
-
Processament destinat únicament al processador
-
Control CPU
-
El programa s'emmagatzema a la memòria del computador.
-
La forma d'execució de les instruccions és seqüencial.
-
Emmagatzement de la informació
-
Llegir informació de memòria
-
Processament de la informació
-
Tenim busos que tenen una jerarquia.
-
Jerarquia de memòria ( distribució dels tipus de memòria )
-
Dispositius E / S.
-
Segons la seva ubicació.
-
Interna a la CPU. Trobaríem registres que guarden dades. És la més ràpida i la més cara.
-
Fora de la CPU. Memòria principal o interna. Bastant ràpida (menys que la CPU ). Té molts accessos. Guardem dades de programa.
-
Fora de computador. És la més gran però la més lenta. CD-ROM, ZIP,... És la més lenta pels bus.
-
Mètodes d'accés.
-
Accés seqüencial. Dispositius magnètics. Per accedir a una dada em d'accedir a les anteriors d'aquesta.
-
Accés directe. Disc dur. Accedim a una pista amb capçal.
-
Accés aleatori. Utilitzem la direcció per accedir a la dada.
-
Accés a memòria associativa. Té 2 dades, la clau i la dada. Primer em de utilitzar la clau. Memòria caché. Ràpides i cares.
-
necessitat de refresc de la memòria
-
Estàtiques. Feta de viaestables. Manté la dada. No perdem la dada.
-
Dinàmica. Al cap d'un cert temps es perd la dada. Amb condensadors.
-
Duració de la informació
-
No Volàtil. Encara que desconnectem l'alimentació es manté la dada.
-
Volàtil. Es perden les dades si la desconnectem.
-
Temps d'accés : temps que triga que el bus té la informació d'agafar la dada fins que la agafa.
-
Temps de cicle ( TC ): temps d'accessos consecutius. Temps d'accés més temps de recuperació.
-
Registres + Ràpida, + Cara, - Capacitat
-
Memòria Caché
-
Principal
-
Externa - Ràpida, - Cara, + Capacitat
-
Localitat temporal : variables de programa que contínuament canvia de valor.
-
Localitat espaial : posicions de memòria molt properes a les accedides anteriorment.
-
Espaial : accés a instruccions de forma seqüencial.
-
Temporal: bucle d'instruccions.
-
Hi ha una interconnexió entre CPU i memòria. La CPU llegeix una dada de la memòria. Línies de control, línies de dades i línies de direccions.
-
CPU a memòria, la CPU escriu a la memòria. Li envia la dada i on la vol guardar. Necessita una direcció.
-
Entrada / Sortida cap CPU. La CPU llegeix mitjançant un mòdul E / S. Hi ha un interface comú a la CPU amb el nostre mòdul E / S.
-
Memòria a E / S i la inversa. És l'únic cas que pot no intervenir la CPU, necessita el control DMA ( faria de CPU ).
-
CPU a E/S, la CPU envia dades al E / S.
-
Línies de dades : enviem una dada entre CPU i perifèrics o la inversa. Entre 8, 16, o 32 línies.
-
Línies de direccions : designar la font o el destí de la dada. També per direccionar els ports E / S.
-
Línies de control : indiquen als perifèrics quan poden realitzar les accions. També indiquen l'ordre de la informació. Diuen de qui es la procedència de les dades.
-
Bus local : connecten el CPU a la memòria caché. També es poden connectar 1 o 2 dispositius locals. També els mòduls de memòria principal.
-
Bus d'expansió : connecta controladors E / S. Directament al bus del sistema. Necessita un interface. El bus és més lent.
-
Línies del bus.
-
Dedicats : les línies estan permanentment a una funció
-
Multiplexat en el temps : quan les mateixes línies s'utilitzen per diferents coses.
-
Avantatges : menys línies, espai i cost.
-
Desavantatges : circuiteria externa.
-
Mètode d'arbitratge
-
Centralitzat : un únic dispositiu hardware que assigna el temps en el bus.
-
Distribuït : cada mòdul disposa de la seva lògica per controlar el bus.
-
Temporització
-
Sincronia : senyal de rellotge que diu en cada moment els moviments que tenim que fer.
-
Asíncrona : la presència d'un event en el bus es conseqüència i depèn de que es produeix un event previ.
-
Amplada del bus:
-
Tipus de transferència de dades.
-
Elevat ample de banda.
-
L'estendard actual permet l'ús de fins a 64 línies de dades a 32 MHz, per una velocitat de transferència de 264 Mbyts/s, o 2.112 Gbps.
-
S'acobla el processador i el bus d'expansió mitjançant un bridge.
-
Multiplexació del bus de dades i direccions reduint el número de pins.
-
Utilitza un timing síncron.
-
Esquema d'arbitratge centralitzat.
-
Configuració a través de registres i software.
-
Permet transferència en ràfega.
-
Permet escriptura retardada.
-
Opera amb freqüència de 0 fins a 33/66 MHz.
-
Velocitat de transferència de 133 MBytes/s a 266 MBytes/s.
-
Capacitat de Multimaster.
-
Suporta multiprocessador (degut a que suporta Multimaster).
-
Suporta la connexió a través d'altres busos
-
Permet direccionar 3 espais de direccions independents: a part de memòria i les àrees de direccions d'E/S, el PCI també permet incloure una tercera àrea de direccions de configuració.
-
Suporta alimentacions de 5 V i 3,3 V.
-
Terminals de sistema.
-
Terminals d'adreça i dades.
-
Terminals de Control de l'Interface.
-
Terminals d'arbitratge.
-
Terminals per senyals d'errors.
-
Terminals d'interrupcions.
-
Terminals de suport de caché.
-
Terminals d'extensió a bus de 64 bits.
-
Terminals de test.
-
Reconeixement d'interrupcions.
-
Cicle especial.
-
Lectura d'E/S.
-
Escriptura E/S.
-
Lectura de memòria.
-
Lectura de línies de memòria.
-
Lectura múltiple de memòria.
-
Escriptura en memòria.
-
Escriptura i invalidació de memòria.
-
Escriptura de configuració.
-
Cicle de direcció dual.
-
Existeixen una gran varietat de perifèrics amb diversos mètodes d'operació cadascú té les seves característiques.
-
La velocitat de transferència de dades dels perifèrics sol ser molt menor que la de la memòria amb la CPU Cadascú dels perifèrics té el seu interface.
-
Els perifèrics sovint utilitzen formats o longituds de paraula diferents al del computador.
-
Control i temporitzador coordinen l'intercanvi d'informació entre els recursos interns i els dispositius externs.
-
Comunicació amb la CPU requereix la descodificació de l'ordre que envia la CPU al controlador E/S a través del bus de control. L'intercanvi de dades mitjançant el bus de dades, la informació sobre l'estat del controlador E/S, i el coneixement de la direcció del perifèric.
-
Emmagatzement temporal de les dades degut a les diferències de velocitats de transferència que tenen els dispositius, sorgeix la funció del controlador E/S.
-
Comunicació amb el dispositiu la realitza al controlador E/S i comprèn les ordres, informació de l'estat del dispositiu i dades.
-
Detecció d'errors el controlador E/S és sovint responsable també de la detecció d'errors i d'informes a la CPU de quan succeeixen.
-
Usar 2 busos independents, un per a la memòria i un altre per al sistema. Això es sol fer quan tenim més d'un processador E/S (P E/S).
-
Usar un bus comú per a la memòria i per al sistema E/S, però amb línies de control independents per a cadascú d'ells.
-
Usar u sol bus amb línies de control comuns.
-
E/S localitzada en memòria i en aquest cas hi ha un únic espai de direccionament per les posicions de memòria i la CPU utilitza les mateixes instruccions màquina per a accedir tan a la memòria com als perifèrics.
-
E/S aïllada: el bus del sistema disposa, a més de les línies de control de lectura i escriptura en memòria, de línies de control específiques d' E/S per a accedir als perifèrics, especialment la línia de control si l'adreça es refereix a una posició de memòria d'un perifèric.
-
De control: s'usen per a activar un perifèric i dir-li que fer.
-
De comprovació: s'usa per a verificar diferents condicions d'estat associades a un controlador E/S i els seus perifèrics.
-
Lectura: originen que el controlador d' E/S obtingui una dada del perifèric i el col·loca en RD.
-
Escriptura: fa que el controlador d' E/S prengui una dada del bus de dades i el transmeti al perifèric.
-
Una alternativa és la diferenciació per enquesta. Al detectar que s'ha activat (PI=1) la línia de petició interrupció, el primer que fa és anar al programa de servei d'interrupció, on interroga a cada un dels controladors d'E/S per determinar quin d'ells va originar la interrupció. L'inconvenient és que es perd molt temps esbrinant el perifèric que ha interromput la CPU. Hi ha menys perifèrics que línies.
-
La segona tècnica és la de les interrupcions vectoritzades. Més eficaç. Amb la senyal d'interrupció PI (activa en baixa) el perifèric envia a la CPU un vector d'interrupció (VIMT) que, de forma directa o indirecta determina el començament del programa de servei específic d'aquesta informació. L'inconvenient és la longitud del vector (a més perifèrics més grans).
-
Individualment: cada una de les entrades al PIC està controlada per una porta AND de dos entrades, la segona entrada de la qual és el bit corresponent d'un registre de màscara d'interrupcions escrit per la CPU.
-
Per nivell: les peticions d'interrupció s'ordenen atenent a un criteri de prioritat que el codificador de prioritat s'encarrega de resoldre.
-
Quin tipus d'operació és.
-
Adreça del perifèric.
-
Posició de memòria a la qual volem llegir o escriure.
-
Número de paraules a transmetre.
-
Ràfegues: el DMA pren el control del bus, no l'allibera fins a haver transmès el bloc de dades perdudes.
-
“Robo de ciclos”: quan el DMA pren el control del bus, el reté durant un sol cicle; transmet la paraula i allibera el bus.
-
DMA transparent: la DMA roba cicles a la CPU quan aquesta no està usant el bus del sistema.
-
Demanda: el perifèric és el que comença la transferència per DMA, però retorna el control a la CPU quan no té més dades disponibles.
-
Dada a dada: cada cop que el perifèric sol·licita una transferència per DMA s'envia una única dada i es retorna el control a la CPU.
-
Canal selector: controla múltiples dispositius d'alta velocitat. En un instant de temps està dedicant a la transferència de dades amb un sol d'aquests dispositius.
-
Canal multiplexor: pot controlar de forma simultània diverses operacions E/S amb múltiples dispositius multiplexa en el temps.
-
Sol·licitar l'ús del bus mitjançant senyals i lògica d'arbitratge necessaris.
-
Especificar l'adreça de memòria des d'on es realitza la transferència ( podem gestionar la memòria).
-
Generar les senyals de control del bus: lectura/escriptura (senyals), senyals de sincronització de la transferència saber quan s'inicia/finalitza la transferència i ajustar les velocitats.
-
Nº bytes a escriure/llegir (Enviar).
-
Tipus de transferència (lectura/escriptura).
-
Alta informació de control (pista, sector, etc.).
-
Nº bytes (o paraules) a transferir.
-
Tipus de transferència (lectura/escriptura).
-
Adreça de memòria inicial per a la transferència.
-
Nº de canal (per a DMA's amb diferents canals).
-
Quan el perifèric està llest per a fer la transferència ho indica al DMA.
-
O el DMAC demana el control del bus i realitza la transferència entre el perifèric i la memòria.
-
Nº de bytes/paraules a transferir.
-
Adreça de memòria.
-
El DMAC allibera el bus i retorna el control a la CPU.
-
El DMAC activa una senyal d'interrupció indicant a la CPU la finalització de l'operació d'E/S.
-
Degradació del rendiment de la CPU hi ha d'haver una bona gestió del DMAC.
-
El DMA sol·licita el control del bus a la CPU.
-
Quan la CPU concedeix el control del bus a la DMA, aquesta no retorna el control a la CPU fins que no finalitza tota la seva transferència.
-
El DMA sol·licita el control del bus a la CPU.
-
Quan en té el control es transfereix una única paraula i retorna el bus a la CPU (1r cicle).
-
DMA-REQ Sol·licitud servei DMA.
-
DMA-ACK Concessió servei.
-
RW-10 Sentit de transferència per al perifèric Read/Write - Inptu/Output.
-
Direcció inicial de memòria.
-
Nº de paraules a transferir.
-
Sentit de la transferència.
1 - HISTÒRIA
1ª Generació
El 1º ordinador que existeix és l'ENIAC, Electronic Numerator Integrated American Computer. Això sorgeix d'unes necessitats militars i necessitaven un aparell que fes els càlculs ràpids de les trajectòries dels míssils.
Fins al 1943 no es comença a implantar aquest ordinador, tot i que es comença a dissenyar amb anterioritat).
Pesava 30 tones, ocupava 15000 peus quadrats, tenia més de 18000 tubs de buit i consumia 140 kW. Aquest treballava en base decimal. El 1946 es finalitza aquest ordinador i fins al 1955 no es posava en funcionament.
Posteriorment apareix la màquina de Von Newman, que és la base ( estructura 9 més simple d'un computador, i és el model dels ordinadors actuals.
El 1946 apareix la màquina de Von Newman en el projecte de IAS.
Estructura :
El bloc de Memòria Principal s'usa per a emmagatzemar dades i instruccions.
L'ALU és capaç de fer operacions amb dades binàries.
La Unitat de Control del Programa interpreta les instruccions que estan en memòria i un cop interpretada executa la instrucció.
Perifèrics E / S, són equips externs.
Busos de comunicació. ( Les línies que uneixen les diverses parts ). N'hi ha de 3 tipus :
La memòria te una capacitat de 1000 posicions ( en el de Von Newman ). I cada posició pot tenir fins a 40 dígits.
--0
Matriu on s'accedeix mitjançant fila i columna
--999
1 bit unitat més petita de representació de la informació en els computadors (0 / 1 ) En un sistema digital 1 bit és un nº del 0 al 9.
La memòria és comú tant pera dades com per a instruccions.
Més endavant la memòria es divideix tenint un espai per a dades i un per a instruccions, amb el que s'aconsegueix més velocitat de càlcul.
Posteriorment apareixen els computadors comercials: Aspery i IBM. Neixen als anys cinquanta. Van ser les 2 companyies pioneres.
A principis de la dècada del 50 apareix la màquina comercial UNIVAC I i a finals dels 50 UNIVAC II, que tenia molta més capacitat de memòria i instruccions.
Al 1955 IBM va presentar els seus productes 702 ( amb tecnologia de tubs de buit ).
2ª Generació
Entre el 1953 i 1964 comença la 2ª generació. El transistor comporta una disminució important del tamany, més rapidesa, menor dissipació de calor i més econòmic.
NCR i RCA companyies pioneres, i posteriorment IBM amb la sèrie 7000.
Característiques:
- Unitat lògica i aritmètica més complexes. Podríem fer multiplicacions i divisions complexes i amb decimals.
- Unitat de control més complexa.
- Es comença a usar el llenguatge d'alt nivell per a la seva programació.
3ª Generació
Basats en circuits integrats ( 1964 - 1974 ). Permetien treballar en temps compartit. En un moment es poden fer 2 tasques alhora, solapant instruccions.
La CPU era totalment externa a la circuiteria i això implicaria una comunicació entre CPU i circuiteria externa. Amb això es generava un coll d'ampolla en les comunicacions CPU - circuits.
4ª Generació
1974 - actualitzat. S'integren la CPU a dins dels circuits integrats. Es veu limitada només per la velocitat de la circuiteria i la CPU.
Un computador té 2 parts principals.
Els algorismes s'executen de forma seqüencial es a dir una instrucció rere l'altre.
Arquitectura: components com registres interns, mòduls de redireccionament i instruccions.
Una instrucció pot tenir 1,2 o 3 passos d'execució.
La funció global d'un computador és executar una instrucció que pot ser per llegir dades de l'exterior, per escriure dades a l'exterior, i per processar algun tipus d'instrucció.
Funcions :
Bus : camí o interconnexions de les computadores. Tot i que no és un mòdul d'ells mateixos, n'és una part imprescindible.
Total la filosofia de computadors es basa en la màquina de Von Newman.
Aquest consisteix en :
Tot i que hi ha instruccions expresses que ens permeten, per exemple, fer saltar una línia.
La memòria principal emmagatzema el programa, i de la memòria sobrant hi podem guardar dades.
El sistema E/S permet la comunicació de l'ordinador amb l'exterior.
La CPU coordina el processament de la informació i du a terme el control de les instruccions a executar.
Hi ha un bus de connexió que permet la connexió entre les diversos mòduls.
Esquema de la màquina de Von Newman.
Entrada Processador Sortida
(Bus) (Bus)
(Bus) Bidireccional
Recalcar que hi pot haver comunicació entre la unitat de control i la CPU ( tot i que no existeixen a la realitat ).
La CPU executa una instrucció, mentre la unitat de control fa un control sobre l'execució.
Esquema general d'un computador :
Perifèrics
Dispositius
Remots
Cicles que es poden realitzar en l'execució d'un programa.
Cicle de lectura : la memòria està constituïda per una sèrie de files accessibles mitjançant una adreça que les representa.
Per trobar una dada emmagatzemada haurem de carregar a la línia de direcció l'adreça de la dada en qüestió. Llavors el processador apunta la línia de direcció a la nostra dada, i llavors serà accessible.
Línia de control ens indica si volem llegir o escriure (R/W read/write).
direccions
Línies control
dades
Quan llegim una dada, aquesta va a parar als registres.
Cicles d'execució:
1.- Descodificar la instrucció: traduir a `llenguatge computador'. Donada la instrucció de suma ADD Bh, 2 que es podia equivaler amb 01101110.
2.- Llegir els operants de la memòria principal.
3.- Executa la instrucció.
Ex: Bh + 2 si Bh=6, ara hi guardarà 8 en el Bh.
4.- Emmagatzema el resultat en memòria, en la mateixa posició de memòria o en una nova.
Gràficament:
Adreces
Control
Dades
Tipus de fletxes d'informació
E / S CPU Memòria
Això ens diu que intervé la dada E / S que va a memòria quan li diu la CPU.
E / S CPU Memòria
CPU Memòria
Estructura global del Computador
Master Slave Slave Slave Master Master
BUS
Master: té un controlador intern, que li atorga la capacitat de decidir.
Si els controladors no incorporen memòria interna actuen com a Master.
El BUS necessita un arbitratge reglat pel controlador del bus.
Possibles configuracions
- Tot integrat en una placa:
Avantatges: cost, rapidesa.
Desavantatges: difícil expansió, poc flexible.
- Múltiples targes:
Avantatges: expansió, flexibilitat.
Desavantatges : és més lent, necessita més busos.
Memòria
Conceptes:
Paraula de memòria: conjunt de celdes a la memòria. Cada caixeta = 1 bit = 1 word. Poden haver de 8, 16, 32 i 64 bits. Es llegeix o s'escriu d'un cop.
Segons la memòria la capacitat és major o menor, no la paraula, que és igual.
Capacitat, 2¹° = 1 Kb, 2²° = 1Mb, 2³° = 1Gb.
Velocitat d'accés:
Accés a Dades:
Accés a Instruccions:
Sistemes Entrada / Sortida
La seva missió és connectar un perifèric extern al computador. El computador executa les dades més ràpid que un perifèric. El interface fa que es controlin les velocitats. El computador té un únic interface, els perifèrics tenen cadascun un distint. Cada perifèric té la seva velocitat, per això té cada un un interface.
Interface Intern Interface Extern
Direccions
Xarxa
Dades
Impressora
...
Control
Busos
Estructura de interconnexió
Interconnexió amb el bus.
El bus és un camí de comunicació. És imprescindible entre 2 perifèrics o dispositius. És un medi de transmissió compartits, es pot connectar tot tipus de perifèrics.
Quan connectem CPU - Memòria - E / S bus principal del sistema.
Estructura del bus:
Entre 50 i 100 línies.
Jerarquia de Busos:
Arquitectura d'altes prestacions: bus d'alta velocitat que està integrat al sistema i necessita només d'un adaptador ( bridge ).
Bus principal
Bus local
Bus altes prestacions
Bus expansió
Elements del bus:
L'amplada de banda del bus de dades afectaria a les prestacions del sistema : com més ample de bus de dades, major és el numero de bits que es poden transmetre a la vegada.
L'amplada de banda del bus de direccions afecta la capacitat del sistema, com més ample és el bus de direccions major és el rang positiu a la que poden fer referència.
Bus de dades afecta a les prestacions del sistema ( velocitat ).
Bus de direccions afecta a la capacitat del sistema.
Es permeten diversos tipus. Tots els busos permeten tant transferències d'escriptura ( des del master a l'esclau ) com de lectura ( de l'esclau al master ).
El Bus PCI
El bus PCI ( “Peripheral Component Interconect”, Interconnexió de components perifèrics ). És un bus proposat recentment que es pot usar com a bus de perifèrics o bus per a una arquitectura d'entre planta independent del processador.
Característiques :
ISA/EISA/MCA a través de Bridges (adaptadors).
Necessita de molts pocs xips per implementar, suportar altres busos que incorporen al PCI.
Estructura del bus:
El bus PCI pot configurar-se com un bus de 32 o 64 bits. Les possibles funcions són:
Opcionalment pot tenir:
Ordres del PCI:
Transferència de dades:
Té una fase de direccionament i una fase de dades.
Arbitratge:
El bus PCI utilitza un esquema d'arbitratge centralitzat síncron, en el que cada `master' té una única senyal de petició (REQ) i sessió (GNT). Aquestes línies es connecten a un àrbit central.
***
REQ Reqüest
Segons la prioritat del dispositiu, el bus envia les dades a tots i aquest l'agafa.
Unitats entrada/sortida:
Les unitats E/S proporcionen un mètode de comunicació entre el sistema i l'usuari.
Aquests no es connecten directament al bus del sistema perquè:
Bits de control start/stop aquests són diferents en comunicacions de 16, 32 o 64 bits, i per tant, si no ho adaptem no podrem comunicar-nos.
Dispositius externs:
La comunicació amb el controlador E/S s'efectua mitjançant senyals de dades, que són el conjunt de bits que s'envien o reben, les senyals de control, que determinen la funció que realitza el dispositiu, i les senyals d'estat, que indiquen l'estat en que es troba el dispositiu.
La lògica de control associada amb el perifèric governa el funcionament en resposta a les ordres enviades pel controlador E/S.
Controlador E/S:
Controlador = INTERFACE.
El mòdul del computador responsable del control d'un o més dispositius externs i de l'intercanvi de dades entre ells amb la memòria principal o els registres és la CPU.
Controlador DMA.
Funcions del controlador E/S: ***
Estructura d'un controlador:
Interfaç amb el bus de sistema
Estructura del sistema E/S:
Hi ha 3 formes d'usar el bus per a incomunicar la CPU amb la memòria i la unitat E/S:
Aquests últims corresponen a dos mecanismes diferents de direccionament coneguts amb E/S aïllada i E/S localitzada en memòria, que es veurà en la següent secció.
El controlador per programa:
La CPU executa un programa que té el controlador directe de l'operació E/S, i inclou la comprovació d'estat del dispositiu, l'enviament d'una ordre de lectura o escriptura i la transferència de la dada.
Presenta un inconvenient, que és responsabilitat del processador el comprovar periòdicament l'estat del controlador E/S, no podent realitzar una altra operació fins que no finalitzi la operació E/S pèrdua de temps.
L'ideal seria que un cop finalitzés el programa, tornés el control a la CPU.
Instruccions E/S:
En la E/S controlada per programa hi ha una correspondència molt estreta entre les instruccions d' E/S que la CPU rep de la memòria i les ordres d' E/S que la CPU envia al controlador E/S per a la seva execució.
Quan la CPU, la memòria i la unitat E/S comparteixen un bus comú, la forma de fer el direccionament difereix segons si la E/S estar localitzada en memòria o aïllada.
Ordres E/S:
Per executar una instrucció E/S, la CPU envia una ordre d' E/S i una adreça que especifica el controlador i el perifèric en particular. N'hi ha 4:
E/S per interrupcions:
La idea bàsica del mecanisme d' E/S per interrupcions consisteix a eliminar el bucle d'espera d' E/S controlada pel programa. La CPU envia una ordre d' E/S al perifèric i prossegueix amb la tasca que estava efectuant; i quan el perifèric està preparat per a intercanviar interrupcions, força una interrupció en la CPU perquè atengui a la operació E/S guanyen molt més temps; només fem transferència quan el perifèric està preparat.
El perifèric adverteix que la CPU està esperant per a la transmissió activant una línia especial del bus de control, la línia de petició d'interrupció (PI).
Classificació de les interrupcions:
Hi ha diferents tipus d'interrupcions, atenent als problemes que planteja quan hi ha més d'un dispositiu que pot sol·licitar de forma independent la petició d'una interrupció.
Identificació de les interrupcions i gestió de la seva prioritat:
La forma més directa d'identificar la font d'una interrupció és proporcionar múltiples línies de petició d'interrupció. Però és poc pràctica aquesta solució.
La situació normal és que el número de línies de que es disposi sigui menor que el número de perifèrics, havent-hi diferències alternatives per a diferenciar quin dels perifèrics connectats és el que ha sol·licitat la interrupció.
Controlador d'interrupcions:
Si la CPU té múltiples línies d'interrupció és precís dotar al sistema d'algun mecanisme de selecció de la interrupció més prioritària. Per tal d'evitar la pèrdua de velocitat si aquesta selecció es fes pel programa de servei de les interrupcions, es solen (s'inclouen) fer servir solucions hardware que no formen retard.
Una de les alternatives és fer servir un controlador d'interrupcions (PIC), les funcions del qual són identificar la font d'introducció, establir prioritats, activar i desactivar de forma selectiva les peticions d'interrupció i enviar a la CPU informació sobre la petició d'informació i quin és el perifèric que ha de ser atès.
El PIC resol les peticions simultànies mitjançant un codificador de prioritat. La lògica del codificador de prioritat és tal, que si arriben al mateix temps dos o més entrades, tenen preferència la de prioritat alta. Una altra funció del PIC és gestionar les màscares.
Interrupcions multinivell; anidament d'interrupcions:
Fins ara s'ha suposat que només es disposa d'un únic nivell d'interrupcions, de forma que un cop s'ha iniciat la execució del programa de servei d'una interrupció continua fins el final, abans que la CPU pugui acceptar una segona petició d'interrupció.
Quan es disposa de perifèrics molt prioritaris, és precís que el sistema posseeixi una estructura d'interrupcions de tipus multinivell, capaç de parar l'execució del programa de servei d'un altre dispositiu.
Per realitzar aquest esquema és convenient assignar a la CPU un nivell de prioritats. Aquest nivell és la prioritat del programa de servei d'una interrupció que s'està executant i la CPU accepta interrupcions només d'aquells dispositius que tenen una prioritat major que la seva.
La idea és que si s'està executant una tasca i arriba una interrupció de més prioritat, deixarem l'execució i executarem la nova tasca. Un cop finalitzada tornarem a la que estàvem fent.
Accés directe a memòria (DMA):
Controlador de DMA:
El DMA actua com a master, és a dir, no necessita el processador per a connectar-se a memòria.
El DMA necessita un mòdul addicional connectat al bus del sistema, el controlador de DMA, que és capaç de fer les funcions assignades a la CPU i assumir el control del sistema.
Els registres permeten al controlador de DMA transferir dades des de 0 fins a una zona contigua de memòria. Els registres de direcció s'usa per a emmagatzemar la direcció de la següent paraula que es va a transmetre, i s'incrementa de forma automàtica després de cada transferència. El registre controlador de paraules emmagatzema el número de paraules que queden per enviar. La unitat de control del DMA comprova si aquest registre val 0, i quan arriba a aquest valor envia una senyal d'interrupció a la CPU.
Quan la CPU desitja llegir o escriure un bloc de dades emet una ordre al controlador de DMA, enviant la següent informació:
Després la CPU es despreocupa ja que és el controlador de DMA el que transfereix directament el bloc complet de dades entre el perifèric i la memòria. Només quan la transferència acaba, el control DMA envia una senyal d'interrupció a la CPU.
Transferència de dades mitjançant DMA:
Configuració DMA:
El DMA es pot configurar de diferents formes. Tots els mòduls compartint el mateix bus del sistema, integrant les funcions de DMA i E/S. Aquesta última es pot generalitzar si s'usa un bus d'E/S per connectar els controladors d'E/S al controlador de DMA.
Procesadors E/S (PE/S):
Un PE/S té la capacitat d'executar instruccions E/S, el que li dóna un control complet sobre aquesta operació.
Un DMA ha d'actuar com a master del bus durant la transferència.
Etapes de transferència del DMA:
1.- Inicialització de la transferència:
Aquí intervé la CPU que té d'enviar a la interfaç del perifèric i al DMAC, els paràmetres de la transferència.
Inicialització de l'interface: (bus master: CPU; bus slave: interfaç)
Inicialització del controlador DMA: (bus master: CPU; bus slave: DMAC)
2.- Realització de la transferència:
(Bus master: DMA; bus slave: memòria).
Després de cada transferència s'actualitzen els registres del DMA:
3.- Finalització de la transferència:
Tipus de transferències:
Problemes del DMA:
Solució: Utilització de memòria caché, on carreguem els paquets de dades, i després ho posem al bus de sistema.
En computadors sense caché no farem servir el bus en totes les fases d'execució de la instrucció.
Usarem el bus en el menor nombre de fases (sense caché).
Conclusió: usant aquest sistema, el DMAC no provocarà una degradació de la CPU.
Per ràfega
Tipus de transferències
Robament de cicle
Transferències DMA:
Ràfega:
Avantatges la transferència és ràpida.
Inconvenient Durant el temps de la transferència la CPU no pot usar el bus del sistema i accedir a memòria (degradació de la CPU).
Robo de cicle:
Avantatges No es degrada el rendiment del sistema.
Inconvenient La transferència triga molt més.
Controlador de DMA:
Senyals DMA:
Funcionament de transferència DMA:
1.- Fase d'Inicialització:
La CPU indica a l'interface del perifèric l'operació a realitzar. La CPU accedeix als registres del DMAC per a indicar els paràmetres de la transferència:
La CPU retorna a les seves tasques.
2.- Fase de transferència:
Quan el perifèric està llest per a enviar/rebre ho indica al DMAC amb la senya Request.
El DMA sol·licita el control del bus mitjançant les línies d'arbitratge.
El DMA rep la concessió del bus i activa la senyal REQ-ACK (Acknolege).
El DMA genera i processa les senyals del bus (L/E, sincronització, etc.).
UN cop transferida cada paraula, el DMAC actualitza el registre (decrementa el comptador de paraules, i incrementa la posició de memòria).
Tenint en compte la transferència de `robo de cicle', alliberaríem ja el bus.
I si ho fem per `ràfega', tornaríem a començar fins a finalitzar la transferència.
3.- Fase de finalització de la transferència:
Quan el número de paraules arribar a 0, el DMAC activa la senyal d'interrupció indicant a la CPU que ha finalitzat.
Bloc Memòria Principal
Unitat ALU
Aritmético - Lògica
Unitat de control de programa
Perifèrics E / S
40 dígits
......................
...
E / S
Mem.
Pral.
Unitat
Control
Camí de dades
E / S
E / S
CPU
E / S
Memòria
CPU
CPU
Mem
Cntr
Vídeo
Teclat
Discs
H.D.
Llegir
Escriure
CPU
Caché
Memòria
Interface
Llegir en aquesta adreça de mem. la instrucció
Càlcul de l'adreça de la instrucció
Decodificar la instrucció
Emmagatzemar el resultat
Lectura dels operants
Operació
Càlcul de l'adreça dels operants
Càlcul de l'adreça del resultat
Accés memòria
Operació interna CPU
dr
dr
dada
dada
Direcció escritura dada
CPU
GNT REQ
Dispositiu PCI
GNT REQ
Dispositiu PCI
Arbit PCI
Línies de control
Línies de direcció
Línies de dades
Interfaç amb el bus de sistema
Interfaç amb el dispositiu extern
Dades
Estat
Control
Estat
Control
Dades
Lògica E/S
Lògica d'interfaç a un dispositiu extern
Lògica d'interfaç a un dispositiu extern
Registre d'Estat RD
Registre d'Estat RE
Petició DMA
Reconeixement DMA
Controlador DMA
Interrupció
Lectura
Escriptura
Perifèric
Unitat de control de DMA
Registres de dades
Registres de direcció
Registres contadors paraules
Bus de dades
Bus de direcció
Bus de dades
MEM
DMAC
E/S
CPU
Accés a CPU
A memoria o E/S
ÚS DEL BUS
Operació interna a CPU
NO USA EL BUS
Lectura de la instrucció
Lectura de l'operant
Escriure resultat memòria
Càlcul de la instrucció
Decodificació de la instrucció
Càlcul direcció operants
Operació
Càlcul posició memòria
CPU
Dades
Adreces
INTR
Sincronització
Arbitratge
E/S
DMAC
Lògica de decodificació i control
Reg. mem
Reg. parau
Reg. sentit
E/S
Memòria
Bus control
Bus direccions
Bus de dades
DMA-REQ
DMA-ACK
RQ
Descargar
Enviado por: | SR |
Idioma: | catalán |
País: | España |