Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » calculatoare
Arhitectura de baza - Microprocesoare Pentium

Arhitectura de baza - Microprocesoare Pentium


Arhitectura de baza - Microprocesoare Pentium

Arhitectura de baza din figura 1 include urmatoarele elemente componente:

(1) Doua unitati de executie pentru operatii cu numere intregi (U si V) de tip banda de asamblare sau conducta (pipes). Acestea lucreaza ca un ansamblu ce executa instructiunile microprocesorului, dar numai unitatea U poate executa setul complet de instructiuni.

Pentru cele doua unitati de executie se decodifica simultan doua instructiuni, iar executia lor se realizeaza tot simultan (cu conditia ca rezultalul celei de-a doua instructiuni sa nu depinda de rezultatul primei instructiuni). Aceasta tehnologie a fost numita tehnologie superscalara si conduce la o crestere a performantei cu circa 30%.

Fig. 1. Arhitectura procesorului Pentium

Cele doua unitati lucreaza pe 32 de biti, ceea ce le confera compatibilitatea cu microprocesorul I80486.

(2) Unitatea de virgula mobila organizata tot sub forma unei linii de asamblare (conducta), ce contine unitati pentru executia hardware a adunarii, inmultirii si impartirii. Desi nu are viteza unui coprocesor, Pentium executa operatiile cu numere reale de doua ori mai rapid decat I80486.

(3) Memoria cache de nivel 1 este de doua ori mai mare decat cea a microprocesorului I80486 (16 K), fiind divizata in doua parti: 8K pentru instructiuni - code cache, 8 K pentru date - data cache.

Circuitele de interfata integrate in cip descompun programul ce se executa in cuvinte de date si cuvinte de cod pe care le depun in memoriile cache corespunzatoare. Accesul simultan la cele doua memorii cache permite introducerea datelor prin interfata magistralei concomitent cu citirile efectuate de unitatile de executie:



- in memoria cache pentru date, acestea pot fi modificate (rescrise) - "write back';

- in memoria cache pentru cod, informatiile nu pot fi modificate direct (pentru aceasta operatie este necesar un acces suplimentar la memoria DRAM) - "write through'.

TLB (Translation Lookaside Buffer) translateaza adresa liniara in adresa fizica.

Se poate instala si cache secundar (nivel 2), de regula 16 K, avand un timp de acces 15 ns si format din cipuri SRAM.

Magistrala de adrese este de 32 de biti, ceea ce ofera un spatiu de 232 (4 G) memorie adresabila.

Magistrala externa de date este de 64 de biti, aceasta permitand transferul unui volum de date in/din microprocesor de doua ori mai mare decat pe magistralele de 32 de biti.

(4) Buffer de decodificare anticipata a instructiunilor.

Codul din memoria cache este testat pentru a sesiza din timp eventualele instructiuni de salt anterior incarcarii acestora in pipeline; decodificarea instructiunilor se realizeaza deci anticipat si ulterior sunt transmise unitatilor de executie. Transmiterea se realizeaza pe o magistrala de 256 de biti, dimensiunea mare a acesteia permitand aducerea secventelor de instructiuni cu o viteza mai mare decat a capacitatii de procesare.

(5) Unitatea de anticipare a salturilor.

Aceasta unitate rezolva organizarea pipeline-ului, potrivit careia instructiunile sunt tratate intr-o maniera strict secventiala, astfel ca atunci cand apar instructiuni de salt, sa fie incarcata pe conducta secventa in ordinea executiei indicate de saltul specificat. Chestiunea va fi tratata in detaliu in subcapitolul ce trateaza predictia ramificatiilor.

Etapele de executie simultana a doua instructiuni se desfasoara in 5 faze:

1. Incarcarea instructiunilor din memoria cache in bufferul de decodificare anticipata.

2. Decodificarea unei instructiuni si calculul adresei.

3. Decodificarea urmatoarei instructiuni si calculul adresei.

Executia instructiunilor.

5. Depunerea rezultatelor executiei instructiunilor in memoria cache pentru date (rescrierea).

Se poate observa usor ca aceste faze ofera conditii de aparitie a unor stari conflictuale (de hazard) pe pipeline, astfel ca la un moment dat o instructiune aflata pe pipeline poate fi blocata intr-o anumita faza, pana cand o instructiune incarcata anterior incheie executia unei faze si produce deblocarea. Pot aparea urmatoarele posibilitati de blocare:

- microprocesorul nu dispune de resursele necesare pentru a trata o anumita comnbinatie particulara de instructiuni;

- executia unei instructiuni de salt la o instructiune ce nu se afla in acel moment incarcata in memoria cache va bloca pipeline-ul pana la incarcarea acesteia. Anticiparea executiei urmatoarei instructiuni nu se va putea realiza in acest caz decat dupa executia instructiunii curente.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.