CHIPS P82C612 in un pacchetto PLCC

L’architettura Micro Channel fu progettata dall’ingegnere Chet Heath. Molte delle schede Micro Channel che sono state sviluppate hanno usato il controller di interfaccia MCA CHIPS P82C612; permettendo alle implementazioni MCA di diventare molto più facili.

IBM 83X9648 16-bit Network Interface Card

OverviewEdit

Il Micro Channel era principalmente un bus a 32-bit, ma il sistema supportava anche una modalità a 16-bit progettata per abbassare il costo dei connettori e della logica nelle macchine basate su Intel come la IBM PS/2.

La situazione non fu mai così semplice, comunque, dato che sia la versione a 32-bit che quella a 16-bit inizialmente avevano una serie di connettori opzionali aggiuntivi per le schede di memoria che portarono ad un enorme numero di schede fisicamente incompatibili per la memoria collegata al bus. Col tempo, la memoria si spostò sul bus locale della CPU, eliminando così il problema. Sul lato positivo, la qualità del segnale fu notevolmente migliorata poiché Micro Channel aggiunse i pin di terra e di alimentazione e dispose i pin per minimizzare l’interferenza; una terra o un’alimentazione era quindi situata entro 3 pin da ogni segnale.

Un’altra estensione del connettore fu inclusa per le schede grafiche. Questa estensione era usata per l’uscita analogica dalla scheda video, che veniva poi instradata attraverso la scheda di sistema all’uscita del monitor del sistema stesso. Il vantaggio di questo era che le schede di sistema Micro Channel potevano avere un sistema grafico di base VGA o MCGA a bordo, e la grafica di livello superiore (XGA o altre schede acceleratrici) poteva quindi condividere la stessa porta. Le schede aggiuntive erano quindi in grado di essere libere dalle modalità VGA ‘legacy’, facendo uso del sistema grafico a bordo quando necessario, e consentendo un singolo connettore della scheda di sistema per la grafica che poteva essere aggiornata.

Le schede Micro Channel avevano anche un unico ID a 16 bit leggibile dal software, che costituiva la base di un primo sistema plug and play. Il BIOS e/o il sistema operativo possono leggere gli ID, confrontarli con una lista di schede conosciute ed eseguire la configurazione automatica del sistema per adattarsi. Questo ha portato a fallimenti di avvio per cui un vecchio BIOS non avrebbe riconosciuto una scheda più recente, causando un errore all’avvio. A sua volta, questo richiedeva a IBM di rilasciare dischi di riferimento aggiornati (The CMOS Setup Utility) su base regolare. Una lista abbastanza completa di ID conosciuti è disponibile (vedi sezione Collegamenti esterni). Ad accompagnare questi dischi di riferimento c’erano dei file ADF che venivano letti dal setup che a sua volta forniva informazioni di configurazione per la scheda. L’ADF era un semplice file di testo, contenente informazioni sull’indirizzamento della memoria della scheda e sugli interrupt.

Anche se le schede MCA costavano quasi il doppio delle schede non MCA comparabili, il marketing sottolineava che era semplice per qualsiasi utente aggiornare o aggiungere altre schede al proprio PC, risparmiando così la notevole spesa di un tecnico. In quest’area critica, il più grande vantaggio dell’architettura Micro Channel era anche il suo più grande svantaggio, e una delle ragioni principali della sua scomparsa. Per aggiungere una nuova scheda (video, stampante, memoria, rete, modem, ecc.) l’utente semplicemente collegava la scheda MCA e inseriva un floppy disk personalizzato (che veniva fornito con il PC) per fondere automaticamente la nuova scheda nell’hardware originale, piuttosto che portare un tecnico costosamente addestrato che poteva fare manualmente tutti i cambiamenti necessari. Tutte le scelte per gli interrupt (un problema spesso sconcertante) e altri cambiamenti erano realizzati automaticamente dal PC che leggeva la vecchia configurazione dal floppy disk, che faceva i necessari cambiamenti nel software, poi scriveva la nuova configurazione sul floppy disk. In pratica, però, questo significava che l’utente doveva mantenere quello stesso dischetto abbinato a quel PC. Per una piccola azienda con pochi PC, questo era fastidioso, ma pratico. Ma per grandi organizzazioni con centinaia o addirittura migliaia di PC, abbinare permanentemente ogni PC al proprio dischetto era logisticamente improbabile o impossibile. Senza il disco floppy originale e aggiornato, non si potevano fare modifiche alle schede del PC. Dopo che questa esperienza si è ripetuta migliaia di volte, i dirigenti aziendali si sono resi conto che il loro scenario da sogno per la semplicità degli aggiornamenti non funzionava nel mondo aziendale, e hanno cercato un processo migliore.

Trasmissione datiModifica

La velocità di base dei dati del Micro Channel è stata aumentata dagli 8 MHz di ISA a 10 MHz. Questo potrebbe essere stato un aumento modesto in termini di frequenza di clock, ma la maggiore larghezza del bus, accoppiata con un controller di bus dedicato che utilizzava trasferimenti in modalità burst, significava che il throughput effettivo era fino a cinque volte superiore a ISA. Per trasferimenti più veloci il bus degli indirizzi poteva essere riutilizzato per i dati, aumentando ulteriormente la larghezza effettiva del bus. Mentre il tasso di 10 MHz permetteva 40 MB/s di throughput con una larghezza di 32 bit, i modelli successivi di macchine RS/6000 hanno aumentato il tasso di dati a 20 MHz, e il throughput a 80 MB/s. Alcune funzioni a più alto throughput del bus Micro Channel erano disponibili solo per la piattaforma RS/6000, e non erano inizialmente supportate su schede che operavano su una piattaforma Intel.

Con il bus mastering, ogni scheda poteva parlare direttamente con un’altra. Questo permetteva prestazioni indipendenti dalla CPU. Uno svantaggio potenziale del design multi-master erano le possibili collisioni quando più di una scheda provava a fare da bus master, ma Micro Channel includeva una funzione di arbitraggio per correggere queste situazioni, e permetteva anche a un master di usare una modalità burst. Le schede Micro Channel avevano il controllo completo fino a 12 millisecondi. Questo era abbastanza lungo da permettere al massimo numero di altri dispositivi sul bus di bufferizzare i dati in entrata da dispositivi over-runnable come il nastro e le comunicazioni.

Il supporto di bus-master multipli e l’arbitrato migliorato significano che diversi dispositivi di questo tipo potrebbero coesistere e condividere il bus di sistema. I dispositivi compatibili con il bus master di Micro Channel possono anche usare il bus per parlare direttamente tra loro (peer to peer) a velocità superiori a quelle della CPU del sistema, senza alcun altro intervento del sistema. In teoria, i sistemi con architettura Micro Channel potrebbero essere espansi, come i mainframe, solo con l’aggiunta di master intelligenti, senza la necessità periodica di aggiornare il processore centrale.

Il miglioramento dell’arbitraggio assicura un migliore throughput del sistema poiché il controllo viene passato in modo più efficiente. La gestione avanzata degli interrupt si riferisce all’uso di interrupt sensibili al livello per gestire le richieste del sistema. Piuttosto che una linea di interrupt dedicata, diverse linee possono essere condivise per fornire più interrupt possibili, affrontando i problemi di conflitto delle linee di interrupt del bus ISA.

Tutti i segnali di richiesta di interrupt erano “pubblici” sull’architettura Micro Channel permettendo a qualsiasi scheda sul bus di funzionare come un processore I/O per il servizio diretto degli interrupt dei dispositivi I/O. ISA aveva limitato tutta questa elaborazione solo alla CPU del sistema. Allo stesso modo, i segnali di richiesta e concessione del bus master erano pubblici, così che i dispositivi collegati al bus potevano monitorare la latenza per controllare il buffering interno per i processori I/O. Queste caratteristiche non furono adottate per PCI, richiedendo che tutto il supporto I/O provenisse unicamente dal processore della scheda di sistema.

L’ultimo grande miglioramento dell’architettura Micro Channel fu il POS, il Programmable Option Select, che permetteva che tutta la configurazione avesse luogo via software. Questa caratteristica è data per scontata oggi, ma all’epoca il setup era un lavoro enorme per i sistemi ISA. POS era un sistema semplice che includeva gli ID dei dispositivi nel firmware, che i driver nel computer dovevano interpretare. (Questo tipo di sistema di configurazione software è conosciuto oggi come plug and play.) La funzione non ha davvero mantenuto la sua promessa; la configurazione automatica andava bene quando funzionava, ma spesso non lo faceva – risultando in un computer non avviabile – e risolvere il problema con un intervento manuale era molto più difficile che configurare un sistema ISA, anche perché la documentazione per il dispositivo MCA tendeva ad assumere che la configurazione automatica avrebbe funzionato e quindi non forniva le informazioni necessarie per impostarla a mano, a differenza della documentazione del dispositivo ISA che per necessità forniva tutti i dettagli (tuttavia dover fisicamente rimuovere e controllare tutte le impostazioni IRQ, poi trovare e impostare il nuovo IRQ per un nuovo dispositivo — se ne era disponibile uno adatto — per ISA non era affatto divertente, e al di là di molti utenti… è ovvio il motivo per cui è stato fatto il tentativo di passare alla configurazione arbitrata dal software, e il motivo per cui questo sarebbe poi riuscito nella forma di PnP.)

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.