MCS-48
MCS-48 je rodina osmibitových paralelních jednočipových mikropočítačů modifikované harvardské architektury vyvinutá firmou Intel roku 1976. Prvním (a hlavním) představitelem této rodiny je jednočip Intel 8048, ze kterého všechny ostatní více či méně podobné odvozeniny vycházejí (své jednočipy založené na této rodině vyráběla jednu dobu i Tesla, výrobou se však i dnes zabývají např. AMD, NEC či XX). Odchylky se týkají zejména ve velikostech pamětí a to jak datové tak i programové, rozsahu pracovní taktovací frekvence oscilátoru, funkce některých pinů případně aktivace/deaktivace některých součástí. Krom MCS-48 existují i rodiny MCS-51 a MCS-96. Vyráběny jsou technologií MOS, vylepšenou HMOS nebo HMOS II nebo nenověji CMOS.
Základní technické údaje
[editovat | editovat zdroj]- CPU je vnitřně osmibitové
- 8bitová datová sběrnice
- 27 V/V linek
- 8bitový čítač/časovač
- hodinový oscilátor součástí čipu (tzv. on-chip)
- podporují aritmetické, logické a BCD operace
- většina instrukcí je jednobajtových, dvoubajtové jsou spíše výjimkou – celkový počet instrukcí se pohybuje okolo 90
- napájení +5V
- pracovní teplota v rozmezí 0 °C až 70 °C
- podpora rozšiřitelné paměti
- kompatibilita s 8000 periferiemi
- jednotná úroveň přerušení
- datová paměť RAM součástí čipu (64×8 – 256×8 bitů)
- programová paměť ROM nebo EPROM součástí čipu nebo dodatečně připojitelná (od 1024×8 do 4096×8 bitů)
- Program Counter (PC) je široký 12 bitů, ale k dispozici je pouze 11 bitů, někde jen 10
- většina z nich podporuje standby režim
- pro zvláštní účely byl u některých verzí součástí i A/D převodník
Architektura
[editovat | editovat zdroj]ALU
[editovat | editovat zdroj]Pracuje s 8bitovými instrukcemi a 8bitovými daty, přičemž umožňuje provádět následující operace:
- inkrementace a dekrementace
- s přetečením nebo bez (bit CARRY a AX)
- AND, OR a Exclusive OR
- bitové porovnávání a posun doprava a doleva
- práce s nibbly
- nastavení BCD
Porty
[editovat | editovat zdroj]K dispozici je celkem 27 vstupně/výstupních portů, přičemž jsou rozděleny do tří osmibitových portů (P0.0 – P2.7) a tří testovacích bitových vstupů (!INT, T0 a T1). První dva porty jsou:
- kompatibilní s TTL logikou (0V .. 0.8V = Lo, 2V .. 5V = Hi)
- kvazi obousměrné
- obsahují třístavový výstup
- výstupní data uchována do dalšího zápisu (statický výstupní port)
- vstupní data musí být zadržena až po zavolání obslužné instrukce
Třetí port (jedná se o sběrnici, tzv. BUS port) je řízen pomocí linek !RD a !WR, ve výsledku může pracovat stejně jako první dva.
Paměť a registry
[editovat | editovat zdroj]Každý jednočip obsahuje univerzální osmibitový registr – střadač (akumulátor), představující jakýsi samostatný funkční blok čipu. Pracují s ním všechny aritmetické instrukce a instrukce pro přesun (resp. kopírování) dat.
Program Counter je 12bitový, přičemž poslední 1–3 bity jsou využívány pro specifické účely, např. pro signalizaci používání externí paměti. Po provedení signálu RESET jsou všechny registry, včetně tohoto, vynulovány a kód programu začne být tedy znovu prováděn od adresy 0.
Při volání instrukce CALL jsou pro určení vrcholu zásobníku používány první 3bity (0–2), které jsou součástí oblasti Program Status Word (PSW), zjednodušeně řečeno stavového registru. 3. bit je vždy jedna.
zkratka | popis |
---|---|
CY | carry bit (nastavuje se při přetečení ve střadači) |
AC | pomocný carry bit (nastavuje se při instrukci ADD) |
F0 | uživatelem definovatelný bit |
BS | používá se pro přepnutí sady (banky) registrů |
Seznam mikroprocesorů patřících do MCS-48
[editovat | editovat zdroj]Varianty MCS-48
[editovat | editovat zdroj]Typ | Prac.frek. (MHz) | Paměť (data) | Paměť (prog.) | I/O | Napájení | ALU | Pouzdro |
---|---|---|---|---|---|---|---|
8020 | 3.56 MHz | 64 B RAM | 1 kB ROM | 13 linek | +4,5V – 6V | 8bit | 20pin |
8021 | 3 MHz | 64 B RAM | 1 kB ROM | 21 linek | +4,5V – 6V | 8bit | 28pin |
8022 | ? | 64 B RAM | 1 kB ROM/EPROM | 28 linek | +4,5V – 6V | 8bit | 40pin |
8035 | 1–6 MHz | 64 B RAM | externí 1 kB ROM/EPROM | 27 linek | +5V | 8bit | 40pin |
8039 | 11 MHz | 128 B RAM | externí 2 kB ROM/EPROM | 27 linek | +5V (+- 10%) | 8bit | 40pin |
8040 | 1–11 MHz | 256 B RAM | externí | 27 linek | +5V | 8bit | 40pin |
8048 | 1–11 MHz | 64 B RAM | 1 kB ROM | 27 linek | +5V | 8bit | 40pin |
8748 | 1–11 MHz | 64 B RAM | 1 kB ROM | 27 linek | +5V | 8bit | 40pin |
8049 | 1–11 MHz | 128 B RAM | 2 kB ROM | 27 linek | +5V | 8bit | 40pin |
8749 | 1–11 MHz | 128 B RAM | 2 kB PROM | 27 linek | +5V | 8bit | 40pin |
8050 | 1–11 MHz | 256 B RAM | 4 kB ROM | 27 linek | +5V | 8bit | 40pin |
Varianty UPI-41
[editovat | editovat zdroj]Typ | Prac.frek. (MHz) | Paměť (data) | Paměť (prog.) | I/O | Napájení | ALU | Pouzdro |
---|---|---|---|---|---|---|---|
8041 | 8 MHz (verze 8041AH-2: 12 MHz) | 64 B RAM | 1 kB ROM/EPROM | 18 linek | +5V | 8bit | 40pin |
8641 | ? | 64 B RAM | 1 kB ROM/EPROM | 18 linek | +5V | 8bit | 40pin |
8741 | 3,6 MHz | 64 B RAM | 1 kB EPROM | 18 linek | ? | 8bit | 40pin |
8042 | 12,5 MHz | 256 B RAM | 2 kB ROM | 18 linek | ? | 8bit | 40pin |
8742 | 12,5 | 256 B RAM | 2 kB EPROM | 18 linek | ? | 8bit | 40pin |
8050 | 1–11 MHz | 256 B RAM | 4 kB ROM | 27 linek | +5V | 8bit | 40pin |
Související články
[editovat | editovat zdroj]Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu MCS-48 na Wikimedia Commons
- Popis rodiny MCS-48 – https://web.archive.org/web/20130922061531/http://home.mnet-online.de/al/mcs-48/mcs-48.pdf
- http://www.sostzm.edu.sk/studium/elektronika/kap9/jednocpoc.html
- http://vendulka.zcu.cz/Vyuka/POS/slides/2006/jednocipy.pdf
- http://www.nyx.net/~lturner/MCS-48_Data.html