Intel 8080

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Procesor Intel C8080A

Intel 8080 je procesor firmy Intel, vyvinutý v roce 1974. Po několika měsících výroby byl nahrazen zdokonalenou verzí 8080A s posílenými výstupy. Obvykle se procesorem 8080 myslí tato vylepšená verze. Procesor byl často slangově nazýván "BOBO".

Jedná se o 8bitový procesor technologie NMOS, s adresovatelným paměťovým prostorem 64 KB, 256 adresovatelnými V/V bránami. Taktovací frekvence procesoru je cca 1-2 MHz, čas potřebný k vykonání instrukce je minimálně 4 hodinové takty. Byl to jeden z nejrozšířenějších procesorů své doby, který měl široké využití od průmyslových aplikací po první domácí počítače.
Jeho přímý 8-bitový nástupce je procesor Intel 8085, 16bitový nástupce je Intel 8086. Na procesor navazoval i procesor Z80 firmy Zilog.

Procesor byl často kopírován jinými výrobci. Vyráběl se například i v bývalém Československu pod označením - Tesla MHB8080A.

Specifikace[editovat | editovat zdroj]

  • výrobní proces 4,5 μm (pro srovnání: intel Core i7 – 32 nm)
  • 4500 tranzistorů
  • 0,64 MIPS
  • Vylepšená načítací logika NMOS.
  • Programovací jazyk Assembler zpětně kompatibilní s intel 8008.
  • Teoreticky až 10× výkonnější než intel 8008.
  • Používán v Altair 8800, ovládání světelných křižovatek, střely s plochou dráhou letu.
  • Potřebuje 6 podpůrných čipů proti 20 u 8008.

Vnitřní struktura 8080[editovat | editovat zdroj]

Intel 8080 má jeden 8bitový akumulátorový registr (střadač pro aritmetické a logické/bitové operace) a 6 univerzálních 8bitových registrů. Registry jsou paměťová místa umístěná v mikroprocesoru.

Procesor umožňuje použití až 8 rutin obsluhy přerušení od V/V zařízení.

Procesor není úplně monolitický, k jeho činnosti jsou nutné dva pomocné obvody - generátor hodin Intel 8224 a řadič sběrnice Intel 8228. Pro vytvoření mikropočítače je potřeba celá sada nejméně 6 obvodů.

Všeobecné registry[editovat | editovat zdroj]

Většina aritmetických a logických instrukcí mikroprocesoru 8080 je jednoadresních - u binárních operací je vždy jeden operand ve střadači (akumulátoru), adresuje se pouze druhý operand. Výsledek se ukládá vždy do střadače.

Označení  Použití
A         střadač (Accumulator)
F         příznakové registry (Flags)
B    C    čítač a všeobecný registr
D    E    všeobecný registr
H    L    pár <HL> 16bitový ukazatel, všeobecný registr

Převážná většina instrukcí pracuje s 8bitovými daty. Několik málo instrukcí pracuje šestnáctibitovými daty uloženými ve dvojicích registrů BC, DE a HL.

Indexové a ukazatelové registry[editovat | editovat zdroj]

SP        (Stack Pointer) ukazatel zásobníku
PC        (Program Counter) ukazatel prováděné instrukce

Ukazatel zásobníku[editovat | editovat zdroj]

Zásobník (stack) slouží k ukládání adres pro návrat z podprogramů a přerušení. Lze jej používat i pro ukládání mezivýsledků. Na rozdíl od předchozích typů procesorů Intel může být zásobník umístěn kdekoli v paměti RAM. Vrchol zásobníku je adresován registrem SP. Zásobník roste k nižším adresám. Do zásobníku se ukládá vždy dvojice bytů. Registr SP (stack pointer) obsahuje adresu poslední uložené položky. Při ukládání na zásobník (instrukce PUSH), se před uložením každého z dvojice bytů SP dekrementuje - zmenšuje o 1. Naopak při čtení ze zásobníku (instrukce POP) je po přečtení každého ze dvojice bytů ukazatel inkrementován - zvýšen o 1.

Programový čítač[editovat | editovat zdroj]

Registr PC obsahuje adresu další programové instrukce, která se má provést. Po přečtení každého bytu instrukce je automaticky inkrementován (zvýšen o 1).

Pomocné registry[editovat | editovat zdroj]

W, Z - jsou nepřístupné programátorovi, využívají se pro vnitřní potřebu CPU při vykonávání instrukcí.