Rezumat: Arhitectura microprocesorului - structura si caracteristici generale
1.6.1 Noțiuni de bază
Dezvoltarea tehnologiei face posibilă crearea pe un cip a unui număr tot mai mare de componente active - tranzistoare, care pot fi folosite pentru a implementa noi soluții arhitecturale și structurale care oferă performanțe crescute și funcționalitate extinsă a microprocesoarelor.
Tehnologia cu microprocesor include hardware și software utilizate pentru a construi diverse sisteme cu microprocesoare, dispozitive și microcalculatoare personale.
Microprocesor (MP) – un dispozitiv controlat de software care realizează procesul de prelucrare și control al informațiilor digitale și este construit, de regulă, pe un singur LSI.
Sistem cu microprocesor (MPS) este un produs complet funcțional format din unul sau mai multe dispozitive, în principal bazate pe microprocesor: un microprocesor și/sau un microcontroler.
Termen "microcontroller" (MK) a înlocuit termenul folosit anterior „microcomputer cu un singur cip” de la utilizare. Primul brevet pentru un microcomputer cu un singur cip a fost eliberat în 1971 pentru M. Kochren și G. Boon. Aceștia au propus plasarea pe un cip nu numai a unui microprocesor, ci și a dispozitivelor de memorie și de intrare/ieșire. Apariția microcalculatoarelor cu un singur cip este asociată cu începutul erei automatizării computerelor în domeniul managementului. Aparent, această împrejurare a definit termenul "microcontroller" (Control- management).
Cu toate acestea, ulterior, extinderea domeniului de utilizare a microcontrolerelor a presupus dezvoltarea arhitecturii acestora datorită plasării dispozitivelor (modulelor) pe un cip care reflectă specificul sarcinilor care se rezolvă cu funcționalitatea lor. Astfel de dispozitive suplimentare au ajuns să fie numite periferice. Prin urmare, nu întâmplător a fost introdus recent un alt termen - „procesor integrat” (IP) , care definește o nouă clasă de dispozitive cu un singur cip funcțional capabile cu o compoziție diferită de module. După cantitate și compoziție dispozitiv periferic IP-urile sunt inferioare deputaților și ocupă o poziție intermediară între parlamentari și deputați. Din același motiv, au apărut nu numai familii de MK-uri, care unesc MK-uri înrudite (cu același sistem de comandă, adâncime de biți), ci au început să se distingă și subtipuri de MK-uri: comunicare, pentru control etc.
Microcontroler (MK) – computer cu un singur cip sau microprocesor de control.
MP-urile sunt în prezent utilizate în principal pentru producția de computere personale, iar MK-urile și IP-urile sunt baza pentru crearea diferitelor sisteme încorporate, telecomunicații și echipamente portabile etc.
Arhitectura procesorului este complexul hardware și software furnizat utilizatorului. Acest concept general include un set de registre accesibile prin software și dispozitive executive (de operare), un sistem de comenzi de bază și metode de adresare, volumul și structura memoriei adresabile etc.
Arhitectură strâns legat de structura , care prevede prezența componentelor pentru implementarea funcțiilor procesorului.
1.6.2 Variante ale arhitecturii microprocesoarelor
Depinde dinset de comenzi de executat și metode de adresare
CISC ( Complex Instruire A stabilit Calculator ) – arhitectura implementat în multe tipuri de microprocesoare care execută un set mare de instrucțiuni multi-format folosind numeroase metode de adresare.
De exemplu, microprocesoare din familia Pentium. Ei execută peste 200 de comenzi de complexitate diferită, care variază în dimensiune de la 1 la 15 octeți și oferă mai mult de 10 în diverse moduri adresare).
O mare varietate de comenzi executate și metode de adresare permite programatorului să implementeze cei mai eficienți algoritmi pentru rezolvarea diferitelor probleme. Cu toate acestea, în același timp, structura microprocesorului, în special a dispozitivului său de control, devine semnificativ mai complicată, ceea ce duce la o creștere a dimensiunii și a costului cristalului și la o scădere a performanței. În același timp, multe comenzi și metode de adresare sunt folosite destul de rar. Prin urmare, începând cu anii 1980, a început o dezvoltare intensivă arhitectură redusă a procesorului set de comenzi ( RISC -procesoare).
RISC ( Redus Instruire A stabilit Calculator ) – arhitectura caracterizată prin utilizarea unui set limitat de comenzi de format fix și a unui număr redus de metode de adresare. În consecință, structura microprocesorului este simplificată semnificativ, dimensiunea și costul acestuia sunt reduse, iar productivitatea crește semnificativ.
Procesoarele RISC moderne implementează de obicei aproximativ 100 de instrucțiuni, care au un format fix de 4 octeți lungime. Numărul de metode de adresare utilizate este de asemenea redus semnificativ. De obicei, la procesoarele RISC, toate instrucțiunile de prelucrare a datelor sunt executate numai cu registru sau adresare imediată. În același timp, pentru a reduce numărul de accesări la memorie, procesoarele RISC au un volum crescut de stocare a registrelor interne - de la 32 la câteva sute de registre, în timp ce la procesoarele CISC numărul de registre de uz general este de obicei 8-16 în procesoarele RISC este utilizat numai în operațiuni de încărcare a datelor în REU sau de transfer a rezultatelor din REU în memorie. În acest caz, un număr mic dintre cele mai multe moduri simple adresare: registru indirect, index și altele.
Avantajele arhitecturii RISC au dus la faptul că multe procesoare CISC moderne folosesc un nucleu RISC pentru a efectua procesarea datelor. În acest caz, comenzile complexe și multi-formate primite sunt pre-convertite într-o secvență de operații RISC simple care sunt executate rapid de acest nucleu de procesor.
Așa funcționează, de exemplu, cele mai recente modele de microprocesoare Pentium și K7, care conform indicatorilor externi aparțin procesoarelor CISC. Utilizarea arhitecturii RISC este o trăsătură caracteristică multor microprocesoare moderne.
VLIW ( Foarte Mare Instruire Cuvânt ) – o caracteristică a arhitecturii este utilizarea de comenzi foarte lungi (până la 128 de biți sau mai mult), dintre care câmpurile individuale conțin coduri care permit executarea diferitelor operații. Astfel, o comandă face ca mai multe operații să fie executate în paralel în diferite dispozitive de operare, incluse în structura microprocesorului.
Arhitectură a apărut relativ recent - în anii 1990.
Depinde privind implementarea memoriei utilizate și organizarea comenzilor de preluare și a datelor Următoarele opțiuni de arhitectură sunt implementate în microprocesoarele moderne:
Arhitectura Princeton , care este adesea numit Arhitectura Von Neumann, caracterizat prin utilizarea RAM partajată pentru a stoca programe și date. Pentru a accesa această memorie, se folosește o magistrală comună de sistem, prin care atât comenzile, cât și datele intră în procesor.
Avantaje arhitectură:
a) Prezența memoriei partajate vă permite să redistribuiți rapid volumul acesteia pentru a stoca matrice separate de comenzi și date, în funcție de sarcinile rezolvate. Acest lucru asigură capacitatea de a utiliza eficient volumul disponibil memorie cu acces aleatorîn fiecare caz specific de utilizare a unui microprocesor;
b) utilizarea unei magistrale comune pentru transmiterea comenzilor și a datelor simplifică foarte mult depanarea, testarea și monitorizarea continuă a funcționării sistemului și crește fiabilitatea acestuia.
Principalul dezavantaj arhitectura este nevoia de eșantionare secvențială a comenzilor și a datelor procesate pe o magistrală comună de sistem. În acest caz, autobuzul comun devine un „gât de sticlă”, ceea ce limitează productivitatea sistem digital.
Arhitectura Harvard caracterizată prin separarea fizică a memoriei de instrucțiuni (programe) și a memoriei de date. Fiecare memorie este conectată la procesor printr-o magistrală separată, care permite citirea și scrierea simultană a datelor în timp ce se execută comanda curentă pentru a prelua și decoda următoarea comandă.
Demnitate arhitectura are o performanță mai mare decât utilizarea arhitecturii Princeton, datorită separării fluxurilor de comandă și date și combinației operațiunilor lor de preluare.
Defecte arhitecturile sunt asociate cu necesitatea unui număr mai mare de magistrale, precum și cu o cantitate fixă de memorie alocată pentru comenzi și date, al cărei scop nu poate fi redistribuit rapid în conformitate cu cerințele problemei care se rezolvă.
Prin urmare, este necesar să se folosească o memorie mai mare, a cărei rată de utilizare la rezolvarea diferitelor probleme este mai mică decât în sistemele cu arhitectura Princeton. Cu toate acestea, dezvoltarea tehnologiei microelectronice a făcut posibilă depășirea în mare măsură a acestor neajunsuri.
GarArhitectura vardiană utilizat pe scară largă în structura internă a microprocesoarelor moderne de înaltă performanță, care utilizează o memorie cache separată pentru a stoca instrucțiuni și date. În același timp, principiile de Arhitectura Princeton.
Structura tipică a unui sistem cu microprocesor
Majoritatea sistemelor cu microprocesoare au o structură magistrală-modulară, în care dispozitivele individuale (module) incluse în sistem fac schimb de informații printr-o magistrală comună a sistemului (Figura 1.7).
Modulul principal al sistemului este un microprocesor, care include
aranja management (UU) ,
dispozitiv de operare ,
înregistrează gura de depozitare roi (RZU) – memorie internă, implementată ca un set de registre.
Operă dispozitiv de stocare activ (RAM) servește la stocarea programului executabil (sau a fragmentelor acestuia) și a datelor de prelucrat. În cele mai simple sisteme cu microprocesor, cantitatea de RAM este de zeci și sute de octeți, iar în computerele personale, serverele și stațiile de lucru moderne ajunge la sute de MB sau mai mult. Deoarece accesarea RAM prin magistrala de sistem necesită o perioadă semnificativă de timp, majoritatea microprocesoarelor moderne de înaltă performanță introduc în plus memorie intermediară de mare viteză (cache) volum limitat (de la câțiva KB la sute de KB).
Memorie numai pentru citire (ROM) folosit pentru a stoca constante și programe standard (imuabile). ROM stochează de obicei programe de inițializare (pornire) pentru sisteme, programe de testare și diagnosticare și alte programe de service care nu se modifică în timpul funcționării sistemului. Sistemele cu microprocesoare care controlează anumite obiecte utilizând programe fixe sau rar modificate folosesc, de obicei, ROM (ROM) pentru a le stoca. memorie ROM– Memorie Read-Only) sau ROM reprogramabilă (memorie EEPROM – Memorie de doar citire programabilă stersă electric sau memorie flash).
Inter dispozitive faciale (FD) servesc la conectarea la magistrală a altor dispozitive care sunt externe sistemului. IU-urile implementează anumite protocoale de comunicație paralelă sau serială. Dispozitivele externe pot fi o tastatură, un monitor, dispozitive de stocare externe (ESD) care utilizează dischete sau discuri magnetice rigide, discuri optice (CD-ROM), benzi magnetice și alte tipuri de medii de stocare, senzori și convertoare de informații (analog-digital sau digital-analogic), diverse actuatoare (indicatoare, imprimante, motoare electrice, relee și altele).
Pentru a implementa diverse moduri de operare, la sistem pot fi conectate dispozitive suplimentare - controlere de întrerupere, controlere de acces direct la memorie și altele care implementează funcțiile speciale de control necesare.
Această structură corespunde arhitecturii Von Neumann propusă de acest om de știință în anii 1940 pentru a implementa primele modele de calculatoare digitale.
УУ – dispozitiv de control
OS - dispozitiv de operare
RZU – dispozitiv de stocare a înregistrărilor
RAM - memorie cu acces aleatoriu
ROM – memorie doar pentru citire
IU – dispozitiv de interfață
Figura 1.7 – Structura tipică a unui sistem cu microprocesor
Autobuz de sistem conține câteva zeci (în sistemele complexe mai mult de 100) conductoare, care, în conformitate cu scopul lor funcțional, sunt împărțite în magistrale separate:
magistrala de adrese A, servește la transmiterea unei adrese care este generată de microprocesor și vă permite să selectați celula de memorie RAM necesară (ROM) sau DI necesară atunci când accesați un dispozitiv extern;
magistrala de dateD, este folosit pentru a prelua comenzile venite din RAM sau ROM către unitatea de control a microprocesorului și pentru a transfera date procesate (operanzi) între microprocesor și RAM sau dispozitiv (dispozitiv extern);
magistrala de control C, servește la transmiterea unei varietăți de semnale de control care determină modurile de funcționare ale memoriei (scriere sau citire), dispozitive de interfață (intrare sau ieșire de informații) și microprocesor (pornire, solicitări de dispozitive externe pentru service, informații despre curentul). modul de funcționare) și alte semnale.
- INTRODUCERE
- 1. Caracteristici generale ale arhitecturii procesorului
- 1.1 Structură de bază sistem cu microprocesor
- 1.2 Conceptul arhitecturii microprocesorului
- 1.3 Revizuirea tipurilor existente de arhitecturi de microprocesoare
- 2. Dispozitiv de control
- 3. Caracteristici de control software și firmware
- 4. Moduri de adresare
- Concluzie
- Bibliografie
- INTRODUCERE
- Procesul de interacțiune umană cu computerele se desfășoară de mai bine de 40 de ani. Până de curând, la acest proces puteau participa doar specialiştii - ingineri, matematicieni - programatori, operatori. În ultimii ani, s-au produs schimbări dramatice în domeniul calculului. Datorită dezvoltării și implementării microprocesoarelor în structura computerului, au apărut computere personale de dimensiuni mici, ușor de utilizat. Situația s-a schimbat; rolul unui utilizator poate fi nu doar un specialist în calculatoare, ci și orice persoană, fie că este vorba de școlar sau de gospodină, de medic sau de profesor, de muncitor sau de inginer. Acest fenomen este adesea numit fenomen calculator personal. În prezent, flota globală de computere personale depășește 20 de milioane.
- De ce a avut loc acest fenomen? Răspunsul la această întrebare poate fi găsit dacă formulăm clar ce este un computer personal și care sunt principalele sale caracteristici. Trebuie să percepem corect însăși definiția „personal” nu înseamnă că un computer aparține unei persoane ca proprietate personală. Definiția „personal” a apărut deoarece o persoană a avut posibilitatea de a comunica cu un computer fără medierea unui programator profesionist, independent, personal. Nu este necesar să cunoașteți un limbaj special de calculator. Software-ul existent în computer va oferi o formă favorabilă „prietenoasă” de dialog între utilizator și computer.
- În prezent, unul dintre cele mai populare computere este modelul IBM PC și versiunea sa modernizată IBM PC XT, care, conform arhitecturii sale, software, designul extern este considerat modelul de bază al unui computer personal.
- Baza unui computer personal este unitatea de sistem. Organizează munca, procesează informații, face calcule și asigură comunicarea între o persoană și un computer. Utilizatorului nu i se cere să înțeleagă temeinic cum funcționează unitatea de sistem. Aceasta este pentru specialiști. Dar el trebuie să știe din ce blocuri funcționale constă computerul. Nu avem o idee clară despre principiul de funcționare a blocurilor funcționale interne ale obiectelor din jurul nostru - un frigider, o sobă cu gaz, o mașină de spălat, o mașină, dar trebuie să știm care este baza pentru funcționarea aceste dispozitive, care sunt capabilitățile blocurilor lor constitutive.
Acest capitol se concentrează pe caracteristicile arhitecturale ale microprocesoarelor. Oferă informații generale despre microprocesoare, discută despre principiile organizării structurale și funcționale), tipurile de date, memoria de registre, metodele de adresare și sistemul de instrucțiuni al microprocesoarelor. Materialul prezentat este ilustrat pe cele mai simple procesoare de 8 și 16 biți.
Noțiuni de bază
Microprocesor este un dispozitiv controlat de software sub forma unui circuit integrat (LSI sau VLSI), conceput pentru a procesa informații digitale. Deoarece toate microprocesoarele moderne sunt integrate, termenul de procesor a devenit sinonim cu microprocesor.
Microcontroler este un procesor specializat conceput pentru a implementa funcții de control (control).
(xtypo_quote)Digital Signal Processor (DSP) este un procesor specializat conceput pentru a procesa semnale digitale. (/xtypo_quote)
Un sistem cu microprocesor este un produs complet funcțional format din mai multe dispozitive digitale, inclusiv procesorul. Acest concept combină o gamă largă de produse finite, începând cu microcontrolere realizate pe circuite integrate, și se termină cu sisteme informatice, care sunt un set de dispozitive individuale proiectate structural (unitate de sistem, tastatură, monitor etc.). În cele ce urmează, considerăm cele mai simple sisteme cu microprocesoare (cu un singur cip) care conțin, pe lângă procesor, memorie principală și dispozitive de intrare/ieșire. Astfel de sisteme cu microprocesoare pot fi clasificate ca microprocesoare.
Sub organizarea procesoruluiînțelege totalitatea nodurilor sale (dispozitive, blocuri, module), conexiunile dintre noduri și caracteristicile funcționale ale acestora. Organizația determină organizarea hardware a procesorului, adică compoziția și interacțiunea hardware-ului acestuia. Există două niveluri de organizare:
● organizarea fizică sub formă diagramă schematică;
● organizare logica sub forma unei diagrame structurale si functionale.
În cele ce urmează, avem în vedere organizarea microprocesoarelor la nivel logic, sau organizarea structurală și funcțională a procesoarelor.
Sub arhitectura procesorului vom înțelege totalitatea software-ului și hardware-ului său care asigură prelucrarea informațiilor digitale (execuția programului), adică totalitatea tuturor instrumentelor disponibile programului (sau utilizatorului). Acest concept mai general în comparație cu conceptul de organizare include un set de registre și dispozitive de operare accesibile software-ului, un sistem comenzile principaleși metodele de adresare, volumul și organizarea memoriei adresabile, tipurile și metodele de prelucrare a datelor (schimb, întreruperi, acces la memorie etc.).
(xtypo_quote) De exemplu, procesoarele moderne x86 pe 32 de biți cu arhitectură IA-32 (Arhitectura Intel - 2 biți) au un set standard de registre, un sistem comun de instrucțiuni de bază, aceleași metode de organizare și adresare a memoriei, protecție a memoriei și întreruperea service-ului. Rețineți că conceptul de arhitectură caracterizează proprietățile sistemului într-o măsură mai mare decât proprietățile dispozitivului. (/xtypo_quote)
Principalele tipuri de arhitecturi
În funcție de formatele comenzilor (instrucțiunilor) utilizate, putem distinge:
● Arhitectura CISC, care se referă la procesoare (calculatoare) cu un set complet de instrucțiuni (Complete Instruction Set Computer—CISC). Este implementat în multe tipuri de microprocesoare (de exemplu, Pentium), care execută un set mare de instrucțiuni multi-format folosind numeroase metode de adresare.
Setul de instrucțiuni de procesoare cu arhitectură CISC poate conține câteva sute de instrucțiuni diferite formate(de la 1 la 15 octeți) sau grade de complexitate și utilizează mai mult de 10 metode de adresare diferite, ceea ce permite programatorului să implementeze cei mai eficienți algoritmi pentru rezolvarea diferitelor probleme.
Dezvoltarea CISC tradițională
Arhitecturile microprocesoarelor, pe calea extinderii funcționalității și a reducerii costurilor de programare, au condus la creșterea numărului de instrucțiuni dintr-un set și a numărului de microinstrucțiuni dintr-o echipă. Consecința acestui lucru a fost complicarea circuitelor integrate și scăderea vitezei de execuție a programului. Unul dintre moduri posibile eliminarea acestor neajunsuri constă în utilizarea unui set redus de comenzi, a cărui organizare este supusă creșterii vitezei de execuție a acestora;
● Arhitectura RISC, care se referă la procesoare (calculatoare) cu un set de instrucțiuni redus (Reduced Instruction Set Computer - RISC). Apariția arhitecturii RISC este dictată de faptul că multe comenzi și metode de adresare CISC sunt folosite destul de rar. Caracteristica principală a arhitecturii RISC este că sistemul de instrucțiuni constă dintr-un număr mic de instrucțiuni utilizate frecvent de același format, care pot fi executate într-un singur ciclu de comandă (ciclu) al procesorului central. Comenzile mai complexe, utilizate rar, sunt implementate la nivel de program. Totuși, datorită creșterii semnificative a vitezei de execuție a instrucțiunilor, performanța medie a procesoarelor RISC poate fi mai mare decât cea a procesoarelor cu arhitectură CISC.
(xtypo_quote) Majoritatea instrucțiunilor despre procesoarele RISC implică operațiuni de la un registru la altul. Pentru accesarea memoriei, cele mai simple operatii din punct de vedere al consumului de timp sunt operatiile de incarcare in registre si scriere in memorie. (/xtypo_quote)
Procesoarele RISC moderne implementează aproximativ 100 de instrucțiuni care au un format fix de 4 octeți lungime și folosesc un număr mic dintre cele mai simple metode de adresare (registru, index și altele).
Pentru a reduce numărul de accesări la RAM externă, procesoarele RISC conțin zeci până la sute de registre de uz general (GPR), în timp ce în CISC-procesoare doar 8-16 registre. Accesul la memoria externă în procesoarele RISC este utilizat numai în operațiuni de încărcare a datelor în RON sau de transfer a rezultatelor din RON în memorie. Prin reducerea hardware-ului necesar pentru decodarea și executarea comenzilor complexe, circuitele integrate ale procesorului RISC sunt simplificate semnificativ și costul lor este redus. În plus, productivitatea este îmbunătățită semnificativ. Datorită acestor avantaje, multe moderne
Procesoare CI SC (cele mai recente Modele Pentiumși K7) se folosește un nucleu RISC. În acest caz, comenzile CI SC complexe sunt pre-convertite într-o secvență de operații RISC simple și executate rapid de nucleul RISC;
● Arhitectura VLIW, care se referă la microprocesoare care utilizează instrucțiuni foarte lungi (Very Large Instruction Word—VLIW). Câmpurile de comandă individuale conțin coduri care efectuează diverse operații. O comandă VLIW poate efectua mai multe operații simultan în diferite noduri de microprocesor. Formarea comenzilor VLIW „lungi” este efectuată de compilatorul corespunzător atunci când traduceți programe scrise într-un limbaj de nivel înalt.
(xtypo_quote)VLIW -arhitectură implementate în unele tipuri microprocesoare moderneși este foarte promițător pentru crearea unei noi generații de procesoare ultra-performanțe. (/xtypo_quote)
După metoda de organizare a selecției comenzilor și datelor, se disting două tipuri de arhitecturi:
● Arhitectura Princeton, sau arhitectura von Neumann, o caracteristică a cărei caracteristică este (Fig. 2.1.1) utilizarea:
Memoria principală comună (acces aleatoriu) pentru stocarea programelor și datelor, care vă permite să redistribuiți rapid și eficient volumul acestuia în funcție de sarcinile rezolvate în fiecare caz specific de utilizare a unui microprocesor;
O magistrală comună prin care comenzile și datele sunt trimise către procesor, iar rezultatele sunt scrise în RAM, ceea ce simplifică foarte mult depanarea, testarea și monitorizarea continuă a funcționării sistemului și crește fiabilitatea acestuia. Pentru a separa instrucțiunea de date, codul operației efectuate este întotdeauna primit din memorie mai întâi, urmat de date. În mod implicit, codul de operare este încărcat în registrul de comandă, iar datele în blocul de registru (Fig. 2.1.1). Din cauza numărului limitat terminale externe Busul comun funcționează de obicei în modul de multiplexare în timp, adică direcțiile opuse de schimb de date între microprocesor, memorie sau alte dispozitive externe sunt separate în timp.
Dezavantajul arhitecturii Princeton
Utilizarea unei magistrale comune pentru transmiterea comenzilor și a datelor limitează performanța unui sistem digital;
● Arhitectura Harvard (creatorul Howard Aiken), a cărei caracteristică este separarea fizică a memoriei de instrucțiuni (programe) și a memoriei de date (Fig. 2.1.2). Această circumstanță este cauzată de cerințele în continuă creștere asupra performanței sistemelor cu microprocesor. Memoria de comandă și memoria de date sunt conectate la procesor prin magistrale separate. Datorită separării fluxurilor de comandă și date, precum și combinării operațiunilor de recuperare a acestora (și înregistrarea rezultatelor procesării), se asigură performanțe mai mari decât atunci când se utilizează arhitectura Princeton.
Dezavantajele arhitecturii Harvard
Complexitate crescută de proiectare datorită utilizării magistralelor separate pentru comenzi și date; cantitate fixă de memorie pentru comenzi și date; o creștere a cantității totale de memorie din cauza imposibilității redistribuirii optime a acesteia între comenzi și date. Arhitectura Harvard este utilizată pe scară largă în microcontrolere - microprocesoare specializate pentru controlul diferitelor obiecte, precum și în structura internă a microprocesoarelor moderne de înaltă performanță în memoria cache cu stocare separată de instrucțiuni și date.
În același timp, principiile arhitecturii Princeton sunt implementate în structura externă a majorității sistemelor cu microprocesoare.
Rețineți că arhitectura microprocesorului este strâns legată de structura acestuia. Implementarea anumitor caracteristici arhitecturale necesită introducerea unor dispozitive adecvate în structura microprocesorului și asigurarea unor mecanisme pentru funcționarea lor în comun.
Adnotare: Scopul prelegerii: familiarizarea cu arhitectura microprocesoarelor, caracteristicile distinctive ale microprocesoarelor de diferite tipuri de arhitectură, etapele de dezvoltare a arhitecturii microprocesoarelor universale, precum și principalele caracteristici ale arhitecturii IA-32.
Concepte de bază și caracteristici ale arhitecturii microprocesorului
Microprocesor(MP) este un dispozitiv controlat de software care este proiectat să proceseze informații digitale si controlul procesului acestei prelucrari si se realizeaza sub forma unuia sau mai multor mari circuite integrate(BIS).
Concept circuit integrat mare momentan nu este clar definit. Anterior, se credea că această clasă ar trebui să includă microcircuite care conțin mai mult de 1000 de elemente pe un cip. Într-adevăr, primele microprocesoare se încadrează în acești parametri. De exemplu, secțiunea de procesor pe 4 biți a kit-ului cu microprocesor K584, produs la sfârșitul anilor 1970, conținea aproximativ 1.500 de elemente. Acum, când microprocesoarele conțin zeci de milioane de tranzistori și numărul acestora crește constant, prin LSI înțelegem un complex funcțional circuit integrat.
Sistem cu microprocesor(MPS) este un produs complet funcțional format din unul sau mai multe dispozitive, a căror bază este un microprocesor.
Microprocesorul este caracterizat o cantitate mare parametri și proprietăți, deoarece este, pe de o parte, un dispozitiv de calcul complex funcțional, iar pe de altă parte - dispozitiv electronic, un produs al industriei electronice. Ca mijloc al tehnologiei informatice, se caracterizează în primul rând prin sa arhitectură, adică un set de proprietăți software și hardware furnizate utilizatorului. Aceasta include sistemul de instrucțiuni, tipurile și formatele de date prelucrate, moduri de adresare, numărul și distribuția registrelor, principiile de interacțiune cu RAM și dispozitivele externe (caracteristicile sistemului de întrerupere, acces direct la memorie etc.). După arhitectura lor, microprocesoarele sunt împărțite în mai multe tipuri (Fig. 1.1).
Microprocesoare universale sunt concepute pentru a rezolva problemele de prelucrare digitală a diferitelor tipuri de informații, de la calcule inginerești până la lucrul cu baze de date, fără restricții stricte privind timpul de finalizare a sarcinii. Această clasă de microprocesoare este cea mai cunoscută. Acesta include următoarele microprocesoare celebre, cum ar fi seria Pentium MP de la Intel și familia Athlon MP de la AMD.
Orez. 1.1.
Caracteristicile microprocesoarelor universale:
- adâncimea de biți: determinată de capacitatea maximă de biți a datelor întregi procesate într-un ciclu de ceas, adică, de fapt, capacitatea de biți unitate logică aritmetică(ALU);
- tipuri și formate de date prelucrate;
- sistem de comandă, moduri de adresare a operanzilor;
- capacitatea RAM direct adresabilă: determinată de lățimea de biți a magistralei de adrese;
- frecvența ceasului extern. Pentru frecvența de sincronizare, de obicei este indicat maximul acesteia sens posibil, care garantează funcționalitatea circuitului. Pentru funcțional circuite complexe, care includ microprocesoare, indică uneori și minimul frecventa posibila sincronizare Reducerea frecvenței sub această limită poate duce la defectarea circuitului. În același timp, în acele aplicații MP în care nu este necesară o performanță ridicată, reducerea frecvenței de sincronizare este una dintre domeniile economisirii energiei. Într-un număr de microprocesoare moderne, pe măsură ce frecvența scade, se transformă în< спящий режим >, în care își păstrează starea. Frecvența de ceas din aceeași arhitectură vă permite să comparați performanța microprocesoarelor. Dar diferit solutii arhitecturale afectează performanța mult mai mult decât frecvența;
- performanță: determinată cu ajutorul unor teste speciale, iar setul de teste este selectat în așa fel încât să acopere, dacă este posibil, diverse caracteristici microarhitecturi de procesoare care afectează performanța.
Microprocesoarele universale sunt de obicei împărțite în CISC- Și Microprocesoare RISC. Microprocesoare CISC(Completed Instruction Set Computing - calcule cu sistem complet comenzi) includ întregul set clasic de comenzi cu moduri de adresare a operanzilor dezvoltate pe scară largă. Din această clasă aparțin, de exemplu, microprocesoarele de tip Pentium. În același timp Microprocesoare RISC(calcularea seturilor de instrucțiuni reduse - calcule cu un sistem de instrucțiuni redus) utilizează, după cum reiese din definiție, un număr redus de comenzi și moduri de adresare. Aici, în primul rând, ar trebui să evidențiem microprocesoare precum Alpha 21x64, Power PC. Numărul de instrucțiuni din setul de instrucțiuni este cel mai evident, dar astăzi nu este cea mai importantă diferență în aceste direcții de dezvoltare a microprocesoarelor universale. Vom lua în considerare alte diferențe pe măsură ce studiem caracteristicile arhitecturii lor.
Microcontrolere cu un singur cip(OMK sau pur și simplu MK) sunt destinate utilizării în sistemele de automatizare industriale și casnice. Sunt circuite integrate mari care includ toate dispozitivele necesare implementării unui sistem de control digital configurat minim: un procesor (de obicei întreg), memorie de comenzi, memorie de date, generator de ceas, dispozitive programabile pentru comunicarea cu Mediul extern ( controler de întrerupere, temporizatoare-contoare, diverse porturi de intrare/ieșire), uneori convertoare analog-digital și digital-analogic etc. În unele surse, această clasă de microprocesoare este numită microcalculatoare cu un singur cip (SMC).
În prezent, două treimi din toate LSI-urile cu microprocesor produse în lume sunt MP din această clasă și aproape două treimi dintre ele au o capacitate de biți care nu depășește 16 biți. La clasa cu un singur cip microcontrolereÎn primul rând, acestea includ microprocesoare din seria MCS-51 de la Intel și microprocesoare similare de la alți producători, a căror arhitectură a devenit un standard de facto.
Caracteristici distinctive ale arhitecturii microcontrolerelor cu un singur cip:
- fizice şi separare logică memoria de instrucțiuni și memoria de date (arhitectura Harvard), în timp ce în arhitectura Neumann clasică, programele și datele sunt partajate dispozitiv de stocareși au același mecanism de acces;
- sistem de comandă simplificat și orientat către sarcini: MK, de regulă, nu are instrumente de procesare a datelor în virgulă mobilă, dar, în același timp, sistemul de comandă include comenzi axate pe lucrul eficient cu senzori și actuatori, de exemplu, comenzi pentru procesarea informațiilor de biți;
- cele mai simple moduri de adresare a operanzilor.
Principalele caracteristici ale microcontrolerelor(de exemplu, valorile numerice sunt prezentate pentru MK-51):
- Dimensiunea biților (8 biți).
- Capacitatea memoriei interne de comandă și a memoriei de date, posibilități și limite de extindere a acestora:
- memorie internă de comandă - 4 KB (în medie, o comandă are 2 octeți, deci un program cu o lungime de aproximativ 2000 de comenzi poate fi stocat în memoria internă); extensibil prin conectarea memoriei externe de până la 64 KB;
- memorie de date pe cip 128 de octeți (poate fi conectată memorie externa capacitate totală de până la 64 KB).
- Frecvența ceasului:
- frecventa externa 12 MHz;
- frecvența ciclului mașinii 1 MHz.
- Posibilități de interacțiune cu dispozitive externe: cantitate și scop Porturi I/O, caracteristicile sistemului de întrerupere, suport software pentru interacțiunea cu dispozitive externe.
Disponibilitatea și caracteristicile încorporate convertoare analog-digitale(ADC) și convertoare digital-analogic(DAC) pentru a simplifica coordonarea cu senzorii și actuatorii sistemului de control.
Microprocesoare partiționate(alte denumiri: microprogramabile și biți-modulare) sunt microprocesoare concepute pentru construirea de procesoare specializate. Sunt secțiuni de microprocesor de capacitate relativ mică (de la 2 la 16) cu acces utilizator la nivelul de control al microprocesului și mijloace pentru combinarea mai multor secțiuni.
Această organizare vă permite să proiectați un procesor cu capacitatea necesară și cu un sistem de instrucțiuni specializat. Datorită capacității reduse de biți, secțiunile de microprocesor pot fi construite folosind tehnologii de mare viteză. Combinația tuturor acestor factori face posibilă crearea unui procesor cel mai bun mod orientat către o anumită clasă de algoritmi atât în ceea ce privește sistemele de comandă și modurile de adresare, cât și formatele de date.
Unul dintre primele seturi de microprocesoare partiționate au fost MP LSI din familia Intel 3000. În țara noastră, acestea au fost produse ca parte a seriei K589 și 585. Elemente de prelucrare Această serie a fost un microprocesor pe doi biți. Cel mai comun set de microprocesoare partiționate este Am2900, care se bazează pe secțiuni pe 4 biți. În țara noastră, un analog al acestui kit a fost produs ca parte a seriei K1804. Setul a inclus următorul BIS:
- ALU secțional de biți;
- bloc de transfer accelerat;
- ALU secțional de biți cu suport hardware pentru multiplicare;
- tipul de circuite de control al microprogramelor;
- controler de stare și schimbare;
- controler de întrerupere prioritară.
Principalul dezavantaj al sistemelor cu microprocesoare bazate pe LSI-uri cu microprocesoare partiționate este complexitatea proiectării, depanării și programării sistemelor bazate pe acestea. Utilizarea unui sistem de comandă specializat a dus la incompatibilitatea software-ului dezvoltat pentru diferite microprocesoare. Capacitatea de a crea un procesor specializat care este optim în multe privințe a necesitat munca dezvoltatorilor calificați pe o perioadă lungă de timp. Cu toate acestea, dezvoltarea rapidă a tehnologiilor electronice a condus la faptul că, în timpul proiectării unui procesor specializat, a fost dezvoltat un microprocesor universal, ale cărui capacități au acoperit câștigul ipotetic din proiectarea unui dispozitiv specializat. Acest lucru a condus la faptul că în prezent această clasă de microprocesoare LSI-uri practic nu este utilizată.
Procesoare de semnal digital, sau digital procesoare de semnal , sunt o clasă de microprocesoare care se dezvoltă rapid, concepute pentru a rezolva problemele digitale. procesare a semnalului- prelucrare semnale sonore, imagini, recunoaștere a modelelor etc. Acestea includ multe caracteristici ale microcontrolerelor cu un singur cip: arhitectură Harvard, memorie de comandă și date încorporată, capabilități avansate pentru lucrul cu dispozitive externe. În același timp, ele conțin caracteristici ale MP-urilor universale, în special cu arhitectura RISC: organizarea în conductă a muncii, software și hardware pentru efectuarea operațiunilor cu punctul de plutire, suport hardware pentru calcule complexe specializate, în special înmulțire.
Ca produs electronic Microprocesorul este caracterizat de o serie de parametri, dintre care cei mai importanți sunt următorii:
- Cerințe de sincronizare: frecvență maximă, stabilitate.
- Numărul și evaluările surselor de alimentare, cerințele pentru stabilitatea acestora. În prezent, există o tendință de reducere a tensiunii de alimentare, ceea ce reduce disiparea căldurii a circuitului și duce la o creștere a frecvenței de funcționare a acestuia. Dacă primele microprocesoare au funcționat cu o tensiune de alimentare de +-15V, acum circuitele individuale folosesc surse mai mici de 1 V.
- Disiparea puterii- aceasta este pierderea de putere în treapta de ieșire a circuitului, care se transformă în căldură și încălzește tranzistoarele de ieșire. Cu alte cuvinte, caracterizează rata de eliberare a căldurii a LSI, care determină în mare măsură cerințele pentru proiectare sistem cu microprocesor. Această caracteristică este deosebit de importantă pentru MPS încorporat.
- Niveluri de semnal de zero logic și unul logic, care sunt asociate cu evaluările surselor de alimentare.
- Tip de carcasă - vă permite să evaluați adecvarea circuitului pentru funcționare în anumite condiții, precum și posibilitatea de a utiliza un nou LSI ca înlocuitor pentru cel existent pe placă.
- Temperatura mediu inconjurator, la care circuitul poate funcționa. Există două intervale aici:
- comercial (0 0 C ... +70 0 C);
- extins (-40 0 C ... +85 0 C).
- Imunitate la zgomot- determină capacitatea circuitului de a-și îndeplini funcțiile în prezența interferențelor. Imunitatea la zgomot este evaluată prin intensitatea interferenței la care întreruperea funcțiilor dispozitivului nu depășește încă limitele admise. Cum interferență mai puternică, la care dispozitivul rămâne operațional, cu atât este mai mare imunitatea la zgomot.
- Capacitate de incarcare, sau factorul de ramificare a ieșirii, este determinat de numărul de circuite din aceeași serie, ale căror intrări pot fi conectate la ieșirea unui anumit circuit fără a perturba funcționarea acestuia. Cu cât capacitatea de încărcare este mai mare, cu atât capacitățile logice ale circuitului sunt mai largi și cu atât sunt necesare mai puține astfel de microcircuite pentru a construi un dispozitiv de calcul complex. Cu toate acestea, pe măsură ce acest coeficient crește, imunitatea la zgomot și performanța se deteriorează.
- Fiabilitate este capacitatea unui circuit de a-și menține nivelul de calitate al performanței în condiții specificate pe o anumită perioadă de timp. Caracterizat de obicei Rata de eșec(ora-1) sau timpul mediu dintre defecțiuni (ora). În prezent, acest parametru pentru circuitele integrate mari nu este de obicei specificat de producător. Fiabilitatea MP LSI poate fi judecată prin indicatori indirecți, de exemplu, după fiabilitatea produsului în ansamblu, citată de dezvoltatorii de tehnologie informatică.
- Caracteristicile procesului. Indicatorul principal aici este rezoluția procesului. În prezent, este de 32 nm, adică aproximativ 30 de mii de linii pe 1 mm. Un proces tehnologic mai avansat face posibilă crearea unui microprocesor cu o funcționalitate mai mare.
Orez. 1.2.
Costurile de fabricație a dispozitivelor folosind LSI-uri cu microprocesor sunt prezentate în Fig. 1.2. Aici:
- costurile de fabricație a LSI (cu cât este mai mare gradul de integrare a elementelor pe cip, cu atât producția circuitului este mai scumpă);
- costuri de asamblare și instalare sistem cu microprocesor(cu o creștere a funcționalității MP, vor fi necesare mai puține circuite pentru a crea MPS);
- cost total sistem cu microprocesor, care constă din costuri (1) și (2). Are o valoare optimă pentru acest nivel dezvoltarea tehnologiei;
- trecerea la o nouă tehnologie (un număr diferit de elemente de pe cip va fi optim, iar costul total al produsului este redus).
În 1965, Gordon Moore a formulat ipoteza cunoscută acum ca<закон Мура>, conform căruia la fiecare 1,5-2 ani numărul de tranzistori pe unul circuit integrat se va dubla. Acest lucru este asigurat de îmbunătățirea continuă procese tehnologice producerea de microcipuri.
Cea mai avansată companie din punct de vedere tehnologic, Intel, distinge șase etape din ciclul de viață al tehnologiilor semiconductoare create și utilizate în corporație.
Cea mai timpurie etapă are loc în afara Intel - în laboratoare universitare și independente centre de cercetare, unde se caută noi principii fizice și metode care să poată deveni baza fundației științifice și tehnologice pentru anii următori. Corporația finanțează această cercetare.
În a doua etapă, cercetătorii Intel selectează cel mai mult direcții promițătoare dezvoltarea de noi tehnologii. În acest caz, de obicei sunt luate în considerare 2-3 opțiuni de soluție.
Sarcina principală a celei de-a treia etape este dezvoltarea completă brută tehnologie nouăși demonstrând fezabilitatea acestuia.
După aceasta, începe a patra etapă, al cărei scop principal este asigurarea realizării valorile stabilite indicatori tehnici și economici cheie precum randamentul produsului, fiabilitatea, costul și alții. Finalizarea etapei este confirmată de lansarea primului lot industrial de produse noi.
A cincea etapă este dezvoltarea industrială a noii tehnologii. Această problemă nu este mai puțin complexă decât dezvoltarea tehnologiei în sine, deoarece este extrem de dificil să reproduci cu acuratețe în condiții reale de producție ceea ce s-a obținut în laborator. De obicei, aici apar întârzierile cu momentul lansării noilor produse, cu realizarea volumelor de aprovizionare planificate și a costurilor de producție.
Ultima, a șasea etapă a ciclului de viață a tehnologiei (înainte de a abandona utilizarea acesteia) este maturitatea. Tehnologia matura, suferind anumite imbunatatiri in vederea cresterii productivitatii echipamentelor si reducerii costurilor de productie, asigura principalele volume de productie. Pe măsură ce sunt introduse tehnologii noi, mai avansate<старые>instalațiile de producție sunt în curs de lichidare.
Dar nu imediat: mai întâi sunt transferați în producția de microcircuite cu viteză mai mică sau cu mai puțini tranzistori, de exemplu, LSI-uri periferice.
Arhitectura microprocesorului- acesta este un set de informații despre compoziția componentelor sale, organizarea procesării informațiilor în acesta și schimbul de informații cu dispozitive computerizate externe, precum și funcţionalitate microprocesor care execută comenzi de program.
Structura microprocesorului- aceasta este informație doar despre compoziția componentelor sale, conexiunile dintre ele, asigurând interacțiunea lor. Astfel, arhitectura este un concept mai general care, pe lângă structură, include și ideea de interacțiune funcțională a componentelor acestei structuri între ele și cu mediul extern.
Baza oricărui MP (Fig. 14) este dispozitivul aritmetic-logic ALU, care efectuează procesarea informațiilor - operații aritmetice și logice pe datele sursă și în conformitate cu comenzile. Datele în sine (rezultatul inițial, intermediar și final) se află în registrele de date RD, iar comenzile sunt în registrul de comenzi RK. Gestionarea tuturor proceselor de intrare și ieșire a informațiilor, interacțiunea dintre ALU, RD și RK este realizată de dispozitiv multifuncțional managementul unitatii de control. Datele, comenzile și semnalele de control sunt transmise prin magistrala VS internă.
Fig.14 Tipic schema structurala MP
Fiecare microprocesor are propriul său limbaj intern numit set micro-instructiuni sau alcătuirea echipei- acesta este un set de comenzi pe care un anumit microprocesor le înțelege și le poate executa.
În timpul fiecărui ciclu de comandă CPUîndeplinește multe funcții de control:
1) plasează adresa de comandă pe magistrala de adrese de memorie;
2) primește o comandă de la magistrala de intrare a datelor și o decriptează;
3) selectează adresele și datele conținute în comandă; adresele și datele pot fi în memorie sau în registre;
4) efectuează operația definită în codul de comandă. Operația poate fi o funcție aritmetică sau logică, un transfer de date sau o funcție de control;
5) monitorizează semnalele de control, cum ar fi întreruperile și răspunde în consecință;
6) generează semnale de stare, control și oră care sunt necesare pentru funcționarea normală a dispozitivului aeropurtat și a memoriei.
Astfel, CPU este „creierul” care determină acțiunile computerului.
Fig. 15 Ciclul de comandă al procesorului
Pe baza naturii codului executabil și a organizării dispozitivului de control, se disting mai multe tipuri de arhitecturi:
- Procesor cu set de instrucțiuni complex, Engleză CISC - Calculator cu set de instrucțiuni complexe. Această arhitectură este caracterizată de un număr mare de instrucțiuni complexe și, ca urmare, un dispozitiv de control complex. Versiunile timpurii ale procesoarelor și procesoarelor CISC pentru aplicații încorporate sunt caracterizate de timpi lungi de execuție a instrucțiunilor (de la câteva cicluri de ceas la sute), determinate de microcodul dispozitivului de control. Procesoarele superscalare de înaltă performanță se caracterizează prin scanare amanuntita programe, execuție extraordinară a operațiunilor.
- Procesor cu un set de instrucțiuni simplificat, Engleză RISC - Calculator cu set de instrucțiuni redus. Această arhitectură are un dispozitiv de control mult mai simplu. Majoritatea instrucțiunilor procesorului RISC conțin același număr mic de operații (1, uneori 2-3), iar cuvintele de comandă în sine au, în marea majoritate a cazurilor, aceeași lățime (PowerPC, ARM), deși există și excepții (Coldfire). Procesoarele superscalare au cea mai simplă grupare de instrucțiuni fără a modifica ordinea de execuție.
- Procesor explicit paralel, Engleză EPIC - Calculator de instrucțiuni în mod explicit paralel (-ing, termen ® Intel, HP). Se deosebește de altele în primul rând prin faptul că secvența și paralelismul execuției operațiunilor și distribuția lor între dispozitivele funcționale sunt clar definite de program. Astfel de procesoare pot avea un număr mare de unități funcționale fără multă complexitate a dispozitivului de control și pierderea eficienței. În mod obișnuit, astfel de procesoare folosesc un cuvânt de instrucțiuni larg constând din mai multe silabe care definesc comportamentul fiecărei unități funcționale în timpul unui ciclu de ceas.
- Procesor de set minim de instrucțiuni, Engleză MISC - Set minim de instrucțiuni Computer. Această arhitectură este determinată în primul rând de un număr foarte mic de instrucțiuni (câteva zeci) și aproape toate sunt operanzi zero. Această abordare face posibilă împachetarea codului foarte strâns, alocând de la 5 la 8 biți pentru o instrucțiune. Datele intermediare dintr-un astfel de procesor sunt de obicei stocate pe stiva internă, iar operațiunile sunt efectuate pe valorile din partea de sus a stivei. Această arhitectură este strâns legată de ideologia programării în limbajul Forth și este de obicei folosită pentru a executa programe scrise în acest limbaj.
- Procesor de set de instrucțiuni variabile, Engleză WISC - Set de instrucțiuni de scriere Computer. O arhitectură care vă permite să vă reprogramați prin schimbarea setului de instrucțiuni, ajustându-l la problema rezolvată.
- Procesor controlat de transport, Engleză TTA - Arhitectura declanșată de transport. Arhitectura sa ramificat inițial de la EPIC, dar este fundamental diferită de celelalte prin faptul că instrucțiunile unui astfel de procesor codifică operațiuni funcționale, iar așa-numitele transporturi - transferă date între dispozitive funcționale și memorie în ordine aleatorie.
Pe baza metodei de stocare a programelor, există două arhitecturi:
- Arhitectura Von Neumann. Procesoarele acestei arhitecturi folosesc o magistrală și un dispozitiv I/O pentru a accesa programe și date.
- Arhitectura Harvard. În procesoarele acestei arhitecturi, există magistrale separate și dispozitive I/O pentru preluarea programelor și schimbul de date. În microprocesoarele, microcontrolerele și DSP-urile încorporate, acest lucru determină și existența a două dispozitive de stocare independente pentru stocarea programelor și datelor. În unitățile centrale de procesare, acest lucru determină existența unui cache separat de instrucțiuni și date. În spatele cache-ului, autobuzele pot fi combinate într-unul singur prin multiplexare.
Pe baza organizării fișierului de registru FU, se pot distinge următoarele tipuri de procesoare.
- Înregistrați arhitectura- caracterizat prin acces liber la registre pentru selectarea tuturor argumentelor și scrierea rezultatului. Operațiile aritmetico-logice elementare din astfel de procesoare sunt codificate în instrucțiuni cu doi sau trei operanzi (registru + registru → registru, uneori registrul rezultat coincide cu sursa unuia dintre argumente).
- Arhitectura bateriei- unul dintre mai multe registre acumulatoare este alocat din registre. Registrul acumulator este sursa unuia dintre argumente și receptorul rezultatului calculului. Operațiile sunt de obicei codificate în instrucțiuni cu un singur operand (acumulator + operand → acumulator). Această arhitectură este tipică pentru multe procesoare CISC (de ex. Z80).
- Arhitectura stivei- este determinată de organizarea fișierului de registru sub formă de stivă, iar adresarea indirectă a registrelor prin indicatorul stivei, care determină poziția vârfului stivei, se efectuează operațiuni asupra valorilor la partea de sus a stivei și rezultatul este de asemenea plasat deasupra. Operatii aritmetice sunt codificate în instrucțiuni cu operanzi zero. Arhitectura stivei este o parte integrantă a procesoarelor MISC.