caratteristiche e diversità l'8086: caratteristiche hardware · nerale il nostro sistema,...

5
di Pierluif(i Panunzi Caratteristiche e diversità Nello scorso numero di MC i lettori inte- ressati all'argomento «Assembler» si so- no trovati di fronte ad un «passaggio di consegne» tra lo Z80, incontrastato do- minatore degli B bit, e l'BOB6, degno rappresentante del mondo dei 16 bit. D'ora in poi dunque parleremo del- 1'80B6e del suo stretto parente BOBB:per forza di cose dovremo introdurre concet- ti nuovi e tematiche del tutto assenti in termini di microprocessori ad B bit; d'al- tro canto però era lecito aspettarsi qual- cosa di nuovo, dal momento che non è semplicemente raddoppiato il «paralleli- smo» del microprocessore, da B a 16 bit per l'appunto, ma soprattutto si sono più che raddoppiate le potenzialità, quali ad esempio la quantità di memoria indiriz- zabile e la sua gestione, le capacità ope- rative in termini di set di istruzioni, non- ché in generale la <<.filosofia»secondo cui viene realizzato un sistema basato sui microprocessori in esame. Come evoluzione naturale di questa serie di articoli, promettiamo già fin d'o- ra di parlare dell'B0186, nonché del- 1'802B6, due microprocessori che conten- gono nel loro interno praticamente un sistema completo. Dato che, come suoi dirsi, l'appetito vien mangiando, ecco che da ultimo parleremo anche del- 1'80386, che già fa parte della schiera dei microprocessori a 32 bit. Comunque andiamo per gradi e co- minciamo a vedere le caratteristiche del- l'B086, per paragonarle successivamente a quelle dell'BOBB. Le differenze, come vedremo, riguarderanno quasi esclusiva- mente la configurazione hardware del sistema e perciò non verranno del tutto approfondite. Per ciò che riguarda il software, e per- ciò l'Assembler di cui ci occuperemo pre- valentemente, si ha invece una compati- bilità totale tra i due processori, per cui non sarà strano trovare citazioni indiffe- rentemente all'uno o all'altro micropro- cessore. MCmicrocomputer n. 46 - novembre 1985 L'8086: caratteristiche hardware Analizziamo innanzitutto il micro- processore cosÌ come ci appare ester- namente: non è altro che un circuito integrato piuttosto grande, dotato co- m'è di 40 piedini cosÌ come, ad esem- pio, lo Z80. Facciamo un po' di conti assieme: il processore è a 16 bit e per- ciò 16 piedini devono essere riservati per il cosiddetto Data Bus; per quanto riguarda gli indirizzi, abbiamo biso- gno di almeno altri 16 pin per poter in- dirizzare come minimo i 64K; inoltre per pilotare tutto l'hardware, ed in ge- nerale il nostro sistema, abbiamo co- me minimo necessità di una ventina di pin riservati ai cosiddetti segnali di controllo, sia di input che di output, quali ad esempio l'abilitazione alla let- tura/scrittura di un dato, oppure il c1ock, nonché i vari interrupt, reset, ecc. Infine, essendo un componente elet- tronico, deve essere alimentato e ciò, grazie ai progressi tecnologici, si ottie- ne con altri due soli piedini, uno che va collegato al positivo ( + 5V) e l'altro alla massa comune. Tiriamo le somme: 16+ 16+20+2 fa 54, come dire che i 40 pin a disposi- zione non bastano. Per far tornare i conti c'è dunque un trucco? No. In ef- fetti non si tratta di un trucco, ma di un'idea geniale: dal momento che il Data Bus e l'Address Bus (quest'ulti- mo come estensione minima) sono da 16 bit, allora è più conveniente far sÌ che condividano gli stessi pin ottenen- do cosÌ un totale di 16 invece di 32, al prezzo di un unico ulteriore piedino che serva da indicatore dello «stato» dei piedini comuni e cioè se in un cer- to istante siano Data Bus oppure Ad- dress Bus. Questa tecnica, in gergo, viene chia- mata «time-multiplexing» e consiste appunto nel fatto che per un certo tempo i pin in comune sono conside- rati indirizzi e, per un altro intervallo di tempo, dati: ciò non comporta in- convenienti al «mondo esterno» in quanto basta saper sfruttare il segnale di distinzione per far sì che gli altri componenti (ad esempio le memorie) non si accorgano di quanto sta acca- dendo, ma viceversa vedano due bus separati. In tal modo i conti tornano: 16+ 20 + 2 ora fa 38, come dire che rientriamo comodamente nei 40 pin standard di un circuito integrato. Abbiamo dunque già imparato qual- cosa di nuovo rispetto al mondo degli 8 bit dove praticamente solo 1'8085 (guarda caso anche lui dell'lntel) pos- siede i primi otto bit dell'Address Bus multiplexati con il Data Bus. Comunque 16 piedini e perciò 16 bit di indirizzo, laddove per gli 8' bit consentivano l'uso di 64K byte di me- moria, in un mondo in cui il paralleli- smo è raddoppiato, non possono certo bastare: infatti nel nostro caso i pro- gettisti dell'lntel hanno pensato di ele- varne il numero a 20. Con tale valore, facendo un po' di conti, si ottiene la bella cifra di IMby- te di memoria indirizzabile, ben 16 volte maggiore di quella a cui ci han- no abituato gli 8 bit. Ma tutto ciò non avrebbe troppo senso, economicamente parlando, se non si assistesse quasi quotidianamen- te alla riduzione dei costi delle memo- . .. ne vere e propne, grazIe ancora una volta al progresso tecnologico. Basti pensare che mentre qualche anno fa arrivare ad IK o a 4K con componenti non sempre reperibili vo- leva dire aumentare i costi del proget- to, oggigiorno sono disponibili memo- rie dinamiche da 256K bit con le quali si può arrivare a 256K byte con appe- na 8 di esse, più opportuni circuiti di pilotaggio: ma 256K byte sono già 4 volte la massima raggiungibilità di un microprocessore ad 8 bit. Questo fatto del progresso tecnolo- gico favorisce, dal punto di vista del 107

Upload: lemien

Post on 14-Oct-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina di ... Basta pensare che già con i micro-

di Pierluif(i Panunzi

Caratteristiche e diversitàNello scorso numero di MC i lettori inte-ressati all'argomento «Assembler» si so-no trovati di fronte ad un «passaggio diconsegne» tra lo Z80, incontrastato do-minatore degli B bit, e l'BOB6, degnorappresentante del mondo dei 16 bit.

D'ora in poi dunque parleremo del-1'80B6e del suo stretto parente BOBB:perforza di cose dovremo introdurre concet-ti nuovi e tematiche del tutto assenti intermini di microprocessori ad B bit; d'al-tro canto però era lecito aspettarsi qual-cosa di nuovo, dal momento che non èsemplicemente raddoppiato il «paralleli-smo» del microprocessore, da B a 16 bitper l'appunto, ma soprattutto si sono piùche raddoppiate le potenzialità, quali adesempio la quantità di memoria indiriz-zabile e la sua gestione, le capacità ope-rative in termini di set di istruzioni, non-ché in generale la <<.filosofia»secondocui viene realizzato un sistema basatosui microprocessori in esame.

Come evoluzione naturale di questaserie di articoli, promettiamo già fin d'o-ra di parlare dell'B0186, nonché del-1'802B6, due microprocessori che conten-gono nel loro interno praticamente unsistema completo. Dato che, come suoidirsi, l'appetito vien mangiando, eccoche da ultimo parleremo anche del-1'80386, che già fa parte della schieradei microprocessori a 32 bit.

Comunque andiamo per gradi e co-minciamo a vedere le caratteristiche del-l'B086, per paragonarle successivamentea quelle dell'BOBB. Le differenze, comevedremo, riguarderanno quasi esclusiva-mente la configurazione hardware delsistema e perciò non verranno del tuttoapprofondite.

Per ciò che riguarda il software, e per-ciò l'Assembler di cui ci occuperemo pre-valentemente, si ha invece una compati-bilità totale tra i due processori, per cuinon sarà strano trovare citazioni indiffe-rentemente all'uno o all'altro micropro-cessore.

MCmicrocomputer n. 46 - novembre 1985

L'8086: caratteristiche hardware

Analizziamo innanzitutto il micro-processore cosÌ come ci appare ester-namente: non è altro che un circuitointegrato piuttosto grande, dotato co-m'è di 40 piedini cosÌ come, ad esem-pio, lo Z80. Facciamo un po' di contiassieme: il processore è a 16 bit e per-ciò 16 piedini devono essere riservatiper il cosiddetto Data Bus; per quantoriguarda gli indirizzi, abbiamo biso-gno di almeno altri 16 pin per poter in-dirizzare come minimo i 64K; inoltreper pilotare tutto l'hardware, ed in ge-nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina dipin riservati ai cosiddetti segnali dicontrollo, sia di input che di output,quali ad esempio l'abilitazione alla let-tura/scrittura di un dato, oppure ilc1ock, nonché i vari interrupt, reset,ecc.

Infine, essendo un componente elet-tronico, deve essere alimentato e ciò,grazie ai progressi tecnologici, si ottie-ne con altri due soli piedini, uno cheva collegato al positivo ( + 5V) e l'altroalla massa comune.

Tiriamo le somme: 16+ 16+20+2fa 54, come dire che i 40 pin a disposi-zione non bastano. Per far tornare iconti c'è dunque un trucco? No. In ef-fetti non si tratta di un trucco, ma diun'idea geniale: dal momento che ilData Bus e l'Address Bus (quest'ulti-mo come estensione minima) sono da16 bit, allora è più conveniente far sÌche condividano gli stessi pin ottenen-do cosÌ un totale di 16 invece di 32, alprezzo di un unico ulteriore piedinoche serva da indicatore dello «stato»dei piedini comuni e cioè se in un cer-to istante siano Data Bus oppure Ad-dress Bus.

