PC e XT
Il PC IBM originale ha semplicemente esteso il bus del chipset Intel ai connettori utilizzando i driver del buffer. La frequenza di clock sul bus della scheda era esattamente la stessa di quella utilizzata per un ciclo della CPU. Quindi con circa \ $ 4.77 \: \ text {MHz} \ $ (derivato dividendo per 3 a \ $ 14.31818 \: \ text {MHz} \ pm 5 \: \ text {ppm} \ $ crystal rate) sulla CPU del PC, ciò significava che una tipica transazione del bus I / O a 6 cicli e 8 bit avrebbe richiesto circa \ $ 1.26 \: \ mu \ text {s} \ $ . Ciò era coerente con la tecnologia dell'epoca, quindi le schede potevano decodificare e bloccare gli indirizzi utilizzando dispositivi a metà strada (in termini di velocità) ea prezzi ragionevoli. IBM alla fine avrebbe pubblicato un set abbastanza completo di documentazione su PC IBM, XT e PC / AT che includeva schemi dettagliati ben strutturati e comprensibili e un elenco completo del codice sorgente del BIOS (in assembly).
Il PC e XT hanno semplicemente utilizzato il design del bus che riflette il design del chip di Intel, senza funzionalità di estensione (di cui sono a conoscenza.) Se si prova ad aumentare la frequenza di clock della CPU, la frequenza di clock del bus lo farebbe aumentano anche e questo mette sotto pressione le tavole. Ma non ricordo che molti abbiano tentato di farlo, quindi non è stato un problema.
AT
Con l'avvento del PC / AT e dell'80286, sono diventate disponibili una nuova transazione di I / O a 16 bit e una transazione di memoria a 16 bit. Intel è anche passata al nuovo chip 82284 di generazione di clock e al chip di controllo del bus 82288. Altri canali DMA e linee di segnale di interrupt sono stati aggiunti da IBM e an transazione di arbitrato è stata aggiunta in modo che le schede aggiuntive potessero sostituire la CPU della piattaforma come proprietario del bus. )
Il nuovo limite standard per la CPU ora era \ $ 6 \: \ text {MHz} \ $ . La tariffa del bus è stata aumentata in modo simile e sono state necessarie schede più recenti per tenere il passo. IBM ha anche introdotto una serie di nuove schede per il sistema.
L'80286 aveva altre quattro linee di indirizzo (che andavano da 20 a 24) e ora poteva entrare in una nuova modalità operativa protetta per ottenere l'accesso a queste nuove linee. Sebbene Intel sia stata in grado di consentire il passaggio dal funzionamento in modalità reale alla modalità protetta utilizzando istruzioni software appropriate, sono stati affrettati a portare il chip sul mercato e non sono riusciti a mettere in campo con successo la nuova CPU con la possibilità di tornare alla modalità reale . Di conseguenza, l'unico modo per tornare dalla modalità protetta alla modalità reale era tramite un ripristino del processore. IBM ha gestito questo problema tramite l'interfaccia della tastiera, utilizzando la tastiera (e la memoria nel circuito integrato del calendario che hanno utilizzato) per forzare un ripristino dell'hardware quando richiesto. Il BIOS supportava le transizioni avanti e indietro tra le modalità ed era in grado di nascondere il fatto che la tastiera doveva ripristinare la CPU ogni volta che veniva richiesta per tornare al funzionamento in modalità reale.
Trasferimenti bus più ampi sul bus PC / AT ora supportano anche velocità di ciclo del bus più elevate; un "byte swapper" è stato utilizzato per trasferire byte di ordine basso e di ordine alto sul bus; e la nuova logica del ciclo di aggiornamento utilizzava circuiti discreti.
La corsa per una maggiore velocità della CPU
Le persone scoprirono rapidamente che potevano aumentare la frequenza di clock del loro costoso PC / AT IBM a circa \ $ 8 \: \ text {MHz} \ $ semplicemente sostituendo il cristallo dell'orologio. L'ho fatto e ho scoperto che potevo spingere con successo il sistema e le schede che usavo su \ $ 8.5 \: \ text {MHz} \ $ prima che le cose iniziassero a diventare incerte . (Non sono riuscito a raggiungere un \ $ 9 \: \ text {MHz} \ $ coerente sul mio sistema, quindi ho optato per \ $ 8 \: \ text {MHz} \ $ e lasciato lì.)
Il livello di abilità necessario (e gli strumenti richiesti) per progettare una scheda madre erano relativamente bassi all'epoca. Quasi chiunque potrebbe trovare parti poco costose e fare un layout decente che funzionerebbe bene a queste frequenze. E un sacco di produttori di schede madri "mamma e pop" iniziarono presto a entrare sulla scena. (Il prezzo di IBM era molto alto per la maggior parte delle persone.)
Forse il primo sostituto del PC di vero successo (in grado di emulare l'hardware IBM con il 99% di compatibilità) è stato il prodotto 286i di Kaypro. Prima di questo, di solito c'erano troppi "problemi" per rendere i prodotti sufficientemente accettabili per il mercato aziendale (sebbene gli hobbisti spesso andassero bene). L'ingresso di Kaypro costava circa $ 2k in meno rispetto a quello di IBM, quindi è stato lanciato molto rapidamente.
Man mano che sempre più concorrenti risolvono i problemi di compatibilità e iniziano a competere, Intel ha iniziato a lanciare anche CPU 80286 con specifiche più veloci. I produttori di schede incorporavano queste nuove CPU, includevano chip logici più veloci in modo che il bus potesse funzionare più velocemente, e abbiamo iniziato a vedere \ $ 8 \: \ text {MHz} \ $ , \ $ 10 \: \ text {MHz} \ $ e anche \ $ 12 \: \ text {MHz} \ $ offerte. Ma questo ha quasi immediatamente messo sotto pressione le schede aggiuntive. Le carte più vecchie semplicemente non potevano essere utilizzate e quelle più nuove erano troppo poche, troppo distanti tra loro e i consumatori dovevano acquistare un sistema più veloce che riduceva notevolmente il numero di carte aggiuntive che potevano acquistare e utilizzare con successo.
Mentre alcune aziende hanno tentato di isolare la velocità del bus della scheda aggiuntiva dalla velocità del bus Intel interna con chip discreti (con un certo successo), il numero enorme di produttori di schede madri "mamma e pop" e la necessità di separare l'orologio La velocità della CPU dal tempo di ciclo del bus ha aperto le porte a una nuova società, Chips and Technology (aka C&T), per produrre un ASIC che ha fatto questo lavoro. Molto rapidamente, nuove schede madri sono entrate nel mercato consentendo di mantenere il tempo di ciclo del bus ISA (relativamente) indipendente dalla frequenza di clock della CPU Intel. Dal momento che Intel nel frattempo continuava ad aumentare la frequenza massima della CPU, questa è stata una manna dal cielo per i molti concorrenti, che non avevano la potenza interna o il finanziamento per sviluppare ASIC ma che potevano certamente usarli in nuovi prodotti.
Di conseguenza, le "guerre di frequenza" sono iniziate sul serio e non passava quasi un mese in cui non c'erano nuove offerte di schede madri con velocità di clock della CPU in aumento. Il disaccoppiamento della frequenza della CPU dalla frequenza del bus è stata una grande vittoria anche per C&T, che ha fatto abbastanza bene nel processo.
Come nota, credo che il bus ISA disaccoppiato operi in modo asincrono rispetto alla CPU della piattaforma con un'eccezione : la linea RESET alla CPU della piattaforma.
I / O e memoria e DMA
Le transazioni di I / O e bus di memoria sono distinte, ma per molti versi abbastanza simili tra loro. È solo che diverse schede risponderebbero. La transazione I / O originale a 8 bit, ad esempio, era lunga 6 cicli di bus. Ma con il PC / AT un bus più nuovo e più ampio è stato incluso un I / O a 3 cicli.
Era compito di ogni scheda aggiuntiva bloccare e decodificare l'indirizzo e i segnali associati a cui erano interessati (IOR o IOW, ad esempio, per le schede che rispondevano ai cicli del bus di I / O). numero di orologi per rispondere a una transazione standard. Una scheda I / O potrebbe, tuttavia, affermare IOCHRDY se desidera aggiungere cicli di bus per completare la transazione.
Con l'avvento delle transazioni sia a 8 bit che a 16 bit con il bus PC / AT ISA, sono sorti alcuni problemi. Ad esempio, un componente aggiuntivo slave I / O a 16 bit non può forzare il master del bus (che può essere o meno la CPU della piattaforma) ad eseguire un accesso a 16 bit quando il proprietario desidera solo un 8 bit. Allo stesso modo, un proprietario di bus che intende ottenere un accesso a 16 bit non può ordinare a un componente aggiuntivo slave a 8 bit di eseguire un accesso a 16 bit. Quindi ci sono linee di segnale aggiunte per aiutare in queste circostanze.
I cicli di accesso al DMA erano leggermente diversi dagli altri due in questo senso: DMA utilizzava l'attivazione simultanea di linee di segnale di comando di I / O e memoria per consentire che i dati venissero inseriti e recuperati dal bus durante lo stesso ciclo. Qui, ad esempio, l'indirizzo posto sul bus è per la memoria e NON per la scheda I / O (che non dovrebbe usarlo.) (L'AEN è attivato per indicare alla scheda I / O di non usare l'indirizzo.)
Le schede aggiuntive che rispondono agli indirizzi di I / O sono state impostate in posizioni uniche per evitare conflitti. IBM ha fornito indicazioni in merito per schede importanti (display video, porta seriale, porta parallela, controller di interrupt e così via), ma molti produttori di schede aggiuntive includerebbero anche mezzi per regolare l'indirizzo I / O in modo che se ne usassi due o più delle loro schede, lavorerebbero bene insieme. In generale, il sistema funzionava abbastanza bene e c'erano pochi problemi. (La maggior parte dei problemi relativi alla memoria grafica richiesta per vari tipi di schede controller dello schermo.)
Arbitrato
Tecnicamente, esiste effettivamente IS un ciclo di arbitrato.Non è solo quello che stai chiedendo.Invece, è un mezzo con cui un altro bus master (presumibilmente residente su una scheda aggiuntiva) può rivendicare la proprietà del bus come master.Questo ciclo inizia effettivamente con l'aspetto di un ciclo di trasferimento DMA ed è il controller DMA che per primo risponde.L'aspirante bus master ha quindi un tempo fisso in cui affermare MASTER e ottenere la proprietà.Il controller DMA quindi triplica i propri segnali di indirizzo, comando e dati.(Ho lavorato con un team su una scheda aggiuntiva MIPS R2000 per IBM PC / AT, circa 1986.)