Přeskočit na obsah

Motorola 6800

Z Wikipedie, otevřené encyklopedie
Motorola 6800
Mikroprocesor Motorola MC6800
Mikroprocesor Motorola MC6800
Specifikace
Kódové značeníMC6800
Uvedení1974
VýrobciMotorola
Frekvence1 MHz (pozdější verze 2 MHz)
Instrukční sada6800
Patice40-pinDIP
NástupceMC6801, MC6805,Motorola 68000

Motorola 6800,MC6800,přesnějiMotorola MC6800,je vinformaticeoznačení pro8bitovýmikroprocesorfirmyMotorolapředstavený roku1974.Mikroprocesor byl součástí mikropočítačového systému M6800, který zahrnovalobvodyprosériovéaparalelnírozhraní,RAM,ROMa další podpůrnéintegrované obvody.Oproti mikroprocesoruIntel 8080z téhož roku, který vyžadoval tři napájecí napětí, vystačila celá stavebnice M6800 s jedním napájecím napětím 5 V.

Charakteristika

[editovat|editovat zdroj]
Schematická značka mikroprocesoru Motorola MC6800.

Motorola 6800 má16bitovouadresní sběrnici,která umožňuje adresovat až 64KiBpaměti, a8bitovouobousměrnou datovou sběrnici. Architektura a instrukční sada 6800 byla ovlivněna populárnímiminipočítačiPDP-11firmyDigital Equipment Corporation.72 instrukcí se sedmi režimy adresování dávalo celkem 192 operačních kódů. Originál MC6800 pracoval staktovací frekvencíaž 1MHz,pozdější verze měly maximální frekvenci 2MHz.

Motorolakroměintegrovaných obvodůdodávala kompletnísystém pro vývoj programůvjazyce symbolických adres.Zákazník mohl používatsoftwarena vzdáleném počítači sesdílením časunebo vlastníminipočítačovýsystém.MotorolaEXORciser bylstolní počítačs M6800 určený proprototypováníaladěnínových projektů. Rozsáhlý balíček dokumentace zahrnoval katalogové listy všechintegrovaných obvodůpotřebných pro vytvoření počítačového systému, dva programátorské manuály projazyk symbolických adresa sedmisetstránkový aplikační manuál popisující, jak navrhnoutpokladníterminál.

Mikroprocesor6800 byl oblíbeným stavebním prvkem při konstrukcipočítačových periférií,elektronických testerech apokladníchterminálech.MC6802 uvedený na trh v roce 1977, obsahoval 128 bytovouRAMaoscilátorvnitřních hodin na čipu. Motorola vyráběla také jednočipové mikropočítače, jako MC6801 a MC6805, které obsahovaly na jedinémčipuRAM,ROMaI/O,díky čemuž byly oblíbené v automobilových aplikacích.

V roce 1979 byla uveden 16bitový mikroprocesorMotorola 68000,který byl později rozšířen na32 bitů.V roce 1999 bylo všechno coMotorolapotřebovala vlastníanalogovéIC.

Design MC6800

[editovat|editovat zdroj]
Registry mikroprocesoru Motorola 6800
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (číslo bitu)
Hlavní registry
A AkumulátorA
B AkumulátorB
Indexregistry
IX Index register
SP StackPointer
Programový čítač
PC ProgramCounter
Registr příznaků
1 1 H I N Z V C Příznaky

Motorola6800 aIntel 8080byly navrženy současně a byly si podobné svými funkcemi. Intel 8080 byl nadmnožinouIntel 8008,který byl založený naDatapoint 2200procesoru. Architektura 6800 byla modelovaná podle procesoru DECPDP-11.Oba byly kompatibilní sTTL logikou,měly8bitovouobousměrnou datovou sběrnici,16bitovýukazatel zásobníku a16bitovouadresní sběrnici,která dovolovala používat až 64KiBpaměti a byly dodávány v pouzdřeDIPse 40 vývody. Motorola 6800 měla dva osmibitovéakumulátorya 16bitový indexovýregistr.Režim bezprostředního adresování umožňoval rychlý přístup k prvním 256 bajtům paměti. MikroprocesorIntel 8080měl více interních registrů a instrukce vyhrazené pro práci sI/Oporty. Zatímco Intel 8080 poresetuvynulovalčítač instrukcía začal provádět program od adresy 0, 6800 načetla hodnotučítače instrukcíz nejvyšší adresy a začal provádět program od této adresy. Motorola 6800 používalatřístavové řízení sběrnice,což dovolovalo vyřadit ovládání adresní sběrnice procesorem a umožňovalo dalším zařízením přímý přístup do paměti. Díky tomu mohl např.řadič diskupřenášetdatado paměti nebo z paměti bez zatížení procesoru.

Ukázka kódu

[editovat|editovat zdroj]

Následující zdrojový kód vjazyce symbolických adres6800 je proceduraMEMCPYpro kopírování bloku dat zadané délky z jednoho místa v paměti na jiné.

;memcpy --
;Zkopíruje blok paměti z jednoho místa na jiné.
;
;Vstupní parametry
;cnt - Počet bytů, které se mají kopírovat
;src - Adresa zdrojového bloku
;dst - Adresa cílového bloku

cntdw$0000
srcdw$0000
dstdw$0000

memcpypublic
ldabcnt+1;Nastav B = cnt.L
beqcheck;Jestliže cnt.L=0, pak jdi na check
loopldxsrc;Nastav IX = src
ldaaix;Načti A z (src)
inx;Zvětši src o 1
stxsrc
ldxdst;Nastav IX = dst
staaix;Ulož A do (dst)
inx;Zvětši dst o 1
stxdst
decb;Odečti 1 od B
bneloop;Znovu na loop
stabcnt+1;Nastav cnt.L = 0
checktstcnt+0;Jestliže cnt.H=0,
beqdone;pak konec
deccnt+0;Odečti 1 od cnt.H
decb;Odečti 1 od B
braloop;Znovu na loop
donerts;Návrat

Externí odkazy

[editovat|editovat zdroj]

V tomto článku byl použitpřekladtextu z článkuMotorola 6800na anglické Wikipedii.

Související články

[editovat|editovat zdroj]