Questa tecnica, in gergo, viene chia-mata «time-multiplexing» e consisteappunto nel fatto che per un certotempo i pin in comune sono conside-rati indirizzi e, per un altro intervallo

di tempo, dati: ciò non comporta in-convenienti al «mondo esterno» inquanto basta saper sfruttare il segnaledi distinzione per far sì che gli altricomponenti (ad esempio le memorie)non si accorgano di quanto sta acca-dendo, ma viceversa vedano due busseparati.

In tal modo i conti tornano:16+ 20 + 2 ora fa 38, come dire cherientriamo comodamente nei 40 pinstandard di un circuito integrato.

Abbiamo dunque già imparato qual-cosa di nuovo rispetto al mondo degli8 bit dove praticamente solo 1'8085(guarda caso anche lui dell'lntel) pos-siede i primi otto bit dell'Address Busmultiplexati con il Data Bus.

Comunque 16 piedini e perciò 16bit di indirizzo, laddove per gli 8' bitconsentivano l'uso di 64K byte di me-moria, in un mondo in cui il paralleli-smo è raddoppiato, non possono certobastare: infatti nel nostro caso i pro-gettisti dell'lntel hanno pensato di ele-varne il numero a 20.

Con tale valore, facendo un po' diconti, si ottiene la bella cifra di IMby-te di memoria indirizzabile, ben 16volte maggiore di quella a cui ci han-no abituato gli 8 bit.

Ma tutto ciò non avrebbe tropposenso, economicamente parlando, senon si assistesse quasi quotidianamen-te alla riduzione dei costi delle memo-. ..ne vere e propne, grazIe ancora unavolta al progresso tecnologico.

Basti pensare che mentre qualcheanno fa arrivare ad I K o a 4K concomponenti non sempre reperibili vo-leva dire aumentare i costi del proget-to, oggigiorno sono disponibili memo-rie dinamiche da 256K bit con le qualisi può arrivare a 256K byte con appe-na 8 di esse, più opportuni circuiti dipilotaggio: ma 256K byte sono già 4volte la massima raggiungibilità di unmicroprocessore ad 8 bit.

Questo fatto del progresso tecnolo-gico favorisce, dal punto di vista del

107

Page 2: Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina di ... Basta pensare che già con i micro-

software, lo sviluppo di prog.rammlsempre piti complessi ed estesI, non-ché la nascita di potenti linguaggi adalto livello: non avrebbe alcun sensoinfatti usare il 90% della memoria peril linguaggio, il compilatore ed il Siste-ma Operativo per lasciare pochi spic-cioli ai programmi applicativi.

In fin dei conti siamo al secondopasso (il primo sono i microprocessoriad S bit) della scala che porta ai com-puter veri e propri, ai main-frame dacentro di calcolo, al quale possono ac-cedere decine di utenti contempora-neamente con dotazione notevole dirisorse: partendo dal basso e dalle pic-cole prestazioni degli S bit piano pia-no ci avvicineremo ai sistemi operativiin «Time-Sharing» tipo U IVAC, iltutto però godendo dei vantaggi offer-ti da una tecnologia costantemente invia di espansione. Si arriverà a confi-nare un centro di calcolo in un arma-di etto, magari ottenendo prestazionimigliori.

Basta pensare che già con i micro-processori a 32 bit (il «terzo passo»della scala ideale) si ottengono presta-zioni veramente lusinghiere.

