1
Proiectarea Microsistemelor Digitale
Curs 2
2
Proiectarea Microsistemelor Digitale
1.2. Ce este un microsistem digital?
 Sistemele de calcul bazate pe microprocesoare sau microcontrolere
se numesc microsisteme digitale; există 2 tipuri de echipamente
care sunt microsisteme digitale: microcalculatoarele şi sistemele de
calcul orientate pe aplicaţii;
 Microprocesorul se poate defini ca fiind un circuit logic programabil
de către utilizator, într-o singură capsulă şi cu funcţie de procesor de
uz general;
 Microcontrolerul se poate defini ca un circuit logic, programabil de
către utilizator, cu o structură adaptată pentru rezolvarea unei largi
game de aplicaţii de timp real; el nu este folosit ca procesor de uz
general ci ca procesor orientat pe aplicaţii, fiind, în general, inclus în
echipamentul pe care îl conduce;
 DSP – prelucrează digital semnale analogice.
3
Proiectarea Microsistemelor Digitale
1.3. Istoria microprocesoarelor şi microcontrolerelor
 1971: primul microprocesor pe 4 biţi, al firmei INTEL;
 1972: primul microprocesor pe 8 biţi, 8008 (INTEL);
 1974: 8080, 8085 (INTEL), Z80 (ZILOG), 6800, 6502 (MOTOROLA);
- 10 µm;
- 2300 tranzistoare;
- 740 KHz;
- 4 Ko memorie de program i 1 Ko
ș
memorie de date;
- 100 000 opera ii/sec.
ț
- 16 pini, capsulă DIP; 0,5 W
8080:
-6 µm;
-4500 tranzistoare;
-2 MHz;
-64 Ko memorie;
-40 pini, capsulă DIP;
-0,5 W;
4
Proiectarea Microsistemelor Digitale
 1978: 8086/8088 (INTEL) → familia x86;
 1979: 68000 (MOTOROLA) → familia 680x0;
 1982: 80286; 1985: 80386 (INTEL);
 1989: 80486 (INTEL):
- 3 µm;
- 29 000 tranzistoare;
- 4,77 MHz;
- 1 Mo memorie;
- 16 bi i;
ț
- 40 pini, capsulă DIP;
- 2 W;
- 0,6 - 1 µm;
- 1 200 000 tranzistoare;
- 25 – 100 MHz;
- 4 Go memorie + memorie virtuală;
- 32 bi i;
ț
- 168 pini, capsulă PGA;
- Memorie cache internă;
- Coprocesor matematic intern;
- 2,5 W;
5
Proiectarea Microsistemelor Digitale
 1993: Pentium I:
 1995: Pentium Pro; 1997: Pentium II;
 1999: Pentium III:
- 0,8 – 0,35 µm;
- 3 200 000 – 4 500 000 tranzistoare;
- 60 – 300 MHz;
- 296 pini, capsulă PGA;
- Arhitectură superscalară;
- Predic ia dinamică a ramificărilor;
ț
- 8 – 17 W;
- 0,25 – 0,18 µm;
- 9 500 000 – 28 000 000 tranzistoare;
- 450 – 1 000 MHz;
- 330 pini, capsulă SECC2;
- 2 nivele de memorie cache;
- Microarhitectură de tip P6 care asigură execu ia
ț
dinamică a instruc iunilor (”out of order”);
ț
- 14 – 44 W;
6
Proiectarea Microsistemelor Digitale
 2002: Pentium IV:
 2003: Pentium M; 2006: Core 2 Duo;
 2008: Core i7:
- 65 – 180 nm;
- 42 000 000 – 178 000 000 tranzistoare;
- 1,4 – 3,8 GHz;
- 32/64 bi i;
ț
- 478 pini, capsulă PGA;
- 6 000 000 000 opera ii/sec.;
ț
- 21 – 115 W;
- ≈ 4 Gflops;
- 45 nm;
- 4 nuclee x86;
- 731 000 000 tranzistoare;
- 2,66 – 3,33 GHz;
- 32/64 bi i;
ț
- 1366 pini, capsulă LGA;
- 3 nivele de memorie cache;
- ≈ 120 Gflops;
- 45 – 130 W
7
Proiectarea Microsistemelor Digitale
 2008: Atom:
 2009: Core i5:
 2010: Core i3:
- 45 nm;
- 47 000 000 tranzistoare;
- 0,8 – 1,86 GHz;
- 32/64 bi i;
ț
- 441 pini, capsulă FCBGA;
- 1,4 – 13 W;
- Low voltage: 0,7 – 1,1 V;
- 2 nuclee x86;
- 781 000 000 tranzistoare;
- 2,93 – 3,33 GHz;
- 64 pini;
- 35 – 65 W;
- 4 nuclee x86;
- 781 000 000 tranzistoare;
- 2,4 – 3,6 GHz;
- 64 pini;
- 17 – 37 W;
8
Proiectarea Microsistemelor Digitale
 Evolu ia microprocesoarelor:
ț
 Dimensiunea tranzistorului: 10 µm → 45 nm;
 Nr. de tranzistoare: 2300 → 781 000 000;
 Frecven a: 740 KHz → 3,8 GHz;
ț
 Nr. de pini: 16 → 1366;
 Putere: 0,5 W → 130 W;
 Viteza de execu ie: 100 000 opera ii/sec. → 120 Gflops;
ț ț
 Dimensiunea cuvântului: 4 bi i → 64 bi i.
ț ț
 Microcontrolere:
 1981: primul PC conţinea microcontrolerul 8048 în tastatură;
 există microcontrolere pe 4, 8, 16 şi 32 biţi;
 familii de microcontrolere: mai multe microcontrolere cu acelaşi nucleu,
de ex. familia 8051;
 producători: PHILIPS, MICROCHIP, MOTOROLA, ZILOG, HITACHI,
TEXAS INSTRUMENTS etc.
 Direcţii de dezvoltare diferite:
 microprocesoare: creşterea vitezei, a capacităţii de memorie adresabile,
înglobarea unor facilităţi pentru lucrul cu limbaje de nivel înalt pentru aplicaţii
de uz general,
 microcontrolere: au fost optimizate pentru achiziţii de date şi aplicaţii de
monitorizare şi control, în general pentru aplicaţii de timp real.
9
Proiectarea Microsistemelor Digitale
1.4. Structura unui microprocesor şi a unui microcontroler
1.4.1. Structura unui microprocesor
10
Proiectarea Microsistemelor Digitale
 Resurse externe: magistralele.
 Prin magistrală se înţelege un grup de linii cu caracteristici comune
funcţionale, logice şi electrice şi cu posibilitatea de a permite
conectarea directă la ea a mai multor blocuri care îndeplinesc, însă,
anumite cerinţe. Condiţii:
 uniformitate funcţională înseamnă că rolul şi scopul liniilor să fie acelaşi,
uniformitate logică înseamnă nivelul activ al semnalelor să fie acelaşi iar
uniformitate electrică înseamnă că liniile să aibă aceleaşi caracteristici
electrice;
 blocuri cu ieşiri cu 3 stări.
 Orice microprocesor are 3 magistrale:
 de adrese,
 de date şi
 de comandă şi control
11
Proiectarea Microsistemelor Digitale
 Magistrala de adrese:
 indică celula de memorie sau circuitul de I/E,
 ieşiri sau bidirecţionale dacă microprocesorul conţine memorie cache,
 capacitatea = 2n
locaţii, n fiind numărul liniilor de adresă.
 Magistrala de date:
 stabileşte “numărul de biţi” ai unui microprocesor, 8, 16, 32, 64,
 bidirecţionale, sensul de transfer este stabilit de microprocesor.
 Magistrala de comandă şi control:
 indică ce operaţii va executa microprocesorul, când şi cu cine,
 i se poate comunica faptul că resursele sunt prea lente,
 i se poate cere să elibereze resursele sistemului,
 etc.
12
Proiectarea Microsistemelor Digitale
 Resurse interne:
 magistrale interne,
 unitate aritmetică şi logică, UAL sau ALU,
 dispozitiv de comandă şi control, DCC:
 pentru controlul tuturor transferurilor interne,
 pentru controlul tuturor transferurilor externe.
 decodificator al codului instrucţiunii, DCI: coamandă DCC,
 registrul instrucţiunii, RI: memorează temporar instrucţiunile,
 numărător de adrese, PC,
 tampoane de date şi adrese,
 setul de registre:
 memorie internă foarte rapidă dar de capacitate mică,
 caracteristică a arhitecturii unui microprocesor,
 în strânsă legătură cu setul de instrucţiuni;
13
Proiectarea Microsistemelor Digitale
 registre cu funcţiuni generale: pot fi accesate prin intermediul
instrucţiunilor, minimizând numărul de accese la memorie: generale,
de date, de adrese şi de control şi stare,
 registre speciale: conţin informaţii pentru controlul execuţiei
programelor şi pentru realizarea unor facilităţi.
 Probleme specifice ale unui proiectant de microprocesor
legate de setul de registre:
 raportul registre cu funcţiuni generale/ registre speciale (sau, altfel spus:
cum se asigură performanţă maximă: cu mai multe registre cu funcţiuni
generale sau cu mai multe registre speciale?),
 numărul de registre (cum se asigură performanţă maximă: cu mai multe
sau cu mai puţine registre?).
14
Proiectarea Microsistemelor Digitale
 Alte caracteristici importante ale microprocesoarelor:
 setul de instrucţiuni:
 indică programatorului posibilităţile microprocesorului,
 determină evoluţia microprocesoarelor.
 terminalele:
 comunicarea microprocesorului cu exteriorul,
 legată de posibilitatea de încapsulare: cerinţe de număr mare de
terminale/ limitări de cost şi spaţiu:
 multiplexarea unui număr de terminale: avantaj pentru proiectantul de
microprocesor, dezavantaj pentru proiectantul de sistem hardware, larg
aplicată la microcontrolere,
 capsule cu număr mare de terminale:
 DIL la microprocesoare simple,
 pe 4 laturi, şi mai multe rânduri, la microprocesoarele evoluate cu sute de
