ARGUMENT Descoperirea şi studierea legilor şi teoremelor electromagnetismului în urmă cu un secol şi jumătate au deschis o eră noua a civilizaţiei. Mecanizarea proceselor de producţie a constituit o etapă esenţială în dezvoltarea tehnică a proceselor respective şi a condus la uriaşe creşteri ale productivităţii muncii. Datorită mecanizării s-a redus considerabil efortul fizic depus de om în cazul proceselor de producţie, întrucât maşinile motoare asigură transformarea diferitelor forme de energie din natură în alte forme de energie direct utilizabile pentru acţionarea maşinilor, uneltelor care execută operaţiile de prelucrare a materialelor prime şi a semifabricatelor. După După etapa etapa mecan mecaniză izării, rii, omul omul îndepl îndepline ineşte şte în princ principa ipall funcţi funcţiaa de condu conduce cere re a proceselor tehnologice de producţie. Operaţiile de conducere necesită un efort fizic neglijabil, in schimb schimb neces necesită ită un efort efort int intele electu ctual al import important ant.. Pe de altă altă parte parte unele unele proces procesee tehnic tehnicee se desfăşoară rapid, încât viteza de reacţie a unui operator uman este insuficientă pentru a transmite o comandă necesară în timp util. Se constată astfel că la un anumit stadiu de dezvoltare a proceselor de producţie devine necesar ca o parte din funcţiile de conducere să fie transferate unor echipamente şi aparate destinate special acestui scop, reprezentând echipamente şi aparate de automatizare. Omul rămâne însă cu supravegherea generală a funcţionării instalaţiilor automatizate şi cu adoptarea deciziilor şi soluţiilor de perfecţionare şi optimizare. Prin automatizarea proceselor de producţie se urmăreşte asigurarea tuturor condiţiilor de desfăşurare a acestora fără intervenţia operatorului uman. Această etapă presupune crearea acelo acelorr mij mijloa loace ce tehnic tehnicee capab capabile ile să asigur asiguree evoluţ evoluţia ia proce procesel selor or înt într-un r-un sens sens presta prestabil bilit, it, asigurându-se producţia de bunuri materiale la parametrii doriţi.
1
Etapa automatizării presupune existenţa proceselor de producţie astfel concepute încât să permită implementarea mijloacelor de automatizare, capabile să intervină într-un sens dorit asupra proceselor asigurând condiţiile de evoluţie a acestora în deplină concordanţă cu cerinţele optime. Lucrarea de faţă realizată la sfârşitul perioadei de perfecţionare profesională în cadrul liceului, consider că se încadrează în contextul celor exprimate mai sus. Doresc să fac dovada cunoşt cunoştinţ inţelo elorr doban dobandit ditee în cadrul cadrul discip disciplin linelo elorr de învăţă învăţămân mântt : ,,Elec ,,Electro tronic nicăă analog analogică ică’’ ’’ ,,Electronică digitală’’.Ce ne va aduce viitorul este greu de spus .Dar un lucru este sigur. Acum că sa depăşit graniţa Ghz-ului cine ştie poate vom descoperi chiar şi inteligenţa artificială, cine ştie? În această ultimă secţiune secţiune vom încerca să discernem discernem ce ne oferă viitorul. Marile companii lucrează simultan la mai multe generaţii ale unui procesor, cu echipe independente, ca atare ceva din ceea ce viitorul ne rezervă poate fi observat în produsele comerciale în curs de proiectare, în măsura în care companiile dezvăluie dezvăluie astfel de informaţii. Cercetarea în arhitectura procesoarelor procesoarelor este efervescentă, atît în industrie cît şi în universităţi; este absolut imposibil de urmărit întregul peisaj. Emularea sarcinilor celorlalte componente din sistem este o practică des întâlnită atunci când acestea din urmă nu dispun de resursele necesare; de exemplu, dacă placa grafică nu deţine funcţii capabile pentru afişarea de imagini tridimensionale în jocuri, CPU-ul va prelua această sarcină. Rezult Rezultate atele le sunt, sunt, însă, însă, foarte foarte slabe slabe,, fiind fiind realiz realizate ate compro compromis misuri uri imense imense de vit vitez ezăă şi calita calitate, te, procesorul central nefiind specializat pe astfel de calcule.
2
CAPITOLUL 1 MICROPROCESORUL Procesorul este o componenta vitala a unui sistem de calcul care este capabila sa efectueze calcule si sa interpreteze comenzi. Arhitectura sa interna se imparte schematic in trei mari blocuri de tranzistori numite si unitati: 1) Unitatea de memorie cache, impartita in doua subunitati, una pentru comenzi, cealalta pentru date; memoria cache stocheaza comenzile si datele cele mai des utilizate; 2) Unitatile de control, care se ocupa cu decodarea instructiunilor, cu accesul la memoria RAM 3) Unitatile de calcul: - unitatea aritmetica (ALU - Aritmetic Logical Unit), este cea mai importanta, fiind utilizata de toate programele; se ocupa numai de calculele simple, cu numere intregi. - unitatea de calcul in virgula mobila (FPU - Floating Point Unit), era la origine un procesor independent "coprocesor" (seria 8087, 80287, 80387); a fost integrata in procesorul principal in 1989, odata cu aparitia lui 80486. Aceasta unitate este capabila de operatii matematice cu virgula mobila, precum si de altele mai avansate, cum ar fi radicalul sau functiile trigonometrice. - unitatea multimedia, nestandardizata; prima astfel de unitate a fost MMX in 1997, au urmat apoi 3DNow!, SSE, 3DNow!+, SSE2; functia lor este aceea de a optimiza programele multimedia (sunet, grafica 3D, efecte audio-video).
Caracteristici de functionare a) Frecventa Este cea mai comuna caracteristica a unui procesor, si este in relatie direct proportionala cu 3
puterea sa de calcul. Unitatea de masura a frecventei este ciclul pe secunda (Hertz-ul). Un procesor mai este caracterizat si de dimensiunea magistralei de date, care se masoara in biti. Cu cat aceasta este mai mare, evident, fluxul informatiilor tranzitate si prelucrate va fi mai mare, procesoarele actuale dispunand de o magistrala pe 64 de biti, inaugurata de Pentium. Cresterea frecventei microprocesorului este principalul mijloc de a creste performantele. Datorita diferentei de arhitectura intre diferitele generatii de procesoare, puterea de calcul poate varia in cazul a doua procesoare cu aceeasi frecventa dar apartinand unor generatii diferite. De aceea, capacitatea de calcul calcul a unui Pentium 100 MHz ar fi apropiata de cea a unui ipotetic 486 la 200 MHz. Un exemplu recent il constituie performanta medie a lui Pentium 4 2000 MHz, care este sensibil egala cu a unui AMD Athlon 1600 MHz. Frecventa unui procesor este direct legata de marimea circuitelor interne. Fabricantul trebuie sa gaseasca un echilibru intre reducerea dimensiunii circuitelor, fapt ce provoaca reducerea caldurii disipate si cresterea frecventei de lucru, frecventa care determina automat si cresterea temperaturii.
b) Memoria cache Memo Memori riaa cach cachee este este o memo memori riee de mare mare vite viteza za,, incl inclus usaa in tota totali lita tate te in proc proces esor or (la (la procesoarele actuale) sau pe placa de baza (la primele modele), care pastreaza informatiile si datele cele mai recent utilizate. Aceasta este impartita pe mai multe nivele (levels), in functie de distanta" fata de unitatea de calcul. Astfel, memoria cache level 1 poate fi accesata imediat, fara stadii de asteptare, deoarece lucreaza la viteza procesorului. Memoria cache level 2, este de obicei mai mare si a cunoscut o evolutie marcanta. Initial ea a fost incorporata pe placa de baza si detinea o viteza mica; apoi ea a fost alaturata procesorului, functionand la o viteza fractionata, dar comparabila cu acesta. in final, ea a fost integrata in pastila de siliciu a acestuia, avand astfel o viteza egala cu CPUul. Avantajul memoriei cache consta in reducerea timpilor de asteptare, deci in cresterea vitezei de lucru, deoarece memoria RAM a sistemului este mult mai lenta decat procesorul. Avantajul memoriei cache (level 1 sau level 2) se poate observa usor, dezactivand-o din BIOS. Ca fapt divers, eliminarea L1 cache-ului din orice procesor, oricat de modern ar fi, chiar daca ruleaza la 1 sau 2 GHz, chiar daca detine memorie L2 cache integrata si de dimensiune mare, va 4
produce scaderea performantelor pana aproape de nivelul unui 486.
c) Arhitecturile RISC si CISC Aceste Aceste arhite arhitectu cturi ri define definesc sc felul felul in care care comenz comenzile ile sunt sunt execu executat tatee in microp microproc roceso esor. r. Arhitectura CISC (Complex Instruction Set Computer) a aparut in primele procesoare, fiind si singura existenta la acea vreme. Cu timpul, cercetatorii au descoperit ca o suita de instructiuni simple se poate executa mai rapid decat o singura instructiune complexa, iar diminuarea numarului de comenzi si a complexitatii lor permite reducerea spatiului utilizat de acestea in procesor, avand ca si consecinta cresterea vitezei de lucru, astfel aparand arhitectura RISC (Reduced Instruction Set Comput Computer) er).. In practi practica ca,, proce procesoa soarel relee RISC RISC sunt sunt aproxi aproximat mativ iv de doua doua ori mai mai rapide rapide decat decat omoloagele lor CISC.
d) Executia super-scalara super-scalara SuperSuper-sca scalar lar insea inseamna mna posibi posibilit litate ateaa de a execut executaa mai multe multe instru instructi ctiuni uni simult simultan an prin prin integrarea mai multor unitati de calcul. Primul procesor super-scalar din lumea PC, a fost Pentium; acesta integra doua ALU (Arithmetical Logic Unit).
e) Unelte de dezvoltare Puterea unui procesor este inutila daca nu exista un program care sa-l exploateze la maxim. Programele sunt scrise cu ajutorul limbajelor de programare, dar progresul lor este relativ lent fata de evolutia procesoarelor, ceea ce atrage un decalaj cvasipermanent intre hardware si software. De exemplu, primul compilator care exploata eficient procesoarele Pentium si Pentium II, o versiune a lui Visual C++, a aparut in 1999, abia dupa doi ani de la lansarea Pentium II si la sase ani dupa aparitia Pentium. Chiar daca puterea de calcul a procesoarelor a crescut de sute de ori in 15 ani, nu inseamna ca un program de editare de text este de sute de ori mai rapid. O mare parte din aceasta putere de calcul a fost transmisa catre functii din ce in ce mai numeroase si mai complexe, utile de exemplu in aplicatii multimedia. Astfel, daca in 1981, primul PC avea frecventa de 4,77 MHz, au urmat: 1984 : 8 MHz 1986 : 10 MHz 1987 : 16 MHz 1989 : 25 MHz 1991 : 33 MHz 1992 : 50 MHz 1993 : 66 MHz 1995 : 100 MHz 1997 : 200 MHz 1998 : 400 MHz 1999 : 800 MHz 2000 : 1500 MHz 2001 : 5
2000 MHz 2002 : peste 3000 MHz
CAPITOLUL 2 PROCESORUL - FUNCTIONARE Componenta ce are rolul de a dirija celelalte dispozitive , de a împarti sarcini fiecareia , de a coordona si verifica executia sarcinilor sarcinilor primite . Un calculator calculator nu poate functiona fara fara procesor . Deloc . Procesoarele au avut evolutie rapida de la 8088,8086…80486 , productia fiind asigrata în principal de firma Intel , printre primii producatori de procesoare destinate utilizatorilor privati . Alte firme producatoare sunt AMD , Cyrix , ITD . Procesoarele produse de AMD si Cyrix sunt mai ieftine decât cele produse de Intel si au o arhitectura compatibila cu cele produse de Intel , însa se dezvolta separat . Procesorul i386 a fost primul processor care a inclus 6 faze de executie paralela , la procesoru procesorull 80486 80486 s-a dezvoltat dezvoltat mai mult paralelismul paralelismul executiei executiei prin expandar expandarea ea unitatilor unitatilor de decodificare a instructiunii si de executie într-o banda de asmblare (pieline) cu cinci nivele , astfel ajungându-se ajungându-se la 11 faze paralele . În plus , procesorul 486 are un cache intern de date si instructiuni de nivel L1 de 8Ko pentru a mari procentul instructiunilor ce pot fi executate la viteza de o instructiune pe impuls de tact . La acest processor a fost pentru prima data integrata unitatea de calcul în virgula flotanta (coprocesorul) în acelasi cip cu CPU-ul . Amd a lansat în aceeasi perioada procesorul 486 DX5 cu frecvente pîna la 133 , fara prea mult success. Surprinzator , dupa 486 nu a urmat 586 , decât pentru Cyrix si AMD . Intel a decis sa schimbe formatul numelui trecând la Pentium . Procesorul Pentium a adaugat o a doua banda de asamblare pentru a obtine performante superioare (cele doua benzi de asmblare (U,V) pot executa doua instructiuni pe un impuls de tact); memoria cache s-a dublat , existând un cache de 8 Ko pentru cod si unul similar pentru date . Pentru îmbuna îmbunatat tatire ireaa execu executie tieii ramifi ramificat catiil iilor or din progra programe me s-a implem implement entat at conce conceptu ptull de predic predictie tie a 6
salturilor, introducându-se un tabel pentru memorarea adreselor cele mai probabile la care se fac salturile . Registrele principale au ramas pe 32 de biti , caile interne fiind pe 128 sau 256 de biti , magistrala de date externa – 64 biti .
Proce Procesor sorul ul Pentiu Pentium m are int integ egrat rat un contro controlle llerr de înt întrer rerupe uperi ri avans avansat at (APIC) (APIC) folosi folositt în sistemele multiprocessor . AMD a lansat într-o perioada intermediara procesorul 586 , apoi K5 . dupa 586 pentru Cyrix urmând 6x86 . AMD si Cyrix au ramas multa vreme într-un con de umbra al lui Intel , mai ales ca procesoarele intel Pentium (lansate la frecvente de 75Mhz) s-au dezvoltat rapid , de la frecventa de 166 Mhz fiind adaugate instructiunile MMX (-un set de 57 noi instructiuni , patru tipuri noi de date si un nou dst de registrii pentru a accelera performantele aplicatiilor multimedia si de comunicatii ; MMX MMX se baze bazeaz azaa pe o arhi arhite tect ctur uraa SIMD SIMD (Sin (Singl glee Inst Instru ruct ctio ion, n,Mu Multi ltipl plee Data Data)) , perm permit itân ândd imbunatatirea performantelor aplicatiilor ce folosesc algoritmi de calcul intensivi asupra unor mari siruri de date simple (procesoare de imagini 2D/3D) . Dupa Pentium urmeaza Pentium Pro care are o arhitectura superscalara pe trei cai- poate executa trei instructiuni într-un impuls de tact având un cache L2 de 256 Kb strâns legat de CPU printr-o magistrala dedicata pe 64 de biti. Procesoarele Pentium si Pentium Pro au fost dezvoltate pâna la frecvente de 233 Mhz , urmatorul pas fiind Pentium II (este un PentiumPro cu MMX) si Pentium III. Revenind la AMD , a lansat procesorul Amd K6 ce avea în plus 32kb cache level 1 fata de K5 . Urmatorul pas a fost AMD K6-2 , care a dat o replica MMX-ului de la Intel cu un set de instructiuni numite !3D NOW ; trebuie amintit ca si procesoarele K6 au înglobat instructiuni MMX frecventa maxima atinsa fiind de 500Mhz . AMD K6-3 înglobeaza 256kb level 1 cache ceea cea aduce un spor de viteza substantial Cyrix a ramas în urma , unui 6x86 la 200Mhz corespunzându-i un Pentium la 150Mhz , pe când la AMD seria K6 –K62 a fost extrem de reusita , depasind pe alocuri procesoarele Intel la frecvente echivalente . 7
Fiecare processor din seria x86 este compatibil fizic cu placa de baza , astfel procesoarele se introduc într-un soclu de pe placa de baza , ce are un numar standard de pini (321) .
Pentru a descuraja concurenta , Intel a schimbat modul de conectare a procesoarelor Pentium II-III , conectarea la mainboard facându-se printr-un nou tip de soclu – Sec – Slot 1 ; Intel nu a dat drept de productie (licenta) a acestui soclu firmelor AMD si Cyrix. Ca replica , AMD a conceput procesorul AMD K7 , ce concureaza direct Pentium II prin frecvente de pana la 900Mhz si cache level 2 –512Ko,pentru un nou tip de soclu – Slot A . Succesul pe piata al procesoarelor Intel a fost datorat faptului ca fiecare nou procesor îngloba functiile precedentului (astfel un Pentium II este capabil de executa cod scris pentr 386) , caracteristicî intalnitî rar la început (1980) . Procesoarele Sparc , Alpha , Dec , Risc sunt extrem de scumpe , incompatile cu codul x86 , ele fiind în proiectate pentru aplicatii paralele , volum mare de calcul, sisteme multiprocessor . Firma SPARC a lansat de curînd procesorul pe 64 biti UltraSparc la 1,5 Ghz . Trebuie amintit ca un calculator poate avea unul sau mai multe procesoare . Placile de baza ‘normale’ permit prezenta unui singur procesor , însa sunt producatori ce ofera optiunea de ‘dual processor’ . Astfel în sistemele produse de Digital , HP se pot întâlni între 2-8 procesoare . Problema este ca numai anumite sisteme de operare stiu sa foloseasca multiprocesarea (Linux , SunOs , Unix , WindowsNT) . Astfel în Windows 9x prezenta unui processor suplimentar nu va influenta cu nimic performanta sistemului . Sistemele multiprocessor sunt folosite în servere sau în statii de lucru cu flux mare de date (CAD , GIS , etc) . Un alt motiv de a folosi un sistem multip multiproc rocess essor or este este securi securitat tatea ea oferit oferitaa . Astfel Astfel în cazul cazul unei unei defect defectiun iunii produs produsee la unul unul din procesoare conducerea conducerea va fi luata de celalalt .
8
CAPITOLUL 3 FAMILII DE PROCESOARE FAMILIA DE PROCESOARE INTEL
Familia Intel x86 cuprinde mai multe tipuri de procesoare lansate de firma Intel incepind din 1978 si pina in prezent (1999). In tabelul de mai jos sunt prezentate procesoarele procesoarele familiei impreuna cu principalele caracteristici de performanta.
Tip
Anul lansarii
Latime registre (biti)
Latime Spatiu de Alte caracteristici mag. de adresare date/adres fizic/virt. e 16/20 1Mo primul procesor pe 16 biti
8086
1978
16
8088
1980
16
8/20
80186 80286
1982 1982
16 16
16/20 16/24
80386
1985
32
32/32
80486
1989
32
32/32
Pentium Pentium
1992 1995
32 32
64/32 64/32
1Mo
procesorul folosit pentru primul IBM –PC 1Mo 8086 cu suport I/O pe cip 16Mo procesor pentru IBM-PC,varianta AT 4Go/64T primul procesor pe 32 de biti o 4Go/64T incorporeaza coprocesorul o matematic si unitatea de management management a memoriei 4Go/64T arhitectura pi pipeline su superscalara 4Go/64T primul reprezentant al familiei P6 9
Pro Pentium II, si III
1997, 1999
32
64/32
– realizeaza executia dinamica a instructiunilor 4Go/64T facilitati suplimentare de control al consumului
Ceea ce face din aceste procesoare o familie este compatibilitatea arhitecturala de jos in sus, adica un program scris pentru o versiune mai veche de procesor se poate executa pe orice versiune ulterioara fara modificari. Aceasta compatibilitate este necesara din mai multe considerente: - programele scrise pentru o anumita versiune de procesor pot fi reutilizate pentru versiunile mai noi; firmele de software pot sa investeasca mai mult pentru dezvoltarea unui program, bazinduse pe pastrarea compatibilitatii - progra programa mator torii ii sunt sunt famili familiari ariza zati ti cu o struc structur turaa hardwa hardware re relati relativv stabil stabila; a; modific modificari arile le hardware se mentin pe cit posibil transparente pentru programatori si vizeaza mai ales aspecte de performanta (ex: executia mai rapida a instructiunilor) Mentinerea compatibilitatii, insa, impune anumite restrictii care uneori pot sa limiteze perfo performa rmante ntele le noilor noilor versi versiuni uni (ex: (ex: numaru numarull de regist registre re int intern erne, e, spatiu spatiull de adresa adresare re maxim, maxim, dimensiunea registrelor, etc.). In aceasta lucrare se prezinta cu precadere acele aspecte arhitecturale care s-au pastrat in decursul timpului la versiunile familiei Intel x86.
Componentele de baza
Procesorul I8086 (primul lansat din familie) contine doua unitati functionale autonome: unitatea unitatea de executie executie (EU – Execution Execution Unit) si unitatea unitatea de interfatare interfatare a magistralei magistralei (BIU – Bus Interface Interface Unit); ulterior functionalita functionalitatea tea acestor unitati a fost divizata divizata pe mai multe unitati unitati si s-au adaugat altele ca de exemplu: unitatea de decodificare a instructiunilor, unitatea de segmentare si de paginare, unitatea de management a memoriei cache si procesorul de virgula flotanta. In figura urmatoare s-au reprezentat aceste componente in structura procesorului I8086.
10
Registrele generale , notate cu AX, BX,CX, DX, SP, BP, DI si SI sunt utilizate pentru pastrarea temporara temporara a datelor datelor in vederea vederea efectuarii efectuarii de operatii aritmetico-logi aritmetico-logice; ce; registrele registrele SP, BP, DI si SI pot fi utilizate si pentru adresarea memoriei, iar DX pentru adresarea porturilor de intrare/iesire. Lungimea lor este de 16 biti. Incepind de la versiunea ‘386 aceste registre au fost extinse la 32 de biti (denumirea noua: EAX, EBX, ..). Primele 4 registre pot fi adresate la nivel de octet (ex: AL, AH), cuvint (ex:AX, BX) sau dublu-cuvint(EAX, EBX).Celelalte se adreseaza pe cuvint sau dublucuvint. Pentru anumite tipuri de operatii se utilizeaza in mod implicit anumite registre.
Registrul de stare program PSW: - contine indicatori de conditie (bistabile) a caror stare se modifica in urma executiei unor instructiuni. Acesti indicatori se pot utiliza pentru instructiunile de salt conditionat sau pentru a determina un anumit regim de executie a unui program.
Registrele segment , notate cu CS,DS,ES si SS sunt folosite pentru generarea adresei de memorie pentru instructiuni si date, prin procedeul de segmentare. Incepind de la versiunea ‘386 s-au mai adaugat inca 2 registre segment: FS si GS. 11
sunt regist registre re folosite folosite pentru pentru executi executiaa instru instructi ctiuni unilor lor,, dar dar la care Registrel Registrelee speciale speciale IP, RI sunt programatorul nu are acces direct.
Registrele de control: - sunt registre pentru controlul regimului de lucru al procesorului sau pentru controlul unor functii speciale (ex: segmentare, paginare, memorie cache). Aceste registre pot fi accesate numai in anumite conditii , de catre programe privilegiate.
Unitatea aritmetico-logica: efectueaza operatiile matematice si logice specificate prin instructiuni. Operan Operanzii zii pot fi contin continuti uti in regist registre re int intern ernee si locati locatiii de memorie. memorie. Continut Continutul ul portur porturilo ilorr de intrare/iesire nu se poate utiliza in mod direct la operatii aritmetico-logice. Operatiile se pot efectua pe octet , pe cuvint (16 biti) sau pe dublu-cuvint (32 biti), in reprezentare intreaga fara semn sau in compement fata de 2 (C2). Pentru operatii in virgula flotanta se utilizeaza
Coprocesorul matematic. Initial aceasta unitate era un circuit separat de procesor, dar ulterior ( incepind cu ‘486) ea a fost inclusa in structura procesorului.
Unitatea de adresare: asigura calculul adresei operanzilor pe baza modului de adresare specificat in instructiune. Pentru adresare se utilizeaza registrele segment si anumite registre generale (ex: SI, DI, SP, BP, BX). La variantele mai noi exista unitati specializate pentru segmentare si paginare, care impreuna ofera suportul necesar pentru implementarea memoriei virtuale.
Unitatea de interfatare a magistralei: asigura legatura intre componentele interne ale procesorului si module modulele le sistem sistemulu uluii de calcu calcul,l, extern externee proce procesor sorulu uluii ( module module de memor memorie ie si int interf erfete ete de intrare/iesire); contine amplificatoare de magisrala pentru liniile de date, adrese si comenzi, si circuite de control al transferului de date pe magistrala.
Executia instructiunilor
Un program executabil contine coduri de instructiuni in limbaj masina si date. Pentru a putea fi executat programul ( sau cel putin secventa in curs de executie) trebuie sa se afle in memoria calcu calculat latoru orului lui.. Execu Executia tia unei unei instru instructi ctiuni uni presup presupune une mai multe multe faze: faze: extrag extragere ereaa instru instructi ctiuni unii,i, decodificarea, extragerea operanzilor, executia operatiei si salvarea rezultatului. In timpul executiei instructiunii microprocesorul comunica cu celelalte componente ale sistemului ( memorie, interfete de intrare/iesire) prin intermediul magistralei.
12
Pe magistrala se transfera instructiuni si date, care se pastreaza in locatii de memorie si porturi de intrare/iesire. Pentru regasirea informatiilor se utilizeaza semnale de adresa si semnale de comanda. Aceste semn semnal alee dete determ rmina ina spat spatii iile le de adre adresa sare re ale ale proc proces esor orul ului ui:: spat spatiu iull de memo memorie rie si spat spatiu iull de intrare/iesire. Transferul de informatii intre procesor si celelalte componente de pe magistrala se realizeaza prin cicluri masina. Un ciclu masina poate sa dureze un numar variabil de perioade de ceas. Pe durata unui ciclu masina se transfera o singura data (octet, ( octet, cuvint sau dublu-cuvint) a carei sursa sau destinatie se aflata la adresa specificata prin semnalele de adresa si de comanda. Incepind cu procesorul Pentium mecanismul de transfer pe baza de cicluri masina a fost inlocuit cu cel bazat pe tranzactii. Avantajul utilizarii tranzactiilor consta in posibilitatea efectuarii simultane a mai multor transferuri de date.
Moduri de adresare Citirea sau scrierea unei locatii locatii de memorie necesita specificarea specificarea adresei acesteia. acesteia. Modul de determinare a acestei adrese depinde de modul de adresare utilizat. Procesoarele din familia Intel x86 dispun de o gama variata de moduri de adresare, ceea ce ofera flexibilitate si eficienta in programare. Diversele moduri de adresare ofera suportul necesar pentru implemenatrea accesului la diferi diferite te struc structur turii de date date
spec specific ificee lim limbaj bajelo elorr de nivel nivel inalt inalt (ex: (ex: varia variabil bilee simple simple,, tablou tablouri, ri,
inregistrari, etc.).
Moduri pentru adresarea datelor: a. Adresarea imediata b. Adresarea de tip registru c. Adresarea directa d. Adresarea indexata e. Adresarea bazata f. Adresarea bazat indexata g. Adresarea de tip stiva h. Adresarea pe siruri
13
Modurile Modurile de adresare adresare enumerate enumerate mai sus determina determina adresa adresa unui operand operand in cadrul cadrul unui segment (adresa offset). Pentru a determina adresa fizica a unei date trebuie sa se utilizeze informatia informatia continuta continuta in registrul registrul segment folosit folosit in mod implicit implicit (CS – cod, DS - date, date, SS- stiva), sau specificat in mod explicit. In regimul de lucru “real” adresa fizica se calculeaza in felul urmator: adresa de segment (continuta intr-un registru segment) se deplaseaza la stinga cu 4 pozitii binare (o pozitie hexazecimala) dupa care se aduna la adresa de offset. In regimul de lucru protejat informatia continuta in registrele segment reprezinta “descriptori” de segment iar calculul adresei fizice este diferit.
Evolutia familiei INTEL
Inventarea microprocesorului în 1971 de către Ted Hoff în laboratoarele Fairchild a avut o importanţă mult mai mare decît s-a prevăzut iniţial, căci dincolo de aplicaţiile imediate, de control, el a făcut posibilă apariţia microcalculatorului, un dispozitiv electronic folosit pentru prelucrarea informaţiei cu ajutorul unor semnale electrice produse de circuite plasate pe o pastilă de siliciu. Complexitatea microprocesorului microprocesorului a crescut de la cîteva circuite pînă la circuitul integrat pe scară foarte largă (VLSI), care adună peste 100.000 de circuite pe aceeaşi pastilă. Constructorul de microcalculatoare are de ales dintr-o gamă largă de microprocesoare, circuite de memorie, de interfaţă în variante constructive nMOS, CMOS, I2L, factorul primordial de alegere fiind raportul preţ / performanţă . Microprocesorul este, după cum am amintit, cea mai importantă componentă a sistemului. El prelucrează aproape toate informaţiile din interiorul unui microcalculator, citeşte instrucţiuni şi date din memorie, execută execută prelucrări prelucrări asupra lor, le trimite trimite sau le primeşte primeşte către/dinspre către/dinspre periferice periferice prin instrucţiu instrucţiuni ni de intrare ieşire. ieşire. Cunoscut Cunoscut şi sub numele de unitate unitate centrală centrală,, microproc microprocesoru esorull este un circuit integrat digital care prelucrează informaţia în mod secvenţial
Microprocesoarele se clasează după numărul de biţi din cîmpul de adrese şi lărgimea cuvân cuvântul tului. ui. Modul Modul în care care datele datele sînt sînt manev manevrat ratee în int interi erioru orull microp microproc roceso esorul rului ui depin depindd de 14
organizarea internă, de arhitectura căilor de date şi de adrese. Viteza de prelucrare a microprocesorului este în mod direct legată de arhitectura acestuia şi de calităţile tehnologice ale circuitelor componente.Dimensiunea cîmpului de adrese determină mărimea spaţiului fizic de memorie care poate fi adresat de microprocesor. De exemplu, un microprocesor pe 8 biţi are un cîmp de adrese cu lărgimea de 16 biţi. Spaţiul de memorie care poate fi adresat este de 2 16 locaţii, adică 64 000 de locaţii de memorie. Procesorul 8086 dispune de un cîmp de adrese de lăţime de 20 de biţi. Ca atare acesta poate accesa 220 locaţii, adică pînă la l milion de locaţii de memorie. Magistrala de adrese de 24 de biţi a lui 80286 permite adresarea a 16.000.000 de locaţii; cea de 32 de biţi a lui 80386 adresează un spaţiu liniar de memorie de 4 miliarde de octeţi. Lărg Lărgim imea ea căil căilor or de date date infl influe uenţ nţea ează ză în mod mod dire direct ct perf perfor orma manţ nţel elee de vite viteză ză ale ale microprocesorului. Dimensiunea mai mare a căilor de date înseamnă prelucrarea şi manipularea unei cantităţi mai mari de informaţie pe unitatea de timp. Lărgimea bus-ului de date determină şi rata de transfer din şi către unitatea centrală în lucrul cu perifericele. Un bus de date mai larg înseamnă transferuri mai eficiente, deci o performanţă de viteză mare. Spre exemplu, microprocesoarele 8086 şi 8088 sunt funcţional identice. Diferă însă sub raportul lărgimii bus-ului de date pentru operaţiile de intrare/ieşire. 8086 dispune de 16 biţi de date pentru lucrul cu intrarea/ieşirea, în timp ce 8088, de numai 8 biţi. Ca o consecinţă, 8086 este cu 20% mai rapid decît 8088. Frecvenţa ceasului de bază este parametrul cel mai important legat de tehnologia de realizare a microprocesorului. Viteza microprocesorului depinde în mod invers proporţional de perioada de timp în care microprocesorul execută o operaţie elementară. Cu cît aceasta este mai mică, cu atît numărul de operaţii elementare executate într-o unitate de timp este mai mare. Cum instrucţiunile microp microproc roces esoru orului lui sînt sînt consti constitui tuite te din succe succesiu siunea nea unor unor operaţ operaţii ii elemen elementar tare, e, rezult rezultăă de aici aici implicaţia directă asupra vitezei de lucru a microprocesorului.
După cum am mai spus, creşterea vitezei este limitată de caracteristicile tehnologice ale realizării microprocesorului. 15
O privire asupra evoluţiei microprocesoarelor INTEL în timp, relevă evoluţia acestor factori menţionaţi anterior. INTEL 4004 -
primul microprocesor; apărut în 1971, realizat în tehnologie PMOS,
înglobează 2.250 de tranzistoare pe pastila de siliciu. Prelucrare pe 4 biţi, ceas de 740 KHz, viteza 60.000 60.000 de operaţ operaţii/s ii/secu ecundă ndă,, memori memoriee adresa adresabil bilăă 4 Koct, Koct, set de 45 instru instrucţi cţiuni uni orient orientate ate pe operaţiuni aritmetice. INTEL 8008
- apărut în 1972, microprocesor pe 8 biţi, tehnologie PMOS, grad de
integrare 3.300 tranzistoare pe pastila de siliciu, ceas 800 KHz, viteza 30.000 operaţii/secundă, memorie adresabilă 16 Koct, set de 48 de instrucţiuni. INTEL 8080-tehnologie
NMOS, grad de integrare 4.500 de tran zistoare pe capsulă,
capacitate de adresare 64 Koct, frecvenţa ceasului 2,083 MHz, 200.000 de operaţii/secundă, set de 72 de instrucţiuni.Succesul deosebit al lui 8008, a determinat INTEL să proiecteze şi să lanseze pe piaţă, piaţă, în aprilie aprilie 1974, 1974, microproc microprocesoru esorull 8080. 8080. Prin versatilit versatilitate, ate, acest acest microproc microprocesor esor a determina determinatt apariţia a nenumărate aplicaţii care au înglobat circuitul. INTEL 8086/8088.
În 1978, INTEL a deschis seria microprocesoarelor pe 16 biţi prin
8086, care înglobează cca 29.000 de tranzistoare pe capsulă, lucrează cu un ceas de 4 sau 8 MHz şi execută 330.000 de operaţii/secundă. operaţii/secundă. Putînd adresa fizic şi virtual l Moct de memorie cu o mărime a segmentului de 64 Koct, 8086 era un microprocesor cu adevărat puternic la momentul respectiv. Şi totuşi, piaţa 1-a acceptat cu greu -reticentă la 16 biţi - nedispunînd de circuite suport pe 16 biţi. Iată de ce în 1979, INTEL corectează eroarea de apreciere a pieţei lansînd microprocesorul 8088, identic cu 8086 sub aspectul arhitecturii interne, dar mai bine adaptat la mediul foarte răspîndit de 8 biţi, comunicînd cu exteriorul pe 8 biţi, un hibrid perfect între 8 şi 16 biţi.Opţiunea gigantului IBM pentr pentruu acest acest microp microproc roceso esor, r, pentru pentru realiz realizare areaa primul primului ui calcu calculat lator or perso personal nal IBM (IBM (IBM PC) PC) a reprezentat un factor hotărîtor în susţinerea pe mai departe a firmei INTEL.
Prin Prin IBM PC cele cele două două microp microproc roceso esoare are 8086/8 8086/8088 088 au consti constitui tuitt baza baza calcu calculat latoar oarelo elor r personale acceptată ca standard industrial. Tot pe baza structurii IBM s-au dezvoltat programe 16
devenite standard şi produse standard disponibile astăzi pe piaţa de calculatoare personale. Tactica de "urmărire a leaderului" leaderului" a făcut, de asemenea, să apară mii de calculatoare IBM PC. Prin aceasta şi prin tactica sistemului deschis prin care utilizatorii aveau posibilitate să dezvolte aplicaţii (plăci adiţionale) care să poată fi introduse în calculatorul personal IBM s-a multiplicat şansa proliferării standardului IBM în domeniul calculatoarelor personale. Este exemplul unei strălucite reuşite în domeniul marketingului. Evoluţia lui IBM a fost legată pentru multă vreme de 8086/8088, în fapt o întreagă generaţie de PC, IBM PC original, IBM PC XT, IBM 3270 PC, PC Jr, PC Portable (Hurricane) şi PC Convertible.În scurt timp alternativa compatibilităţii IBM se deplasează din domeniul opţiunii în domeniul necesităţii.Doar APPLE, credincioşi propriului mit şi vocaţiei originalităţii, continuă să supravieţuiască în mod miraculos, ca o strălucită excepţie care confirmă regula, într-o lume de compatibili IBM. INTEL 80286 . În 1982,
INTEL lansează 80286, un microprocesor realizat într-o tehnologie
superioară faţă de predecesorul său 8086. Însumînd peste 135.000 de tranzistori pe capsulă, lucrînd cu frecvenţe de ceas de 6, 8, 10, 12 MHz, sau chiar 16 MHz, putînd să atingă pînă la 2,1 milioane de instrucţiuni pe secundă, accesînd un spaţiu de memorie real de pînă la 16 Moct şi un spaţiu de memorie virtual de pînă la l Goctet, 80286 reprezintă în domeniul celor 16 biţi un salt deosebit. Păstrînd compatibilitatea totală la nivel de cod obiect cu 8086, realizează performanţe de 2,5 ori mai bune decît 8086, chiar dacă se foloseşte aceeaşi frecvenţă de ceas şi nici una din instrucţiunile sale suplimentare. IBM a fost primul producător mare care a utilizat 80286 atunci cînd a introdus PC AT în 1984. De atunci au urmat multe calculatoare compatibile AT. IBM a continuat să utilizeze acest microprocesor în noua sa generaţie de calculatoare personale IBM PS2, modelul 30 286, 50 şi 60. Principalul atu al lui 286 a fost, desigur viteza. Arhitectura sa are în vedere un grad înalt de paralelism în execuţia instrucţiunilor, ceea ce îi conferă caracteristici superioare predecesorului predecesorului său.
17
Mecanismele intrinseci implementate în logica sa internă sînt mai bine adaptate lucrului sub controlul unui sistem de operare multitasking. Pentru prima oară, programe sofisticate, cum ar fi gestiunea bazelor mari de date, programe de proiectare automată (CAD), sau programe sofisticate de editare pot fi rulate independent de calculatoare mini sau medii, pe calculatoare personale. Dar, pe măsură ce aplicaţiile pe calculatoarele personale au depăşit etapa procesării de texte şi a programelor de tip "spreadsheet" şi au intrat în domeniul sofisticat al produselor bazate pe grafica de tip WINDOWS, arhitectura pe 16 biţi a lui 80286 a început să-şi eviden ţieze limitările. În anii 80, 8086/8088 păreau puternice. Limita adresării a l Moctet de memorie părea o ştachetă îndepărtată pentru programe ce solicitau 256K, 512K şi în fine 640 Kocteţi de memorie. În momentul în care programe sofisticate au împins limita cerinţelor peste l Moctet de memorie, au trebuit să se imagineze tehnici complexe, aşa cum sînt comutarea bankurilor de lucru (EMS), sau programe de supra punere (overlay), sau terminate and stay resident (TSR). Aceste programe au pre prelu lung ngit it viaţ viaţaa lui lui 286, 286, dar dar au im impu puss li limi mită tări ri de perf perfor orma manţ nţăă şi de func funcţi ţion onar aree asup asupra ra aplicaţiilor.Compatibilitatea cu 8086 este asigurată la 80286 prin existenţa a două moduri de lucru: mod real (8086/8088) şi mod protejat (80286). în mod real, 80286 se prezintă din exterior ca un 8086, putînd accesa l Moctet de memorie. În mod protejat poziţionarea prin program a unui bit de stare permite adresarea unui spaţiu de 16 Mocteţi. Dezvoltînd sistemul de operare OS/2, MICROSOFT a întîlnit o problemă majoră generată de inexistenţa unui mecanism hardware de întoarcere din mod protejat în mod real, fapt care conducea la oprirea procesorului în aceste situaţii. Microsoft a rezolvat problema printr-o comutare de moduri echivalentă cu un reset al sistemului sistemului.Dar .Dar cea mai mare constrîngere constrîngere impusă software-ului
este modul de programare segmentat al familiei INTEL.
Pentru a depăşi bariera celor 64 Kocteţi proprie microprocesoarelor pe 8 biţi, şi pentru a păstra compatibilitatea pe mai departe cu acestea, INTEL a introdus arhitectura segmentată odată cu 8086/8088.
Prin extinderea bus-ului de adrese de la 16 la 24 de biţi, utilizînd o tehnică de
suprapunere, microprocesorul poate adresa l Moctet de memorie. Totuşi, aplicaţii utilizînd structuri de date şi programe lungi trebuie încă să segmen teze memoria în felii de 64 K. Acest lucru incomodează şi forţează programatorii să partiţioneze o aplicaţie în segmente multiple de cod şi de date. 18
Programele şi structurile de date care depăşesc graniţa celor 64 Kocteţi solicită tehnici foarte f oarte complicate şi nu pot elibera aplicaţia, sau limbajul sursă de dificultatea de a manevra segmente de cod şi date. În sfîrşit, 80286 este lipsit de mecanisme hardware pentru implementarea efectivă a conceptului de memorie virtuală, o tehnică prin care capacitatea mare a discurilor de masă este văzută ca şi cum ar fi propria memorie RAM a calculatorului. El realizează aceasta prin programe sofisticate care, ele însele consumă timp şi spaţiu de memorie. Dar punctul slab al lui 80286 este că încearcă să rezolve probleme de anvergură rămînînd în domeniul celor 16 biţi. INTEL INTEL 80386 80386 .
În 1985 1985,, INTE INTEL L a intro introdu duss mi micr crop opro roce ceso soru rull 8038 80386. 6. Dacă Dacă cele celela lalt ltee
microprocesoare aduceau inovaţii, mai mult sau mai puţin importante, 80386 a reprezentat un salt calitativ revoluţionar faţă de predecesori, în condiţiile păstrării compatibilităţii cu programele dezvoltate pentru 8086/80286.Principala inovaţie este faptul că arhitectura procesorului este pe 32 de biţi, atît internă cît şi externă. 80386 este produs utilizînd tehnologia CHMOS II, un proces care combină calităţile de înaltă frecvenţă ale tehnologiei HMOS, cu cele de consum mic de putere proprii tehnologiei CMOS. Utilizînd geometria de 1,5 u şi 2 straturi metalice, produsul compactează pe plăcuţa de 1/4" de siliciu mai mult de 275.000 de tranzistoare şi un milion de componente electronice. INTEL 80486 .
Beneficiind de o tehnologie superioară, 486 este mai rapid şi înglobează în
structura sa circuite care în mod tradiţional erau circuite suport exterioare, cum ar fi: controllerul pentru memoria cache, coprocesorul matematic şi de periferie: porturile de comunicaţie şi suportul pentru grafica de mare viteză. In plus, circuitul poate susţine lucrul cu procesoare multiple.
Era Pentium (1993-1998)
Intel Pentium (22 martie 1993)
La 19 octombrie 1992, Intel a anunţat că cea de a cincea generaţie a liniei sale de microprocesoare compatibile (codificată P5), se va numi procesor Pentium şi nu 586 aşa cum a crezut toată lumea. Ar fi fost normal să se numească 586, dar Intel a descoperit că nu îl poate breveta cu un nume de formă numerică, iar compania vroia să-i împiedice pe ceilalţi producători să denumească denumească la fel f el cipurile copii pe care le-ar putea proiecta. 19
Cipul Pentium este integral compatibil cu procesoarele Intel anterioare, dar se şi deosebeşte de acestea in multe privinţe. Cel puţin una dintre aceste deosebiri este majoră: cipul Pentium are două canale identice de procesare a datelor, ceea ce ii permite să execute două instrucţiuni in acelaşi timp. tim p. Intel Intel numeş numeşte te aceast aceastăă capac capacita itate te de a execut executaa simult simultan an două două instru instrucţi cţiuni uni,, tehnol tehnologi ogiee superscalară (procesare paralelă).
Această tehnologie asigură performanţe suplimentare faţă de cea a procesorului 486.Cipul standard 486 executa o instrucţiune, în medie, în două perioade de tact, ajungând până la o singură perioadă pe instrucţiune prin introducerea multiplicării interne a tactului, la procesoarele DX2 şi DX4. DX4. Dato Datori rită tă tehn tehnol olog ogie ieii de proc proces esar aree para parale lelă lă,, cipu cipull Pent Pentiu ium m poa poa te exec execut utaa mai mai mult multee instrucţiuni cu viteza de două instrucţiuni pe ciclu de ceas. Arhitectura superscalară este de obicei asociată cu cipurile evoluate RISC (Reduced Instruction Set Computer procesoare cu set redus de instrucţiuni). Procesorul lucra cu o magistrala de date de 64 de biti (cu toate ca a fost un procesor pe 32 de biti) si a fost lansat initial la viteze de 60 si 66 de MHz. Au urmat insa foarte rapid versiuni de 75, 90, 100, 120, 133, 150, 166, 200, 233 MHZ. De fapt au existat trei versiuni de Pentium: prima versiune care nu cuprindea decat doua modele: Pentium la 60 si la 66MHz, a doua versiune care a adaugat instructiunile MMX si o ultima versiune care a micsorat distanta dintre tranzistoare permitand astfel viteze mai mari care au ajuns pana la 233MHz. Intel Pentium a fost primul microprocesor pentru PC-uri care putea sa calculeze mai mult de 100MIPS (milioane de instructiuni pe secu secunda nda). ). Tot pentru pentru prima prima oara oara era posibi posibila la constr construir uirea ea unor unor sistem sistemee care care sa lucrez lucrezee cu 2 procesoare in paralel (sisteme multiprocesor). Microprocesorul de la Intel venea cu 16Kb de cache incorporati in pastila de siliciu.
Intel Pentium Pro (1 noiembrie 1995)
Acest procesor a fost una dintre cele mai mari inovatii tehnice produse de Intel pana acum. Procesorul ingloba pentru prima oara in istorie pe langa cache-ul Level1 de 8k pentru date si 8k pentru instructiuni, si un cache Level2 de 256Kb sau 512Kb. Folosea un sistem complex de predictie a ramurii de executie (branch prediction) si executie speculativa (speculative execution) in momentul in care executia programului ajungea la o bifurcatie ramura corecta nu era stiuta pana 20
in momentul in care se executa instructiunea conditionala; pentru ca procesorul sa nu astepte pana in acea clipa, se alegea una din cele doua ramuri si se incepea executia instructiunilor respective; daca se dovedea ca ramura aleasa a fost f ost cea corecta aceasta insemna un castig important de viteza. Acest microprocesor transforma instructiunile x86 in microoperatii care erau mult mai mici si mai rapide. Acest lucru, cu toate ca avea ca rezultat o viteza mult mai mare a instructiunilor de 32 de biti, a dus la performante mult mai slabe in sistemele de operare care mai contineau cod pe 16 biti. Acesta a fost unul din motivele performantei mai mici comparabil cu Intel Pentium in Windows 95 de exemplu.
•
Intel Pentium MMX (Ianuarie 1997) MMX s-a crezut initial ca inseamna MultiMedia eXtension, dar Intel a declarat ca inseamna
Matrix Matrix Math eXtension. eXtension. Acesta reprezinta reprezinta un standard standard introdus de Intel care aduce aduce cateva cateva noi instructiuni care usurau in principal calculele matematice cu vectori.
PROCESOARELE CYRIX
Arhitectura x86 Corporaţia Cyrix este unul dintre furnizorii de bază ai soluţiilor bazate pe microprocesoare, care a introdus noi standarde pe piaţa calculatoarelor personale. În ultimii zece ani Cyrix a dezvoltat aproape o duzină de procesoare originale folosite în milioane de calculatoare din întreaga lume. În luna noiembrie a anului 1997, Cyrix a fost cumpărată de National Semiconductor. Această fuziune a adus două componente importante pentru Cyrix: capacitatea de producţie la nivel mondial a National Semiconductor şi infrastructura necesară acestei producţii. Primul produs Cyrix a fost un coprocesor matematic destinat creşterii vitezei de realizare a calcu calculel lelor or matem matemati atice. ce. Succes Succesul ul acest acestui ui copro coproce cesor sor matem matemati aticc a permi permiss celor celor de la Cyrix Cyrix să distribuie începând cu 1992, primul procesor din familia x86. Compania a dezvoltat rapid o linie de producţie pentru procesoarele 486, şi apoi pentru procesoarele din generaţia a cincea, 5x86, un CPU pentru sistemele PC (mobile şi desktop). În 1995, Cyrix a introdus procesorul din generaţia a şasea, 6x86, un procesor superscalar, bazat pe o superbandă de asamblare; în iunie 1997, a introdus procesorul MMX 6x86MX, iar în 1998 a apărut procesorul MII. 21
•
Procesorul Procesorul Cyrix 5x86 Familia de procesoare 5x86 reprezintă o nouă generaţie pe 64 de biţi compatibilă x86.
Unitatea centrală se bazează pe o bandă de asamblare cu şase nivele, putând executa o instrucţiune într-un impuls de tact. Unitatea centrală 5x86 este divizată în următoarele blocuri funcţionale -unitatea pentru numere întregi (Integer Unit - IU) I U) -unitatea în virgulă flotantă (Floating Point Unit – FPU) -unitatea cache (Write-Back Cache) -unitatea pentru gestiunea memoriei (Memory Management Unit - MMU) -unitatea de interfaţă cu magistrala (Bus Interface Unit - BIU). BIU) . Unitatea pentru numere întregi conţine: -tamponul pentru instrucţiuni (Instruction Buffer - IB) -unitatea de aducere a instrucţiunii (Instruction Fetch Unit - IF) -unitatea de decodificare a instrucţiunii (Instruction Decoder Unit - ID). Instrucţiunile sunt executate în unitatea pentru numere întregi sau în unitatea de calcul în virgulă flotantă. Cache-ul conţine cele mai recent utilizate date şi instrucţiuni şi asigură accesul rapid la aceste date din partea IU şi FPU.
Unitatea cache
Procesorul Cyrix 5x86 conţine un cache unificat pentru date şi instrucţiuni de 16Ko, setasociativ pe patru căi, organizat pe 1024 de linii. Scrierile în cache se fac prin metoda write-back. Memoria cache este organizată în patru bancuri a câte 256 linii fiecare, cu 16 octeţi pe linie. Fiecare linie cache are asociat câte un tag pe 21 de biţi şi un bit de valid (arată dacă linia conţine informaţii valide sau nu). Pe lângă aceşti biţi, fiecare linie mai conţine încă patru biţi care indică dacă conţinutul liniei a fost modificat (dirty bits), câte unul pentru fiecare dublu-cuvânt din linie. Aceşti ultimi patru biţi permit marcarea independentă a fiecărui dublu-cuvânt ca fiind modificat, în loc de a marca întreaga linie ca fiind modificată.
Procesorul Procesorul Cyrix 6x86 22
Procesorul Cyrix 6x86 este cel mai performant dintre procesoarele de generaţia a şasea compa compatib tibile ile x86. x86. Îmbună Îmbunătăţ tăţire ireaa perfor performan manţel ţelor or este este realiz realizată ată prin prin uti utiliz lizare areaa unei unei arhite arhitectu cturi ri superscalare, bazate pe o superbandă de asamblare. Cyrix 6x86 este un procesor superscalar, deoarece conţine două benzi de asamblare separate ce permit procesarea mai multor instrucţiuni în acelaşi timp. Folosirea unei tehnologii de procesare avans avansate ate şi creşte creşterea rea număru numărului lui de nivele nivele în benzil benzilee de asamb asamblar laree (supe (superpi rpipel pelini ining) ng) permit permit procesorului 6x86 să atingă frecvenţe de lucru mai mari de 100MHz. Prin folosirea caracteristicilor arhitecturale unice, procesorul 6x86 elimină multe dintre dependenţele între date şi conflictele la accesarea resurselor, rezultând o performanţă optimă atât pentru programele pe 16 biţi cât şi pentru cele pe 32 de biţi. Procesorul Cyrix 6x86 conţine două cache-uri: -un cache unificat (pentru date şi pentru instrucţiuni) de 16Ko dual port, şi -un cache de instrucţiuni de 256 octeţi. Deoarece Deoarece cache-ul cache-ul unificat unificat poate conţine instrucţiuni instrucţiuni şi date în orice raport, acesta acesta oferă o rată a hit-urilor (numărul de accese în cache, raportat la numărul total de accese) mai mare comparativ cu două cache-uri separate pentru date şi pentru instrucţiuni, având dimensiuni egale. O creştere a lăţimii de bandă a transferurilor cache-unitatea întreagă este realizată prin suplimentarea cache-ului unificat cu un mic cache de instrucţiuni foarte rapid, complet asociativ. Prin includerea acestui cache de instrucţiuni, se evită conflictele excesive între accesele pentru date şi pentru cod în cache-ul unificat. Unitatea în virgulă flotantă din procesor permite executarea instrucţiunilor în virgulă flotantă în paralel cu instrucţiunile întregi Procesorul 6x86 este alimentat la 3.3V ducând la un consum redus pentru toate frecvenţele de lucru. În plus, 6x86 mai posedă un mod de suspendare pe nivel scăzut, posibilitatea de a întrerupe tactul şi modul de management al sistemului (SMM) pentru aplicaţiile sensibile la alimentare.
Procesoarele Procesoarele Cyrix 6x86MX şi MII
Aceste Aceste proce procesoa soare re au la bază bază nucleu nucleull proces procesoru orului lui 6x86, 6x86, îmbună îmbunătăţ tăţit it cu cele cele 57 instru instrucţi cţiuni uni multimedia noi, compatibile cu tehnologia MMX. În plus, 6x86MX şi MII lucrează la frecvenţe mai
23
mari, conţin un cache de dimensiune mai mare, un tampon destinat translatării adreselor liniare în adrese fizice (TLB) pe două nivele şi un cache destinat adreselor de salt îmbunătăţit. Pentru a oferi suportul pentru operaţiile multimedia, cache-ul poate fi transformat într-o memorie RAM scratchpad. Această memorie funcţionează ca o memorie privată pentru CPUşi nu participă în operaţiile cache.
Cyrix MediaGX (1998)
MediaGX MediaGX a reprezentat reprezentat încercarea încercarea lui Cyrix de a produce produce un chip care să integreze integreze atât funcţiile de sunet şi video, cât şi controller-ul de memorie şi CPU-ul în sine. Scopul acestui chip a fost fost acela acela de a putea putea produc producee comput computere ere foarte foarte ieftine ieftine şi la vremea vremea aceea aceea deja deja se vorbea vorbea de calculatoare sub 500$ (ceea ce era foarte puţin la acea dată) construite în jurul lui MediaGX. Cu toate acestea, nici unul din marii producatori de computere nu a adoptat aceasta soluţie, astfel încât procesorul acesta, deşi revoluţionar, nu a avut deloc succesul scontat.
FAMILIA AMD
AMD K5 / Nexgen Nx586 (1995)
AMD a reactionat destul de tarziu in a lansa un procesor comparabil ca viteza cu Intel Pentium. In 1995 a produs totusi primul sau procesor care era conceput integral de catre ei, nemaifiind o simpla clona a procesoarelor Intel. Acest procesor s-a numit K5 si avea viteze de la 75 la 166MHz. Cu toate acestea nu era un procesor mai rapid decat cele de la Intel, in plus avand o unitate de calcul in virgula mobila destul de slaba (ca si Cyrix de altfel). Una din inovatiile aduse de K5 era faptul ca instructiunile x86 erau transformate intern in ROP (Risc OPerations).
Aceste operatii RISC se puteau executa in nucleul RISC al procesorului care era mult mai rapud. In acelasi timp o companie de care putina lume auzise pana atunci, Nexgen, lansa primul sau procesor: Nx586. Complexitatea procesorului K5 a dus la frecvente fr ecvente destul de mici, ceea ce i-a facut pe cei de la AMD sa cumpere compania Nexgen care tocmai terminase design-ul noului lor 24
proce procesor sor,, NX686. NX686. Acest design design a fost fost ult ulteri erior or folosi folositt de AMD in urmato urmatoare areaa sa famili familiee de procesoare pe care avea sa o lanseze in 1997.
AMD K6 (Aprilie 1997)
Ca urmare a cumpararii firmei Nexgen, AMD a reusit sa lanseze un nou procesor, K6 care avea viteze de la 166 la 266MHz. Bineinteles ca politica AMD a fost ca procesoarele sale sa se vanda la aproape jumatate din pretul la care se vindeau procesoarele Intel. K6 incorpora instructiuni MMX MMX (a caro carorr li lice cent ntaa a cump cumpar arat at-o -o de la Inte Intel) l) deve deveni nind nd astf astfel el un riva rivall de temu temutt pent pentru ru procesoarele Intel Pentium MMX.
25
CAPITOLUL 4 CUM SE FABRICĂ UN PROCESOR ? Dacă Da că te tehn hnol olog ogii iile le ne nece cesa sare re fa fabr bric icăr ării ii un unui ui mi micr crop opro roce ceso sorr su sunt nt deosebit de complexe, principiul este relativ simplu: realizarea - prin diverse procedee: fotolitografie, implant de ioni, difuzie - a unui număr de straturi (layere) suprapuse, cu proprietăţi fizice şi electrice bine precizate. Vom detalia mai departe tehnologia CMOS standard: a) se decupează o plachetă fină (0,5 - 1 mm, denumită şi
wafer ) de siliciu cristalin de înaltă
puritate, care se oxidează termic, apoi se acoperă cu un strat fotosensibil; b) se desenează circuitele electronice pe stratul fotosensibil, prin expunerea la o sursă luminoasă specială printr-o mască (dedicată layerului, şi anume negativul acestuia); c) ansamblul se spală într-o soluţie revelatoare, care îndepărtează materialul ce nu a fost expus luminii; d) se aplică materialele semiconductoare pentru a construi componentele electronice prin umplerea straturilor; tranzistorii rezultaţi sunt conectaţi între ei prin legături de aluminiu sau mai recent, de cupru; e) se repetă paşii b) - d) în funcţie de numărul de straturi necesare; f) după realizarea tuturor layerelor necesare, are loc o operaţie de pasivizare prin care suprafaţa plachetei de siliciu este acoperită cu un strat de oxid mai gros, de protecţie; g) realizarea conexiunilor dintre componente şi a punţilor de conectare ( bond-pad -urile) -urile) cu exteriorul, prin creştere/depunere de straturi conductoar conductoare; e; h) separarea chip-urilor: fiecare placă de siliciu conţine un număr mai mare sau mai mic de chip-uri distincte; 26
i) urmează apoi conectarea la pinii capsulei şi încapsularea; procesorul se acoperă cu un material protector din ceramică, plastic şi/sau metal.
CAPITOLUL 5 PROTECŢIA MUNCII Protecţia muncii este un ansamblu de masuri tehnice, sanitare şi organizatorice, având ca scop ocrotirea vieţii şi sănătăţii, celor care muncesc. La instalaţiile electrice tensiunea electrică nu poate fi sesizată, pentru ca omul să poată fi prevenit asupra posibilelor pericole. În cazul în care omul atinge simultan două corpuri bune conducătoare de electricitate între între care există o diferenţă de potenţial electric de exemplu după conductoare electrice neizolate, corpul său va fi străbătut de un curent electric, accident care se numeşte electrocutare. Electrocutarea poate avea loc prin atingerea directă a părţilor din circuitele electrice sau prin atingerea indirectă, adică atingerea unei părţi metalice care nu face parte din circuitul electric dar este pus accidental sub tensiune. Tensiunea la care este supus omul la atingerea unui obiect intrat accidental sub tensiune este numită tensiune de atingere. Efectele trecerii curentului electric prin corpul omului sunt: şocul electric şi electrotraumatismele. Factorii de care depinde gravitatea electrocutării sunt: -
rezistenţa electică a corpului uman
-
calea de trecere a curentului prin corp
-
tensiunea la care este supus omul
-
frecvenţa curentului electric.
Principalele pentru evitarea electrocutărilor prin atingere directă sunt: ●legarea la nul 27
●legarea la pământ ●separarea de protecţie ●izolarea suplimentară de protecţie ●folosirea tensiunilor reduse ●protecţia prin deconectarea automat
Protecţia împotriva electrocutării La alegerea măsurilor pentru protecţia împotriva electrocutării, se au în vedere caracteristicile locurilor de muncă, acestea clasificându-se în trei categorii, în funcţie de gradul de pericol: -
locuri de muncă foarte periculoase
-
locuri de muncă periculoase
-
locuri de muncă cu grad mic de pericol
Protecţia împotriva electrocutării se face în funcţie de modul de atingere: directă sau indirectă. Principalele măsuri pentru evitarea electrocutărilor prin atingere involuntară sunt: -proiectarea şi construirea instalalaţiilor şi echipamentelor electrice astfel încât elementele aflate normal sub tensiune să nu poată fi atinse întâmlător. -folosirea unor pardoseli din materiale izolate -folosirea unor tensiuni reduse Principalele masuri pentru evitarea electrocutărilor prin atingere directă sunt: ●legarea la nul ●legarea la pământ ●separarea de protecţie ●izolarea suplimentară de protecţie ●folosirea tensiunilor reduse ●protecţia prin deconectarea automată
28
BIBLIOGRAFIE
-
Hardware - Justin Frankel
-
Comunicaţia prin intermediul reţelelor de calculatoare - -Gheorghe Toacse
-
Introducere în microprocesoare
-
Prezentarea sistemului de operare MS-DOS - Andra Sandru
-
Reţele de calculatoare - Valentina Cristea
-
Calculatorul fără secrete - Dan Ionescu
29
CUPRINS
Argument …………………………………………................1 Capitolul 1: Microprocesorul ………………....……………..3 Caracteristicile procesorului.............................. procesorului.................................3 ...3 CAPITOLUL 2: Procesorul – Functionare .............................6 .............................6 CAPITOLUL 3 : Familii de procesoare ………………....…..9 Familia de procesoare Intel ........................................9 Procesoarele Cyrix ……………….....………..…......21 Familia AMD .................................. ......................................................... ...........................24 ....24 CAPITOLUL 4: Cum se fabrică un procesor ? ......................26 CAPITOLUL 5: Protectia muncii............................................27 muncii............................................27 BIBLIOGRAFIE …………………....……………………....29
30