Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Arhitectura 6x86

hardware



+ Font mai mare | - Font mai mic



Arhitectura 6x86

Corporatia Cyrix este unul dintre furnizorii de baza ai solutiilor bazate pe microprocesoare, care a introdus noi standarde pe piata calculatoarelor personale. In ultimii zece ani Cyrix a dezvoltat aproape o duzina de procesoare originale folosite in milioane de calculatoare din intreaga lume.
In luna noiembrie a anului 1997, Cyrix a fost cumparata de National Semiconductor. Aceasta fuziune a adus doua componente importante pentru Cyrix: capacitatea de productie la nivel mondial a National Semiconductor si infrastructura necesara acestei productii.
Primul produs Cyrix a fost un coprocesor matematic destinat cresterii vitezei de realizare a calculelor matematice. Succesul acestui coprocesor matematic a permis celor de la Cyrix sa distribuie incepand cu 1992, primul procesor din familia x86. Compania a dezvoltat rapid o linie de productie pentru procesoarele 486, si apoi pentru procesoarele din generatia a cincea 5x86, un CPU pentru sistemele PC (mobile si desktop). In 1995, Cyrix a introdus procesorul din generatia a sasea, 6x86, un procesor superscalar, bazat pe o superbanda de asamblare; in iunie 1997, a introdus procesorul MMX 6x86MX, iar in 1998 a aparut procesorul MII.



Procesorul Cyrix 5x86
Familia de procesoare 5x86 reprezinta o noua generatie pe 64 de biti compatibila x86. Unitatea centrala se bazeaza pe o banda de asamblare cu sase nivele, putand executa o instructiune intr-un impuls de tact.
Unitatea centrala 5x86 este divizata in urmatoarele blocuri functionale (Fig. 1): -unitatea pentru numere intregi (Integer Unit - IU), -unitatea in virgula flotanta (Floating Point Unit - FPU) , -unitatea cache (Write-Back Cache) , -unitatea pentru gestiunea memoriei (Memory Management Unit - MMU) , -unitatea de interfata cu magistrala (Bus Interface Unit - BIU).
Unitatea pentru numere intregi contine: -tamponul pentru instructiuni (Instruction Buffer - IB) , -unitatea de aducere a instructiunii (Instruction Fetch Unit - IF) , -unitatea de decodificare a instructiunii (Instruction Decoder Unit - ID).
Instructiunile sunt executate in unitatea pentru numere intregi sau in unitatea de calcul in virgula flotanta. Cache-ul contine cele mai recent utilizate date si instructiuni si asigura accesul rapid la aceste date din partea IU si FPU.
Cand apare o cerere de acces la o locatie din memoria externa, MMU calculeaza adresa fizica pe care o trimite unitatii de interfata cu magistrala, care asigura interfatarea unitatii centrale cu memoria externa si celelalte circuite de pe placa de baza.
Unitatea pentru numere intregi
Aceasta unitate citeste, decodifica si executa intructiunile intr-o banda de asamblare cu sase nivele (Fig. 2): -nivelul de aducere al codului instructiunii (Instruction Fetch - IF) - citeste din cache codul instructiunii urmatoare si il trimite spre decodificare nivelului urmator din banda de asamblare. Se pot citi pana la 128 de octeti intr-un impuls de tact, -nivelul de decodificare a instructiunii (Instruction Decode - ID) - evalueaza sirul de octeti primit de la nivelul IF, determinand numarul de octeti pentru fiecare instructiune si tipul acesteia, pe care apoi le decodifica la viteza de o instructiune intr-un impuls de tact, -primul nivel de caclul al adresei (Address Calculation 1 - AC1) - daca instructiunea are un operand in memorie, acest nivel calculeaza adresa de memorie liniara pentru instructiune, -al doilea nivel de caclul al adresei (Address Calculation 2 - AC2) - realizeaza toate functiile de gestionare a memoriei, accesarea cache-ului si a registrelor. Daca detecteaza o instructiune in virgula flotanta, aceasta este trimisa pentru executie unitatii in virgula flotanta, -nivelul de executie (Execution - EX) - executa instructiunea folosind operanzii furnizati de nivelele pentru calculul adresei, -nivelul write-back (WB) - ultimul nivel din IU, actualizeaza setul de registre sau trimite rezultatul unitatii de interfata cu memoria (Load/Store Unit) din MMU.

