Intel 8080: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
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 [[IO 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 />
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 [[intel 8008]].
* Programovací jazyk [[Assembler]] zpětně kompatibilní s [[Intel 8008]].
* Teoreticky až 10× výkonnější než 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.
* 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" | &nbsp;
| 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ů.


=== Všeobecné registry ===
=== 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í&nbsp;&nbsp;Použití<br />
A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;střadač ('''A'''ccumulator)<br />
F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;příznakové registry ('''F'''lags)<br />
B&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;&nbsp;&nbsp;&nbsp;čítač a všeobecný registr<br />
D&nbsp;&nbsp;&nbsp;&nbsp;E&nbsp;&nbsp;&nbsp;&nbsp;všeobecný registr<br />
H&nbsp;&nbsp;&nbsp;&nbsp;L&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Stack Pointer) ukazatel zásobníku<br />
PC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Program Counter) ukazatel prováděné instrukce<br />
</code>


==== Ukazatel zásobníku ====
==== Ukazatel zásobníku ====

Verze z 5. 12. 2014, 22:37

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

Mikroarchitektura i8080.
  • 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
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (číslo bitu)
Univerzální registry
A Flags AF (akumulátor a příznaky)
B C BC
D E DE
H L HL (nepřímá adresa)
Indexregistry
SP Stack Pointer, ukazatel vrcholu zásobníku
Programový čítač
PC Program Counter, programový čítač
Stavový registr
  S Z I H - P - C Flags, 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 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í.