Domeniul microprocesoarelor este unul dintre cele mai dinamice din industria calculatoarelor. Aparut in anii 1970, microprocesorul este un circuit capabil sa efectueze functiile aritmetice si de control ale unui calculator. Pe atunci un microprocesor era un circuit integrat pe scara larga (LSI), continand cateva mii de tranzistoare, pe o suprafata de aproximativ 5 mm2. Dezvoltarea microprocesoarelor a urmat dezvoltarii circuitelor integrate, complexitatea acestora dublandu-se practic in fiecare an. In prezent s-a ajuns la cateva milioane de tranzistoare (6-9 milioane: Pentium II, AMD K6-2, Cyrix MII) pe o suprafata de cativa milimetri patrati.
Z80 este un procesor care nu se mai foloseste in nici un calculator actual, iar viteza lui este foarte mica (5 MHz), comparativa cu frecventele procesoarelor actuale (sute de Mhz). Totusi, mai este folosit si acum, in concurenta cu microcontrolerele, la realizarea unor sisteme de automatizare simple si fara necesitati prea mari de viteza. Z80 este un microprocesor pe 8 biti, cu 16 linii de adresa.
In interiorul calculatoarelor toate informatiile sunt reprezentate sub forma unor numere binare, sau sub forma unor grupe de biti.
Sistemul cel mai potrivit s-a dovedit a fi cel hexazecimal, cel care admite saisprezece cifre distincte (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Cap. I. Microprocesorul Z80
1.1. Notiuni introductive. Arhitectura interna
Microprocesoarele nu sunt altceva decat unitati centrale de calculator (CPU - Central Processing Unit) incorporate intr-o singura capsula de circuit integrat.
Ele vor citi instructiunile unui program dintr-un bloc de memorie, le vor decodifica si vor executa comenzile formulate in insusi codul instructiunii. Pentru a citi din blocul de memorie externa codul instructiunii ce urmeaza a fi executata, microprocesorul va trebui sa genereze o adresa pe care o va pune la dispozitie memoriei, pana cand din celula selectata pe baza acestei adrese va apare data ceruta. Pentru a putea "mentine" starea liniilor de adresa pe durata intregii operatii de citire, microprocesorul va trebui sa posede un element memorator intermediar, pe care-l vom numi registrul tampon de adrese AB (Adress Buffer). Informatia codificata, citita din memorie o vom depune temporar, de asemenea intr-un registru intermediar numit registrul tampon de date DB (Data Buffer).
Liniile electrice pe care se va genera cuvantul binar de adresa le vom numi magistrala de adrese ABUS (Adess Bus), iar pe cele dedicate datelor citite/ scrise in memorie, magistrala de date DBUS (Data Bus).
Z80 este un microprocesor pe 8 biti, cu 16 linii de adresa.
In interiorul calculatoarelor toate informatiile sunt reprezentate sub forma unor numere binare, sau sub forma unor grupe de biti.
Sistemul cel mai potrivit s-a dovedit a fi cel hexazecimal, cel care admite saisprezece cifre distincte (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Structura interna a microprocesorului Z80, organizata pe blocuri functionale, este prezentata in figura alaturata. (UAL - Unitatea aritmetica si logica;
RI - Registrul de instructiuni;
UCC - Unitatea de comanda si control.)
REGISTRII SPECIALI
Contorul program - PC (Program Counter) este un registru dublu, avand lungimea de 16 biti. El este destinat sa memoreze adresa instructiunii ce urmeaza a fi executata. Dupa ce se citeste codul instructiunii curente din memorie continutul acestui registru este incrementat automat cu 1.
Indicatorul de stiva - SP ( Stack Pointer) este un registru dublu, avand lungimea de 16 biti. SP este un registru de adresare special, avand aceeasi lungime ca si PC, el poate adresa intregul spatiu de adrese de memorie: 0000- FFFF.
La microprocesorul Z80, registrul SP organizeaza o stiva descrescatoare: la fiecare salvare se inscriu in memorie 2 octeti (2 registrii simplii sau 1 registru dublu) si continutul indicatorului de stiva este decrementat cu 2.
La fiecare restaurare se citesc din memorie 2 octeti si continutul indicatorului de stiva
este incrementat cu 2.
Registrul de instructiune - IR (Instruction Register) este un registru special cu lungimea de 8 biti. Aceasta este celula in care se depoziteaza codul unei instructiuni, citit din memorie la operatia fetch. Circuitul de comanda al microprocesorului preia codul instructiunii de executat din IR, il decodifica si isi programeaza toate activitatile pe care le are de efectuat in vederea ducerii la bun sfarsit a "poruncii" primite.
Registrul - A ( Acumulator) este un registru avand lungimea de 8 biti. El se distinge prin faptul ca pe langa a sti sa memoreze un octet, este implicat in toate