terminale.
15
Proiectarea Microsistemelor Digitale
1.4.2. Structura unui microcontroler
16
Proiectarea Microsistemelor Digitale
 Particularităţi ale proiectării sistemelor cu
microcontrolere:
 permit realizarea de sisteme cu circuite puţine, de aici rezultând
dimensiuni mici, siguranţă în funcţionare, fiabilitate, consum redus;
 întrucât un microcontroler înglobează atât periferie (interfeţe seriale,
contoare, temporizatoare) cât şi porturi care pot fi comandate la nivel de
rang, numărul porturilor externe este mic sau chiar nul;
 întrucât majoritatea microcontrolerelor conţin memorie fixă,
microsistemele cu microcontrolere conţin memorie fixă externă doar în 2
cazuri: fie microcontrolerul respectiv nu conţine memorie fixă internă, fie
memoria fixă internă nu este suficientă, caz mai puţin uzual;
 dacă aplicaţia cere memorie RAM de dimensiuni mici, câţiva zeci,
eventual sute de octeţi, atunci nu va fi necesară nici memorie RAM
externă;
 întrucât microcontrolerele conţin câteva zeci de linii de port, ele se
recomandă în aplicaţii în care operaţiile de intrare/ ieşire sunt
preponderente;
 utilizarea microcontrolerelor este recomandată în aplicaţii, în general,
lente;
 pentru minimizarea consumului se pot utiliza modurile de lucru cu
consum redus.
17
Proiectarea Microsistemelor Digitale
1.5. Schema bloc a unui microsistem digital
18
Proiectarea Microsistemelor Digitale

Unitatea centrală (UC): microprocesor sau microcontroler + alte circuite
(generator de tact, generator al semnalului de iniţializare, amplificarea şi
demultiplexarea magistralelor);
 Memoria fixă:
 implementată cu circuite ROM, OTP, EPROM, EEPROM sau Flash,
 memorează programe de sistem sau aplicative,
 la PC conţine doar un set de rutine de bază pentru comunicarea
procesorului cu periferia, programe de test, variabile care fixează
anumite particularităţi funcţionale şi un program încărcător care va
încărca sistemul de operare de pe suport extern în memoria de tip RAM
şi îl va lansa în execuţie.
 Memoria de scriere/ citire (RAM):
 pentru memorări temporare iar la PC şi pentru memorarea, în timpul unei
sesiuni de lucru, a sistemului de operare,
 SRAM (RAM static) şi DRAM (RAM dinamic).
19
Proiectarea Microsistemelor Digitale
 Porturi de intrare/ ieşire:
 asigură interfaţa dintre unitatea centrală şi echipamentele de intrare/
ieşire,
 converteşte informaţia din formatul unităţii centrale în cel al perifericelor
şi invers.
 Decodificatorul de memorie (DECM):
 generează semnale de selecţie pentru circuitele de memorie,
 are ca intrări linii din magistrala de adrese.
 Decodificatorul de porturi (DECP):
 generează semnale de selecţie pentru porturi,
 are ca intrări linii din magistrala de adrese.
 Magistrale externe de adrese, date, comandă şi control.
20
Proiectarea Microsistemelor Digitale
2. Unitatea centrală
2.1. Microprocesorul 8086
 primul microprocesor pe 16 biţi care a cunoscut o largă utilizare;
 apariţia lui a fost urmată la scurt timp de o familie de componente:
generatorul de tact 8284, controlerul de magistrală 8288, coprocesorul
matematic 8087 şi coprocesorul de intrare / ieşire 8089.
 Caracteristici:
 registrele interne şi magistrala de date externă sunt pe 16 biţi;
 posibilitatea de a adresa direct 1 Mo de memorie;
 viteză mărită de lucru datorită atât frecvenţei tactului cât şi unei structuri
interne bazată pe conceptul de suprapunere care permite aducerea din
memorie, în avans, a instrucţiunilor în timpul unor cicluri fără acces la
magistrale;
 poate acoperi o gamă largă de aplicaţii datorită celor două moduri de
lucru ale sale: minim şi maxim,
 magistralele de date şi adrese sunt multiplexate iar o parte dintre
terminalele de comandă au rol dublu; aceasta a permis încapsularea
circuitului într-o capsulă cu doar 40 terminale.
21
Proiectarea Microsistemelor Digitale
 Moduri de lucru:
 minim: pentru aplicaţii relativ simple, în care microprocesorul
generează el însuşi semnalele necesare transferurilor cu
memoria şi cu porturile de intrare/ ieşire;
 maxim: pentru aplicaţii complexe, inclusiv sisteme multiprocesor,
în care semnalele de comandă pentru memorii şi porturi sunt
generate de un controler de magistrală;
 nu oferă privilegii diferite ci ele se recomandă în anumite
configuraţii hardware, pentru tipuri de aplicaţii diferite;
 trecerea dintr-un mod în altul se face prin hardware: există
terminalul MN/ /MX la care, prin 1 logic se cere modul minim iar
prin 0 logic se cere modul maxim;
 Terminale
 magistrale multiplexate de adrese/ date;
 linii de comandă şi control cu 2 semnificaţii.
22
Proiectarea Microsistemelor Digitale
 Structura internă
23
Proiectarea Microsistemelor Digitale
 Setul de registre
24
Proiectarea Microsistemelor Digitale
 Ciclurile maşină
 execuţia unei instrucţiuni înseamnă o secvenţă de cicluri maşină;
 un ciclu maşină durează un număr de stări, minim 4 la 8086,
notate cu T1 – T4;
 un ciclu maşină poate fi extins prin inserarea de stări de
aşteptare;
 o stare înseamnă o perioadă de tact.
 Poate executa 5 tipuri de cicluri:
 citire date şi intrare pentru modul minim;
 scriere date şi ieşire pentru modul minim;
 citire date şi intrare pentru modul maxim;
 scriere date şi ieşire pentru modul maxim;
 acceptare a unei cereri de întrerupere mascabile.
25
Proiectarea Microsistemelor Digitale
 Organizarea şi gestionarea memoriei
 capacitatea de memorie direct adresabilă este de 1 MO;
 memoria este gestionată în segmente:
 avantaje:
 este facilitată programarea modulară; fiecare modul poate ocupa unul
sau mai multe segmente putând fi dezvoltat independent unul faţă de
celălalt;
 facilitează relocarea dinamică a programelor; pentru aceasta este
necesar ca acestea să nu afecteze conţinuturile registrelor segment şi să
nu facă referire la locaţii din afara segmentului; programul poate fi plasat
oriunde în memorie prin modificarea conţinuturilor registrelor de segment;
 se poate utiliza un număr mare de stive, prin plasarea adresei de început
a segmentului stivă în registrul SS şi a vârfului stivei în SP;
 dezavantaje:
 limitări în lungimea programelor introduse de dimensiunile segmentelor;
 adresa fizică se obţine din două configuraţii printr-un mecanism care
necesită timp deci duce la o scădere a vitezei de lucru.
26
Proiectarea Microsistemelor Digitale
 Un exemplu de segmentare
27
Proiectarea Microsistemelor Digitale
 Sistemul de intrare/ ieşire
 conectarea porturilor în spaţiul de memorie;
 conectarea porturilor în spaţiul de intrare/ ieşire dedicat:
suprapus peste primul segment de memorie.
 Transfer de operanzi pe:
 16 biţi;
 8 biţi pe D0-7 (adresă pară de port) sau D8 – 15 (adresă impară
de port).
 Adrese de port pe:
 16 biţi: se foloseşte adresarea indirectă prin DX (65536 porturi);
 8 biţi: se foloseşte adresarea directă (256 porturi).
 Instrucţiuni IN şi OUT
 transfer port – registrul AX (16 biţi) sau AL, respectiv AH (8 biţi).
28
Proiectarea Microsistemelor Digitale
 Sistemul de întreruperi
 întreruperi externe şi interne;
 256 întreruperi, accesul la rutina de tratare este vectorizat.
 Tabela vectorilor de întrerupere: primii 1024 octeţi:
Tip Intrare Adresă
Eroare la divizare 0 00000H
Pas cu pas 1 00004H
Întrerupere
nemascabilă
2 00008H
Breakpoint 3 0000CH
Rezervat 4 00010H
Depăşire 5 – 31 00014H – 0007CH
Disponibil 32 – 255 00080H – 003FCH
Instrucţiuni 0 - 255 00000H – 003FCH
29
Proiectarea Microsistemelor Digitale
 Întreruperi externe:
 mascabile:
 prin INTR;
 generate de un controler de întreruperi 8259A;
 sistemul de înteruperi trebuie să fie activat (IF = 1);
 max. 224 nivele, începând cu intrarea 32.
 nemascabile:
 prin NMI;
 predefinită de tipul 2.
 Întreruperi interne:
 generate de instrucţiunile INT nn;
 predefinite, autogenerate ca urmare a unor evenimente interne
deosebite.
 Timpul de procesare: 50 – 61 perioade de tact.
 Prioritate implicită: eroare la divizare, INT nn, INTO, NMI, INTR şi pas cu
pas.

More Related Content

PPT
First course of management of embedded systems
PPT
curs microprocesoare si microcontrolere ASC Curs 2008.ppt
DOC
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
DOC
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
PPT
curs porti logice si circuite digitale lectie curs 2
PDF
Arhitectura Microprocesoarelor_Îndrumar de laborator_2018 (1).pdf
PDF
Arhitectura sistemelor-de-calcul
PPT
Arhitectura calculato1
First course of management of embedded systems
curs microprocesoare si microcontrolere ASC Curs 2008.ppt
arhitectura-microprocesoarelor_cursul amp profesor burileanu_44509
An2 derivat.ro arhitectura-microprocesoarelor_cursul amp profesor burileanu...
curs porti logice si circuite digitale lectie curs 2
Arhitectura Microprocesoarelor_Îndrumar de laborator_2018 (1).pdf
Arhitectura sistemelor-de-calcul
Arhitectura calculato1

Similar to Second course of management of embedded systems (20)

DOCX
DOC
Asamblarea si intretinerea componentelor pe placa de baza a unui calculator B...
PPTX
Componentele unui-calculator-partea-i
PDF
Mc cap 1
PDF
Suport cls09-tic-cap01-l02-01-structura calculatorului personal
DOCX
PDF
Initiere operare pc
PDF
Mc cap 2
PDF
Mc cap 6
PPT
Modulul 1 ecdl
PPT
Modulul 1 ecdl
PDF
Curs Sctr2009
PDF
Retele de calculatoare_editia_a4a
PDF
Andrew S. Tanenbaum Retele de calculatoare
PDF
Manual windows
PDF
Curs depanare pc
PPS
Referat placa de baza andrei
PPTX
Istoria calculatorului
PPSX
LCD controller with LPC1777, S1D13517 and external SDRAM
PPS
Berariu Andrei Ionut Atestat
Asamblarea si intretinerea componentelor pe placa de baza a unui calculator B...
Componentele unui-calculator-partea-i
Mc cap 1
Suport cls09-tic-cap01-l02-01-structura calculatorului personal
Initiere operare pc
Mc cap 2
Mc cap 6
Modulul 1 ecdl
Modulul 1 ecdl
Curs Sctr2009
Retele de calculatoare_editia_a4a
Andrew S. Tanenbaum Retele de calculatoare
Manual windows
Curs depanare pc
Referat placa de baza andrei
Istoria calculatorului
LCD controller with LPC1777, S1D13517 and external SDRAM
Berariu Andrei Ionut Atestat
Ad

Second course of management of embedded systems

  • 2. 2 Proiectarea Microsistemelor Digitale 1.2. Ce este un microsistem digital?  Sistemele de calcul bazate pe microprocesoare sau microcontrolere se numesc microsisteme digitale; există 2 tipuri de echipamente care sunt microsisteme digitale: microcalculatoarele şi sistemele de calcul orientate pe aplicaţii;  Microprocesorul se poate defini ca fiind un circuit logic programabil de către utilizator, într-o singură capsulă şi cu funcţie de procesor de uz general;  Microcontrolerul se poate defini ca un circuit logic, programabil de către utilizator, cu o structură adaptată pentru rezolvarea unei largi game de aplicaţii de timp real; el nu este folosit ca procesor de uz general ci ca procesor orientat pe aplicaţii, fiind, în general, inclus în echipamentul pe care îl conduce;  DSP – prelucrează digital semnale analogice.
  • 3. 3 Proiectarea Microsistemelor Digitale 1.3. Istoria microprocesoarelor şi microcontrolerelor  1971: primul microprocesor pe 4 biţi, al firmei INTEL;  1972: primul microprocesor pe 8 biţi, 8008 (INTEL);  1974: 8080, 8085 (INTEL), Z80 (ZILOG), 6800, 6502 (MOTOROLA); - 10 µm; - 2300 tranzistoare; - 740 KHz; - 4 Ko memorie de program i 1 Ko ș memorie de date; - 100 000 opera ii/sec. ț - 16 pini, capsulă DIP; 0,5 W 8080: -6 µm; -4500 tranzistoare; -2 MHz; -64 Ko memorie; -40 pini, capsulă DIP; -0,5 W;
  • 4. 4 Proiectarea Microsistemelor Digitale  1978: 8086/8088 (INTEL) → familia x86;  1979: 68000 (MOTOROLA) → familia 680x0;  1982: 80286; 1985: 80386 (INTEL);  1989: 80486 (INTEL): - 3 µm; - 29 000 tranzistoare; - 4,77 MHz; - 1 Mo memorie; - 16 bi i; ț - 40 pini, capsulă DIP; - 2 W; - 0,6 - 1 µm; - 1 200 000 tranzistoare; - 25 – 100 MHz; - 4 Go memorie + memorie virtuală; - 32 bi i; ț - 168 pini, capsulă PGA; - Memorie cache internă; - Coprocesor matematic intern; - 2,5 W;
  • 5. 5 Proiectarea Microsistemelor Digitale  1993: Pentium I:  1995: Pentium Pro; 1997: Pentium II;  1999: Pentium III: - 0,8 – 0,35 µm; - 3 200 000 – 4 500 000 tranzistoare; - 60 – 300 MHz; - 296 pini, capsulă PGA; - Arhitectură superscalară; - Predic ia dinamică a ramificărilor; ț - 8 – 17 W; - 0,25 – 0,18 µm; - 9 500 000 – 28 000 000 tranzistoare; - 450 – 1 000 MHz; - 330 pini, capsulă SECC2; - 2 nivele de memorie cache; - Microarhitectură de tip P6 care asigură execu ia ț dinamică a instruc iunilor (”out of order”); ț - 14 – 44 W;
  • 6. 6 Proiectarea Microsistemelor Digitale  2002: Pentium IV:  2003: Pentium M; 2006: Core 2 Duo;  2008: Core i7: - 65 – 180 nm; - 42 000 000 – 178 000 000 tranzistoare; - 1,4 – 3,8 GHz; - 32/64 bi i; ț - 478 pini, capsulă PGA; - 6 000 000 000 opera ii/sec.; ț - 21 – 115 W; - ≈ 4 Gflops; - 45 nm; - 4 nuclee x86; - 731 000 000 tranzistoare; - 2,66 – 3,33 GHz; - 32/64 bi i; ț - 1366 pini, capsulă LGA; - 3 nivele de memorie cache; - ≈ 120 Gflops; - 45 – 130 W
  • 7. 7 Proiectarea Microsistemelor Digitale  2008: Atom:  2009: Core i5:  2010: Core i3: - 45 nm; - 47 000 000 tranzistoare; - 0,8 – 1,86 GHz; - 32/64 bi i; ț - 441 pini, capsulă FCBGA; - 1,4 – 13 W; - Low voltage: 0,7 – 1,1 V; - 2 nuclee x86; - 781 000 000 tranzistoare; - 2,93 – 3,33 GHz; - 64 pini; - 35 – 65 W; - 4 nuclee x86; - 781 000 000 tranzistoare; - 2,4 – 3,6 GHz; - 64 pini; - 17 – 37 W;
  • 8. 8 Proiectarea Microsistemelor Digitale  Evolu ia microprocesoarelor: ț  Dimensiunea tranzistorului: 10 µm → 45 nm;  Nr. de tranzistoare: 2300 → 781 000 000;  Frecven a: 740 KHz → 3,8 GHz; ț  Nr. de pini: 16 → 1366;  Putere: 0,5 W → 130 W;  Viteza de execu ie: 100 000 opera ii/sec. → 120 Gflops; ț ț  Dimensiunea cuvântului: 4 bi i → 64 bi i. ț ț  Microcontrolere:  1981: primul PC conţinea microcontrolerul 8048 în tastatură;  există microcontrolere pe 4, 8, 16 şi 32 biţi;  familii de microcontrolere: mai multe microcontrolere cu acelaşi nucleu, de ex. familia 8051;  producători: PHILIPS, MICROCHIP, MOTOROLA, ZILOG, HITACHI, TEXAS INSTRUMENTS etc.  Direcţii de dezvoltare diferite:  microprocesoare: creşterea vitezei, a capacităţii de memorie adresabile, înglobarea unor facilităţi pentru lucrul cu limbaje de nivel înalt pentru aplicaţii de uz general,  microcontrolere: au fost optimizate pentru achiziţii de date şi aplicaţii de monitorizare şi control, în general pentru aplicaţii de timp real.
  • 9. 9 Proiectarea Microsistemelor Digitale 1.4. Structura unui microprocesor şi a unui microcontroler 1.4.1. Structura unui microprocesor
  • 10. 10 Proiectarea Microsistemelor Digitale  Resurse externe: magistralele.  Prin magistrală se înţelege un grup de linii cu caracteristici comune funcţionale, logice şi electrice şi cu posibilitatea de a permite conectarea directă la ea a mai multor blocuri care îndeplinesc, însă, anumite cerinţe. Condiţii:  uniformitate funcţională înseamnă că rolul şi scopul liniilor să fie acelaşi, uniformitate logică înseamnă nivelul activ al semnalelor să fie acelaşi iar uniformitate electrică înseamnă că liniile să aibă aceleaşi caracteristici electrice;  blocuri cu ieşiri cu 3 stări.  Orice microprocesor are 3 magistrale:  de adrese,  de date şi  de comandă şi control
  • 11. 11 Proiectarea Microsistemelor Digitale  Magistrala de adrese:  indică celula de memorie sau circuitul de I/E,  ieşiri sau bidirecţionale dacă microprocesorul conţine memorie cache,  capacitatea = 2n locaţii, n fiind numărul liniilor de adresă.  Magistrala de date:  stabileşte “numărul de biţi” ai unui microprocesor, 8, 16, 32, 64,  bidirecţionale, sensul de transfer este stabilit de microprocesor.  Magistrala de comandă şi control:  indică ce operaţii va executa microprocesorul, când şi cu cine,  i se poate comunica faptul că resursele sunt prea lente,  i se poate cere să elibereze resursele sistemului,  etc.
  • 12. 12 Proiectarea Microsistemelor Digitale  Resurse interne:  magistrale interne,  unitate aritmetică şi logică, UAL sau ALU,  dispozitiv de comandă şi control, DCC:  pentru controlul tuturor transferurilor interne,  pentru controlul tuturor transferurilor externe.  decodificator al codului instrucţiunii, DCI: coamandă DCC,  registrul instrucţiunii, RI: memorează temporar instrucţiunile,  numărător de adrese, PC,  tampoane de date şi adrese,  setul de registre:  memorie internă foarte rapidă dar de capacitate mică,  caracteristică a arhitecturii unui microprocesor,  în strânsă legătură cu setul de instrucţiuni;
  • 13. 13 Proiectarea Microsistemelor Digitale  registre cu funcţiuni generale: pot fi accesate prin intermediul instrucţiunilor, minimizând numărul de accese la memorie: generale, de date, de adrese şi de control şi stare,  registre speciale: conţin informaţii pentru controlul execuţiei programelor şi pentru realizarea unor facilităţi.  Probleme specifice ale unui proiectant de microprocesor legate de setul de registre:  raportul registre cu funcţiuni generale/ registre speciale (sau, altfel spus: cum se asigură performanţă maximă: cu mai multe registre cu funcţiuni generale sau cu mai multe registre speciale?),  numărul de registre (cum se asigură performanţă maximă: cu mai multe sau cu mai puţine registre?).
  • 14. 14 Proiectarea Microsistemelor Digitale  Alte caracteristici importante ale microprocesoarelor:  setul de instrucţiuni:  indică programatorului posibilităţile microprocesorului,  determină evoluţia microprocesoarelor.  terminalele:  comunicarea microprocesorului cu exteriorul,  legată de posibilitatea de încapsulare: cerinţe de număr mare de terminale/ limitări de cost şi spaţiu:  multiplexarea unui număr de terminale: avantaj pentru proiectantul de microprocesor, dezavantaj pentru proiectantul de sistem hardware, larg aplicată la microcontrolere,  capsule cu număr mare de terminale:  DIL la microprocesoare simple,  pe 4 laturi, şi mai multe rânduri, la microprocesoarele evoluate cu sute de terminale.
  • 15. 15 Proiectarea Microsistemelor Digitale 1.4.2. Structura unui microcontroler
  • 16. 16 Proiectarea Microsistemelor Digitale  Particularităţi ale proiectării sistemelor cu microcontrolere:  permit realizarea de sisteme cu circuite puţine, de aici rezultând dimensiuni mici, siguranţă în funcţionare, fiabilitate, consum redus;  întrucât un microcontroler înglobează atât periferie (interfeţe seriale, contoare, temporizatoare) cât şi porturi care pot fi comandate la nivel de rang, numărul porturilor externe este mic sau chiar nul;  întrucât majoritatea microcontrolerelor conţin memorie fixă, microsistemele cu microcontrolere conţin memorie fixă externă doar în 2 cazuri: fie microcontrolerul respectiv nu conţine memorie fixă internă, fie memoria fixă internă nu este suficientă, caz mai puţin uzual;  dacă aplicaţia cere memorie RAM de dimensiuni mici, câţiva zeci, eventual sute de octeţi, atunci nu va fi necesară nici memorie RAM externă;  întrucât microcontrolerele conţin câteva zeci de linii de port, ele se recomandă în aplicaţii în care operaţiile de intrare/ ieşire sunt preponderente;  utilizarea microcontrolerelor este recomandată în aplicaţii, în general, lente;  pentru minimizarea consumului se pot utiliza modurile de lucru cu consum redus.
  • 17. 17 Proiectarea Microsistemelor Digitale 1.5. Schema bloc a unui microsistem digital
  • 18. 18 Proiectarea Microsistemelor Digitale  Unitatea centrală (UC): microprocesor sau microcontroler + alte circuite (generator de tact, generator al semnalului de iniţializare, amplificarea şi demultiplexarea magistralelor);  Memoria fixă:  implementată cu circuite ROM, OTP, EPROM, EEPROM sau Flash,  memorează programe de sistem sau aplicative,  la PC conţine doar un set de rutine de bază pentru comunicarea procesorului cu periferia, programe de test, variabile care fixează anumite particularităţi funcţionale şi un program încărcător care va încărca sistemul de operare de pe suport extern în memoria de tip RAM şi îl va lansa în execuţie.  Memoria de scriere/ citire (RAM):  pentru memorări temporare iar la PC şi pentru memorarea, în timpul unei sesiuni de lucru, a sistemului de operare,  SRAM (RAM static) şi DRAM (RAM dinamic).
  • 19. 19 Proiectarea Microsistemelor Digitale  Porturi de intrare/ ieşire:  asigură interfaţa dintre unitatea centrală şi echipamentele de intrare/ ieşire,  converteşte informaţia din formatul unităţii centrale în cel al perifericelor şi invers.  Decodificatorul de memorie (DECM):  generează semnale de selecţie pentru circuitele de memorie,  are ca intrări linii din magistrala de adrese.  Decodificatorul de porturi (DECP):  generează semnale de selecţie pentru porturi,  are ca intrări linii din magistrala de adrese.  Magistrale externe de adrese, date, comandă şi control.
  • 20. 20 Proiectarea Microsistemelor Digitale 2. Unitatea centrală 2.1. Microprocesorul 8086  primul microprocesor pe 16 biţi care a cunoscut o largă utilizare;  apariţia lui a fost urmată la scurt timp de o familie de componente: generatorul de tact 8284, controlerul de magistrală 8288, coprocesorul matematic 8087 şi coprocesorul de intrare / ieşire 8089.  Caracteristici:  registrele interne şi magistrala de date externă sunt pe 16 biţi;  posibilitatea de a adresa direct 1 Mo de memorie;  viteză mărită de lucru datorită atât frecvenţei tactului cât şi unei structuri interne bazată pe conceptul de suprapunere care permite aducerea din memorie, în avans, a instrucţiunilor în timpul unor cicluri fără acces la magistrale;  poate acoperi o gamă largă de aplicaţii datorită celor două moduri de lucru ale sale: minim şi maxim,  magistralele de date şi adrese sunt multiplexate iar o parte dintre terminalele de comandă au rol dublu; aceasta a permis încapsularea circuitului într-o capsulă cu doar 40 terminale.
  • 21. 21 Proiectarea Microsistemelor Digitale  Moduri de lucru:  minim: pentru aplicaţii relativ simple, în care microprocesorul generează el însuşi semnalele necesare transferurilor cu memoria şi cu porturile de intrare/ ieşire;  maxim: pentru aplicaţii complexe, inclusiv sisteme multiprocesor, în care semnalele de comandă pentru memorii şi porturi sunt generate de un controler de magistrală;  nu oferă privilegii diferite ci ele se recomandă în anumite configuraţii hardware, pentru tipuri de aplicaţii diferite;  trecerea dintr-un mod în altul se face prin hardware: există terminalul MN/ /MX la care, prin 1 logic se cere modul minim iar prin 0 logic se cere modul maxim;  Terminale  magistrale multiplexate de adrese/ date;  linii de comandă şi control cu 2 semnificaţii.
  • 24. 24 Proiectarea Microsistemelor Digitale  Ciclurile maşină  execuţia unei instrucţiuni înseamnă o secvenţă de cicluri maşină;  un ciclu maşină durează un număr de stări, minim 4 la 8086, notate cu T1 – T4;  un ciclu maşină poate fi extins prin inserarea de stări de aşteptare;  o stare înseamnă o perioadă de tact.  Poate executa 5 tipuri de cicluri:  citire date şi intrare pentru modul minim;  scriere date şi ieşire pentru modul minim;  citire date şi intrare pentru modul maxim;  scriere date şi ieşire pentru modul maxim;  acceptare a unei cereri de întrerupere mascabile.
  • 25. 25 Proiectarea Microsistemelor Digitale  Organizarea şi gestionarea memoriei  capacitatea de memorie direct adresabilă este de 1 MO;  memoria este gestionată în segmente:  avantaje:  este facilitată programarea modulară; fiecare modul poate ocupa unul sau mai multe segmente putând fi dezvoltat independent unul faţă de celălalt;  facilitează relocarea dinamică a programelor; pentru aceasta este necesar ca acestea să nu afecteze conţinuturile registrelor segment şi să nu facă referire la locaţii din afara segmentului; programul poate fi plasat oriunde în memorie prin modificarea conţinuturilor registrelor de segment;  se poate utiliza un număr mare de stive, prin plasarea adresei de început a segmentului stivă în registrul SS şi a vârfului stivei în SP;  dezavantaje:  limitări în lungimea programelor introduse de dimensiunile segmentelor;  adresa fizică se obţine din două configuraţii printr-un mecanism care necesită timp deci duce la o scădere a vitezei de lucru.
  • 27. 27 Proiectarea Microsistemelor Digitale  Sistemul de intrare/ ieşire  conectarea porturilor în spaţiul de memorie;  conectarea porturilor în spaţiul de intrare/ ieşire dedicat: suprapus peste primul segment de memorie.  Transfer de operanzi pe:  16 biţi;  8 biţi pe D0-7 (adresă pară de port) sau D8 – 15 (adresă impară de port).  Adrese de port pe:  16 biţi: se foloseşte adresarea indirectă prin DX (65536 porturi);  8 biţi: se foloseşte adresarea directă (256 porturi).  Instrucţiuni IN şi OUT  transfer port – registrul AX (16 biţi) sau AL, respectiv AH (8 biţi).
  • 28. 28 Proiectarea Microsistemelor Digitale  Sistemul de întreruperi  întreruperi externe şi interne;  256 întreruperi, accesul la rutina de tratare este vectorizat.  Tabela vectorilor de întrerupere: primii 1024 octeţi: Tip Intrare Adresă Eroare la divizare 0 00000H Pas cu pas 1 00004H Întrerupere nemascabilă 2 00008H Breakpoint 3 0000CH Rezervat 4 00010H Depăşire 5 – 31 00014H – 0007CH Disponibil 32 – 255 00080H – 003FCH Instrucţiuni 0 - 255 00000H – 003FCH
  • 29. 29 Proiectarea Microsistemelor Digitale  Întreruperi externe:  mascabile:  prin INTR;  generate de un controler de întreruperi 8259A;  sistemul de înteruperi trebuie să fie activat (IF = 1);  max. 224 nivele, începând cu intrarea 32.  nemascabile:  prin NMI;  predefinită de tipul 2.  Întreruperi interne:  generate de instrucţiunile INT nn;  predefinite, autogenerate ca urmare a unor evenimente interne deosebite.  Timpul de procesare: 50 – 61 perioade de tact.  Prioritate implicită: eroare la divizare, INT nn, INTO, NMI, INTR şi pas cu pas.