CATEGORII DOCUMENTE |
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
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 -
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
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 -
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
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 |
Vizualizari: 1265
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved