Intel 8080: Porovnání verzí
m nahrazení spojovníků pomlčkami |
Přepracované znázornění registrů procesoru |
||
Řádek 2: | Řádek 2: | ||
'''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 [[slang|slangově]] nazýván "BOBO". |
'''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 [[slang|slangově]] nazýván "BOBO". |
||
Jedná se o 8[[bit|bitový]] procesor technologie [[NMOS]], s adresovatelným [[elektronická paměť|paměťovým prostorem]] 64 KB, 256 adresovatelnými [[ |
Jedná se o 8[[bit|bitový]] procesor technologie [[NMOS]], s adresovatelným [[elektronická paměť|paměťovým prostorem]] 64 KB, 256 adresovatelnými [[V/V port|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.<br /> |
||
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]]. |
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]]. |
||
Řádek 8: | Řádek 8: | ||
== Specifikace == |
== Specifikace == |
||
[[Image:Intel 8080 arch.svg|right|thumb|350px|Mikroarchitektura i8080.]] |
|||
* výrobní proces 4,5 [[Metr#Mikrometr|μm]] (pro srovnání: [[intel Core]] i7 – 32 [[Nanometr|nm]]) |
* výrobní proces 4,5 [[Metr#Mikrometr|μm]] (pro srovnání: [[intel Core]] i7 – 32 [[Nanometr|nm]]) |
||
* 4500 [[tranzistor]]ů |
* 4500 [[tranzistor]]ů |
||
* 0,64 [[MIPS]] |
* 0,64 [[MIPS]] |
||
* Vylepšená načítací logika NMOS. |
* Vylepšená načítací logika NMOS. |
||
* Programovací jazyk [[Assembler]] zpětně kompatibilní s [[ |
* Programovací jazyk [[Assembler]] zpětně kompatibilní s [[Intel 8008]]. |
||
* Teoreticky až 10× výkonnější než |
* 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. |
* 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. |
* Potřebuje 6 podpůrných čipů proti 20 u 8008. |
||
== Vnitřní struktura 8080 == |
== Vnitřní struktura 8080 == |
||
{| class="infobox" style="font-size:88%" |
|||
|- |
|||
|style="text-align:center" |''Registry mikroprocesoru Intel 8080'' |
|||
|- |
|||
| |
|||
{| style="font-size:88%;" |
|||
|- |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>5</sub> |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>4</sub> |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>3</sub> |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>2</sub> |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>1</sub> |
|||
| style="width:10px; text-align:center;"| <sup>1</sup><sub>0</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>9</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>8</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>7</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>6</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>5</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>4</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>3</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>2</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>1</sub> |
|||
| style="width:10px; text-align:center;"| <sup>0</sup><sub>0</sub> |
|||
| style="width:auto;" | ''(číslo bitu)'' |
|||
|- |
|||
|colspan="17" | '''Univerzální registry''' <br/> |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="8"| A |
|||
| style="text-align:center;background:#DDD" colspan="8"| Flags |
|||
| style="width:auto; background:white; color:black;"| '''AF''' (akumulátor a příznaky) |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="8"| B |
|||
| style="text-align:center;" colspan="8"| C |
|||
| style="background:white; color:black;"| '''BC''' |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="8"| D |
|||
| style="text-align:center;" colspan="8"| E |
|||
| style="background:white; color:black;"| '''DE''' |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="8"| H |
|||
| style="text-align:center;" colspan="8"| L |
|||
| style="background:white; color:black;"| '''HL''' (nepřímá adresa) |
|||
|- |
|||
|colspan="17" | '''Indexregistry''' <br/> |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="16"| SP |
|||
| style="background:white; color:black;"| '''S'''tack '''P'''ointer, ukazatel vrcholu zásobníku |
|||
|- |
|||
|colspan="17" | '''Programový čítač''' <br/> |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center;" colspan="16"| PC |
|||
| style="background:white; color:black;"| '''P'''rogram '''C'''ounter, programový čítač |
|||
|- |
|||
|colspan="17" | '''Stavový registr''' |
|||
|- style="background:silver;color:black" |
|||
| style="text-align:center; background:white" colspan="8" | |
|||
| style="text-align:center;"| [[Příznak znaménka|S]] |
|||
| style="text-align:center;"| [[Příznak nuly|Z]] |
|||
| style="text-align:center;"| [[Příznak přerušení|I]] |
|||
| style="text-align:center;"| [[Příznak polovičního přenosu|H]] |
|||
| style="text-align:center;"| - |
|||
| style="text-align:center;"| [[Příznak parity|P]] |
|||
| style="text-align:center;"| - |
|||
| style="text-align:center;"| [[Příznak přenosu|C]] |
|||
| style="background:white; color:black" | '''F'''lags, příznaky |
|||
|} |
|||
|} |
|||
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]]. |
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]]. |
||
Řádek 25: | Řádek 94: | ||
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ů. |
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ů. |
||
=== |
=== Univerzální 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. |
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> |
|||
Označení Použití<br /> |
|||
A střadač ('''A'''ccumulator)<br /> |
|||
F příznakové registry ('''F'''lags)<br /> |
|||
B C čítač a všeobecný registr<br /> |
|||
D E všeobecný registr<br /> |
|||
H L pár <HL> 16bitový ukazatel, všeobecný registr<br /></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ů |
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ů |
||
Řádek 41: | Řádek 101: | ||
=== Indexové a ukazatelové registry === |
=== Indexové a ukazatelové registry === |
||
<code> |
|||
SP (Stack Pointer) ukazatel zásobníku<br /> |
|||
PC (Program Counter) ukazatel prováděné instrukce<br /> |
|||
</code> |
|||
==== Ukazatel zásobníku ==== |
==== Ukazatel zásobníku ==== |
Verze z 5. 12. 2014, 22:37
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
- 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
Registry mikroprocesoru Intel 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ů.
Univerzální 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.
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
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í.