10 SOTTO-SISTEMI DI I/O In questo capitolo illustriamo una serie di concetti base di frequente utilizzo nella progettazione di sistemi microelettronici. Gli standard dei bus di sistema hanno subito una serie di evoluzioni; tra questi, i più vecchi sono il VME e l'ISA che sono tuttora molto usati; alla fine degli anni '80 erano molto in voga il MCA ( bus proprietario IBM ) e l'EISA. Il MCA è stato un tentativo per evitare la diffusione dei cloni dei PC: la IBM mise sul mercato una gamma di PC ( PS2 ) basati su un bus brevettato, per il quale bisognava pagare delle royalty per fabbricare dei PC compatibili con quel bus; per vari problemi, l'operazione non ebbe successo e il bus MCA, dopo alcuni anni, sparì. L'EISA è un bus brevettato da COMPAQ insieme ad altri produttori di PC, in risposta al MCA. Nei primi anni '90 fa la comparsa, nei PC, il bus locale, inteso come bus di I/O: il primo fu il VESA, oggi sostituito dal PCI che è uno standard di larghissimo uso, introdotto dalla INTEL. Quasi tutti questi bus, sono nati come standard di fatto e successivamente formalizzati come standard dalla IEEE. 10.1 ISA E nato come prodotto INTEL per i PC: le linee del bus ISA si rifanno alla piedinatura del 8086; inizialmente, nei primi sistemi, tutto quanto era sul bus, anche la memoria. Essendo abbastanza lento, da un certo momento in poi si è provveduto ad introdurre delle architetture nelle quali è presente un bus locale nella memoria ( memory bus ). Fig. 10.1 A1.115 In fig. 10.1 possiamo vedere una architettura tipica del bus ISA. E presente, praticamente, in tutti i PC; è un bus a 16 bit, 24 bit d'indirizzo e come specifica, pur essendo un bus asincrono ( assenza di clock ), ha una frequenza di scritture di 8 MHz. Non prevede un supporto per il sistema multiprocessore: prevede che ci sia un solo master, tipicamente la CPU, che può cedere il controllo del bus ad un'unità di DMA o, eventualmente, ad altre unità di I/O, sempre in seguito ad una sua iniziativa. Non c'è una fase di arbitraggio. 10.2 MCA, EISA, NuBUS I bus MCA e EISA, pur appartenendo ad una vecchia generazione di bus, sono importanti perché le loro caratteristiche sono abbastanza evolute e sfruttate da quelli più moderni. Il MCA è un bus asincrono mentre l'EISA è sincrono, con una frequenza di 8.33 MHz ( c'è una linea di clock sul bus e tutte le transizioni, sul bus stesso, sono sincrone con il ciclo di clock ). Ci possono essere più master sul bus e questo viene deciso attraverso un ciclo di arbitrazione. Fig. 10.2 I bus supportano il trasferimento di tipo burst ( trasferimento di blocchi di dati a partire da uno stesso indirizzo, senza dover fare successive operazioni di scrittura ); esistono diverse versioni per quanto riguarda l'ampiezza di parola: quelle più evolute arrivano a 32 bit d'indirizzo e 32 bit di dato. A1.116 Esistono linee di interrupt dedicate: il MCA utilizza delle linee di interrupt edge triggered, mentre l'EISA, così come altri, utilizza linee di interrupt level triggered. U Continua »
Frappe' scaccia fatica per studenti... guarda il video »