Fonaments de computadors

Informática. Computación # Història. Estructura dels computadors. Sistema de representació de l'informació. Circuits combinacionals. Introducció als circuits seqüencials

  • Enviado por: SR
  • Idioma: catalán
  • País: España España
  • 20 páginas
publicidad
publicidad

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 - HISTÒRIA

          • 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.

          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 :

        • 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ó.

        • 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.

          • Algorisme / Programes

          • Arquitectura

          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 :

          • Lectura - Escriptura comunicació amb l'exterior. Perifèrics E/S

          • Guardar dades emmagatzement a memòria principal

          • Processament destinat únicament al processador

          • Control CPU

          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 :

          • El programa s'emmagatzema a la memòria del computador.

          • La forma d'execució de les instruccions és seqüencial.

          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ó

          • Emmagatzement de la 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.

          • Llegir informació de memòria

          E / S CPU Memòria

          • Processament de la informació

          CPU Memòria

          Estructura global del Computador

          • Tenim busos que tenen una jerarquia.

          • Jerarquia de memòria ( distribució dels tipus de memòria )

          • Dispositius E / S.

          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

        • 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.

          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:

          • 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

          Accés a Dades:

          • Localitat temporal : variables de programa que contínuament canvia de valor.

          • Localitat espaial : posicions de memòria molt properes a les accedides anteriorment.

          Accés a Instruccions:

          • Espaial : accés a instruccions de forma seqüencial.

          • Temporal: bucle d'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ó

          • 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.

          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.

          • 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.

          Jerarquia de Busos:

          • 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.

          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í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:

          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.

          • Tipus de transferència de dades.

          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 :

          • 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

          ISA/EISA/MCA a través de Bridges (adaptadors).

          Necessita de molts pocs xips per implementar, suportar altres busos que incorporen al PCI.

          • 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.

          Estructura del bus:

          El bus PCI pot configurar-se com un bus de 32 o 64 bits. Les possibles funcions són:

          • 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é.

          Opcionalment pot tenir:

          • Terminals d'extensió a bus de 64 bits.

          • Terminals de test.

          Ordres del PCI:

          • 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.

          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è:

          • 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.

          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: ***

          • 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.

          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:

          • 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.

          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.

          • 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.

          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:

          • 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.

          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ó.

          • 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).

          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.

          • 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.

          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ó:

          • 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.

          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:

          • 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.

          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):

          • 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.

          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.

          • 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.

          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ç)

          • Nº bytes a escriure/llegir (Enviar).

          • Tipus de transferència (lectura/escriptura).

          • Alta informació de control (pista, sector, etc.).

          Inicialització del controlador DMA: (bus master: CPU; bus slave: DMAC)

          • 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).

          2.- Realització de la transferència:

          • 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.

          (Bus master: DMA; bus slave: memòria).

          Després de cada transferència s'actualitzen els registres del DMA:

          • Nº de bytes/paraules a transferir.

          • Adreça de memòria.

          3.- Finalització de la transferència:

          • 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.

          Tipus de transferències:

          Problemes del DMA:

          • Degradació del rendiment de la CPU hi ha d'haver una bona gestió del DMAC.

          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:

          • 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.

          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:

          • 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).

          Avantatges No es degrada el rendiment del sistema.

          Inconvenient La transferència triga molt més.

          Controlador de DMA:

          Senyals DMA:

          • DMA-REQ Sol·licitud servei DMA.

          • DMA-ACK Concessió servei.

          • RW-10 Sentit de transferència per al perifèric Read/Write - Inptu/Output.

          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:

          • Direcció inicial de memòria.

          • Nº de paraules a transferir.

          • Sentit 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