Arhitectura microprocesoarelor PDF
Document Details
![FlatterBinomial4259](https://quizgecko.com/images/avatars/avatar-12.webp)
Uploaded by FlatterBinomial4259
Universitatea Națională de Știință și Tehnologie Politehnica București
C.Burileanu
Tags
Related
Summary
Acest document prezinta o introducere in arhitectura microprocesoarelor, detaliind componentele de hardware si software ale unui microcalculator, precum si rolul memoriei si al instructiunilor in procesul de prelucrare a informatiei.
Full Transcript
Arhitectura microprocesoarelor C.Burileanu …::AMP 1::… -1- Arhitectura microprocesoarelor C.Burileanu I.Structura unui microcalculator.Definitii …:::1.1 Componentele m...
Arhitectura microprocesoarelor C.Burileanu …::AMP 1::… -1- Arhitectura microprocesoarelor C.Burileanu I.Structura unui microcalculator.Definitii …:::1.1 Componentele multifunctionale ala unui microcalculator:::… Microcalculatorul, structurat ca o maşină “VON NEUMANN”, este un sistem programabil de prelucrarea informaţiei care are două componente inseparabile şi definitorii: hardware şi software. schema bloc functionala. A. Componenta hardware; blocurile funcţionale sunt: 1. UNITATEA CENTRALĂ DE PRELUCRARE (UCP); două funcţii esenţiale: prelucrarea datelor; controlul activităţii întregului microcalculator. O Unitate centrală de prelucrarea informaţiei, având funcţiile enunţate mai sus, care coordonează un sistem structurat funcţional ca în figură şi care, fizic, se prezintă sub forma unui singur cip se numeşte MICROPROCESOR (μP). -2- Arhitectura microprocesoarelor C.Burileanu 2. MEMORIA este o secvenţă de locaţii pentru stocarea informaţiei. Fiecare locaţie este definită prin două entităţi informaţionale: Conţinutul, reprezentat de o înşiruire de cifre binare 0 sau 1 ("biţi"); - numere - coduri etc. Numărul de cifre binare conţinute într-o locaţie depinde de modul in care microprocesorul organizează informaţia în memorie; mărimea unei locaţii va fi denumită formatul memoriei, exprimat în număr de biţi (de regulă 8, 16, 32 sau 64 biţi). Adresa, reprezentând numărul de ordine al locaţiei, care permite identificarea sa în cadrul secvenţei de locaţii (există o corespondenţă biunivocă între fiecare locaţie de memorie şi adresa sa). Noţiuni aferente: - "Harta memoriei": totalitatea locaţiilor de memorie pe care le poate adresa un microprocesor. - "Pagini" şi/sau "segmente": subdiviziuni logice ale hărţii memoriei, ale căror dimensiuni, fixe sau dinamice, sunt specifice modului în care un microprocesor anume organizează memoria. Structura fizică a memoriei unui microcalculator este formată din unul sau mai multe cipuri, cu capacităţi diverse; capacitatea totală de stocare a informaţiei pe care o realizează fizic cipurile de memorie într-un microcalculator este definită ca "memorie internă". Aceasta nu acoperă, în mod necesar, harta memoriei aferentă microprocesorului respective. Semnificaţia conţinutului memoriei microcalculatorului → două zone: Memoria de date conţine operanzi şi/sau rezultate; fizic, această porţiune de memorie este de tip RAM (cu scriere/citire). Memoria de program care conţine instrucţiuni; de regulă, (dar nu obligatoriu) această zonă este o memorie de tip ROM (memorie din care se poate doar citi). Instrucţiunea: informaţia codificată (binar) prin care se impune microprocesorului desfăşurarea unei acţiuni specifice. -3- Arhitectura microprocesoarelor C.Burileanu Observaţii: Fiecare instrucţiune este asociată în mod biunivoc cu un şir de cifre binare; deoarece acestea "codifică" instrucţiunile, vor fi denumite coduri. O instrucţiune reprezintă cea mai simplă acţiune, cu rezultat bine precizat, din activitatea unui microcalculator a cărui unitate centrală de prelucrare a informaţiei este un microprocesor anume. Un microprocesor concret poate "recunoaşte" şi executa numai codurile corespunzătoare instrucţiunilor pentru care a fost construit; totalitatea instrucţiunilor pe care un microprocesor le poate recunoaşte şi executa alcătuieşte setul de instrucţiuni al microprocesorului respectiv. Înşiruirea instrucţiunilor în memoria de program nu este haotică ci sub formă de programe, noţiune definită ca fiind o secvenţă de coduri de instrucţiuni organizate în mod logic şi coerent după un anumit algoritm, astfel încât întregul microcalculator să execute o sarcină prestabilită. Noţiunea de "sarcină" (task) nu trebuie confundată cu cea de program: sarcina unui microcalculator corespunde unei alocări dinamice a resurselor hardware şi software; există sarcini pentru a căror îndeplinire sunt necesare mai multe programe. Concluzii: Semnificaţia conţinutului locaţiilor de memorie este conferită de programator în concordanţă cu funcţiile specifice realizate de microprocesor: numere binare atunci când ne referim la date (operanzi/rezultate); coduri când ne referim la instrucţiuni. În schema bloc funcţională propusă, memoria nu are nici un control asupra semnificaţiei informaţiei pe care o conţine. 3. DISPOZITIVELE DE INTRARE/IEŞIRE (I/O): circuitele prin care se realizează legătura între microcalculator şi lumea exterioară. O unitate elementară de conversaţie cu exteriorul poartă numele de "port de intrare/ieşire". Între porturi şi locaţiile din Memorie există nişte similitudini: Porturile sunt în esenţă tot locaţii de memorare a informaţiei, adresabile; informaţia care se foloseşte uzual aici este alcătuită din operanzi/rezultate (date). -4- Arhitectura microprocesoarelor C.Burileanu Există o "hartă a porturilor" care poate sau nu să facă parte din harta memoriei. Singura deosebire esenţială faţă de locaţiile de memorie este legătura fizică pe care porturile o asigură cu exteriorul; pentru microprocesor, de multe ori, această legătură fizică este transparentă şi nesemnificativă. "Magistrală": un set de conexiuni fizice între blocuri prin care informaţia care circulă are o semnificaţie prestabilită. Sistemele la care ne referim au o magistrală unică, ce le caracterizează; din punct de vedere funcţional, există trei componente ale acestei magistrale: 1. Magistrala de date, bidirecţională, permite circulaţia datelor (operanzi/rezultate), a instrucţiunilor şi chiar a adreselor. * 2. Magistrala de adrese, unidirecţională, permite microprocesorului să localizeze informaţia în Memorie sau în Dispozitivele de intrare/ieşire; deci pe această magistrală circulă numai adrese. 3. Magistrala de control permite circulaţia, bidirecţională, a semnalelor de comandă şi control de la/la microprocesor, în calitatea sa de Unitate centrală. Magistrale unidirectionale bidirectionale *Magistrala de date este o caracteristica fundamentala VON NEUMANN- permite sa treaca si numere(date) si instructiuni. B. Componenta software: o serie de programe organizate în moduri specifice. Două categorii de software: 1. Sistemul de operare: totalitatea programelor care permit utilizatorului accesul complet la resursele sistemului (exemple: MS-DOS, UNIX etc.). Poate fi: rezident -5- Arhitectura microprocesoarelor C.Burileanu (permanent în memoria internă) sau încărcabil dintr-o memorie externă (operaţie denumită "bootstrap"). 2. Software-ul utilizatorului, alcătuit din totalitatea programelor folosite pentru îndeplinirea unor sarcini specifice. Caracteristicile arhitecturii “Von Neumann”: Microprocesorul constituie Unitatea centrală de prelucrare a unui sistem având schema bloc funcţională din figură. El concentrează: funcţia de prelucrare functie de comandă. Toate celelalte componente ale sistemului nu au putere de decizie. Memoria nu controlează şi nici nu e necesar să controleze semnificaţia informaţiei pe care o deţine şi modul în care este organizată logic. Legătura dintre blocuri este asigurată de o magistrală unică cu trei componente funcţionale; pe magistrala de date circulă toate tipurile de informaţii. Funcţionarea sistemului se face pe baza unor programe alcătuite din secvenţe de instrucţiuni. Acestea sunt citite din memorie de către microprocesor, recunoscute şi apoi executate. Arhitectură: totalitatea atributelor sistemului (în cazul de faţă, microprocesorul) care sunt disponibile ("vizibile") utilizatorului (ca, de pildă: registrele, modurile de adresare, tipurile de transferuri de date, modul de organizare logică a memoriei, tehnicile de intrare/ieşire, setul de instrucţiuni etc) -6- Arhitectura microprocesoarelor C.Burileanu...:::1.2 Definitii, microprocesoare CISC si RISC:::… Microprocesor, microcalculator, minicalculator. Asemănarea: caracteristicile globale ale atributelor de arhitectură. Deosebirile între ultimele două: resurse (memorie internă şi externă, echipamente periferice) şi performanţe (viteză de prelucrare, cost, număr de componente, gabarit). Definiţia microprocesorului ca Unitate centrală de prelucrare; am presupus implicit că sistemul din care face parte este un micro(mini)calculator, deci un sistem de calcul. Putem extinde însă noţiunea şi asupra sistemelor de comandă şi control ( de tip "controler"), ceea ce măreşte aria de cuprindere a noţiunii de microprocesor. Noţiunea de "logică programată". Sistemele cu logică programată nu înseamnă, în mod automat, sisteme cu microprocesor. Microprocesorul poate constitui una dintre modalităţile de proiectare a sistemelor cu logică programată. Nu se va face confuzia "sistem cu logică programată cu microprocesor" ≠ "sistem microprogramat". Clasificări ale noţiunii de microprocesor: a) După lăţimea magistralei de date: microprocesoare pe 8, 16, 32 sau pe 64 de biţi. b) După tipul de sarcini eficient realizabile: microprocesoare de uz general (μPUG), nespecializate; microprocesoare specializate, ca de pildă: - procesoare de intrare/ieşire, pentru conversaţii complexe între microcalculator şi lumea exterioară; exemplu: Intel 8089; - coprocesoare aritmetice, specializate pentru funcţii aritmetice de utilitate generală (exponenţiale, trigonometrice etc); exemplu: Intel 80387; -7- Arhitectura microprocesoarelor C.Burileanu - procesoare digitale de semnal, specializate pentru algoritmii specifici prelucrării semnalelor (FFT, produse de corelaţie, filtre digitale, calcul matriceal etc.); exemplu: Texas Instruments TMS 320. c) După principiile de bază ale arhitecturii care guvernează funcţionarea: procesoare cu set complex de instrucţiuni (CISC) numite microprocesoare "standard" sau simplu "microprocesoare"; procesoare cu set redus de instrucţiuni (RISC). -8- Arhitectura microprocesoarelor C.Burileanu …:::1.3 Reprezentarea informatiei in sistemele digitale:::… - bit (prescurtat b) pentru o cifră binară 0 sau 1; - nibble (prescurtat n) pentru o înşiruire de 4 biţi; - byte sau octet (prescurtat B) pentru o înşiruire de 8 biţi; - cuvânt sau word (prescurtat w) pentru o înşiruire de 2 octeţi; - cuvânt dublu sau double word (prescurtat dw) pentru o înşiruire de 4 octeţi; - prefixele: k pentru 210 ≈ 103 ; M pentru 220 ≈ 106 ; G pentru 230 ≈ 109 ; T pentru 240 ≈ 1012. 1.3.1 Reprezentarea interna a) Reprezentarea programelor Fiecare instrucţiune este reprezentată în memorie de un cod binar. Formatul instrucţiunilor, adică totalitatea cifrelor binare necesare pentru codificare, are, de regulă, drept cuantă de informaţie, octetul. Pentru fiecare instrucţiune există un număr prestabilit de octeţi cu care e codificată (de pildă, pentru Intel 8086, este între 1 şi 6 octeţi). b) Reprezentarea numerelor 1) Reprezentarea întregilor fără semn în "binar natural": este reprezentarea uzuală, "naturală" a numerelor binare. -9- Arhitectura microprocesoarelor C.Burileanu 2) Reprezentarea întregilor cu semn în "binar natural": Semnul numărului este reprezentat de msb cu următoarea convenţie: msb = 0 semnifică număr pozitiv; msb = 1 semnifică număr negativ. Pentru un număr fără semn cu 8 biţi, plaja numerelor reprezentabile acoperă 256 de poziţii, între 0 şi 255, în zecimal. Pentru un număr cu semn, plaja numerelor reprezentabile acoperă tot 256 de poziţii, dar în intervalul -128 ÷ +127, presupunând 0 număr pozitiv. Convenţii de reprezentare: Regulile de reprezentare în aceste trei convenţii: Numerele pozitive se reprezintă identic. În "mărime şi semn", numerele negative diferă de cele pozitive numai prin bitul de semn. În "complement faţă de 1", mărimea numărului negativ se obţine din reprezentarea precedentă prin complementare bit cu bit; convenţia pentru bitul de semn se păstrează. În "complement faţă de 2", mărimea numărului negativ se obţine din reprezentarea precedentă prin adunarea unei cifre binare 1 la lsb. Fanioane un bit de informatie in interiorul microprocesorului care isi indica evenimente speciale aparute in functionarea microprocesoarelor "Transportul" care apare între rangul unui număr binar şi cel imediat superior în operaţiile aritmetice (la scădere, îl vom numi "împrumut"): C (de la "carry"). - 10 - Arhitectura microprocesoarelor C.Burileanu "Depăşirea": O (de la "overflow"). După cum numărul are semn sau nu, se poate scrie că: Extinderea numerelor cu semn reprezentate în complement faţă de 2, de la 8 la 16 biţi. Regulile de "extindere a numerelor cu semn, în complement faţă de 2": Bitul de semn rămâne pe poziţia cea mai semnificativă. Partea care reprezintă mărimea numărului va ocupa poziţiile cele mai puţin semnifica-tive ale numărului extins. Restul poziţiilor din numărul extins se completează cu cifre binare identice cu cea care reprezintă semnul (0 pentru numere pozitive şi 1 pentru numere negative). 3) Reprezentarea întregilor în "zecimal codificat binar" (ZCB): se reprezintă fiecare cifră zecimală separat, în binar natural, cu un nibble. Microprocesoarele folosesc două tipuri de reprezentări ZCB: Reprezentarea "ZCB împachetat" în care fiecare octet din memorie cuprinde câte două cifre zecimale, una pe nibble-ul mai puţin semnificativ şi cealaltă pe nibble-ul superior. Plaja de numere zecimale acoperită de o reprezentare cu 8 biţi se micşorează de la 256 la 100 de numere: 0 ÷ 99. Reprezentarea "ZCB neîmpachetat" în care fiecare octet cuprinde o singură cifră zecimală pe nibble-ul mai puţin semnificativ. Restul cifrelor binare se completează cu 0. - 11 - Arhitectura microprocesoarelor C.Burileanu 4) Reprezentarea numerelor cu zecimale "cu virgulă fixă": se foloseşte principiul de a aloca un număr fix, prestabilit, de cifre binare pentru a reprezenta partea întreagă şi respectiv partea zecimală a unui număr. Se poate folosi fie reprezentarea în binar natural fie în ZCB. Pentru partea întreagă se foloseşte regula de reprezentare a numerelor întregi cu semn, iar pentru partea zecimală regula de reprezentare a întregilor fără semn. (Apar: "trunchierea" sau "rotunjirea" numărului). Modul de reprezentare foloseşte următoarele convenţii: Se rezervă un şir de biţi cu care se exprimă numărul total de cifre ale numărului care urmează să fie reprezentat. Se rezervă, apoi, un şir de biţi în care se înscrie numărul de zecimale cu care se va reprezenta numărul. Urmează reprezentarea propriu-zisă a numărului înşiruind reprezentările pentru partea întreagă şi cea zecimală fără o altă delimitare explicită între ele. 5) Reprezentarea numerelor cu zecimale "cu virgulă mobilă"; reprezentare normalizată. Două entităţi informaţionale: "mantisa" M şi "exponentul" EXP: - 12 - Arhitectura microprocesoarelor C.Burileanu c) Reprezentarea datelor alfanumerice Vom înţelege prin "date alfanumerice" sau "caractere" oricare dintre semnele care pot fi tipărite de la tastatura unui calculator. "Seturi de caractere": grupuri minime de simboluri considerate suficiente pentru a asigura o editare cât mai completă a unui text. Pentru fiecare caracter se va folosi o reprezentare binară, un cod, cu care caracterul (dintr-un set prestabilit) este în relaţie biunivocă. Standardul "ASCII" ( de la "American Standard Code for Information Interchange") cu care se codifică următorul set de caractere: - 26 de litere mari ale alfabetului latin; - 26 de litere minuscule corespunzătoare; - 10 simboluri numerice: 0 ÷ 9; - 20 de simboluri speciale adiţionale: +, -, (, ), [, ], {, }, * , # , $ etc. 1.3.2 Reprezentarea externa Reprezentarea externă se referă la modul în care informaţia prelucrată de un microcalculator apare utilizatorului (programatorului). a) Pentru codurile instrucţiunilor se vor folosi abrevierile sugestive pe care, de regulă, fabricantul le impune şi pe care limbajul de asamblare le foloseşte ca atare: "mnemonice". b) Pentru numere se utilizează mai multe tipuri de reprezentări: Reprezentarea binară, imagine fidelă a conţinutului locaţiilor de stocare a informaţiilor. Reprezentarea octală, care transformă numerele binare în baza de numeraţie 8. - 13 - Arhitectura microprocesoarelor C.Burileanu Reprezentarea hexazecimală : un simbol reprezentând o cifră în baza de numeraţie 16 înlocuieşte 4 cifre binare. Caracterele folosite sunt cifrele zecimale 0 ÷ 9 şi literele A ÷ F. Vom folosi convenţia de a utiliza litera H ca sufix pentru numerele reprezentate în hexazecimal (de pildă 1199H). c) Pentru caractere se vor folosi chiar simbolurile cu care ele sunt individualizate. Programele utilitare folosite pentru examinarea conţinutului locaţiilor de stocare a informaţiilor fac conversia ASCII → simbol caracter dacă programatorul stabileşte că semnificaţia informaţiei vizate impune această conversie. - 14 - Arhitectura microprocesoarelor C.Burileanu …:::1.4 Elemente de structura digitala. Memorii.:::… ROM RAM A1 O1 A1 A2 An A2 O2 I1 O1 I2 O2 An Om CS OE prog Im Om CS OE prog A1……..An intrari adresare folosesc pentru adresarea fizica in acest camp O1……..Om iesiri de date intr-o locatie am m biti CS chip select mai multe cipuri; mai intai selectez chipul si apoi ce am nevoie din el I1……..Im intrari de date A1……..An magistrala de adresare O1……..Om Si magistrala de date I1……..Im - 15 - Arhitectura microprocesoarelor C.Burileanu CS - chip select magistrala de adresare R/W read/write (magistrala de control) ii spune memoriei acuma scriem acuma citim. Circuite combinationale A. PORTI SI , SAU , NICI, NUMAI , SAU_EXCLUSIV B. MULTIPLEXORUL A1 A2 An I1……..Im intrari de date I1 I2 O1-OK A1……..An intrari adresare O – iesirea Im CS OE prog Multiplexor cu n=3 A1 A2 I11-I1k Multiplexeaza pe o magistrala O1-OK patru magistrale. I21-I2k I31-I3k I41-I4k - 16 - Arhitectura microprocesoarelor C.Burileanu I1 O1 O1=f1(I1,I2,…..,IN) I2 O2 O2=f2(I1,I2,…..,IN) …….. On=fn(I1,I2,…..,IN) In On 0