Intel 8080
Acest articol sau această secțiune are bibliografia incompletă sau inexistentă. Puteți contribui prin adăugarea de referințe în vederea susținerii bibliografice a afirmațiilor pe care le conține. |
Intel 8080 Microprocesor | |
Informație generală | |
---|---|
Lansat | aprilie 1974[1] | –1990
Vândut de | Intel |
Proiectat de | Intel |
Fabricanți principali | Intel |
Set de instrucțiuni | 8080 |
Endianitate | little endian[*] |
Performanța | |
Frecvența de ceas maximă a UCP | 2 MHz până la 3.125 MHz |
Socluri | DIP40 |
Pachete | 40-pin DIP |
Arhitectura și clasificarea | |
Specificații fizice | |
Nuclee | 1 |
Modifică date / text |
Intel 8080 este al doilea microprocesor produs de Intel. S-a lansat în luna aprilie a anului 1974 și este o variantă îmbunătățită a Intel 8008 fără a fi compatibil cu acesta. Inițial putea să ruleze la o viteză de 2 MHz, dar o revizuire a acestuia numită 8080A-1 (cunoscută și ca 8080B) putea să ruleze la o viteză de 3.125 MHz. Intel 8080 are nevoie de două circuite integrate pentru a funcționa, generatorul de ceas i8224 și de controlorul de bus i8228.
Descriere
[modificare | modificare sursă]Registre interne
[modificare | modificare sursă]Microprocesorul conține 7 registre principale care pot reține 8 biți (A,B,C,D,E,H și L), unde A este registrul primar numit accumulator și celelalte 6 pot fi utilizate individual sau în perechi pentru a forma registre care pot reține 16 biți (BC,DE,HL) depinzând de instrucțiune. Pe lângă cei 7 registre principale, mai are un registru numit indicatorul de stivă și un registru numit contor program.
Steaguri
[modificare | modificare sursă]Procesorul menține niște steaguri care indică rezultate aritmetice și logice. Doar unele instrucțiuni afectează steagurile.
Steagurile sunt următoarele:
- Semn (S sau Sign), este înălțat dacă rezultatul este negativ
- Zero (Z), este înălțat dacă rezultatul este nul.
- Paritate (P sau Parity), este înălțat dacă numărul de 1 biți in rezultat sunt pari
- Căra (C sau Carry), este înălțat dacă ultima adunare rezultă în a căra sau dacă ultima scădere are nevoie de împrumutare.
Exemplu cod
[modificare | modificare sursă]Următorul cod sursă este o subrutină numită memcpy
care copiază o bucată din memorie de o anumită dimensiune în altă locație.
; memcpy
;
; Regiștrii de intrare
; BC - Numărul de baiți care trebuie să fie copiați
; DE - Adresa sursei
; HL - Adresa destinației
;
; Regiștrii de ieșire
; BC - Zero
org 1000h ;Originea la 0x1000 sau 1000h
memcpy public
mov a,b ;Copiază registrul B în registrul A
ora c ;Aplică operațiunea pe biți OR pe A și C și păstrează rezultatul în registrul A
rz ;Întoarce-te dacă steagul zero este înălțat
loop: ldax d ;Încarcă A din adresa indicată de DE
mov m,a ;Salvează A în adresa indicată de HL
inx d ;Crește DE
inx h ;Crește HL
dcx b ;Scade BC (nu afectează steagurile)
mov a,b ;Copiază B în A
ora c ;A = A | C (setează zero)
jnz loop ;Sari la 'loop:' dacă steagul zero nu este înălțat
ret ;Întoarcere
Descrierea pinilor
[modificare | modificare sursă]- A10, pin de ieșire, pinul de adresare 10
- GND, împământare
- D4 |
- D5 |
- D6 |
- D7 |
- D3 |= bidirecționali, pinii de date
- D2 |
- D1 |
- D0 |
- -5V
- RESET, pin de intrare, atunci când acesta este setat la 0 sau împământare, procesorul va începe să execute cod de la adresa 0000.
- HOLD, pin de intrare, cerere pentru acces direct al memoriei, procesorul își va deconecta pinii de adresare și pinii de date
- INT, pin de intrare, cerere întrerupere
- φ2, pin de intrare
- INTE, pin de ieșire, procesorul are două instrucțiuni pentru a seta nivelul acestui pin, de obicei în calculatoarele simple este folosit pentru a acționa diverse lucruri.
- DBIN, pin de ieșire, procesorul citește din memorie sau din pinii de intrare
- WR, pin de ieșire, procesorul scrie în memorie
- SYNC, pin de ieșire
- +5V
- HLDA, pin de ieșire, confirmare acces direct al memoriei, procesorul se va conecta la pinii de adresare și pinii de date
- φ1, pin de intrare
- READY, pin de intrare, prin acest pin se poate suspenda procesorul
- WAIT, pin de ieșire, procesorul indică dacă este în stare de așteptare
- A0 |
- A1 |=pini de ieșire, pini de adresare
- A2 |
- +12V, trebuie să fie conectat ultimul și primul deconectat
- A3 |
- A4 |
- A5 |
- A6 |
- A7 |
- A8 |
- A9 |= pini de ieșire, pini de adresare
- A15 |
- A12 |
- A13 |
- A14 |
- A11 |