Tornando dunque ai 16 bit, si devo-no già intravedere quelle che sono lecaratteristiche dei computer veri e pro-pri: già abbiamo parlato del megabyteindirizzabile daIl'SOS6, ma il micro-processore 6S000 della Motorola, coni suoi 23 bit può arrivare ad 5Mbyte,mentre ancora il 16032, della NationalSemiconductor, arriva a 16Mbyte gra-zie ad un piedino in più per l'AddressBus.

Comunque queste cifre non tengo-no conto di tecniche particolari di in-dirizzamento per mezzo di appositicomponenti esterni, detti in genereM MU (Memory Management Unit),grazie ai quali si può parlare di «me-moria virtuale» di qualche gigabyte,frazionata oppotunamente in modo ta-le da essere sfruttata da più utenti.

Questo fatto che la stessa memoriafisica possa essere condivisa, compor-ta poi la necessità di effettuare «prote-zioni» di alcune zone di memoria ri-servate in genere al Sistema Operativo,alle quali cioè risulti impossibile acce-dere da parte di un utente magari soloper un errore di programmazione.

Mentre questa possibilità di proteg-gere zone di memoria «via software»,e cioè non attraverso circuiterie parti-colari, è disponibile solo a partire dal-l'SOIS6 grazie ad una particolare istru-zione, nell'SOS6 è viceversa già presen-te la gestione della memoria per «Seg-menti», secondo una tecnica assentenei microprocessori ad S bit.

Questa tecnica di segmentazione sa-rà il punto chiave della programma-zione del «nostro» microprocessore:ne parleremo parecchie volte soprat-tutto perché si tratta di un argomento

alquanto pesante e perciò da sviluppa-re un poco alla volta.

In prima analisi si può dire che lasegmentazione della memoria consistenella sua suddivisione in quattro partifondamentali, ognuna dedicata ad un_ben preciso scopo, ma «trasparenti»per l'utente.

In particolare questi 4 segmenti, chepossono arrivare ognuno a 64K byte,costituiscono delle entità a sé stanti eda cui le varie istruzioni assembler fan-no opportuno riferimento.

Vediamo quali sono dunque questi4 segmenti, tanto per prendere confi- .denza con terminologie nuove:

CODE SEGMENTDATA SEGMENTSTACK SEGMENTEXTRA SEGMENT

Da i loro nomi si può già intuire aquale scopo sono destinati e cioè sitratta rispettivamente di zone di me-moria dedicate ai programmi veri epropri (Code Segment), ai dati qualivariabili, costanti, vettori, tabelle (Da-ta Segment), allo stack (Stack Seg-ment) e ad altri dati ancora, se neces-sario (Extra Segment).

Questa suddivisione di «compiti»,che in fin dei conti non è altro che unarazionalizzazione e ottimizzazione del-le risorse, favorisce ampiamente la fu-sione di programmi formati da piùparti ed ancora meglio la gestione diprogrammi appartenenti a più utenti,nonché la creazione di Sistemi Opera-tivi «Multi-task» e cioè con più pro-cessi eseguiti contemporaneamente,processi che sfruttano appunto percondivisione le risorse tipo memoria,periferiche, ecc.

Terminiamo questo primo incontrocon l'SOS6 accennando a quello chesarà l'argomento principale delle pun-tate a venire: la programmazione.

In particolare, caratteristica notevo-le del microprocessore in esame è lacosiddetta struttura «a matrice» checonsente l'esecuzione della maggiorparte delle istruzioni con ogni tipo diindirizzamento ed operandi possibili:un'operazione che coinvolge due regi-stri può essere infatti eseguita in gene-rale su altri due registri come pure tramemoria e registro, senza limitazionidi sorta.

Si può poi lavorare sul singolo bit esul byte (anche se in questi casi si assi-ste ad una sotto utilizzazione del mi-cro, che è a 16 bit), su word (paroleappunto a 16 bit), su long-word (perquanto riguarda le operazioni tipomoltiplicazioni e divisioni ed in altricasi), ed infine su stringhe e cioè insie-mi di byte e di word.

L'8088: le differenze con 1'8086Veniamo ora alle differenze che

l'SOSS presenta rispetto a quanto detto

L "Assembler de1/"8086/8088

precedentemente per \'8086: in parti-colare la principale risiede nel fattoche 1'808S si presenta a componentiesterni come un 8 bit, dotato ancora di20 linee di Address Bus, ma stavoltacon solo S bit di Data Bus, mutiplexaticon i primi 8 bit degli indirizzi.

