New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Motorola 6809 - Wikipedia

Motorola 6809

Da Wikipedia, l'enciclopedia libera.

Il Motorola 6809 è un microprocessore a 8 bit* prodotto da Motorola, è stato presentato nel 1979. Il 6809 è un notevole miglioramento del predecessore Motorola 6800 e anche del clone della MOS Technology il 6502. (* lo si potrebbe anche considerare a 8/16-bit —Vedi descrizione.)

[modifica] Descrizione

Fra le migliorie più significative del 6809 rispetto alle famiglie di processori che lo hanno preceduto c'erano la presenza di due accumulatori a 8 bit ( il 6502 ne aveva solo uno) che potevano essere uniti per realizzare un singolo accumulatore a 16 bit. Era dotato anche di due registri indirizzi a 16 bit e di due stack pointer (il 6502 ne aveva uno solo) e di metodi di indirizzamento molto avanzati.

Il 6809 era compatibile a livello di sorgente con il 6800, sebbene il 6800 avesse un set di 78 istruzioni mentre il 6809 ne avesse solamente 59. Molte istruzioni eliminate erano state sostituite da istruzioni più generiche e alcune istruzioni erano state sostituite da ulteriori modi di indirizzamento. L'assemblatore provvedeva a leggere l'assembler del 6800 e a convertirlo in codice macchina 6809 applicando le opportune conversioni. L'assembler nativo del 6809 era molto ortogonale infatti era molto più semplice da programmare rispetto ai prodotti della concorrenza.

Altra caratteristica significativa quella di essere stato il primo processore ad implementare in hardware l'operazione di moltiplicazione. Era dotato di un aritmetica completa a 16 bit nonché di un veloce gestore degli interrupt. Questo processore era molto più veloce dei processori della serie 6800 (mediamente cinque volte più veloce) e come questi conteneva una istruzione non documentata che poteva danneggiare seriamente il bus del sistema (Halt and Catch Fire).

Le ottimizzazioni del 6809 sono molto diverse dalle ottimizzazioni moderne. I processori moderni sono tutti di tipo RISC internamente quindi sono in grado di eseguire un numero ridotto di istruzioni ma in modo molto rapido. I processori come il 6809 erano processori di tipo CISC cioè processori dotati di molte istruzioni. Per poter eseguire molte istruzioni con molti modi di indirizzamento senza utilizzare milioni di transistor i progettisti realizzavano entro i processori delle unità generiche che venivano opportunamente programmate con il micro codice in modo da riconoscere e eseguire correttamente tutte le istruzioni assembler. Quindi un ottimizzazione per il 6809 consisteva in un miglioramento del micro codice.

Lo Zilog Z80 era probabilmente il contendente diretto del 6809, anche se non riusciva a reggere il confronto. Ad esempio l'operazione "ADD A,63" richiedeva 7 cicli di clock allo Z80 contro i 3 del 6809. Quindi lo Z80 per ottenere le stesse prestazioni del 6809 avrebbe dovuto operare a una frequenza più che doppia di quella del 6809. Un altro problema dello Z80 era che per leggere un dato in memoria utilizzava un ciclo di clock della memoria, non come molti altri microprocessori del tempo che utilizzavano il ciclo di clock interno. Quindi una lettura della memoria dello Z80 richiedeva molti cicli di clock conto il solo necessari al 6800/6809.

Il 6809 è dotato internamente di un generatore di clock (necessita ovviamente di un quarzo esterno). Il 6809E necessita invece del generatore di clock esterno. Esistevano la varianti 68A09(E) e 68B09(E), la lettera serviva a indicare la diversa velocità di clock supportata.

[modifica] Storia

La Motorola produsse originariamente il 6809 nelle versioni a 1 MHz e 2 Mhz. Versioni più veloci furono prodotte in seguito. È considerato il precursore "morale" della famiglia 68000 dato che il disegno del 68000 sembra una versione estesa e integrata del disegno del 6809.

Il 6809 venne utilizzato da Commodore nel suo computer con due CPU SuperPET, e nella incarnazone del 68A09 nell'unica console vettoriale, la Vectrex, che oltre a essere basata su una gestione della grafica di tipo vettoriale era dotata anche di uno schermo integrato. Il 6809E venne utilizzato anche nel TRS-80 Color Computer (CoCo), nel computer Acorn System 2, 3 e 4, nei cloni del CoCo prodotti in Inghilterra e nell home computer Dragon 32/64.

L'azienda produttrice di software Microwave sviluppo il sistema operativo originale, l'OS 9 (da non confondere con il Mac OS 9) per il 6809 che in seguito venne convertito anche per i processori della serie 68000.

L'Hitachi 6309 era una versione avanzata del 6809 con più registri e più istruzioni. Tra le istruzioni aggiunte vi era quella per lo spostamento di interi blocchi di memoria, per moltiplicazioni multiple e la divisione implementata in hardware. Venne utilizzato nella versione non ufficiale della CoCo 3 e venne realizzata una versione dell'OS 9 in grado di avvantagiarsi delle sue peculiarità.

Sfortunatamente né Motorola né Hitachi portarono avanti lo sviluppo del processore 6809 pur essendo un processore molto valido ed in grado di essere utilizzato praticamente per qualsiasi utilizzo. Molte delle sue innovazioni vennero riprese e utilizzate nei processori progettati successivamente da Motorola.

[modifica] Riferimenti

  • Lance Leventhal (1981). 6809 Assembly Language Programming. Berkeley, California: Osborne/McGraw-Hill. ISBN 0-931988-35-7

Questa voce si basa su materiale disponibile sul Free On-line Dictionary of Computing e il suo utilizzo è regolamentato dalla licenza GFDL.

Lista dei microprocessori Motorola

6800 | 6809 | 68000 | 68008 | 68010 | 68012 | 68020 | 68EC020 | 68030 | 68EC030 | 68040 | 68EC040 | 68LC040 | 68060 | 88000 | Motorola Dragonball | Coldfire | PowerPC | PowerPC G3 | PowerPC G4 | PowerPC G5

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu