Intel 8080: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Řádek 17: Řádek 17:
== Vnitřní struktura 8080 ==
== Vnitřní struktura 8080 ==
Intel 8080 má 3 páry 8bitových registrů a jeden 8bitový akumulátorový registr (střadač aritmetických operací). ''Registry'' jsou [[elektronická paměť|paměť]]ová místa umístěná v [[procesor|mikroprocesoru]]. Umožňoval použití vektorizovaných rutin [[obsluha přerušení|obsluhy přerušení]] od V/V zařízení.
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 [[elektronická paměť|paměť]]ová místa umístěná v [[procesor|mikroprocesoru]].


Procesor umožňuje použití až 8 rutin [[obsluha přerušení|obsluhy přerušení]] od V/V zařízení.
Procesor potřebuje ke svému běhu ještě dva pomocné obvody - generátor hodin Intel 8224 a řadič sběrnice Intel 8228.

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 ===
=== Všeobecné registry ===
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.

<code>
<code>
Označení&nbsp;&nbsp;Použití<br />
Označení&nbsp;&nbsp;Použití<br />
Řádek 31: Řádek 35:
</code>
</code>


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ů
Registry BC, DE, HL se využívají buď jako 8bitové nebo jako dvojice s obsahem 2 byty.
BC, DE a HL.


=== Indexové a ukazatelové registry ===
=== Indexové a ukazatelové registry ===
<code>
<code>
SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ukazatel zásobníku<br />
SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Stack Pointer) ukazatel zásobníku<br />
PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ukazatel prováděné instrukce<br />
PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Program Counter) ukazatel prováděné instrukce<br />
</code>
</code>


==== Ukazatel zásobníku ====
==== Ukazatel zásobníku ====
''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.
''Zásobník'' (''stack'') slouží k ukládání výsledků a mezivýsledků operací do souvislého bloku v paměti [[RAM]].
Registr SP (''stack pointer'') uchovává adresu aktuálního místa přístupného pro čtení zásobníku. Obsah registru může být libovolně předvolen.
Než je Byte vložen (instrukce PUSH - zápis do zásobníku), je ukazatel dekrementován - snížen o 1.
Při vyjmutí Bytu (instrukce POP - čtení ze zásobníku) je ukazatel inkrementován - zvýšen o 1.


==== Programový čítač ====
==== Programový čítač ====
Registr PC uchovává adresu uložení instrukce v paměti a je automaticky inkrementován (zvýšen o 1) při každém výběru instrukce.
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 ===
=== Pomocné registry ===
W, Z - jsou nepřístupné programátorovi, využívají se pro vnitřní potřebu [[CPU]] při vykonávání instrukcí.
W, Z - jsou nepřístupné programátorovi, využívají se pro vnitřní potřebu [[CPU]] při vykonávání instrukcí.

<!-- ZAKOMENTOVANO, NEJAK TO NEDAVA SMYSL
=== Pole registrů ===
Obsahuje paměť [[RAM]] ve formě 6-ti ,16-ti bitových registrů.
-->


{{Procesory_od_Intelu}}
{{Procesory_od_Intelu}}

Verze z 12. 9. 2010, 19:50

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.

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

  • 0.64 MIPS
  • Vylepšená načítací NMOS logika.
  • Programovací jazyk Assembler je zpětně kompatibilní s 8008.
  • Teoreticky až 10x výkonnější než 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

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

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

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

Ukazatel zásobníku

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č

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

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