Motorola 6800
Motorola 6800 | |
---|---|
Mikroprocesor Motorola MC6800 | |
Specifikace | |
Kódové značení | MC6800 |
Uvedení | 1974 |
Výrobci | Motorola |
Frekvence | 1 MHz (pozdější verze 2 MHz) |
Instrukční sada | 6800 |
Patice | 40-pinDIP |
Nástupce | MC6801, 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]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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 proceduraMEMCPY
pro 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
Odkazy
[editovat|editovat zdroj]Externí odkazy
[editovat|editovat zdroj]- Obrázky, zvuky či videa k tématuMotorola 6800naWikimedia Commons
Reference
[editovat|editovat zdroj]V tomto článku byl použitpřekladtextu z článkuMotorola 6800na anglické Wikipedii.