Ic Examen123

download Ic Examen123

of 38

description

IC reprezentarea grafică a arhitecturilor avansate

Transcript of Ic Examen123

1. Arhitectura i evoluia calculatoarelor IBM PCPrezentarea componentelor unui PC

Un PC. (Personal Computer) , produs dupa standardele IBM este un aparat foarte complex care inglobeaza in interiorul sau foarte multa tehnologie dobandita in zeci de ani de cercetari si studii. Calculatorul personal este alcatuit dindoua componente principale: 1.Hardware(Piesele sau dispozitivele mecanice si electronice) 2.Software (Sistemul de Operare si totalitatea programelor)

Componenta Hardware este la randul ei alcatuita din:-A.Componente interne(care se afla in Unitatea Centrala- Placa de baza,Microprocesorul, memoria, HardDisk-ul, unitatile optice(CD-ROM,DVD-ROM),FloppyDISK-ul, placa video, placa de sunet, placa de retea sau modem, sursa de alimentare.Unitatea Centrala are drept rol a tine toate componentele ntr-un loc , a le feri de praf , socuri ,etc . Este pur si simplu o carcasa, care la exterior prezinta o serie de butoane ce indeplinesc functii de baza : pornire/oprire , resetare si eventual buton pentru schimbarea frecventei ceasului intern. Ultimele doua butoane nu sunt ntlnite la toate carcasele , la carcasele ATX butonul de reset nu mai este prezent n unele cazuri , restartarea revenind n sarcina sitemului de operare si a Bios-ului ; n schimb , butonul de schimbare a frecventei a disparut complet de pe carcasele noi , rolul sau fiind activ n cazul procesoarelor din familia i286 , i386 , i486 . Avea rolul de a njumatati frecventa de tact a procesorului sau dimpotriva de a o mari ; astfel frecventa putea fi setata la 66 sau 33Mhz , etc . Pentru buna functionare a unui calculator nu este responsabila o singura componenta ; fiecare componenta participa activ sau pasiv la realizarea unei functionalitati satisfacatoare .-B.Componente externenumite si periferice, care se conecteaza la Unitatea Centrala (Monitorul, tastatura , mouse-ul boxe , microfon, joystick , modem extern,imprimant, boxe, plac grafic , cti etc. )IBM - primul calculator Personal Computer si descoperirile tehnologice.

IBM (International Business Machines). este o corporatie american, productoare de tehnologie,care este fondata din 1924. Istoria companiei IBM a nceput cu decenii inaintea aparitiei calculatoarelor. Inaintea acestora, corporatia dezvoltase un echipament de procesare pe baza de cartela. Initial purta denumirea de Computing Tabulating Recording (CTR) Corporation, care a fost fondata la data de 15 iunie 1911 la Binghamton, New York. Aceasta companie s-a format pe baza fuzionarii dintre Tabulating Machine Corporation, The Computing Scale Corporation si The International Time Recording Company. Presedintele de la momentul respectiv al Tabulating Machine Corporation era Herman Hollerith, care fondase compania n 1896. Thomas J. Watson Sr., fondatorul IBM, a devenit Director General al CTR n 1914 si Presedinte n 1915. La 14 februarie1924, CTR si-a schimbat denumirea n International Business Machines Corporation.Compania s-a facut cunoscuta prin pozitia sa de lider n domeniu, ntre anii 1950 si 1980 prin sisteme precum IBM 1490, IBM 7000, sau prin inventarea hard-disk-ului si prin dezvoltarea n 1981 a microcalculatorului IBM-PC, stramosul calculatoarelor personale bazate pe arhitectura x86 de astazi. De-a lungul anilor a participat, alturi de diverse companii, la dezvoltarea de software pentru arhitectura PC, printre care colaborarea cu Microsoft pentru MS-DOS i OS/2. IBM este, de asemenea, unul din liderii fabricrii microchipurilor, dintre care cele mai performante pe plan mondial au fost cele de 64bit care au echipat computerele firmei Apple ntre 2002 i 2005, cunoscute sub numele de cod Power G5 sau Power PC 970.Calculatoarele, mainile CP/M i Apple, nu erau numite calculatoare personale acesta nu a fost un termen recunoscut pn n august 1981, data de natere a calculatorului IMB PC. Acest termen fost creat de pia, datorit acelor sisteme de microcalculatoare care au fcut posibil existena calculatorului IBM PC.Dei microprocesorul care a stat la baz calculatorului IBM PC a fost produs n 1974, calculatorul IBM PC a fost produs abia n 1981. Intel 8088 era un microprocesor pe 16 bii, care putea lucra cu mai mult memorie i mai rapid dect predecesorii si. IBM a delegat o companie necunoscut(la vremea aceea), numit Microsoft, pentru a realiza un sistem de operare. Restul este, aa cum o spun ei, istorie. IBM PC a devenit un standard, n realitate o serie de standarde care au adus la vnzarea de aproximativ 100 de milioane de calculatoare personale din 1981. Puterea marketing-ului IBM a dus la succesul lui IBM PC. IBM avea bani i poziia pe pia astfel nct s fac calculatorul IBM PC acceptat n corporaii. Dei e uor s critici IBM pentru greelile, destul de multe, fcute n dezvoltarea pieei calculatoarelor personale i lipsa de receptivitate fa de o pia care cretea mai rapid dect putea acoperi IBM, fr amestecul lui IBM, aceast pia ar fi crescut mult mai ncet i mai fragmentat.Calculatorul IBM PC a continuat tendina dat de Apple II, aducnd puterea de calcul la ndemna utilizatorilor.Posibilitatea de a-i mbunti i mri productivitatea personal a fost o atracie att de mare, nct oamenii au trecut peste orice pentru a-i cumpra un calculator personal. Ei au pclit bugetele departamentale cumprndu-le ca maini de scris sau chiar pltind diferena din propriul buzunar.Multe companii au avut reineri n a urma tendina de introducere a calculatoarelor personale, dar au descoperit ulterior c acestea erau folosite din plin de concurena. Utilizatorii au descoperit c puteau combina i prelucra cum doresc datele. Puteau realiza rapoarte despre ceea ce i interesa.. (Rapoartele standard consumau o mic pdure de hrtie, cnd toi utilizatorii doreau doar o pagin ).Astfel a aprut o nou tendin: aceea de a a-i realiza singur calculele. Puteau s-i porneasc calculatorul personal, s ruleze programul de calcul tabelar i s realizeze o duzin de scenarii, n timpul n care Centrul de Calcul ar fi luat n considerare cererea lor.Deja nu mai exista nici o posibilitate pentru Centrul de Calcul de a schimba lucrurile.. Distribuirea datelor prin companii, avea multe implicaii i exista marele risc de a scpa totul de sub control.Revoluia calculatoarelor personale, mai mult dect orice, a forat Centrele de Calcul s-i regndeasc rolul i tehnologia pe care o foloseau. Ele nu au avut cu adevrat de ales i au devenit Servicii de gestiunea de informaie (Management Information Service) sau IT (Information Tehnology) sau orice altceva care coninea cuvntul informaie.Cu toate acestea, n anul 2005, firma IBM i-a vndut divizia de calculatoare constructorului chinez Lenovo, care a anunat c va continua comercializarea de calculatoare IBM sub propriul nume. Compania continu s se axeze pe piaa supercalculatoarelor, serverelor i a sistemelor integrate pentru afaceri medii i mari, contribuind la dezvoltarea Linux.In 2001 departamentul de cercetari de la IBM face o descoperire revolutionara care poate reduce dimensiunile viitoarelor computere.Compania aloca resurse uriase pentru cercetare iar in ultima vreme rezultatele devin din ce in ce mai vizibile. Daca echipele de ingineri de la IBM vor continua in acest ritm, nu este departe momentul in care un PC o sa aiba dimensiunile unui pachet de tigari. Nanotuburile de carbon sunt, dupa cum le spune si numele, nano-structuri uni-dimensionale capabile sa afiseze proprietati electrice unice. Cea mai importanta proprietate a acestora consta in utilizarea lor ca si canale pentru construirea tranzistorilor cu efect de cimp. Cercetatori de la IBM au reusit sa puna la punct primul circuit logic ce foloseste o singura molecula. Acestia au reusit sa creeze un circuit "invertor de tensiune" care este unul din cele trei circuite de baza folosite in constructia computerelor de azi. Profilul tubular al moleculei de carbon care a fost folosita pentru obtinerea circuitului este de 100.000 de ori mai subtire decit firul de par uman. Aceasta descoperire este a doua reusita obtinuta de ingineri de la IBM pentru acest an. Prima, fiind in aprilie 2001 cind acestia au reusit sa puna la punct o metoda care sa permita obtinerea unei matrici formata din tranzistori pe baza de nanotuburi de carbon (CNTFET) cu timpi de comutatie foarte buni. In acel moment sa reusit separarea nanotubutilor cu proprietati metalice de cele semiconductoare.2. Arhitectura plcii de baz. Organizarea legaturilor ntre componente

Placa de baz este componenta hardware ce asigur interconectarea fizic i o parte din

cea funcional a tuturor celorlalte componente ( hardware si software ) ale unui sistem de

calcul. Una din cele mai importante componente a unui sistem de calcul este placa principala numita si placa de baza sau placa de sistemArhitectura plcii de baz descrie forma sa general, tipurile de carcase i surse de

tensiune pe care le poate folosi precum i organizarea sa fizic. Formele constructive ale placilor de baza se refera la dimensiunile fizice si marimea acestora care determina tipul de carcase n care acestea vor fi introduse. Exista mai multe tipuri de placi de baza, cele mai importante sunt: Baby-AT, full-size AT, LPX NLX si ATX.Placa Baby-AT.Prima placa de baza folosita pe scara larga pentru calculatoarele personale a fost placa originala IBM-PC, urmata de placa IBM XT Placa de baza Baby-AT foloseste pentru tastatura conectori de tipul standard DIN cu 5 pini. Placile de baza de tipul Baby-AT se potrivesc n orice tip de carcasa cu exceptia celor denumite slimline (extraplate).Placa de baza full-size ATeste numita astfel deoarece ea reproduce modelul original de placa de baza IBM AT. Dimensiunile acesteia sunt de aproximativ 12 inci latime si 13,8 inci lungime. Conectorul de tastatura si conectorii de extensie trebuie, conform cerintelor de amplasare specifice, sa se potriveasca cu orificiile carcasei. Acest tip de placa se va potrivi numai ntr-o carcasa de tip AT Standard sau Tower. n prezent aceste placi nu e mai produc.Placa de baza LPXare mai multe caracteristici distinctive. Cea mai importanta este aceea ca sloturile de extensie se gasesc pe o placa Bus Rider (multiextensie), fixata pe placa de baza. Placile de extensie trebuie fixate n placa multiextensie, n pozitie culcata. Conectorii de extensie sunt plasati pe o parte sau pe ambele parti ale placii multiextensie, depinznd de modelul de carcasa si de sistem. O alta caracteristic deosebita este plasarea standard a conectorilor n spatele placii. O placa LPX are un sir de conectori pentru interfata video (VGA, 15 pini), portul paralel (25 pini), 2 porturi seriale (9 pini fiecare) si conectori de tipul mini-DIN PS/2 pentru mouse si tastatura. Toti acesti conectori sunt montati de-a lungul laturii din spate a placii de baza si patrund printr-o fanta n carcasa.Placa de baza NLXeste tot o placa care foloseste o placa multiextensie, diferenta fiind ca placa multiextensie se afla la marginea placii de baza si dispune de un rnd de conectoare pe prima jumatate de lungime si de doua rnduri de conectoare pe cea de-a doua jumatate de lungime.Placa de baza ATXeste cea mai utilizata n ultimul timp, ea incluznd cele mai apreciate caracteristici ale placilor de baza Baby-AT si LPX, n plus numeroase alte mbunatatiri. Forma constructiva a placii de baza ATX este asemeni celei a placii de baza Baby-AT a carei pozitia a fost rotita n interiorul sasiului, la care se adauga schimbarea conectorului si a locului de amplasare a sursei de alimentare. Aceasta forma este incompatibila cu celelalte anteriore. Specificatia ATX oficiala a fost definitivata de Intel n 1995, ea aducnd fata de standardele anterioare urmatoarele mbunatatiri:

-panou extern incorporat cu conectoare I/O pe doua rnduri,-un singur conector intern de alimentare cu cheie,-o alta amplasare a procesorului si a memoriei astfel nct acestea sa nu se intersecteze cu nici una din placile de extensie si mai aproape de sursa de alimentare,-o alta amplasare a conectorilor I/O (pentru unitatile de discheta si hard-disk) astfel nct accesul la acestea sa fie mai usor, iar cablurile interne sa fie mai scurte,-mbunatatirea racirii direct de ventilatorul sursei de alimentare,-pret de productie mai scazut.Avnd n vedere ca n prezent cele mai utilizate placi de baza sunt de tipul ATX, vom prezenta configuratia si caracteristicile acesteia n figura de mai jos:

Principalele componente ale unei placi de baza moderne sunt:- soclul sau conectorul procesorului,- setul de cipuri,- cipul Super I/O,- memoria BIOS,- soclurile SIMM si DIMM,- conectoarele de magistrala,- regulatorul de tensiune al unitatii CPU,- bateria. n afara procesorului, pentru completarea sistemului, mai este necesar unset de cipuri cum ar fi:generatorul de tact, controllerul de magistrala, temporizatorul sistemului, controllere de ntreruperi si DMA, memoria si ceasul CMOS etc. Placile de baza Pentium sunt echipate cu un set de cipuri de nalta performanta care permite verificarea paritatii precum si utilizarea codului ECC (Error Correcting Code) n cazul modulelor de memorie cu paritate.

Cipul Super I/Ocontine cel putin urmatoarele trei componente: controllerul unitatii de discheta, doua controllere pentru porturile seriale si controllerul portului paralel. Toate placile de baza trebuie sa contina un cip numitBIOS(Basic Input/Output System). BIOS este o colectie de programe incorporate ntr-unul sau mai multe cipuri EPROM (Erasable Programmable Read Only Memory) sau EEPROM (Electrically EPROM), denumite si Flash ROM, n functie de tipul calculatorului. Aceasta colectie de programe este cea care se ncarca prima, imediat dupa pornirea calculatorului, chiar naintea sistemului de operare. Principale functii ale BIOS sunt:

-POST (Power On Self Test)- program care testeaza procesorul, memoria, setul de cipuri, adaptorul video, controllerele de disc, unitatile de disc, tastatura si alte componente ale calculatorului,

-Bootstrap loader- rutina care gaseste sistemul de operare si l ncarca,

-BIOS- colectia de drivere utilizate pentru a actiona ca o interfata de baza ntre sistemul de operare si hardware. Atunci cnd se ruleaza Windows n Safe Mode se ruleaza de fapt doar driverele BIOS,-CMOS Setup- program pentru configurarea si setarea sistemului care permite configurarea parametrilor placii de baza si ai setului de cipuri, a datei si a orei, a parolelor, a unitatilor de disc si a altor parametrii de baza ai sistemului. Soclurile SIMM/DIMMsunt soclurile de pe placa de baza n care se introduc modulele de memorie RAM. n functie de tipul placilor se utilizeaza module SIMM de 72 de pini, DIMM (Dual In-Line Memory Module) de 168 pini. Aceste module se fixeaza n bancuri aflate pe placa de baza. n cazul modulelor de 72 de pini, acestea vor fi instalate perechi datorita faptului ca placile sunt proiectate sa lucreze pe 64 de biti, n timp ce modulele DIMM se instaleaza unul cte unul pe cte un banc de 64 bit

3. Magistrale de sistem. Definitia i clasificariMagistrala este calea prin care pot circula datele n interiorul unui calculator, ntre doua sau mai multe elemente ale acestuia. Calculatorul are o ierarhie a diferitelor magistrale deoarece magistralele mai lente sunt legate la magistrale mai rapide. Fiecare dispozitiv din sistem este conectat la una din magistrale, unele dintre ele functionnd ca punti ntre magistrale. Principalele magistrale ale unui PC sunt:1.Magistrala procesoruluicare este cea mai rapida si face parte din nucleul setului de cipuri si al placii de baza.Magistrala procesorului este calea de comunicare ntre CPU (unitatea centrala de prelucrare) si cipurile cu care lucreaza direct. Aceasta magistrala este folosita pentru a transfera date ntre CPU si magistrala principala a sistemului sau ntre CPU si memoria cache externa. n sistemele Pentium II, magistrala procesorului functioneaza la frecventa de 66 sau 100 MHz si are latimea de banda de 64 de biti. Magistrala procesorului este legata la pinii procesorului si poate transfera un bit de date pe o linie de date la fiecare perioada sau la doua perioade ale ceasului2.Magistrala AGP(Accelerated Graphics Port) care este o magistrala de mare viteza de 66 MHz, pe 32 de biti destinata n special pentru o placa video.3.Magistrala PCI(Pheripheral Component Interconnect) apare n sistem ca un ansamblu de conectoare pe 32 de biti pentru adaptoare SCSI, placi de retea, placi video.4.Magistrala ISA(Industry Standard Architecture) este o magistrala foarte lenta cu o frecventa de 8 MHz, pe 16 biti, dar care se mentine pentru legatura cu diferite periferice mai lente cum ar fi modemul si placa de sunet.Magistrala memorieieste utilizata la transferul informatiilor ntre CPU si memoria principala (RAM) a sistemului. Aceasta magistrala este o parte a magistralei procesorului, sau de cele mai multe ori este implementata separat cu un set de cipuri responsabil cu transferul informatiilor ntre magistrala procesorului si memorie. n sistemele a caror frecventa este mai mare dect posibilitatile cipurilor de memorie se utilizeaza un set de cipuri numit controllerul memoriei care realizeaza interfata ntre magistrala rapida a procesorului si memoria principala, mai lenta.Magistrala de adreseeste parte a magistralei procesorului si a celei de memorie si ea este reprezentata pentru procesorul Pentium de cele 32 de linii de adrese. Magistrala de adrese este folosita pentru a indica adresa de memorie sau adresa de pe magistrala sistemului care va fi utilizata n cadrul operatiei de transfer al datelor. Magistrala de adrese indica precis locul n care va avea loc urmatorul transfer n memorie sau pe magistrala. Dimensiune magistralei de memorie determina marimea memoriei pe care unitatea centrala o poate accesa direct.

Magistrala I/OMagistrala I/O permite procesorului sa comunice cu dispozitivele periferice. Magistrala I/O permite adaugarea de dispozitive calculatorului pentru a-i extinde posibilitatile. Numarul sloturilor de extensie poate sa varieze de la un calculator la altul.Tipuri de magistrale I/On scopul obtinerii unor performante ct mai bune, respectiv cresterea vitezei de intrare/iesire a fost necesara si mbunatatirea magistralelor I/O, impunndu-se ca acestea sa fie ct mai rapide. n functie de arhitectura lor, pot fi identificate urmatoarele tipuri de magistrale de I/O:-ISA (Industry Strandard Arhitecture)-MCA (Micro Channel Arhitecture)-EISA (Extended ISA)-VL-Bus (VESA Local Bus)-PCI (Peripheral Component Interconnect)-AGPAceste magistrale se deosebesc n principal prin volumul datelor transferate simultan si prin viteza cu care se face acest transfer. Arhitectura magistralei este realizata cu un set de cipuri care este conectat la magistrala procesorului.Magistrala ISAeste arhitectura de magistrala utilizata la primul IBM PC n 1981. Initial a fost o magistrala de 8 biti, iar apoi a fost extinsa la 16 si 32 de biti. ISA sta la baza calculatorului personal modern si este principala arhitectura folosita astazi la marea majoritate a sistemelor PC. Ea a permis ca majoritatea componentelor unui sistem, cum ar fi porturile seriale, porturile paralele, adaptoarele video si de sunet sa fie interschimbabile ntre sistemele compatibile IBM.n cazulmagistralei ISA de 8 biti, o placa adaptoare are 62 de contacte pe marginea sa inferioara, ea se introduce ntr-un conector cu 62 de contacte montat pe placa de baza. Din punct de vedere electronic, acest conector furnizeaza 8 linii de date si 20 de linii de adrese si permite lucrul cu 1 M de memorie. n figura este reprezentat conectorul magistralei ISA pe 8 biti.

A1...A31 si B1...B31 reprezinta notatiile pentru pini, n total 62 de pini, fiecare dintre acestia avnd o anumita semnificatie.Magistrala ISA pe 16 bitia aparut pe piata odata cu lansarea procesorului 286. Acest procesor avea o magistrala de date care i permitea comunicatia pe 16 biti cu placa de baza si cu memoria. Magistrala ISA pe 32 bitia fost disponibila dupa o perioada de la aparitia procesoarelor pe 32 biti. Portiunea suplimentara a magistralei era folosita n general pentru extensii de memorie sau placi video particulare.Magistrala MCA. MCA este complet diferita de magistrala ISA si i este superioara din toate punctele de vedere. Un sistem MCA este foarte usor de folosit deoarece este lipsit de jumpere si comutatoare, att pe placa de baza, ct si pe placile adaptoare

MCA admite controlul total al magistralei (bus mastering) prin care orice dispozitiv poate cere acces la magistrala n scopul comunicarii cu un alt dispozitiv, conectat si el la magistrala.n proiectarea magistralelor MCA se folosesc patru tipuri de conectoare: pe 16 biti, pe 16 biti cu extensii video, pe 16 biti cu extensii de memorie, pe 32 de biti.Extensiile video MCA sunt conectoare standard pe 16 biti nsotite de cte un conector special pentru extensia video. Acest slot apare aproape n toate sistemele MCA n scopul maririi vitezei subsistemului video.Magistrala EISA(Extended Industry Standard Arhitecture) permite o dezvoltare mai mare a sistemului, cu mai putine conflicte ntre adaptoare. Magistrala EISA adauga 90 de conexiuni suplimentare (55 de semnale noi) fara ca aceasta sa implice cresterea dimensiunilor conectorului de magistrala ISA pe 16 biti. Totusi, adaptorul EISA are doua rnduri de conectori. Primul rnd este asemeni cu cel folosit de placile ISA pe 16 biti, iar al doilea, mai ngust, constituie extensia fata de conectorul de 16 biti. Sistemele EISA au un program de configurare (Setup) care gestioneaza ntreruperile de la placile adaptoare si iesirile de adrese. Aceste iesiri creeaza adesea probleme atunci cnd sunt instalate mai multe placi adaptoare diferite n acelasi sistem.

Magistrale localeMagistrale I/O prezentate pna n prezent au viteza relativ scazuta. Aceasta limitare de viteza se datoreaza n cazul primelor generatii de PC-uri faptului ca magistralele de I/O operau la aceeasi viteza cu magistrala procesorului. n timp ce viteza magistralei procesorului a crescut, magistrala I/O a cunoscut doar ajustari ale vitezei nominale, n principal prin cresterea latimii de banda. Magistrala I/O a trebuit sa lucreze la o viteza scazuta deoarece majoritatea adaptoarelor instalate functionau la viteze mici.Principalele tipuri de magistrale locale sunt: VL-Bus, PCI si AGP.ncepnd cu anul 1992,VESA Local bus(VL-Bus) a fost cel mai raspndit model de magistrala locala. VESA reprezenta o organizatie non-profit fondata de NEC.Magistrala VL-Bus poate transfera 32 de biti simultan si deci permite ca transferul datelor ntre CPU si un subsistem compatibil video sau un hard-disc sa se faca pe lungimea integrala de 32 de biti a cuvntului. Din punct de vedere fizic, conectorul VL-Bus este o extensie a sloturilor de baza folosite n orice tip de sistem. Magistrala PCI(Peripheral Component Interconnect) a fost lansata n 1992 si modificata n 1993. Ea a fost obtinuta prin reproiectarea magistralei traditionale prin intercalarea unei alte magistrale ntre CPU si magistrala I/O existenta reprezentata prin cipuri de legatura (bridge). S-a preferat ca n loc sa se intre direct pe magistrala procesorului, sa se puna la punct un nou tip de cipuri controller pentru a extinde magistrala. n figura este reprezentata schema de principiu a magistralei PCI.

Magistrala PCI este numita si magistrala mezanin deoarece ea adauga un alt nivel configuratiei traditionale de magistrala. Ea foloseste magistrala sistemului pentru a creste viteza ceasului si foloseste toate avantajele cailor de date ale unitatii procesorului CPU. Sistemele care au inclus magistrala PCI au aparut pe piata n anul 1993 si de atunci au devenit cele mai sigure sisteme de mare performanta.Magistrala AGP(Accelerated Graphics Port) este o magistrala dedicata redarii imaginilor video si grafice de nalta calitate care are la baza modelul PCI, dar beneficiaza de cteva mbunatatiri suplimentare.AGP este o conexiune de mare viteza, care functioneaza la o frecventa de baza de 66MHz, cu latimea de banda de 32 de biti si care ajunge sa faca patru transferuri de date pe un ciclu.Intel a conceput magistrala AGP nu numai pentru performante video mai bune, dar si pentru a realiza o legatura directa de mare viteza ntre placa video si memoria RAM de sistem, reducnd astfel nevoia de tot mai multa memorie video.4. Arhitectura microprocesoarelor Intel x86. Evoluia microprocesoarelor I86. Modelul program al acestor microprocesoare.Evoluiamicroprocesoarelor. In anul 1971, o companie foarte mica, pe nume Intel, a combinat mai multe tranzistoare pentru a crea ceea ce se numete si astzi Central Processing Unit sau CPU. Acel chip a purtat numele de Intel 4004. Cu toate acestea, abia peste 10 ani avea sa se construiasc primul calculator personal.

2.1. Perioada 1971-1981Intel 4004 (anul 1971)Primul CPU a fost Intel 4004, un procesor pe 4 biti. Acesta procesa datele in grupuri de 4 biti, insa instruciunile sale erau lungi de 8 biti. Memoria era separata pentru programe si pentru date. Putea sa foloseasc 1Kb de memorie pentru date si 4Kb pentru programe. De asemenea, existau 16 registri de 4 biti (sau 8 de 8 biti) precum si 46 de instruciuni. Acest procesor utiliza doar 2300 de tranzistoare si rula la o viteza de 740KHz (0,74MHz).Intel 4040 (anul 1972)Intel 4040 era o versiune mbuntit a lui 4004, aducnd 14 noi instruciuni, o stiva mai larga (pe 8 nivele), un spaiu de memorie pentru programe de 8Kb, precum si posibilitatea de a executa intreruperi. Intel 4040 a ieit si in afara atmosferei terestre fiind folosit in sondele spaiale Pioneer 10 si Pioneer 11.

Prezentare general a procesoarelor Intel

8086 i 8088

Procesorul 8086 are registre de 16 bii, o magistral extern de date de 16 bii, i o magistral de adrese de 20 de bii, astfel c spaiul de adresare este de maxim 1 MB. Procesorul 8088 este similar, cu excepia faptului c magistrala extern de date este de 8 bii. Aceste procesoare au introdus conceptul de segmentare a memoriei:memoria este mprit n zone numite segmente de maxim 64 KB, iar cele patru registre de segment pot pstra adresele de baz ale segmentelor active. Prin utilizarea registrelor de segment poate fi adresat un spaiu de memorie de pn la 256 KB fr modificarea coninutului acestor registre, fiind disponibil un spaiu total de memorie

de 1 MB. Aceste procesoare pot funciona numai n modul real, care este un mod uniproces, n care se execut un singur proces (program sau task) la un moment dat. Din punct de vedere al programatorului, cele dou procesoare sunt identice, cu excepia faptului c 8086 va prelucra datele ntr-un mod mai eficient dac acestea sunt aliniate la adrese de cuvnt (adrese pare).

Procesoarele 80186 i 80188 sunt versiuni mbuntite ale procesoarelor 8086, respectiv 8088. Au fost adugate noi instruciuni i anumite instruciuni vechi au fost optimizate pentru creterea vitezei. Aceste procesoare conin n aceeai capsul i circuite suplimentare: un generator de tact, un controler DMA cu dou canale, trei numrtoare/temporizatoare programabile, i un controler de ntreruperi, care poate gestiona patru surse externe de ntrerupere.4.Unitatea central de prelucrare 139Procesorul 80286 poate funciona n modul real al procesoarelor precedente,dar dispune i de un mod de adresare virtual sau mod protejat. Acest mod utilizeaz coninutul registrelor de segment ca selectori sau pointeri n tabele ale descriptorilor de segment. Descriptorii furnizeaz adrese de baz de 24 de bii, permind adresarea unei memorii fizice de pn la 16 MB. Procesorul dispune de o unitate de gestiune a memoriei virtuale, cu care poate translata adrese pentru o memorie virtual de 1 GB n spaiul adreselor fizice de 16 MB. n modul protejat, procesorul poate funciona n regim multi-proces (multitasking), n care pot fi executate mai multe procese n mod concurent. n acest mod se realizeaz o comutare prin hardware ntre procesele care se execut concurent. Memoria utilizat de fiecare proces este protejat fa de aciunile altor procese. Pentru aceasta procesorul dispune de diferite mecanisme de protecie.

Acestea cuprind testarea limitelor segmentelor, existena atributelor de segment care permit doar citirea coninutului unui segment sau doar execuia codului din acel segment, i pn la patru nivele de privilegiu pentru protecia codului sistemului de operare de programele de aplicaii sau de programele utilizatorului. Existena unor tabele ale descriptorilor locali de segment permite sistemului de operare protejarea ntre ele a programelor de aplicaii sau a programelor utilizatorului. Sunt disponibile instruciuni privilegiate suplimentare pentru setarea modului protejat i controlul proceselor multiple.

Procesorul 80386 a introdus n cadrul arhitecturii Intel registre de 32 de bii,utilizate att pentru pstrarea datelor, ct i pentru adresare. Pentru compatibilitate cu procesoarele anterioare, aceste registre s-au obinut prin extinderea registrelor de 16bii, fiind posibil utilizarea n continuare a vechilor registre, acestea constituind jumtatea de ordin inferior a registrelor de 32 de bii. A fost introdus un nou mod de funcionare, numit mod virtual 8086, care permite execuia mai eficient a programelor scrise pentru procesoarele 8086 i 8088 pe noul procesor de 32 de bii. Magistrala

extern de adrese a fost extins la 32 de bii, spaiul adreselor fizice fiind astfel de 4

GB. Spaiul adreselor virtuale este de 64 TB. Dimensiunea fiecrui segment nu mai

este limitat la 64 KB, dimensiunea maxim a unui segment fiind de 4 GB. Instruciunile originale au fost extinse cu noi forme care utilizeaz operanzi i adrese de 32 de

bii, i au fost introduse instruciuni complet noi, ca de exemplu instruciuni pentru

operaii la nivel de bit.Procesorul 80386 a introdus de asemenea mecanismul de paginare ca metod de gestiune a memoriei virtuale, dimensiunea fix de 4 KB a paginilor de memorie asigurnd o eficien mai ridicat comparativ cu utilizarea segmentelor, metoda fiind

complet transparent pentru programele de aplicaii, fr o reducere semnificativ a

vitezei de execuie. n plus, posibilitatea definirii segmentelor avnd dimensiunea maxim a spaiului adreselor fizice de 4 GB, mpreun cu paginarea, au permis introducerea modelului protejat de adresare liniar n cadrul arhitecturii, n care este necesar140 Arhitectura calculatoarelor o singur component a adresei pentru accesul la ntregul spaiu de adresare al memoriei. Acest model este utilizat i de sistemul de operare UNIX. Procesorul 80386 a fost primul din cadrul familiei 80x86 care a utilizat o form de prelucrare paralel. Arhitectura acestui procesor cuprinde un numr de aseuniti care funcioneaz n paralel. Acestea sunt urmtoarele: Unitatea de interfa cu magistrala, care realizeaz accesul la memorie i la

dispozitivele de I/E;

Unitatea de ncrcare a instruciunilor, care primete codul instruciunilor de

la unitatea de interfa cu magistrala i le depune ntr-o coad de 16 octei;

Unitatea de decodificare a instruciunilor, care decodific codul obiect al instruciunilor i genereaz un microcod pentru execuia acestora;

Unitatea de execuie, care execut microcodul corespunztor fiecrei instruc-

iuni;

Unitatea de segmentare, care translateaz adresele logice n adrese liniare i

efectueaz testele necesare proteciei;

Unitatea de paginare, care translateaz adresele liniare n adrese fizice, efectueaz testele necesare proteciei paginilor de memorie i conine o memorie

cache cu informaii despre pn la 32 de pagini cel mai recent accesate.

Procesorul 80486 a extins posibilitile de execuie paralel a instruciunilor,n principal prin extinderea unitilor de decodificare a instruciunilor i de execuie ale procesorului 80386 n cinci etaje de tip pipeline, fiecare etaj opernd n paralel cu celelalte asupra a cinci instruciuni aflate n diferite faze de execuie. Fiecare etaj poate termina prelucrrile pe care le efectueaz asupra unei instruciuni ntr-o perioad de tact, astfel nct procesorul 80486 poate executa cte instruciune n fiecare perioad de tact. Procesorului i s-a adugat o memorie cache de nivel 1 (L1 Level 1)de 8 KB pentru a crete n mod semnificativ procentul instruciunilor care se pot executa la rata de o instruciune ntr-o perioad de tact.Procesorul 80486 a fost primul din familia 80x86 la care unitatea de calcul n virgul mobil a fost integrat n acelai circuit cu unitatea central. Au fost dezvoltate versiuni ale procesorului 80486 n care au fost incluse faciliti pentru reducerea consumului de putere, ca i alte faciliti de gestiune a sistemului. Procesorul Pentium a adugat o nou linie de execuie de tip pipeline a instruciunilor, pentru a se obine performane superscalare. Cele dou linii de execuie a instruciunilor, numite u i v, permit execuia a dou instruciuni pe durata unei perioade de tact. Capacitatea memoriei cache L1 a fost de asemenea dublat, fiind alocai 8 KB pentru instruciuni i 8 KB pentru date. Procesorul Pentium Pro este primul din cadrul familiei de procesoare P6.

Acest procesor are o arhitectur superscalar mbuntit, care permite execuia a trei

instruciuni ntr-o perioad de tact. Procesorul Pentium Pro, ca i urmtoarele procesoare din familia P6, se caracterizeaz prin execuia dinamic a instruciunilor, care const din analiza fluxului de date, execuia instruciunilor ntr-o alt ordine dect cea secvenial, o predicie mbuntit a salturilor i execuia speculativ. Procesorul Pentium II se bazeaz pe arhitectura Pentium Pro, la care s-au adugat extensiile MMX (Multimedia Extensions). La acest procesor s-au utilizat noile

tehnici de ncapsulare numite Slot 1 i Slot 2.

Pentium III.Acest procesor este ultimul din cadrul familiei P6, i se bazeaz pearhitecturile procesoarelor Pentium Pro i Pentium II. Au fost adugate 70 de noi instruciuni la setul de instruciuni existent. Acestea sunt destinate att unitilor funcionale existente la procesoarele precedente, ct i noii uniti de calcul n virgul mobil de tip SIMD (Single Instruction, Multiple Data).Evolutia familiei 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 familiei impreuna cu principalele caracteristici de performanta.

TipAnul lansariiLatime

registre (biti)Latime mag. de date/adreseSpatiu de adresare fizic/virt.Alte caracteristici

808619781616/201Moprimul procesor pe 16 biti

8088198016 8/201Moprocesorul folosit pentru primul IBM PC

8018619821616/201Mo8086 cu suport I/O pe cip

8028619821616/2416Moprocesor pentru IBM-PC,varianta AT

8038619853232/324Go/64Toprimul procesor pe 32 de biti

8048619893232/324Go/64Toincorporeaza coprocesorul matematic si unitatea de management a memoriei

Pentium19923264/324Go/64Tarhitectura pipeline superscalara

Pentium Pro19953264/324Go/64Tprimul reprezentant al familiei P6 realizeaza executia dinamica a instructiunilor

Pentium II, si III1997,

19993264/324Go/64Tfacilitati suplimentare de control al consumului

2.2 Componentele arhitecturii de baza

Procesorul I8086 (primul lansat din familie) contine doua unitati functionale autonome: unitatea de executie (EU Execution Unit) si unitatea de interfatare a magistralei (BIU Bus Interface Unit); ulterior functionalitatea acestor unitati a fost divizata pe mai multe 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. Din punct de vedere al programatorului aceasta divizare pe unitati este mai putin vizibila; in schimb sunt vizibile urmatoarele componente: registrele generale, registrele de adresare, registrele speciale, magistralele interne de date si adrese, unitatile aritmetico-logice si altele. In figura de mai jos s-au reprezentat aceste componente in structura procesorului I8086.

AHAL

BHBL

CHCLCS

DHDLDS

SIES

DISS

BPIP

SPIR

Logica de c-da a magistralei

Reg. temporar

Unitatea de c-daCoada de instructiuni

UAL

Reg. de stare

Figura 1 Arhitectura interna a procesorului 8086

Registrele generale, notate cu AX, BX,CX, DX, SP, BP, DI si SI sunt utilizate pentru pastrarea temporara a datelor in vederea efectuarii de operatii aritmetico-logice; 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.

- AX pentru operatii de inmultire si impartire, si operatii pe siruri

- BX pentru adresare bazata

- CX pentru contorizare cicluri

- DX pentru adresare porturi de intrare/iesire

- SP - pentru adresarea stivei

- BP pentru adresare bazata

- DI, SI pentru adresare indexata si pe siruri (Di - poantor sir destinatie; SI poantor sir sursa)

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. Semnificatia acestora este urmatoarea:

- O Overflow depasire capacitate (generat in urma unor operatii aritmetice)

- D directie determina directia de deplasare la adresarea pe siruri

- I masca de intrerupere daca este setat (I=1) atunci valideaza intreruperile mascabile, in caz contrar le blocheaza

- T trasare daca este setat (T=1) atunci se va genera o intrerupere dupa executia fiecarei instructiuni; se utilizeaza pentru depanarea programelor prin trasare.

- S semn indica semnul rezultatului unei operatii aritmetice (0- rezultat pozitiv, 1- rezultat negativ)

- Z zero indica un rezultat nul

- A auxiliary transport auxiliar

- C Carry transport de la nivelul cel mai semnificativ

Registrele segment, notate cu CS,DS,ES si SS sunt folosite pentru generarea adresei de memorie pentru instructiuni si date, prin procedeul de segmentare. Registrele segment se utilizeaza in mod implicit la urmatoarele adresari:

- CS adresare instructiuni

- DS adresare date

- SS adresare stiva

- ES adresare date pentru instructiuni pe siruri

Registrele speciale IP, RI sunt registre folosite pentru executia instructiunilor, dar la care programatorul nu are acces direct

- RI- registru de pastrare a instructiunii curente

- IP registru de pastrare a adresei instructiunii curente

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. Operanzii pot fi continuti in registre interne si locatii de memorie. Continutul porturilor 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),

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).

Unitatea de interfatare a magistralei: asigura legatura intre componentele interne ale procesorului si modulele sistemului de calcul, externe procesorului ( module de memorie si interfete de intrare/iesire); contine amplificatoare de magisrala pentru liniile de date, adrese si comenzi, si circuite de control al transferului de date pe magistrala.

5. Modurile de adresare i formarea adresei fizice.

Citirea sau scrierea unei locatii de memorie necesita specificarea adresei 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 diferite structuri de date specifice limbajelor de nivel inalt (ex: variabile simple, tablouri, inregistrari, etc.).

Moduri pentru adresarea datelor:

a. Adresarea imediata: - operandul este continut in codul instructiunii

-exemplu: MOV AX, 1234H;1234H este o data imediata inclusa in codul instrictiuniib. Adresarea de tip registru: - operandul este continut intr-un registru intern al procesorului

-exemplu: MOV AX, BX; registrele AX, si BX reprezinta destinatia si respectiv sursa transferului de date

c. Adresarea directa: - adresa operandului este specificata in codul instructiunii

-exemplu:

MOV AX, [1234H]; 1234H este adresa operandului sursa

d. Adresarea indexata: adresa operandului este continuta intr-un registru index (SI sau DI); acest mod de adresare este specific pentru accesul la structuri de date de tip tablou (vector, matrice), la care elementele structurii se regasesc prin incrementarea unui index.

-exemplu:

MOV AX, [SI]

; registrul SI contine adresa operandului

MOVAX,[SI+1234H]; registrul SI contine adresa relativa a operandului in raport cu adresa 1234H;

e. Adresarea bazata: adresa operandului sa afla intr-un registru de baza (BPsau BX); acest mod de adresare este specific pentru structuri de date de tip inregistrare (record); un element al inregistrarii se regaseste prin adunarea la adresa de inceput a inregistrarii (adresa de baza) a unei adrese relative.

-exemplu: MOVAX,[BX+123H]; registrul BX contine adresa de inceput a structurii de date iar 123H este adresa relativa a elementului cautat

f. Adresarea bazat indexata: este o combinatie a metodelor precedente; se utilizeaza pentru adresarea unor structuri de date complexe (ex: inregistrare de tablouri sau tablou de inregistrari)

-exemplu:

MOV AX, [BX+SI+1234H]; adresa operandului se obtine prin insumarea continutului registrelor SI, BX si a adresei 1234H.g. Adresarea de tip stiva: adresa este specificata in mod implicit; ea este continuta in registrul poantor de stiva (SP); la efectuarea unui transfer continutul registrului SP este actualizat prin incrementare sau decrementare pentru a indica catre virful stivei; singurele instructiuni care folosesc acest mod de adresare sunt cele de salvare pe stiva (PUSH) si de citire de pe stiva (POP).-exemplu:

PUSH AX

POP AX

h. Adresarea pe siruri: este o forma speciala de adresare indexata ce permite parcurgerea unui sir de date prin executia ciclica a unei singure instructiuni; registrele folosite in mod implicit pentru adresare sunt: SI pentru sirul sursa si DI pentru sirul destinatie. Dupa efectuarea instructiunii registrele index sunt incrementate sau decrementate functie de starea indicatorului D din registrul de stare program (PSW). Registrul CX se utilizeaza pentru contorizarea numarului de cicluri efectuate; el se decrementeaza dupa fiecare executie de instructiune pina se ajunge la 0.

-exemplu:

MOVSW; transfer pe cuvint

MOVSB; transfer pe octet

obs: pentru ciclare se foloseste instructiunea prefix REP

Modurile de adresare prezentate mai sus determina adresa unui operand in cadrul unui segment (adresa offset). Pentru a determina adresa fizica a unei date trebuie sa se utilizeze informatia continuta in registrul segment folosit in mod implicit (CS cod, DS - 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.

-exemplu (adresele sunt in hexazecimal):

Adresa de segment1234

Adresa de offset5678

Adresa fizica179B8

In regimul de lucru protejat informatia continuta in registrele segment reprezinta descriptori de segment iar calculul adresei fizice este diferit (a se vedea lucrarea 2).

Moduri pentru adresarea instructiunilor:

a. Prin incrementare - adresa instrictiunii urmatoare se determina prin incrementarea registrului PC; este metoda implicita de adresare folosita pentru majoritatea instructiunilor cu exceptia celor de salt.

b. Prin adresare directa - adresa instructiunii urmatoare este continuta in instructiune. Acest mod se foloseste la instructiunile de salt.

-exemplu:

JMP 1234H; salt la adresa 1234H

c. Prin apel direct de rutina: adresa de salt este continuta in instructiune; pe stiva se salveaza adresa de offset si adresa de segment a instructiunii urmatoare celei de apel.

-exemplu:

CALL1234H;salt la rutina de la adresa 1234H

d. Prin revenire din rutina:- adresa de salt se determina prin incarcarea registrelor PC si CS cu informatia aflata pe virful stivei (adresa salvata pe stiva la apelul rutinei).

-exemplu: RET

e. Prin salt relativ: adresa de salt se determina prin adunarea la registrul PC a adresei relative continuta in instructiune; observatie: registrul PC contine adresa instructiunii imediat urmatoare; adresa relativa se exprima pe octet, ceea ce inseamna ca saltul trebuie sa se incadreze in limitele (-127 +127).Acest mod de adresare se utilizeaza in cazul salturilor conditionate.

6. Extensiile MMX, 3DNow!, SSE

MMX, SSE, SSE2, 3Dnow, 3Dnow2 si extensiile lor sunt seturi de instructiuni pe care procesorul le executa direct, fara recompilare.Tehnologia MMX este orientat aplicaiilor multimedia, grafica 2D/3D i comunicaiilor. Avantajul principal al MMX const n prelucrarea concomitent a unui ir de date cu o instruciune conform tehnologiei SIMD (Single Instruction Multiple Data). Tehnologia MMX prelucreaz noi tipuri de date mpachetate n registre pe 64 bii: 8 Byte, 4 cuvinte, 2 cuvinte duble, cuvnt pe 64 bii. Aceste date sunt prelucrate n registrele MMX0-MMX7, care reprezint 64 bii inferiori ai registrelor FPU pe 80 bii. Tehnologia 3DNow!(21 instruciuni) a fost implementat de firma AMD n microprocesoarele sale K6-2, pentru extinderea capacitilor blocului MMX. Aceast tehnologie prelucreaz date n format FP 2 cuvinte pe 32 bii cu o precizie unitar i date mpachetate (8 Byte, 4 cuvinte, 2 cuvinte duble, cuvnt pe 64 bii). n microprocesoarele Athlon setul de instruciuni a fost extins cu 24 instruciuni. Setul extins este notat -3DNow!E.Noile instruciuni sunt destinate procesoarelor DSP (12 instruciuni), ce prelucreaz date n format FP, sa extins setul de instruciuni MMX (12 instruciuni numere ntregi), extins gestiunea memoriei cache (7 instruciuni destinate accelerrii transferului de date). Unele instruciuni coincid cu instruciunile din setul SSE. Setul3DNow! Professional(72 instruciuni), introdus n microprocesoarele Sempron, este compatibil cu setul SSE i este notat3DNow!P.n microprocesoarele Intel extensiile 3DNow! nu sunt utilizate.

7. Ierarhia de memorie a calculatorului.

Principalele caracteristici de care trebuie s se in cont la realizarea unui sistem de memorie sunt capacitatea i performanele memoriei, n special timpul de acces. Pe lng acestea, trebuie s se ia n considerare i costul memoriei. Aceste caracteristici sunt contradictorii. De exemplu, exist n general urmtoarele relaii ntre capacitatea, timpul de acces i costul pe bit al diferitelor tehnologii utilizate pentru implementarea sistemelor de memorie:

O capacitate mai mare implic un timp de acces mai mare;

O capacitate mai mare implic un cost pe bit mai mic;

Un timp de acces mai mic implic un cost pe bit mai mare.

Pe de o parte, trebuie utilizate tehnologii de memorie care asigur o capacitate ridicat, pentru c o asemenea capacitate este necesar, i deoarece costul pe bit al acestor tehnologii este mai redus. Pe de alt parte, pentru a satisface cerinele de performan, trebuie utilizate memorii cu un timp de acces redus, care au un cost ridicat i o capacitate relativ redus. Aceste cerine contradictorii se pot asigura dac se utilizeaz n cadrul unui sistem de calcul mai multe componente i tehnologii de memorie, care formeaz o ierarhie de memorii. O ierarhie tipic este ilustrat n Figura 8.1.

Memoria intern principal a calculatorului este cea la care fac referire cele mai multe instruciuni i date. Pentru operaiile interne ale UCP i cele aritmetice i logice, se utilizeaz registrele. Memoria principal este extins uneori cu o memorie mai rapid, de dimensiuni mai mici, numit memorie cache sau memorie tampon rapid.

Memoria principal i extensiile sale sunt, n general, volatile. Datele sunt pstrate pe termen lung n memorii externe de mas, dintre care cele mai utilizate sunt discurile i benzile magnetice. Acestea se utilizeaz pentru memorarea fiierelor de programe i de date. Discurile se utilizeaz de asemenea pentru a asigura o extensie a memoriei principale, numit memorie virtual.

Pe msura deplasrii din partea superioar a ierarhiei spre cea inferioar, se constat urmtoarele:

(a) Scade costul pe bit;

(b) Crete capacitatea;

(c) Crete timpul de acces;

(d) Scade frecvena de acces la memorie de ctre UCP.

Rezult deci c memoriile rapide, cu un cost mai ridicat, sunt extinse prin memorii de dimensiuni mai mari, mai lente, dar mai ieftine. Dac memoria poate fi organizat conform punctelor (a) - (c), i dac datele i instruciunile pot fi distribuite n cadrul acestei memorii conform condiiei (d), aceast organizare va reduce costurile globale,

meninnd n acelai timp un anumit nivel al performanelor.

Baza pentru validitatea condiiei (d) o reprezint principiul cunoscut sub numele de localitate a referinelor. Referinele la memorie efectuate de UCP, att pentru date, ct i pentru instruciuni, tind s se grupeze n anumite zone. Programele conin de obicei un numr de bucle repetitive i subrutine. Dup intrarea ntr-o asemenea bucl

sau subrutin, vor exista referine repetate la un numr redus de instruciuni. n mod similar, operaiile cu tablouri de date implic accesul la un set grupat de cuvinte de date. ntr-o perioad mai lung de timp, zonele de memorie accesate se schim, dar ntr-o perioad scurt de timp, UCP lucreaz mai ales cu referine de memorie grupate.

n mod corespunztor, este posibil organizarea datelor n cadrul ierarhiei astfel nct procentul de accesuri la nivelul imediat inferior este cu mult mai redus dect cel

la nivelul imediat superior. Considerm, de exemplu, c memoria este organizat pe dou nivele, nivelul 1 fiind nivelul superior. Nivelul 2 conine toate instruciunile i datele programului. O parte a instruciunilor i datelor pot fi plasate temporar n nivelul 1. Periodic, anumite zone din nivelul 1 sunt mutate n memoria de nivel 2, elibernd spaiu pentru alte zone din nivelul 2. n medie ns, majoritatea referinelor se vor efectua la instruciunile i datele aflate n memoria de nivel 1.

8. Memoria static. Principiile de functionare. Arhitectura i caracteristici.

Termenul SRAM indic faptul c datele depuse n memorie sunt stabile. Circuitele flip-flop sunt o variant de circuite de memorare stabile. Un dispozitiv simplu de memorare cu aceast proprietate este reprezentat n fig. 1.

Fig. C11.1 Dispozitiv simplu de stocare

Dispozitivul de stocare este construit cu dou pori NU; ieirea fiecreia este conectat la intrarea celeilalte, sau altfel spus, sunt conectate n cruce. Dac punctul A este 1, atunci punctul B va fi 0; dac punctul A este 0, atunci punctul B va fi 1. Dac este posibil s fie stabilit o valoare iniial a unuia din punctele A sau B, acest dispozitiv va menine acea valoarea un timp nedefinit, presupunnd c dispozitivul este alimentat tot acest timp. Considernd cele descrise, dispozitivul este un dispozitiv static.

Valoarea punctelor A i B poate fi iniializat utiliznd circuitul reprezentat n fig. C11.2.

Tranzistoarele, numite i tranzistore de trecere, plasate pe partea dreapt i pe partea stng a circuitului de memorare, permit nscrierea unei stri n punctele A i B atunci cnd linia Read/Write este activ. Dac linia Read/Write nu este activ, tranzistoarele de trecere nu conduc i liniile Data i Data' nu sunt conectate spre dispozitivul de memorare ceea ce face informaia plasat pe liniile de date s nu poat ajunge la punctele A i B. Pentru ca o operaie de scriere s aib loc, se plaseaz valoarea dorit a fi nscris pe linia Data i complementul acesteia pe linia Data', dup care se activeaz linia Read/Write. Tranzistoarele de trecere intr n conducie i valorile de pe liniile Data i Data' vor fi transferate ctre punctele A i B.

O poart NU poate fi construit cu dou tranzistoare MOS, astfel o celul RAM static, ce este capabil s memoreze un bit de informaie, poate s fie construit cu 6 tranzistoare MOS. n fig. C11.3 este ilustrat un model abstract al unei celule RAM static, model ce ascunde detaliile

constructive.

Pentru a forma o memorie pentru un cuvnt, se plaseaz ntr-un acelai rnd attea celule de memorare ct este lungimea cuvntului. n fig. C11.4 se arat cum este construit un dispozitiv

pentru memorarea unui cuvnt de patru bii.

Observai c prin activarea liniei R/W din stnga, toate cele patru celule sunt conectate la liniile

Data i Data.

O memorie ce corespunde necesitilor reale trebuie s fie capabil s stocheze un numr mare de cuvinte. Aceasta se realizeaz prin stivuirea mai multor celule de memorare a unui cuvnt, aa cum ilustreaz fig. C11.5.

Atunci cnd se activeaz o linie R/W, valorile interne din celulele de memorare de pe rndul respectiv sunt transferate pe liniile Data i Data sau valorile plasate pe liniile Data i Data sunt transferate n celulele de memorare ale acelui rnd. La un moment dat, este permis unui singur semnal R/W s fie activ. Pentru a ne asigura c un singur semnal R/W este activ, se adaug structurii, pe partea stng a ariei de celule, un decodor 2:4.

n urma acestei modificri, primul cuvnt este selectat cnd la intrarea decodorului se aplic 00; valoarea aplicat la intrarea decodorului este numit adres de memorie. Urmtorul cuvnt se afl la adresa 01, iar cel mai de jos cuvnt se afl la adresa 11.

n fig. C11.6 este artat reprezentarea abstract a unei memorii de 4 cuvinte a cte 4 bii.

Modulul de memorie este funcional, dar este dificil de utilizat din cauza celor patru linii de date i a complementelor acestora (sunt prea multe). Utilizatorul ar trebui s poat s scrie i s citeasc informaie fr a mai considera i liniile negate. Cu ct memoria este mai mare pe dimensiunea vertical (crete numrul de cuvinte), inversoarele celulei de memorare vor comanda greu liniile lungi ce conecteaz toate celulele unei coloane. Pentru a crete viteza de lucru la memoriile mari, fiecrei coloane din structur i se adaug un amplificator. Totodat, amplificatorul sesizeaz diferena dintre liniile Data i Data. Pe lng amplificatoare, se mai completeaz structura cu circuite tampon (buffer).

Dispozitivul ilustrat n fig. C11.6 dispune de o singur linie I/O (Input/Output - Intrare-Ieire) pentru fiecare bit al cuvntului; bitul este citit sau scris pe aceeai linie. Exist memorii care au linii separate pe a accesa un bit n mod scriere, respectiv n mod citire. Observai c atunci cnd linia R/W este activ, dispozitivul este n mod citire, iar atunci cnd nu este activ, dispozitivul este n mod citire; nu exist linii diferite pentru a selecta modurile scriere, citire.

9. Memoria dinamic. Tipuri i caracteristici. Memory Timing.

Memoria RAM dinamic este asemntoare cu memoria RAM static, cu exceptia faptului c n loc s stocheze informatie un timp nedefinit, aceasta pierde cu timpul informatia. Dei pare ridicol, memoria RAM dinamic prezint totui o serie de avantaje; problema pierderii informaiei este destul de uor rezolvat. O celul de memorie RAM dinamic, capabil s stocheze un bit de informaie, este construit cu un singur tranzistor i un condensator, aa cum se arat n fig. C11.7.

Condensatorul este elementul care memoreaz starea; ntr-un univers ideal, acesta ar stoca informaia un timp nedeterminat. n universul real, sarcina electric stocat n condensator se scurge ncet i aceasta trebuie nlocuit cu regularitate. Atunci cnd se activeaz linia Read/Write, valoarea stocat n condensator este plasat pe liniile de ieire date; dac are loc o operaie de scriere, valorile plasate pe liniile de date sunt stocate n condensator.

Abstracia prezentat pentru memoriile RAM statice poate fi folosit i pentru memoriile dinamice, pentru a ascunde detaliile constructive. n aceast abstractizare, cele dou tipuri de memorie se comport aproximativ la fel, diferena const doar n problema pierderii informaiei, problem caracteristic memoriilor RAM dinamice.

Atunci cnd se stocheaz informaie ntr-o memorie RAM dinamic, datorit imperfeciunilor condensatorului, aceasta se pierde cu timpul. n medie, o celul RAM dinamic pierde informaia n 32 de milisecunde. Ori de cte ori este citit informaia dintr-o celul de memorie, condensatorul este descrcat i informaia nu mai poate fi citit a doua oar, aceasta se pierde. Atunci cnd se face o operaie de scriere n memorie, condensatorul este ncrcat, prin tranzistor, de ctre un agent extern.

Ambele probleme de pierdere a informaiei, n timp i la citire, pot fi depite. Problema pierderii n timp a informaiei este rezolvat prin declanarea unui proces cunoscut ca mprosptare (refresh). Procesul poate fi neles mult mai uor dac se descrie pentru nceput cum este rezolvat problema pierderii informaiei n urma unei citiri.

n urma citirii unei celule, condensatorul este descrcat; sarcina acumulat este folosit pentru a genera curent pe liniile de date pe care este citit informaia. Circuitele logice prin care s-a efectuat citirea au recepionat valoarea cerut, dar totodat au descrcat condensatorul. O soluie simpl pentru a nu pierde informaia nscris n celul, este aceea de a rescrie imediat informaia dup ce aceasta a fost citit. Acest lucru poate fi realizat uor utiliznd circuite suplimentare. Cu alte cuvinte, o citire va fi de fapt o citire urmat imediat de o scrierea napoi a valorii citite. n acest fel circuitul de citire va primi valoarea cerut i condensatorul va fi rencrcat.

Dac celula de memorie nu este accesat n nici un fel, nici pentru citire, nici pentru scriere, mai

mult de 32 de milisecunde, informaia din aceasta se va pierde. O soluie o reprezint citirea fiecrei celule de memorie din aria de celule la fiecare 32 milisecunde. Aa cum a fost precizat n paragraful anterior, citirea va fi asociat cu o scriere i astfel datele vor fi mprosptate. Logica ataat la liniile de date va ignora starea liniilor de date n timpul ciclurilor de mprosptare.

10. Memoria DDR (DDR II) SDRAM. Caracteristici.

DDRSDR este o memorie un model de memerie pentru calculatoare, destinata pentru unitatilte de calcul si memorie a chipset-urilor video.

Viteza de lucru a DDR SDRAM este dde 2 ori mai mare in comparatie cu SDRAM, deoarece citirea datelor se face atit pe frontul pozetiv cint si pe cel negativ. Latimea magistralei de date este de 64 biti, deci in timp de un tact are loc transmiterea a 8Baiti de date. Formula de calcul pentru viteza transmiterei a datelor este : Vdata = Fregde lucru ( tacte pe secunda ) * 2 ( timp de un tact datele se transmit dublu ) * 8 ( nr de Baiti transmisi timp de un tact ). Pentru ca sa formam transmiterea dubla a datelor timp de un tact se foloseste tehnologia 2n Preferance ( latimea interna a MD este de 2 ori mai mare decit cea externa ), asadar la transmiterea datelor pe frontul pozetiv se transmite prima parte de date de pe magistrala interna apoi pe frontul negativ cealalta parte.

Pe linga vitezei duble DDR SDRAM mai are si alte aspecte principale care nu sunt la SDRAM, ele poarta caracter tehnologic de exemplu a fost adaugat semnalul QDS, el se foloseste pentru sincronizarea datelor la transmitere.

Memoria DDR SDRAM este formata din mai multe module SDRAM. Pe placa memoriei se afla de regula 4,8, 16 module si un circuite de configurare SPD.

Caracteristicile modulelor SDRAM.

Volumul. Este indicat in MB sau GB

Numarul de module pe o placa. Nr maxim poate fi de 36 si amplasare sa se efectueze pe ambele parti a placii

Marimea unui cuvin. De obicei marimea cuvintului intr-un modul este de 4 sau 8 biti, insa daca avem nevoie modulele se leaga intre ele avind aceleasi adrese in asa mod se dubleaza lungimea cuvintului pastrat in memorie.

Timpii de retinere : sunt timpii de acces la un modul, timpul minim de citire, timpul de adresare la memorie, timpul de incarcare a celulelor, perioada de reinmprospatare a celulelor.

11. Arhitectura RAMBUS. Caracteristici.

Magistrala memoriei este utilizata la transferul informatiilor ntre CPU si memoria principala (RAM) a sistemului. Aceasta magistrala este o parte a magistralei procesorului, sau de cele mai multe ori este implementata separat cu un set de cipuri responsabil cu transferul informatiilor ntre magistrala procesorului si memorie. n sistemele a caror frecventa este mai mare dect posibilitatile cipurilor de memorie se utilizeaza un set de cipuri numit controllerul memoriei care realizeaza interfata ntre magistrala rapida a procesorului si memoria principala, mai lenta.

Magistrala memoriei este formata din 3 magistrale principale :

Magistrala de date in dependenta de calculator ele pot fi de 16,32,64 biti. Prin ea are loc transmiterea datelor intre memoria cache si RAM.

Magistrala de adreseeste parte a magistralei procesorului si a celei de memorie si ea este reprezentata pentru procesorul Pentium de cele 32 de linii de adrese. Magistrala de adrese este folosita pentru a indica adresa de memorie sau adresa de pe magistrala sistemului care va fi utilizata n cadrul operatiei de transfer al datelor. Magistrala de adrese indica precis locul n care va avea loc urmatorul transfer n memorie sau pe magistrala. Dimensiune magistralei de memorie determina marimea memoriei pe care unitatea centrala o poate accesa direct.

Magistrala de control prin ea se transmit semnale de control cu dirijarea memoriei rom.

12. Sporirea vitezei de transfer a datelor ntre microprocesor i memorie.

Performanele sistemelor moderne de calcul pot fi serios afectate de viteza de lucru a

dispozitivelor ce compun memoria principal, vitez n general mai mic dect viteza de lucru a

procesoarelor. La ce bun un procesor ce funcioneaz cu o frecven de ceas mai mare de 1GHz,

dac memoria principal este lent i se introduc multe stri de ateptare. Circuitele integrate de

memorie dinamic tradiionale (care constituie i nucleul memoriilor sincrone ce pot fi citite la

frecvene de ordinul sutelor de MHz) au timpi de acces standard de aproximativ 60 ns, dar timpii

medii de acces, prin diferite organizri i tehnici de sincronizare pot, n prezent, s ajung sub 10

ns. Se consider c un sistem funcioneaz ineficient, cu multe stri de ateptare pentru procesor,

dac viteza procesorului este mai mare de cel puin 3 ori fa de viteza cu care se transmit datele pe magistrala comun cu memoria; excepie face cazul cnd memoria cache este substanial mrit.

Cteva din soluiile folosite pentru a compensa aceasta incompatibilitate de vitez ntre

procesor i memoria principal (MP) sunt:

- introducerea unei memorii intermediare ntre procesor imemoria principal, numit memorie

tampon (cache) care lucreaz cu mare vitez i are dimensiuni medii / mici;

- suprapunerea operaiilor de adresare la memoria principal cu alte activiti efectuate de procesor, prin realizarea unei uniti de interfa cu magistrala care face o aducere (fetch)

prealabil a instruciunilor dinmemoria principal i le stocheaz ntr-o coad local a UCP;

- organizarea memoriei principale sub forma de blocuri, cu porturi distincte de acces i cu adrese

ntreesute, ceea ce va asigur o vitez medie de transfer mai mare dect inversul timpului de

acces la un bloc.

Soluiile menionate mai sus nu sunt complet independente. Crucial pentru performanele

sistemului sunt creterea lrgimii de band a memoriei i scderea latenei (ntrzierii rspunsului n timp) accesului la memorie.

Memoriile cache (tampon) sunt folosite pentru stocarea unor fragmente de program, date i

rezultate intermediare, frecvent folosite de ctre procesor. Memoria cache este amplasat ntre

procesor i memoria principal.

Utilizarea unei memorii cache, de mare vitez, n care se pot stoca att instruciuni, ct i

date, frecvent folosite, are ca scop principal obinerea unei valori mici pentru timpul mediu de acces al UCP la memorie. Avnd un timp mic de acces, memoria cache permite ca o operaie de citire /scriere s se efectueze ntr-o singur perioad de tact, ceea ce face ca procesorul s nu ntre n stri de ateptare. Prezena memoriei cache va fi vizibil pentru utilizator numai prin sporirea vitezei de lucru la execuia programelor.

13. Memoria Cache. Principiul de funcionare. Mapare direct, semiasociativ i asociativ.

Principiul memoriei cache este ilustrat n Figura 8.10. Exist o memorie principal de dimensiuni relativ mari, dar mai lent, i o memorie cache mai redus, dar mai rapid. Memoria cache conine o copie a unor pri din memoria principal. Atunci cnd UCP ncearc citirea unui cuvnt din memorie, se testeaz dac respectivul cuvnt se afl n memoria cache. n caz afirmativ, cuvntul este furnizat unitii centrale. n caz contrar, se ncarc n memoria cache un bloc al memoriei principale .

n Figura 8.11 se prezint structura unui sistem de memorie format din memoria principal i o memorie cache.

Memoria principal const din 2^n cuvinte adresabile, fiecare cuvnt avnd o adres unic de n bii. Se consider c aceast memorie este format dintr-un numr de blocuri de lungime fix de K cuvinte fiecare. Exist deci 2n/K blocuri. Memoria cache const din blocuri de cte K cuvinte fiecare, un asemenea bloc fiind numit linie. Exist L linii n memoria cache, numrul de linii fiind mult mai mic dect numrul blocurilor din memoria principal (L