Questo fatto comporta alcuni incon-venienti come pure dei vantaggi: tragli inconvenienti c'è il fatto che, purrestando a tutti gli effetti un micro a16 bit, l'SOSS risente del fatto di avereS bit di Data Bus soprattutto quandosi lavora su dati a 16 bit e peggio (e ciòsuccede quasi sempre) con istruzioniaventi codice operativo a J 6 bit.

Infatti per accedere ad un dato a 16bit 1'8088 deve compiere due «cicli diaccesso alla memoria» al contrariodell'SOS6 che ne richiedeva uno solo:ciò implica, tanto per la cronaca, unallungamento di 4 clock nella duratadi un'istruzione e ciò comporterebbeun'estensione notevole dei tempi diesecuzione se non fosse che, lavoran-do con un minimo di 5 MHz, i tempidi clock risultano dell'ordine di appe-na 200 nsec ...

Tra i vantaggi invece c'è quello no-tevole di poter utilizzare gli stessi com-ponenti esterni (latches, decoder, buf-fer) che si usano con microprocessoriad S bit: c'è da dire che 1'8088 da que-sto punto di vista è considerato daiprogettisti dell'lntel un successore di-retto dell'SOS5, del quale ha ereditatole caratteristiche fondamentali dell'ar-chitettura, quale appunto il Data Busad S bit multiplexato.

In un certo senso perciò consente aiprogettisti che già conoscevano 1'80S5di passare dagli Sai 16 bit senza intro-durre varianti notevoli al progetto, chefondamentalmente viene ampliato dalpunto di vista della memoria.

Non vogliamo certo dire che l'SOSSpossa direttamente sostituire 1'8085 incircuiti dove è posto quest'ultimo, macerto non può che far piacere il potersfruttare un insieme di circuiti già am-piamente collaudati.

Una volta parlato dunque di questadifferenza (hardware) non resta altroche confermare per 1'8088 tutto quan-to detto in precedenza per l'SOS6:un'altra piccola differenza esiste peròtra i due microprocessori, non di cosìgrande portata, ma anzi diciamo chepotrebbe essere del tutto trascurata.

Comunque solo quando sarà neces-sario, già dalla prossima puntata, se-gnaleremo di cosa si tratta, ma biso-gnerà premettere alcuni concetti perpoterne parlare, quali la struttura in-terna dei due microprocessori.

Da quel momento in poi (ed anchequesto concetto verrà più volte ribadi-to) per il programmatore in Assembleri due processori sono perfettamenteidentici. Me

108 MCmicrocomputer n. 46 - novembre 1985

Page 3: Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina di ... Basta pensare che già con i micro-

uan"Multipersonal": un termine che vi giunge

nuovo perché è stato appena coniato daHoneywell. Multipersonal è il nuovo X-Super-team, un computer tutto italiano che entranel mondo dell' "industry standard" perchési avvale dei sistemi operativi Unix™' eXenix™' che offrono un patri-monio applicativo molto vasto.

Concepito per servire con-temporaneamente più utilizzato-ri intenti a soddisfare esigenzediverse, X-Superteam può inter-connettersi per formare una retelocale. Quando il gioco si fa se-rio, pensate a X-Superteam, ungrande computer che sa stareanche sotto il tavolo, se occorre.

• Unix is a trade-mark of AT & T Laboratories .• Xenix is a trode-mark of Microsoft Inc.Per informazioni scrivere a Honeywel1 I.S.I.Sviluppo Commerciale, Via Vida, 11 - 20127 Milano

®

Conoscere e risolvere insieme.

HoneywellHoneywell Information Systems Italia

RSCG

.'

I

I// .

Page 4: Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina di ... Basta pensare che già con i micro-

PERSONAL COMNATO DA POCO, MA GIA CON35 anni fa iniziava a funzionare l'UNIV AC I, ilprimo elaboratore elettronico prodotto in serie.Fin da allora, la Sperry è sempre rimastaall' avanguardia dell' informatica.

zo

Primato tecnologico che oggi trasferisce anche nelPersonal Computer.Il P.c. Sperry è potente, flessibile, affidabile,compatibile. In grado di utilizzare il software dei

Page 5: Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo co-me minimo necessità di una ventina di ... Basta pensare che già con i micro-

PUTER SPERRY35 ANNI DI ESPERIENZA.

P.c. più diffusi, geniale nella sua facilità d'uso, e una rete nazionale di concessionari. Nemmenocon le più ampie garanzie di IL un grande inventoreassistenza attraverso J SPE~V chiederebbe di più ad untutte le filiali Sperry.,r personal.

~ORIGINE, IL PRESENTE, IL FUTURO DELL'INFORMATICA.