Unitatea cache
Procesorul Cyrix 5x86 contine un cache unificat pentru date si instructiuni de 16Ko, set-asociativ pe patru cai, organizat pe 1024 de linii. Scrierile in cache se fac prin metoda write-back. Memoria cache este organizata in patru bancuri a cate 256 linii fiecare, cu 16 octeti pe linie. Fiecare linie cache are asociat cate un tag pe 21 de biti si un bit de valid (arata daca linia contine informatii valide sau nu). Pe langa acesti biti, fiecare linie mai contine inca patru biti care indica daca continutul liniei a fost modificat (dirty bits), cate unul pentru fiecare dublu-cuvant din linie. Acesti ultimi patru biti permit marcarea independenta a fiecarui dublu-cuvant ca fiind modificat, in loc de a marca intreaga linie ca fiind modificata.

Unitatea de gestionare a memoriei
MMU translateaza adresele liniare furnizate de IU in adrese fizice, pentru a putea fi folosite de unitatea cache si unitatea de interfata cu magistrala. Mecanismul de paginare este cel standard x86.
Unitatea pentru gestionarea memoriei mai contine un bloc (Load/Store Unit) care planifica accesele la memoria cache si memoria externa si implementeaza urmatoarele concepte: -reordonarea citirilor si scrierilor - confera o prioritate mai mare citirilor din memorie fata de scrierile in memorie, -evitarea citirilor din memorie - elimina citirile inutile din memorie prin folosirea datelor existente deja in unitatea centrala (in cazul dependentelor de tipul citire dupa scriere).
Controlul ramificatiilor, prezicerea ramificatiilor, dependentele intre date, unitatea in virgula flotanta, unitatea de interfata cu magistrala vor fi prezentate la procesorul 6x86.



Procesorul Cyrix 6x86
Procesorul Cyrix 6x86 este cel mai performant dintre procesoarele de generatia a sasea compatibile x86. Imbunatatirea performantelor este realizata prin utilizarea unei arhitecturi superscalare, bazate pe o superbanda de asamblare.
Cyrix 6x86 este un procesor superscalar, deoarece contine doua benzi de asamblare separate ce permit procesarea mai multor instructiuni in acelasi timp. Folosirea unei tehnologii de procesare avansate si cresterea numarului de nivele in benzile de asamblare (superpipelining) permit procesorului 6x86 sa atinga frecvente de lucru mai mari de 100MHz.
Prin folosirea caracteristicilor arhitecturale unice, procesorul 6x86 elimina multe dintre dependentele intre date si conflictele la accesarea resurselor, rezultand o performanta optima atat pentru programele pe 16 biti cat si pentru cele pe 32 de biti.
Procesorul Cyrix 6x86 contine doua cache-uri: -un cache unificat (pentru date si pentru instructiuni) de 16Ko dual port, si -un cache de instructiuni de 256 octeti.
Deoarece cache-ul unificat poate contine instructiuni si date in orice raport, acesta ofera o rata a hit-urilor (numarul de accese in cache, raportat la numarul total de accese) mai mare comparativ cu doua cache-uri separate pentru date si pentru instructiuni, avand dimensiuni egale. O crestere a latimii de banda a transferurilor cache-unitatea intreaga este realizata prin suplimentarea cache-ului unificat cu un mic cache de instructiuni foarte rapid, complet asociativ. Prin includerea acestui cache de instructiuni, se evita conflictele excesive intre accesele pentru date si pentru cod in cache-ul unificat.
Unitatea in virgula flotanta din procesor permite executarea instructiunilor in virgula flotanta in paralel cu instructiunile intregi. Aceasta contine o coada de instructiuni pe patru nivele si o coada pentru datele scrise tot pe patru nivele, pentru a facilita executia paralela.
Procesorul 6x86 este alimentat la 3.3V ducand la un consum redus pentru toate frecventele de lucru. In plus, 6x86 mai poseda un mod de suspendare pe nivel scazut, posibilitatea de a intrerupe tactul si modul de management al sistemului (SMM) pentru aplicatiile sensibile la alimentare.

Principalele blocuri funtionale
Procesorul Cyrix 6x86 contine cinci mari blocuri functionale (Fig. 3): -Unitatea intreaga (Integer Unit - IU) , -Unitatea cache (Cache Unit) , -Unitatea de gestionare a memoriei (Memory Management Unit - MMU) , -Unitatea in virgula flotanta (Floating Point Unit - FPU) , -Unitatea de interfata cu magistrala (Bus Interface Unit - BIU).
Instructiunile sunt executate in cele doua benzi de asamblare intregi (X si Y) si in unitatea in virgula flotanta. Cache-ul contine cele mai recent utilizate date si instructiuni pentru a permite accese rapide la informatii din partea IU si FPU.
Adresele fizice sunt calculate de MMU si sunt trimise unitatii cache si unitatii de interfata cu magistrala. BIU ofera o interfata intre placa sistem externa si unitatile interne ale procesorului.




Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1166
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved