Motorola 6800

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Mikroprocesor Motorola MC6800.

Motorola 6800 je v informatice označení pro 8bitový mikroprocesor od firmy Motorola vyráběný od roku 1974. Mikroprocesor MC6800 byl součástí mikropočítačového systému M6800, který také zahrnoval obvody pro sériové a paralelní rozhraní, RAM, ROM a další podpůrné integrované obvody. Významnou charakteristikou bylo, že celá stavebnice M6800 vyžadovala jen jedno napájecí napětí (5 V), zatímco jiné mikroprocesory vyžadovaly tři napětí (např. Intel 8080).

Charakteristika[editovat | editovat zdroj]

Mikroprocesor Motorola MC6800.

Architektura a instrukční sada 6800 byly ovlivněny populárními minipočítači PDP-11 od firmy Digital Equipment Corporation. Motorola 6800 měla 16bitovou adresní sběrnici, která mohla zpřístupnit až 64 KiB paměti, a 8bitovou obousměrnou datovou sběrnici. Měla 72 instrukcí se sedmi režimy adresování pro celkem 192 operačních kódů. Originál MC6800 pracoval s taktovací frekvencí až 1 MHz, pozdější verze měly maximální frekvenci 2 MHz.

Motorola kromě integrovaných obvodů také dodávala kompletní systém pro vývoj programů v jazyce symbolických adres. Zákazník mohl používat software na vzdáleném počítači se sdílením času nebo vlastní minipočítačový systém. Motorola EXORciser byl stolní počítač s M6800 určený pro prototypování a ladění nových projektů. Rozsáhlý balíček dokumentace zahrnoval katalogové listy všech integrovaných obvodů potřebných pro vytvoření počítačového systému, dva programátorské manuály pro jazyk symbolických adres a sedmisetstránkový aplikační manuál popisující, jak navrhnout pokladní terminál.

Mikroprocesor 6800 byl oblíbeným stavebním prvkem při konstrukci počítačových periférií, elektronických testerech a pokladních terminálech. MC6802 uvedený na trh v roce 1977, obsahoval 128 bytovou RAM a oscilátor vnitřních hodin na čipu. MC6801 a MC6805 obsahovaly RAM, ROM a I/O na jediném čipu, což bylo populární v automobilových aplikacích.

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átor A
  B Akumulátor B
Indexregistry
IX Index register
SP Stack Pointer
Programový čítač
PC Program Counter
Registr příznaků
  1 1 H I N Z V C Příznaky

Motorola 6800 a Intel 8080 byly navrženy současně a byly si podobné svými funkcemi. Intel 8080 byl nadmnožinou Intel 8008, který byl založený na Datapoint 2200 procesoru. Architektura 6800 byla modelovaná po procesor DEC PDP-11. Oba byly kompatibilní s TTL logikou, měly 8bitovou obousměrnou datovou sběrnici, 16bitový ukazatel zásobníku a 16bitovou adresní sběrnici, která dovolovala používat až 64 KiB paměti a byl dodáván v pouzdře DIP se 40 vývody. Motorola 6800 měla dva osmibitové akumulátory a 16bitový indexový registr. Přímé adresování režimu dovolovalo rychlý přístup k prvním 256 bajtům paměti. Mikroprocesor Intel 8080 měl více interních registrů a instrukce vyhrazené pro práci s I/O porty. Zatímco Intel 8080 po resetu vynuloval čí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žívala třístavové řízení sběrnice, které 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č disku přenášet data do paměti nebo z paměti bez zatížení procesoru.

Historie[editovat | editovat zdroj]

Galvin Manufacturing Corporation byla založena v Chicagu ve státě Illinois roku 1928. Prvním produktem bylo autorádio značky Motorola v roce 1930. Název společnosti byl změněn na Motorola v roce 1947. Výzkumné a vývojové centrum bylo otevřeno ve Phoenixu v Arizoně v roce 1949 a na komerční výrobě tranzistorů začali pracovat v roce 1955, na novém zařízení za 1,5 milionu dolarů. V roce 1966 byl integrovaný obvod sestaven v Mese předměstí Phoenixu. V roce 1973 oznámili plány na výstavbu nového závodu v Austinu v Texasu, k výrobě CMOS integrovaných obvodů. V 1975 se vývojáři mikroprocesoru přesunuli z Mesy do Austinu. Motorola tranzistory a integrované obvody byly použity "in-house" pro komunikaci, vojenské, automobilové a spotřební výrobky a byly také prodány jiným společnostem. V roce 1960 Motorola prodává celou řadu digitálních I/O, které byly použity v počítačích, zkušební zařízení a průmyslové kontrole. Do roku 1970 vyráběli kovové-oxid polovodiče (CMOS), LSI čipy jako standardní výrobky) a vlastní obvody. Produkovali také polovodičové paměti, které byly použity v kalkulačkách, prodejních terminálech a počítačích. Motorola dosáhla tržby 1,2 miliardy dolarů v roce 1973 a měla 64.000 zaměstnanců. Divize polovodičových výrobků dosáhla tržeb 419 milionů dolarů a byly druhou největší polovodičovou firmou po Texas Instruments. Společnost Intel byla založena v roce 1968 a dosáhla tržeb ve výši 66 milionů 1973. Na začátku roku 1970 Motorola zahájila projekt, kterým vyvinula svůj první mikroprocesor, MC6800. Motorola zůstala věrná jediném čipu mikropočítače, jako MC6801 a MC6805. V roce 1979 byla zavedena 16bitová verze mikroprocesoru Motorola 68000, tento procesor byl později rozšířen na 32 bitů. V roce 1999 bylo všechno co Motorola potřebovala vlastní analogové IC.

Ukázka kódu[editovat | editovat zdroj]

Následující zdrojový kód v jazyce symbolických adres 6502 je procedura MEMCPY 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
 
        cnt         dw      $0000
        src         dw      $0000
        dst         dw      $0000

        memcpy      public
                    ldab    cnt+1       ;Nastav B = cnt.L
                    beq     check       ;Jestliže cnt.L=0, pak jdi na check
        loop        ldx     src         ;Nastav IX = src
                    ldaa    ix          ;Načti A z (src)
                    inx                 ;Zvětši src o 1
                    stx     src
                    ldx     dst         ;Nastav IX = dst
                    staa    ix          ;Ulož A do (dst)
                    inx                 ;Zvětši dst o 1
                    stx     dst
                    decb                ;Odečti 1 od B
                    bne     loop        ;Znovu na loop
                    stab    cnt+1       ;Nastav cnt.L = 0
        check       tst     cnt+0       ;Jestliže cnt.H=0,
                    beq     done        ;    pak konec
                    dec     cnt+0       ;Odečti 1 od cnt.H
                    decb                ;Odečti 1 od B
                    bra     loop        ;Znovu na loop
        done        rts                 ;Návrat

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Motorola 6800 na anglické Wikipedii.

Související články[editovat | editovat zdroj]