980 likes | 1.48k Views
Microprocesoare şi microcontrolere II Arhitectura sistemelor de calcul. Electroni c ă Aplicată Calculatoare Curs anul III 200 7 -200 8. ONIGA ŞTEFAN North University of Baia Mare. Obiectivele cursului de MM/ AS C. Înţelegerea structurii unui sistem cu microprocesor
E N D
Microprocesoare şi microcontrolere IIArhitectura sistemelor de calcul ElectronicăAplicată Calculatoare Curs anul III 2007-2008 ONIGA ŞTEFAN North University of Baia Mare
Obiectivele cursului de MM/ASC • Înţelegerea structurii unui sistem cu microprocesor • Înţelegerea structurii interne a unui microprocesor din familia X86 • Înţelegerea structurii interne a unui microcontroler din familia 8051 • Elemente de limbaj de asamblare în cadrul celor 14 lucrări de laborator Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Bibliografie • ee.ubm.ro/cursuri/mm.htm • Radu Bălan, Microcontrolere. Structură şi aplicaţii, Ed. Todesco, 2002 • M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals - ediţia 2, Prentice Hall PTR, 1997. • Edward Karalis, Digital Design principles and Computer Arhitecture, Prentice Hall PTR, 1999. • Sztojanov, I. ş.a. - De la poarta TTL la microprocesor, Editura Tehnică, Bucureşti, 1987. Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
1| Istoric Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Preistoria • 1642. B. Pascal realizează o maşină de calculat (+,-). • 1694. von Leibniz construieşte o maşină de +,- şi x,: • 1823. Ch.Babbage proiectează primul calculator cu execuţie automata a programului. Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Prima generaţie • 1904 : John Fleming inventează tubul cu vid • 1945 : John Von Neumann defineşte arhitectura cunoscută sub numele de Von Neumannutilizată şi în zilele noastre. • 1937 - 1945. Maşini electromecanice de calculat, bazate pe relee electromagnetice (Mark I), cu program cablat (fig. 1). • 1946: ENIAC 30 Tonnes / 72 m2/140 K watts/ 19000 tuburi, 1500 relee.350 x /s 5000 + /s. Programare prin fire (fig. 2). Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
A doua generaţie 1947 : Inventarea tranzistorului, în anul 1947, de către John Bardeen, Walter Brattain şi William Shockley în 1948 la Bell Labs. 1965 : Mini calculatorul PDP 8 1MHz, 790 W, 1m2Memoire de date de 4096. Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
A treia generaţie 1961 Fairchild Semiconducteur, circuite integrate 1965 : Legea luiMoore . Complexitateacircuitelor x 2 / 1,5 ani 1971 : Intel a lansat primulmicroprocesor i4004 (60000 instructiuni /s , frecvenţa 108 KHz, 2300 tranzistoare. 1978 : Intel a lansatmicroprocesorul8086 330 000 instrucţiuni /s 1981 : IBM PC Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
A patra generaţie 1985 : Intel 80386, 1 milion de instrucţiuni/s, 200.000 transistoare 1986 : Primelemaşini paralele 1990 : Calculatoare multimedia 2000 : Intel a lansat Pentium IV Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
100Millioane Transistoare 10 Millioane 1 Million 100 000 10 000 1000 1000 MIPS 100 MIPS 10 MIPS 1 MIPS 0,1 MIPS 0,01 MIPS x 2 la 2 ani Pentium III Pentium II 80486 Pentium 80386 80286 8086 x 2 la 18 luni 4004 An 1975 1980 1985 1990 1995 2000 Legea lui MOORE Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
2|Arhitectura microprocesoarelor Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
John Von Neumann • 1903-1957 • Matematician • conceptul de program înregistrat • Arhitectura Von Neumann Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Arhitectura microprocesoarelor Arhitectura Von Neumann Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Arhitectura microprocesoarelor Arhitectura Harward Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Arhitectura microprocesoarelor Arhitectura Super Harward Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Modelul magistralelor de sistem Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Nivele de maşini virtuale Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Evolutia microprocesoarelor din familia Intel Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Semnalele unui microprocesor • semnale de control • semnale de intrerupere • semnale pentru arbitrarea magistralei • semnale de stare • semnale diverse. Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Structura tipica a unui sistem cu microprocesor Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Configuratia pinilor pentru P 8088/8086 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Structura tipica a unui calculator Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Placa de bază Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
3| Principiul de funcţionare Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Schema funcţională Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. UAL Magistrală date Indicatori de condiţii Magistrală adrese Numărător de instrucţiuni Registre de Instrucţiuni 1 secundă n ciclii Unitate de Comandă F= n HertzTc = 1/n secunde Ceas timp Tc Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Definiţii • Acumulator = conţine un operand şi rezultatul • Numărător de instrucţiuni (PC) = adresainstrucţiunii următoare • Registre de instrucţiuni = codul operaţieisau operandul • Magistrală = ansamblu de conexiuni:adrese, date, control • Indicator de condiţii= starea acumulatorului după ultima operaţie efectuată de UAL • Ceas = frecvenţa sistemului, sincronizare • Unitate de control = comandă sistemul • Memorie = conţine instrucţiunile şi datele Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiuni de bază • Încărcare A Constantă • Adunare A A+ Constantă • Citire din memorie (Load) A Conţinutul memoriei • Scriere în memorie (Store) Conţinutul memoriei A • Salt necondiţionat • Salt condiţionat • MOV A, Cst • ADD A, Cst • MOV A, [Adr] • MOV [Adr],A • J Adresse • J> Adresse • J<= Adresse Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiuni suplimentare • Acumulator auxiliar AAMOV AA, Cst ADD A, AA ADD AA,A MOV AA,[Adr]MOV [Adr],AA • Registre index IXMOV A,[IX]MOV [IX],AMOV A,[IX]MOV [IX],A • Instrucţiuni logiceŞI SAU NUAND A,AAAND A,CONST OR A,AA OR A,CONST NON A În memoria de instrucţiuni,instructiunile sunt codificate prin numere întregi pozitive: codul maşină Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Execuţia unei instrucţiuni Sunt necesare 3 faze: • Citirea instrucţiunii (EI): extragerea codului operaţiei instrucţiunii următoarea (faza 1) • Decodificarea instrucţiunii (DI): • Descompunerea în microoperaţiunişiaducerea operanzilor constante (faza 2) • Aducerea operanzilor din memorie (faza 2’) • Execuţia instrucţiunilor (EX): • Execuţieîn UAL (faza 3) • Scrierea rezultatului în memorie (faza 3’) • ModificareaPCîn caz de salt (faza 3’’) Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Faza1.Citirea instrucţiunii Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. 2 UAL Cod op. Magistrală date 1 Indicatori de condiţii Magistrală adrese Numărător de instrucţiuni Registre de Instrucţiuni Unitate de Comandă 3 Ceas Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Faza 2. Decodificare - constante Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. UAL Cod op. Magistrală date Operanzi Indicatori de condiţii 2 1 Magistrală adrese Numărător de instrucţiuni Registre de Instrucţiuni Unitate de Comandă 3 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Faza 2’. Decodificare - date Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. UAL Cod op. Magistrală date Indicatori de condiţii 2 Magistrală adrese Numărător de instrucţiuni Operanzi Registre de Instrucţiuni 3 Unitate de Comandă 1 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Faza3.Execuţia 3 Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. UAL Cod op. 2 Magistrală date Indicatori de condiţii Magistrală adrese Numărător de instrucţiuni Operanzi Registre de Instrucţiuni 1 Unitate de Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Faza3.Execuţia - Scriere 2 Acumulator Instrucţiuni MEMORIE Date Magistrală ctrl. UAL Cod op. Magistrală date Indicatori de condiţii 3 Magistrală adrese Numărător de instrucţiuni Operanzi Registre de Instrucţiuni 1 Unitate de Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Exemplu de program A Conţinutul memoriei45 Adresa memoriei Conţinutul memoriei <- A 46 Adresa memoriei A A + valoareaconstantei61 Valoarea Constantei Exemplu [500] [500] + 2 Memoria de instrucţiuniva conţine deci: 100 45 A Conţinutul memoriei 500 101 500 102 61 A A+2 103 2 104 46 Conţinutul memoriei 500 A 105 500 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
3 Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator Citire UAL 4 Date 45 Indicator 2 1 Adrese 100 CP 100 RI ? Unitate Comandă Instrucţiunea 1 : EI Faza 1 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 1 : EI Faza 2 5 Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator Date Gata UAL Date 45 Indicator r 6 7 Adrese 100 CP 101 RI 45 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 1 : DI Faza 1 Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator UAL 10 date 500 Indicator 9 11 Adrese 101 CP 101 RI 500 8 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 1 : DI Faza 2 Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator UAL 13 date 20 Indicator 12 Adrese 500 CP 102 RI 20 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 1 : EX Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 20 Citire 15 16 UAL date 500 Indicator 14 Adrese 500 CP 102 RI 20 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 2 : EI Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 20 Comandă UAL Date 61 Indicator 3 Adrese 102 CP 102 RI 61 2 1 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 2 : DI Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 20 Citire UAL 6 date 2 Indicator 7 Adrese 103 CP 103 5 RI 2 4 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 2 : EX Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 22 10 UAL 9 Indicator 8 CP 104 RI 2 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 3 : EI Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 22 Comandă UAL 2 Date 46 Indicator 3 Adrese 104 CP 104 RI 46 1 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 3 : DI Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 20 500 Acumulator 22 Citire UAL 6 date 500 Indicator 7 Adrese 105 CP 105 5 RI 500 Unitate Comandă 4 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Instrucţiunea 3 : EX Conţinut Adrese 45 100 500 101 61 102 2 103 46 104 500 105 22 500 Acumulator 22 Scriere UAL 9 date 22 Indicator Adrese 500 CP 106 RI 500 8 Unitate Comandă Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Memorie date Memorie instrucţiuni Adrese Instrucţiuni Date Unitate Aritmetică şi logică Comandă Unitate de control Ceas (Mhz) Indicator 1947 - HARVARD Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Sistem complet Memorie Microprocesor Intrări / ieşiri Magistrală de adrese, date şi control Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
Nume Data F (Mhz) Tranzistoarefără cache Registre Data Bus Adrese Cache Pipe line Ordre 8086 80 µ 1978 8 29 k 16 16 1 MB 0K 2 1 i286 1982 12 134 k 16 16 16 MB 0K 2 1 i4862 µ 1989 25 1.2 M 32 GP80 FPU 32 4 GB L1 8K 5 1 Pentium 0.6µ 1993 60 3.2 M 32 GP80 FPU 64 4 GB L1 16K 5 2 P II 1997 266 7 M 32 GP80 FPU64 MMX 64 64 GB L1 32KL2 256 K 6 3 P III 1999 500 15 M 32 GP80 FPU64 MMX 64 64 GB L1 32KL2 512 K 10 3 P IV0.18µ 2000 1500 42 M 32 GP80 FPU64 MMX 128 64 GB L1 8KL2 256 K12 K µop 20 6 Evoluţia familiei x86 Oniga Ştefan - Arhitectura sistemelor cu microprocesoare
IP SS CS DS RI ES Magistrala internă 16 biţi Schema funcţionalăa uP 8086 AH AL BH BL CH CL DH DL Registre 16 SP de uz BP general + x DI SI Bus Extern 16 biţi Interfaţă cu bus-ul extern Indicatori Comandă EU Coada de instrucţiuni UAL Unitate de execuţie (EU) Unitate de interfaţă cu magistrala (BIU) Oniga Ştefan - Arhitectura sistemelor cu microprocesoare