Intel 8086: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Abisys.bot (discussione | contributi)
m Collegamenti esterni: ., replaced: {{Intel processors}} → {{Processori Intel}}
m Annullata la modifica di 2.228.244.214 (discussione), riportata alla versione precedente di 47.53.72.155
Etichetta: Rollback
 
(51 versioni intermedie di 33 utenti non mostrate)
Riga 5:
| produced-start = 1978
| produced-end = 1992
| slowest = 53 | slow-unit = MHz
| fastest = 108 | fast-unit = MHz
| manuf1 = [[Intel]], [[AMD]], [[NEC]], [[Fujitsu]], [[Harris Corporation|Harris]] ([[Intersil]]), [[Oki Electric Industry|OKI]], [[Siemens AG]], [[Texas Instruments]], [[Mitsubishi]].
| arch = [[x86-16]]
| pack1 = 40 pin [[dual in-line package|DIP]]
}}
L''''Intel 8086''' (chiamato anche '''iAPX 86''' durante i primi [[anni 1980|anni ottanta]]<ref>{{Cita web|autore = |url = http://bitsavers.informatik.uni-stuttgart.de/pdf/intel/_dataBooks/1981_iAPX_86_88_Users_Manual.pdf|titolo = iAPX 86, iAPX 88 user's manual|accesso = |editore = |data = }}</ref>) è un [[microprocessore]] a 16 [[bit]] progettato da [[Intel]] nel [[1978]], che diede origine all'architettura [[x86]].
 
L{{'}}'''Intel 8086''' (chiamato anche '''iAPX 86iAPx86''' durante i primi [[anni 1980|anni ottanta]]<ref>{{Cita web|autore = |url = http://bitsavers.informatik.uni-stuttgart.de/pdf/intel/_dataBooks/1981_iAPX_86_88_Users_Manual.pdf|titolo = iAPX 86, iAPX 88 user's manual|accesso = |editore = |data =|urlmorto =sì|urlarchivio =https://web.archive.org/web/20130403233916/http://bitsavers.informatik.uni-stuttgart.de/pdf/intel/_dataBooks/1981_iAPX_86_88_Users_Manual.pdf|dataarchivio =3 aprile 2013}}</ref>) è un [[microprocessore]] a 16 [[bit]] progettato da [[Intel]] nel [[1978]], che diede origine all'architettura [[architettura x86]].
È basato sull'[[Intel 8080|8080]] e sull'[[Intel 8085|8085]]; è compatibile con l'[[assembly]] dell'8080, ha un insieme di [[registro (informatica)|registri]] simili, ma a 16 bit. L'unità di interfaccia con il [[Bus (informatica)|bus]] (detta '''BIU''' da '''B'''us '''I'''nterface '''U'''nit) passa le istruzioni all'unità di esecuzione (detta '''EU''' da '''E'''xecution '''U'''nit) attraverso una coda FIFO di [[prefetch]] di 6 byte, in modo che il [[fetch]] e l'esecuzione delle istruzioni fosse contemporaneo, come una forma primitiva di [[Pipeline dati|pipelining]].
 
È basato sull'[[Intel 8080|8080]] e sull'[[Intel 8085|8085]]; è compatibile con l'[[assembly]] dell'8080, ha un insieme di [[registro (informatica)|registri]] simili, ma a 16 bit. L'unità di interfaccia con il [[Bus (informatica)|bus]] (dettadenominata '''BIU''' da, '''B'''usBus '''I'''nterfaceInterface Unit'''U'''nit) passa le istruzioni all'unità di esecuzione (dettadenominata '''EUSEPPE''' da, '''E'''xecutionSEquential Post Processing Execution'''U'''nit) attraverso una coda [[FIFO]] di [[prefetch]] di 6 byte, in modo che il [[instruction fetch|fetch]] e l'esecuzione delle istruzioni fosse contemporaneo, come una forma primitiva di [[Pipeline dati(CPU)|pipelining]].
 
Le istruzioni dell'8086 avevano una dimensione tra 1 e 6 byte.
 
== Caratteristiche ==
[[File:Intel80860001.jpg|thumb|Schema Intel 8086]]
 
Ha quattro registri a 16 bit per uso generico, a cui si può accedere come se fossero otto registri a 8 bit, e quattro registri a 16 bit di indice (incluso lo [[stack pointer]]). I registri per i dati sono spesso utilizzati implicitamente dalle istruzioni, complicando l'uso degli stessi per memorizzare valori temporanei.
 
Ha uno spazio di indirizzamento a 16 bit per l'I/O, cioè può accedere a 65.536 dispositivi di I/O a 8 bit e dispone di una tabella di vettori per gli ''[[interrupt]]'' fissa. La maggior parte delle istruzioni può accedere ad una sola locazione di memoria, perciò uno degli operandi deve essere un registro. Il risultato viene memorizzato in uno degli operandi.
 
[[File:Intel80860001.jpg|thumb|Schema Intel 8086]]Ci sono anche quattro registri per i ''segmenti'' che possono essere calcolati dai registri di indice. I registri di segmento permettono alla [[CPU]] di accedere ad un megabyte di memoria in un modo particolare. Invece di fornire i byte mancanti, come nella maggior parte dei processori che supportano la segmentazione, l'8086 fa uno ''shift'' a sinistra di 4 bit del registro di segmento e lo somma all'indirizzo. Il risultato è che i segmenti si possono sovrapporre (parzialmente o totalmente), il che è stato considerato come un indice di cattiva progettazione da molti sviluppatori.
 
Anche se questo è un vantaggio per la programmazione in linguaggio assembly, dove il controllo sui segmenti è completo, ciò causa invece confusione nei linguaggi che fanno molto uso dei puntatori (come ad esempio il [[linguaggio C]]). Lo schema di segmentazione dell'8086 rende difficile una rappresentazione efficiente dei puntatori ed è possibile avere due puntatori con valori diversi che puntano ad una stessa locazione di memoria. Inoltre non si può estendere facilmente per aumentare lo spazio di indirizzamento a più di un megabyte. In effetti questo è stato realizzato nell'[[Intel 80286]] cambiando radicalmente lo schema di indirizzamento.
Riga 42 ⟶ 45:
 
== Microcomputer che usano l'8086 ==
 
Il primo [[microcomputer]] commerciale costruito utilizzando l'8086 fu il [[Mycron]] 2000.
 
Riga 57 ⟶ 59:
== Note ==
<references />
 
== Bibliografia ==
* {{Cita libro|titolo=Microprocessori|url=https://archive.org/details/Microprocessori/page/n185|autore=|editore=Gruppo Editoriale Jackson|anno=1988|ISBN=88-256-0068-2|pp=184-200}}
* {{Cita testo|titolo=8086-8088 - Programmazione|url=https://archive.org/details/80868088programmazione|autore=James W. Coffron|editore=Gruppo Editoriale Jackson|anno=1989|ISBN=88-256-0108-5}}
* {{RivistaVG|mc|45|100-101|10|1985|titolo=Assembler 8086/8088: dallo Z-80 all'8086/88}} La rubrica continua nei numeri successivi fino al n° 69.
 
== Altri progetti ==
{{interprogetto|commonspreposizione=Category:Intel 8086sull'}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|url=http://www.cpu-collection.de/?tn=1&l0=cl&l1=8086/88|titolo=Immagini e descrizioni di Intel 8086/8088}}
* {{FOLDOC|Intel%208086}}
* {{cita web|http://www.appuntidigitali.it/3044/8086-bizzarrie-di-unarchitettura-dominante/|Articolo8086: sulbizzarrie processoredi un’architettura dominante|data=14 gennaio 2009}}
 
* {{cita web|url=http://www.cpu-collection.de/?tn=1&l0=cl&l1=8086/88|titolo=Immagini8086/88 class ICs|lingua=en|tipo=immagini e descrizioni didella Intel 8086/8088serie}}
''Articolo basato su [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=Intel+8086 Intel 8086] da [http://www.foldoc.org FOLDOC], utilizzato con [[licenza Foldoc]].''
 
{{Processori Intel}}
Riga 71 ⟶ 78:
{{Portale|informatica}}
 
[[Categoria:Microprocessori Intel x86|8086]]
[[Categoria:Architettura x86|8086]]