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
modificareRegistre interne
modificareMicroprocesorul 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
modificareProcesorul 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
modificareUrmă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- 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 |