Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo...

Post on 14-Oct-2018

221 views 0 download

Transcript of Caratteristiche e diversità L'8086: caratteristiche hardware · nerale il nostro sistema, abbiamo...

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

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

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

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

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.