Sunteți pe pagina 1din 57

1 Memoria operativ, definiia, funcia Memoria cu acces aleator (aceasta este traducerea expresiei engl.

Random Access Memory, abreviat RAM, care se citete aproximativ rm) este denumirea generic pentru orice tip de memorie de calculator care

poate fi accesat aleator, oferind acces direct la orice locaie sau adres a ei, n orice ordine, chiar i la ntmplare, se implementeaz de obicei pe cipuri (circuite integrate) electronice rapide (i nu pe dispozitive magnetice sau optice precum discurile dure (hard disks) sau CD-urile).

Timpul de acces la datele din astfel de memorii este de obicei constant, nedepinznd de poziia adresei de memorie accesate (deci nu ca la benzile sau discurile magnetice, care necesit un timp variabil). Cele mai multe implementri de RAM sunt volatile (datele stocate se pierd dac alimentarea cu energie electric se ntrerupe), dar exist i memorii RAM nevolatile, ca de exemplu de tip Read-Only Memory (ROM) i memorii de tip flash. Avantajul memoriei RAM fa de alte medii de stocare a datelor const n viteza de acces extrem de mare, fiind de mii de ori mai mare dect de exemplu cea a unui un disc dur.Exist dou tipuri principale de RAM:

memorie static, de tip Static RAM (sau SRAM, care se citete 'esrm) memorie dinamic, Dynamic RAM (sau DRAM, citit 'di-rm),

diferenele constnd n stabilitatea informaiilor. Astfel, memoria static pstreaz datele pentru o perioad de timp nelimitat, pn n momentul n care ea este rescris, asemntor memorrii pe un mediu magnetic. n schimb, memoria dinamic necesit rescrierea periodic permanent, la fiecare cteva fraciuni de secund, altfel informaiile fiind pierdute.
1

Avantajele memoriei SRAM: utilitatea crescut datorit modului de funcionare i viteza foarte mare; dezavantaj: preul mult peste DRAM. Memoria de tip SRAM este folosit cel mai adesea ca memorie intermediar/cache. DRAM-ul este utilizat n PC-urile moderne, n primul rnd ca memorie principal ("de lucru"). Tipurile uzuale de DRAM folosite de-a lungul istoriei informaticii, toate concepute n scopul creterii performanei DRAM-ului standard:

Fast Page Mode DRAM (FPM DRAM), Extended Data Out DRAM (EDO DRAM), Burst EDO DRAM (BEDO RAM), Rambus DRAM (RDRAM), n prezent impunndu-se Synchronous DRAM (SDRAM), cu variantele o Double Data Rate SDRAM (DDR SDRAM) i o DDR2 SDRAM.

De asemenea, au fost concepute mai multe tipuri de memorie i pentru plcile grafice, printre care Video RAM (VRAM), Windows RAM (WRAM), Synchronous Graphics RAM (SGRAM) i GDDR3, ele fiind variante de DRAM optimizate drept memorie video. Alte dou elemente care influeneaz viteza, stabilitatea i preul memoriilor sunt funciile numite Error-Correcting Code (ECC) i Registered, integrate n unele module de memorie. Funcia ECC permite detectarea i corectarea "n zbor" a erorilor mai puin grave ce pot aprea pe parcursul utilizrii, iar funcia Registered (numit i Buffered) deine un buffer (zon de memorie intermediar suplimentar) care depoziteaz informaia nainte ca ea s fie transmis controlerului, permind verificarea riguroas a acesteia. Memoriile de tip Registered sunt i extrem de scumpe, i mai lente dect cele normale sau ECC, folosirea lor fiind justificat doar n cazurile speciale cnd corectitudinea informaiilor prelucrate i stabilitatea sistemului este esenial, de exemplu n cazul serverelor.
2

n general, att timp ct memoria nu este supus unor situaii anormale de funcionare (frecven, tensiune de alimentare sau temperatur n afara specificaiilor), ea ofer o stabilitate (siguran) extrem de apropiat de perfeciune, arhisuficient pentru un calculator sau aparat cu memorie obinuit. Termenul de memorie poate avea semnificatii diferite, atunci cnd vine vorba de calculatoare prin memorie mecanism de reinere a datelor ce pot fi utilizate de un echipament electronic.Memoria unui calculator poate fi imprit n dou mari categorii: memorie intern sau primar memorie extern sau secundar Memoria intern este zona de memorie care poate fi accesat n mod direct de ctre microprocesor. Orice cantitate de date nainte de a putea fi prelucrat de microprocesor trebuie s treac mai nti prin memoria intern a calculatorului. Memoria extern este format din diferite dispozitive de stocare ce retin informatia pe termen lung. Memoria RAM Pentru c totul trebuie s ajung mai nti n memoria intern dimensiunea i viteza de lucru a memoriei RAM influeneaz n mod direct performanele unui calculator. Acesta este unul i din motivele pentru care memoria intern este adus de fiecare dat n discuie atunci cnd trebuie evalute perfomaneele unui calculator. Memoria intern este alctuit aproape n totalitate memorie RAM.RAM este prescurtarea de la Random Acces Memory - adic memorie cu acces aleator. Accesul aleator nu se refer la faptul c datele coninute de acest tip de memorie sunt accesate la ntmplare. Caracteristica de accesare aleatorie face referire la posibilitea de stocare i accesare a datelor ntr-un mod nonsecvenial, ceea ce insemn ca orice cantitate de date poate fi accesata in mod direct.Memoria RAM se prezint sub forma unor module ca cel din
3

imaginea de mai jos. Aceste module pot fi achiziionte de la magazinele locale i montate pe placa de baz a calculatorul, fie n regie proprie sau cu ajutorul unor specialiti. * Memoria RAM este locul n care ajung datele nainte de a fi prelucrate de microprocesor - aceast memorie este spaiul de lucru al calculatorului. * Pentru c totul trece prin memoria RAM, capacitatea de stocare a memoriei RAM i rapiditatea acesteia influeneaz n mod direct performanele calculatorului. * Orice software este conceput s funcioneze n prezena unei anumite cantiti minime de memorie RAM. Dac ntr-un calculator nu se gsete minimul de memorie RAM cerut de un program - acesta va refuza s porneasc sau va funciona necorespunztor. * O cantitate insuficient de memorie RAM poate afecta serios performanele calculatorului pe ansamblu. * Mai mult memorie RAM nseamn performane mai bune ale calculatorului, sau cel puin, aa vd lucrurile o bun parte dintre utilizatorii de calculatoare personale. Nu ncercai s v opunei acestei preri generale chiar in unele cazuri dubland cantitatea de memeorie nu se va observa practic nicio diferenta. Exist o nelegere secret ntre productorii de memorie RAM i productorii de calculatoare, astfel nct s fii nevoit s cumprai i memorie RAM odat cu calculatorul. Calculatoarele sau obinuit cu memoria RAM, de ce s se schimbe lucrurile acum. Memoria RAM are o vitez de lucru foarte mare n comparaie cu restul dispozitivelor de stocareAcordai-v un punct dac ai ales a treia variant, ntr-adevr, memoria RAM este mult mai rapid dect alte dispozitive de stocare.Memoria RAM poate furniza date cu rapiditate microrprocesorului datorit faptului c este o component 100% electronic i nu beneficiaz de pri n miscare precum majoritatea dispozitivelor de stocare obinuite.Dac n prezent un hard disk obinuit poate funiza microprocesorului aproximativ 100 de MB/s de date pe secund, memoria RAM poate furniza date i la viteze de peste 9000 MB/s n cazul tehnologiei DDR3.
4

Memoriile RAM actuale se ncadreaz n tehnologia de tip SDRAM acronim ce provine de la synchronous dynamic random access memory. Fr a intra n detalii tehnice s vedem care sunt tipurile de memorie care prezint interes pentru noi, n funcie de vechimea calculatorului de acas. Trebuie mentionat ca desi toate tipurile de memorii de mai jos folosesc tehnologia SDRAM - in vorbirea curenta prin memorii SDRAM se face referire la memoriile mai vechi caractestice sfars itului anilor 90, iar pentru celelalte tipuri de memorii foloseste doar denumirea scurta: DDR, DDR2 sau DDR3 fara SDRAM. * SDR-SDRAM - Single Data Rate SDRAM - acest tip de memorie a facut cariera ncepnd cu mijlocul anilor 90 i pn n anii 2002 cnd nc se mai puteau achiziiona calculatoare personale noi echipate cu sloturi de memorie SD-RAM. Chiar daca calculatoarele personale au abandonat acest standard , chipurile de memorie de tip SDRAM inc se fabric pentru a echipa diferite dispozitive electronice unde viteza de lucru a memoriei interne nu prezint importan. De exemplu multimedia player portabil sau un CD-Player este echipat cu un chip de memorie SDRAM * DDR SDRAM - Double Data Rate SDRAM sau DDR1 - primele memorii DDR au fcut echip cu generaia calculatoarelor de peste 1Ghz, acest prag fiind atins pentru calculatoarele destinate publicului larg n anul 1999. Prima placa de baz cu suport DDR a fost disponibil n toamna anului 2000. Pe piaa calculatoarelor personale memoriile DDR au coexistat cu cele SDR, tranziia ctre acest standard fiind ncheiat abia cnd pe piaa calculatoarelor personale nu sau mai gsit plci de baz compatibile cu memoriile SD-RAM. * DDR2 SDRAM - Acest standard a devenit disponibil pentru utilizatori la jumtatea anului 2003. Momentan sunt cele mai comune tipuri de memorie n rndul calculatoarelor personale.
5

* DDR3 SDRAM- dei anunate nc din 2005 primele plci de baz cu suport pentru acest tip de memorie au aprut n vara anului 2007. n prezent reprezint cea mai performant soluie iar costurile de achizitie sunt apropiate de cele pentru generatia anterioara -DDR2. * DRDRAM sau Direct Rambus DRAM sau este un tip de memorie RAM mai putin popular in randul calculatoarelor personale. Acest tip de memorie a intrat pe piata PC-urilor personale in 1999 avand ca sustinator principal producatorul de microprocesoare american Intel. Datorita costurilor mai mari de productie acest tip de memorie nu s-a impus pe piata. Tehnologia dezvoltata de firma RAMBUS si-a gasit totusi utilitatea in special in randul consolelor cum ar fi Nintendo 64 sau Sony Playstation 2 si 3. Trebuie stiut ca fiecare generaie de memorie RAM se deosebeste electric i fizic fa de generaia anterioar. n practic aceasta nseamn c nu putem folosi simultan doua tipuri de memorii RAM din generatii diferite, de exemplu SD-RAM mpreuna cu DDR-RAM sau DDR2 mpreuna cu DDR3. De asemenea, nu vom putea ntroduce un modul de memorie DDR2 ntr-un slot de memorie DDR datorit existenei unui element de protecie cunoscut i sub denumirea de cheie. Cheia reprezint o cavitate la baza modului de memorie poziionat diferit de la o generaie la alta care permite introducerea unui modul de memorie doar n poziia corect i doar ntr-un slot de memorie compatibil. Tot la capitolul incompatibilitati trebuie sa amintim si de memoriile ECC. Aceastea se deosebesc de memoriile obisnuite prin accea ca suporta un mecanism de corectie a erorilor -error-correcting code. Acest tip de memorii echipeaza in mod special serverele iar pretul per megabait este sensibil mai mare. Pentru utilizatorii obisnuiti achizitia de memorii ECC mai scumpe nu prezinta foarte mult interes motiv pentru
6

care placile de baza obisnuite (destinate in special calculatoarelor ieftine) nu suporta acest tip de memorii. Memoria RAM destinata calculatoarelor personale de tip desktop este in acest moment in format DIMM (dual in-line memory module). Acest format a inceput sa inlocuiasca cu succes formatul SIMM (single in line memory module) odata cu aparitia calculatoarelor echipate cu procesoare Pentium. Memoriile in format DIMM indiferent ca sunt de tip SDR, DDR, DDR 2 sau DDR 3 au aceeasi lungime de 13.35 CM. Memoriile in format SO-DIMM ( Small Outline - DIMM) sunt destinate calculatoarelor portabile si au dimensiunile reduse cu aproape 50%. Pentru a reduce consumul de energie, factor critic n economia unui sistem portabil, memoriile SO-DIMM ruleaza in general la frecvente mai scazute fata memoriile folosite pentru desktop-uri. Capacitatea maxima a emoriei RAM dintr-un calculator este limitata de urmatorii factori: * capacitatea maxima adresabila suportata de chipsetul placii de baza * tipul procesorului folosit 32/64 bit * arhitectura sistemului de operare * si in sfarsit numarul de sloturi de memorie ram cu care este echipata placa de baza (in general variaza intre 2 si 6 sloturi) Memoria RAM i viteza Fiecare tip de memorie RAM este caracterizat de e o vitez de lucru sau lime de band care este direct proporional cu cantitatea teoretic de date care poate fi transferat ntre microprocesor i memorie. Cantitatea de date care poate fi manipulat la nivel teoretic face parte din cartea de vizit a oricarei memorii. Asadar un modul PC2100 are o vitez teoretic
7

de lucru de 2100MB/s pe cnd un modul PC6400 de 6400MB/s (6,4GB/s). Memoriile SDR SDRAM au o vitez cuprins ntre 66Mhz i 133Mhz n mod standard. (PC66 = 66 MHz, PC100 = 100 MHz, PC133 = 133 MHz) Atunci cnd vine vorba de memorii DDR, de orice tip, trebuie s tim c specificaiile ne sunt prezentate la o valoare dubl datorit modului de lucru al acestor tip de memorii. Totui nu toate operaiile pe care sunt efectuate de memorie sunt la vitez dubl motiv pentru care uneori, spre deruta noastr, se face referire i la viteza nominal adic njumatit.

2 Procesorul, definiia funcia Procesorul este una dintre cele mai importante componente a unui calculator, fiind cel carestabilete cine, ce i cnd sa fac. Deoarece se pot obine performane destul de bune i cu un procesorcare nu este vrf de gama, ne poate da falsa impresie c el nu are un rol foarte important. De exemplu,un mptimit al jocurilor va pune un accent mai mare pe placa video dect pe procesor. Totul depindede destinaia calculatorului, acest lucru nsemnnd c nu avem mereu nevoie de cel mai performantprocesor. Vom ntlni des denumirea de CPU n cazul procesorului (Central Processing Unit ), sauUCP, aceasta fiind traducerea n limba romn (Unitate Central de Prelucrare).Arhitectur: structura intern a procesorului, care determin viteza i eficiena cu careprocesorul execut instruciunile.Chipset: Element de hardware care conine circuitistica eseniale ce furnizeaz interfeelepentru subsistemele unui PC. Acesta controleaz CPU, memoria principal, magistrala PCI,subsistemul IDE, magistrala pentru Accelerated Graphics Port (AGP), circuitele I/O (input/output)sistemului i altele.Nucleu:
8

Motorul de prelucrare a instruciunilor, excluznd orice memorie cache.Matri (Die): Ptratul de siliciu al procesorului, pe care sunt gravai milioane de tranzistori.Magistrala frontal (Front-side bus FSB): Poriunea din interfaa extern a CPU-ului care seconecteaz la chipset. Pipeline: Calea pe care procesorul execut instruciunile. Instruciuni multiple se pot aflasimultan n pipeline, fiecare dintre ele aflndu-se n stadii diferite.Procesor: Cunoscut i sub denumirea de CPU, este cipul care joac rolul de creier al computerului,executnd instruciunile de program pentru sistemul de operare i toate celelalte aplicaii.x86: Tehnologia folosit n majoritatea procesoarelor Intel pe 32 bii, avnd la originearhitectura dat de setul de instruciuni 8086. Cipul Itanium de la Intel, avnd o arhitectur pe 64 bii, reprezint o ndeprtare radical fa de x86. Creierul unui calculator PC este procesorul, numit i unitate central de prelucrare CPU (Central Processing Unit). Rolul acestuia este de a executa calculul i prelucrarea datelor din sistem cu excepia calculelor matematice complexe pe care le execut coprocesorul.

Viteza de lucru a unui calculator se refer la frecvena ceasului, exprimat deobicei n perioade (cicluri) pe secund. Frecvena ceasului este controlat de un
9

oscilator cu cristal compus dintr-o achie de cuar montat ntr-un mic container metalic. aplicnd o tensiune cuarului ncepe vibreze (oscileze) pe o armonic dat de cristal. Acest curent alternativ se numete semnalul de ceas. Valoarea frecvenei este de ordinul milioanelor ntr-un PC, de aceea se msoar n MHz O perioad de ceas este cel mai mic element de timp al procesorului. Duratele de execuie diferite a instruciunilor (exprimate doar n perioade de ceas) fac irelevant compararea sistemelor doar pe baza frecvenei ceasusului (conteaz foarte mult i eficiena). Pentru a putea compara adegvat puterea procesoarelor, Intel a dezvoltat o serie de teste de evaluare a performanelor pentru cipurile sale, ca instrument de etalonare. Aceast etalonare se numete ICOMP (Intel COmparative Microprocesor Perormance). De ex. 486 DX4-100 are 435 iar P166 are 1308. - INTEL, care a deinut i deine i astzi partea leului din piaa procesoarelor. - AMD Advanced Micro Devices, fondat n 1969, a intrat pe piaa microprocesoarelor n 1975, lansnd o versiune creat prin copierea procesorului 8080. Iniial Intel a autorizat-o ca a doua surs productoare de procesoare 8088. n timp AMD a dezvoltat variante proprii ale claselor de procesoare, ncepnd cu 386, ajungnd ca prin ultimul produs, AMD K7 Athlon s devanseze firma
10

Intel. - Chips & Technologies, cunoscut n special pentru cipseturile produse, a produs procesoare 386. - IBM a produs procesoare sub licena Intel. - Cyrix Corporatiuon a aprut n 1988 cu procesoarele 486 DLC i SLC. Din 1994 lucreaz cu IBM, n prezent pierznd startul pentru producerea procesoarelor noi. - Texas Instruments a revenit pe pia dup acordul cu Cyrix. a produs procesoare de clas 486. Procesoarele produse pn n prezent se mpart n dou categorii: produse de Intel i compatibile Intel. Intel nu a vrut s mreasc numrul liniilor de adres interne i folosete regitrii coprocesorului pentru MMX. Fiecare din cei opt regitri poate stoca sinultan 80 de biti. MMX folosete oricum numai 64, totui este posibil aducerea i prelucrarea simultan a 8 octei intr-un registru. Aceasti tehnic se numete Single Instruction Multiple Data (SIMD), deoarece o singur comand acioneaz pe mai muli octei. Acest procedea aduce avantaje mai ales la aplicatjile multitnedia, deoarece SIMD poate pelucra simultan o serie de mai muli pixeli ai unei imagini in loc de a face acest lucru succesiv. Instruciunile MMX constau din 24 de operaii simple: logice (AND, OR, NOT), operaii aritmetice (adunare,
11

nmulire), de conversie de comparaie. Aproape fiecare din aceste comenzi are mici variaii, astfel nct in total se poate vorbi de 57 de noi instruciuni optimizate pentru sunet i grafic. Marele dezavantaj al MMX-ului: denarece extensia multimedia si coprocesorul folosesc aceeai registri, nu vor putea lucra simultan. 3 Formatul datelor n calculator Calculatoarele utilizate n prezent reprezint informaiile ca iruri de bii. Un bit (binary unit cifr binar) reprezint una din cifrele 0 sau 1, pe care n acest context le vom considera mai degrab simboluri dect numere. ntr-adevr, vom vedea c semnificaia unui bit difer de la o aplicaie la alta. Stocarea unui bit ntr-un calculator necesit un dispozitiv care s poat s se afle ntr-una din cele dou stri, ca de exemplu un ntreruptor (pornit sau oprit), un releu (deschis sau nchis) sau un steag de start (ridicat sau cobort). Una dintre cele dou stri este utilizat pentru reprezentarea simbolului 0, iar cealalt pentru reprezentarea simbolului 1. Scopul este s studiem modalitile prin care sunt stocai biii ntr-un sistem de calcul. Sistemul de numere cu care suntem obinuii este sistemul n baza 10. Un calculator ns, trateaz informaie binar, adic numere scrise n baza 2, formate doar din cifrele 0 i 1, numite BITi (BInary digiT - cifr binar). Cele dou cifre, 0 i 1, corespund strilor "on " i "off " ale unui switch electronic.
12

n mod natural, oricrui utilizator i este mult mai uor s citeasc informaie exprimat n caractere alfanumerice (litere, numere, semne de punctuaie). De aceea se pune problema introducerii unei corespondene ntre reprezentarea alfanumeric (convenabil unui om) i reprezentarea binar necesar unui calculator pentru reprezentarea intern a datelor (fie acestea numere sau caractere). n aceast idee, mai multe sisteme i scheme de codificare au fost folosite.

4 Datele de tip text O procedur de reprezentare a datelor ntr-un calculator este aceea de a se proiecta un cod n care diferite simboluri (cum ar fi literele din alfabet sau semnele de punctuaie) au asociate modele (abloane) de bii unice i de a stoca apoi informaia sub forma unor propoziii codificate n memoria principal a calculatorului, respectiv pe un mediu de stocare de mas. La nceputul utilizrii calculatoarelor, pentru diferite echipamente au fost create i folosite alte coduri, acest lucru avnd ca efect apariia i proliferarea problemelor de comunicaie. Pentru a remedia situaia, Institutul American Naional pentru Standarde (American National Standards Institute - ANSI) a adoptat codul American Standard Code for Information Interchange (ASCII pronunat aschii), care a devenit extrem de popular. Acest cod utilizeaz modele cu o lungime de apte bii pentru reprezentarea literelor mari i mici ale
13

alfabetului englez, semnelor de punctuaie, cifrelor de la 0 la 9, precum i a anumitor caractere de control cum ar fi trecerea la rndul urmtor (line feed), revenirea la marginea din stnga textului (carriage return) sau tabulator (tab). n prezent, codul ASCII este adesea extins la un format de opt bii pe simbol prin adugarea unui zero pe poziia celui mai semnificativ bit n faa fiecrui model de apte bii al vechiului cod. Aceast tehnic nu numai c produce un cod ale crui cuvinte au dimensiunea egal cu a unei celule uzuale de memorie, dar furnizeaz alte 128 abloane suplimentare (care se obin prin plasarea vlorii 1 pe poziia bitului cel mai semnificativ din octet), permind astfel reprezentarea simbolurilor excluse din codul ASCII iniial. Din nefericire, datorit faptului c n general fabricanii dau propriile lor interpretri acestor caractere suplimentare, adesea datele care conin abloane extinse sunt dificil de transferat ntre diferite aplicaii. Figura 1.13 arat c, n acest sistem, irul de bii 01001000 01100101 01101100 01101100 01101111 00101110 reprezint mesajul Hello.. Cu toate c n prezent ASCII este cel mai utilizat cod, alte coduri mai puternice capabile s reprezinte documente scrise ntr-o varietate de limbaje, ctig n popularitate. Unul dintre acestea, Unicode, a fost dezvoltat n coooperare de ctre unii dintre cei mai importani productori de echipamente i programe. El utilizeaz modele de 16 bii pentru reprezentarea
14

fiecrui simbol. Ca rezultat, codul Unicode conine 65.536 abloane diferite - suficiente pentru a permite reprezentarea celor mai utilizate ideograme chinezeti i japoneze. Un cod care va concura probabil cu Unicode este dezvoltat de Organizaia Internaional de Standarde (International Standard Organiztion - ISO), din care face parte i ANSI. Utiliznd modele de 32 de bii pentru reprezentarea simbolurilor, acest cod poate reprezenta peste 17 milioane de simboluri. Rmne de vzut care dintre coduri va ctiga cea mai mare popularitate. 5 Datele grafice Aplicaiile utilizate la calculatoarele de astzi implic i folosirea altor tipuri de date dect caractere sau numere. Ele utilizeaz imagini, sunete, secvene video. Comparativ cu sistemele de stocare a caracterelor i valorilor numerice, tehnicile utilizate pentru reprezentarea acestor tipuri de date suplimentare se afl abia la nceput i deci nu exist nc o standardizare global acceptat de ntreaga comunitate informatic. Una dintre metodele rspndite de stocare a imaginilor este considerarea imaginii ca o colecie de puncte, numite pixel, prescurtarea sintagmei picture element (element de imagine). n forma cea mai simpl, o imagine alb-negru poate fi codificat ca un lung ir de
15

bii ce reprezint liniile de pixeli din imagine, unde fiecare bit are valoarea 1 sau 0, n funcie de culoarea pe care o are pixelul asociat lui (negru sau alb). Reprezentarea imaginilor color este doar puin mai complicat, deoarece fiecare pixel poate fi reprezentat de o combinaie de bii care s i indice culoarea. Reprezentrile de acest tip sunt cunoscute sub numele de hri prin bii (bit maps),ceea ce nseamn c irul de bii nu este mic mai mult dect o hart a imagini reprezentate. Sistemele populare de hri de bii include TIFF (Tag Image Format File) i GIF (Graphic Interchange Format). Fotografiile sunt adesea reprezentate ntr-o hart de bii cunoscut ca JPEG (Joint Photographic Experts Group). Dezavantajul principal al acestor sisteme este acela c imaginea nu poate fi scanat la o dimensiune arbitrar. Ea poate fi tiprit la imprimant utiliznd un pixel de imprimant pentru a reprezenta un pixel original sau eventual blocuri de 2x2 pixeli de imprimant pentru a reprezenta un pixel din imagine. Ultima metod va produce o imagine mai mare dect prima, dar o scalare intermediar ar fi dificil de realizat. Pentru a rezolva problema scalrii, imaginea poate fi memorat ca un set de directive care precizeaz modul de desenare al imaginii, n loc s se utilizeze o reprezentare pixel cu pixel. De exemplu, o linie existent n imagine ar putea fi reprezentat prin instruciunea de desenare a unei linii ntre dou puncte anumite. O asemenea metod las detaliile referitoare
16

la modul de desenare a liniei n seama dispozitivului care produce imaginea n loc s-i impun acestuia s reproduc un model particular de pixeli. Ea furnizeaz de asemenea o descriere compatibil cu orice mrime a unitilor sistemului de coordonate care ar putea fi specificat atunci cnd se dorete afiarea imaginii. Diferitele fonturi disponibile pentru imprimantele i monitoarele de astzi sunt reprezentate de obicei n acest mod, ceea ce ofer flexibilitate la redimensionarea caracterelor; ele se numesc fonturi scalabile (scalable font). De exemplu, True Type _ (dezvoltat de Microsoft i Aplle Computer) este un sistem care indic modul n care s fie desenate simbolurile din text. De asemenea, PostScript _ (dezvoltat de Adobe Systems) pune la dispoziie o metod de descriere a caracterelor i n general a datelor grafice. 6 Datele video audio De asemenea, tot metode de reprezentare a datelor sunt i MPEG (Motion Picture Experts Group), o tehnic folosit pentru datele video i audio, i DXF (Drawing Interchange Format), utilizat la sisteme de proiectare asistat de calculator (Computer Aided Design CAD) n care imaginile trebuie rotite i redimensionate pe ecranul calculatorului. 7 Principiu depersonalizrii codului
17

8 Formatul prezentrii cifrelor n calculator Atunci cnd avem nevoie de o tehnic eficient pentru reprezentarea numerelor ntregi ca iruri de bii, prima idee este s recurgem la notaia binar prezentat n sub capitolul 1.4. Acest lucru nu este ns posibil, pentru c adesea avem nevoie s memorm att valori pozitive, ct i negative. Ne trebuie deci un sistem de notaie care s permit reprezentarea att a numerelor ntregi pozitive, ct i a celor negative. Matematicienii au dezvoltat domeniul sistemelor de notaie pentru numere, iar unele dintre ideile lor s-au dovedit a fi foarte potrivite cu modul de realizare a circuitelor electronice i de aceia sunt utilizate pe scar larg n cadrul echipamentelor de calcul. n acest capitol vom prezenta dou astfel de sisteme de notaie: notaia n exces (excess notation) i notaia n complement fa de doi. Dei metoda de stocare a informaiilor sub forma unor caractere codificate este foarte util, ea este ineficient atunci cnd informaiile care trebuie memorate sunt de natur numeric. Pentru a nelege de ce se ntmpl acest lucru, s presupunem c vrem s stocm numrul 25. Dac dorim s-l nregistrm sub forma unor simboluri ASCII codificate cu opt bii pe
18

simbol, ne vor trebui n total 16 bii. Mai mult, cel mai mare numr pe care-l putem stoca utiliznd 16 bii este 99. O abordare mult mai eficient este stocarea valorii reprezentate n baza doi (binar). Din aceast cauz, precum i din alte motive, se obinuiete ca informaiile numerice s fie stocate utiliznd o form binar n locul codificrii simbolurilor. Spunem o form a notaiei binare, deoarece sistemul binar simplu pe care l-am descris reprezint doar fundamentul mai multor tehnici de stocare utilizate n domeniul calculatoarelor. Unele variante ale sistemului binar sunt discutate mai trziu n acest capitol. Deocamdat vom reine c pentru stocarea numerelor ntregi se utilizeaz de obicei un sistem denumit notaia notaia n complement fa de doi, deoarece acesta pune la dispoziie o metod comod pentru reprezentarea att a numerelor pozitive ct i a celor negative. Pentru reprezentarea numerelor care conin pri fracionare ca de exemplu 4 1/2 sau 2 3/4, se utilizeaz alt tehnic, ce poart numele de reprezentare n virgul mobill. n concluzie, o anumit valoare (cum ar fi 25) poate fi reprezentat prin diferite modele de bii (sub forma unor coduri de caractere, n notaia n complement fa de doi sau n notaia n virgul mobil ca 25 0/2); reciproc, un anumit ir de bii poate fi interpretat n diferite moduri. S menionm acum alt problem important care apare la sistemele de stocare a valorilor
19

numerice. Indiferent de lungimea irului de bii pe care-l poate aloca un calculator pentru stocarea valorii numerice, vor exista totui valori prea mari sau pri fracionare prea mici pentru a putea fi memorate n spaiul alocat. Ca rezultat va exista ntotdeauna riscul s apar erori cum ar fi depirea superioar (valori prea mari) sau eroarea de rotunjire (fracii prea mici), erori care trebuie tratate, pentru a nu se ajunge la situaia ca un utilizator al calculatorului s fie pus, fr a bnui nimic, n faa unor date eronate.

9 Semisumatorul, Tabela de adevr, schema Tabelul de adevr al semisumatorului elementar.

Ecuaiile logice ale ieirilor sunt urmtoarele: Si = AiBi + Ai Bi = Ai Bi (6.1) Ti = AiBi (6.2) Schema logic rezultat este prezentat n Figura

10 Decodor i Multiplexor, funciile tabela de adevr


20

11 Trigere SD

12 Segmentarea memoriei operative Folosete blocuri de informaie de dimensiuni variabile, numite segmente care unt identificate n MV printr-un numr de segment. Deci MV este mprit n segmente. Corespunztor, n MP, segmentele vor fi alocate n zone de segment de aceeai dimensiune, identificate printro adres de baz. n MP, zonele de n segment pot avea orice adres de baz MP zonele de segment se pot ntreptrunde (spre deosebire de paginare).
21

O adres logic li se localizeaz n MV, indicndu-se segmentul din memorie, cruia i aparine, i offset-ul n interiorul segmentului (ca un deplasament fa de adresa de nceput a segmentului). Deci adresa logic li va avea dou cmpuri: Dac se dorete o informaie aflat n MV la adresa logic li trebuie mai nti alocat n MP segmentul ce conine li i apoi procesorul calculeaz o adres fizic fj , la care se afl n MP informaia dorit. Adresa fizic fj se poate obine adunndu-se la adresa de baz a zonei de segment offset-ul din adresa logic: Segmentele pot avea dimensiuni variabile, avnd ns dimensiunea maxim, fie impus la o valoare predeterminat (de ex. 64 ko), fie teoretic nelimitat, caz n care practic dimensiunea maxim este limitat de dim P (= spaiul adreselor fizice) ( n MP trebuie s intre cel puin un segment de informaie). Harta de alocare a memoriei se numete tabel de segment i cuprinde pentru fiecare intrare n tabel: li : nr. segment offset - un bit de prezent; - adresa de baz a zonei de segment n care se gsete alocat segmentul; - dimensiunea segmentului; - adresa de MS de unde poate fi ncrcat segmentul n MP, la alocare. Tabela de segmente poate fi memorat n registrele procesorului, n MP sau n ambele. Ea conine un numr de intrri determinate de numrul liniilor de adres din cmpul nr. segment al adresei logice li.
22

Calculul adresei fizice este urmtorul :

Modul de calcul al adresei fizice fj La apelarea unei adrese logice ntr-un program se indic (prin cele dou cmpuri ale lui li) segmentul n care se gsete informaia memorat n MV i offset-ul n interiorul segmentului. Cmpul nr. segment din adresa logic se adun cu adresa de baz a tabelei de segmente, calculndu-se astfel o intrare n tabela de segmente (corespunztoare segmentului dorit). La intrarea n tabel se testeaz bitul de prezen: - dac BP=1 segmentul respectiv este deja alocat n MP; se citete din tabel adresa de baz a zonei de segment n care se gsete alocat segmentul n MP; acesta se adun cu offset-ul din adresa logic i se obine adresa fizic, fj; - dac BP=0 segmentul nu este nc alocat n MP; execuia programului se ntrerupe i se iniiaz procedura de alocare (aducerea segmentului din MS n MP), citindu-se din tabela de segmente adresa de MS unde este memorat segmentul; n acest moment, bitul de prezen fiind 1, se sare la primul pas i se calculeaz adresa fizic fj. Obs: Adresa fizic fj se calculeaz prin adunarea AB a zonei de segment cu offset-ul adresei logice i nu prin concatenare, ca la metoda paginrii. Obs. la segmentare: Segmentele au semnificaie logic (spre deosebire de pagini), dimensiunea lor corespunznd dimensiunii naturale a blocurilor de informaii rezultate la crearea programului segmentarea nu introduce fragmentare intern; Segmentarea introduce fragmentarea extern a MP.
23

13 Modelul program al procesorului i8086 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). 14 Regitri procesorului i8086 n general cnd se vorbete despre un microprocesor (P) se nelege c acesta reprezint CPU (Central Procesing Unit) din arhitectura generalizat von Neumann. Dup ce s-au construit primele P pe 8 bii s-a cutat ca puterea de calcul a acestora s se mreasc prin creterea numrului de bii prelucrai trecndu-se la prelucrri pe 16 bii.
24

Totodat s-au fcut unele inovaii n cadrul arhitecturii interne care au dus la o cretere a vitezei de prelucrare. Dac la P anterioarea unitatea de prelucrare lucra strict dup schema ciclic descris la arhitectura von Neumann de extragee a instruciunii, decodificare, execuie .a.m.d. la aceast serie nou de P unitatea de prelucrare este divizat n dou uniti (vezi fig. 3.1.): unitatea de execuie (Execution Unit EU) unitatea de interfa cu magistral (Bus Interface Unit BIU) Dup cum se cunoate informaia care se vehiculeaz n calculator se gsete sub form binar ca iruri de 0 i 1. Convenim n continuare s notm aceast informaie binar dup schema din fig. 3.3. Vom detalia n continuare blocurile de regitri artnd i rolul unora dintre acetia n cursul execuiei programului. Avem urmtoarele categorii de regitri pe 16 bii: 1. regitri generali; 2. regitri de segment; 3. registru pointer de instruciune; 4. registrul indicatorilor de stare i control 1. Regitrii generali sunt n numr de 8 i sunt mprii n dou seturi a cte 4 regitri: regitrii de date AX, BX, CX, DX; regitrii de pointer i de index SP, BP, SI, DI (fig. 3.4.) Grupul regitrilor de date poate fi adresat i pe jumtate de registru (adic pe octet) avnd octetul inferior (Acumulator LOW) i octetul superior (Acumulator HIGH). La fel i ceilali trei. Deci fiecare registru de date poate fi folosit ca registru general de date pe 16 bii sau dou registre generale de 8 bii. Regitrii de pointer i index pot fi folosii numai pe 16 bii i particip la majoritatea operaiilor aritmetice i logice. Diferite instruciuni utilizeaz regitrii generali n mod implicit astfel: AX nmuliri i mpriri pe cuvnt, operaii de intrare / ieire pe cuvnt AL nmuliri, mpriri pe octet i operaii de intrare/ieire pe octet AH nmulire i mprire pe octet BX translatri CX operaii cu iruri i bucle CL deplasri i rotaii
25

DX nmuliri, mpriri, operaii indirecte de intrare ieire SP operaii cu stiva (offset) SI, DI operaii cu iruri Registrul BP este folosit n mod curent pentru adresarea datelor din segmentul de stiv. 1. Regitrii de segment permit programatorului posibilitatea localizrii unui operand aflat n spaiul de memorie de 1M n spaiul de memorie cu adresele 00000h FFFFFh. Acest spaiu de 1 Moctet de memorie ce poate fi adresat de P 8086 este vzut ca un grup de segmente. Un segment este o unitate logic de memorie care poate avea cel mult 64 Koctei (locaii contigue). Fiecrui segment i se atribuie o adres de baz care este adresa locaiei de nceput a segmentului. Valoarea acestei adrese se afl memorat ntr-un registru de segment. Exist 4 regitri segment conform figurii 3.5. i ei se gsesc localizai n BIU. Dup cum se observ din fig. 3.6. n memorie pot exista, n funcie de poziia lor relativ segmente adiacente, parial suprapuse sau suprapuse complet si disjuncte. Deci fiecare aplicaie (program aflat n memorie) are la dispoziie un spaiu de 64K pentru codul instruciunilor (segmentul de cod) 64 koctei pentru stiv (segment de stiv) i 128 Koctei pentru date (segmentul de date i extra segmentul). Unele aplicaii pot ns gestiona un spaiu de memorie mult mai mare fcnd gestionarea segmentelor dup propriile necesiti. Aceast mprire a memoriei n segmente de 64K provine din faptul c P pe 8 bii anterioare gestionau un spaiu de numai 64K. Proiectanii de la Intel au cutat ca i noile P pe 16 bii s foloseasc eventual programe scrise pentru P anterioare adoptnd aceast soluie a segmentului fcnd ns mai grea nelegerea adresriii memoriei fa de alte P de aceeai clas ca Motorola 68000 care permit o adresare liniar a memoriei. Generarea adresei fizice. Fiecare locaie de memorie are dou tipuri de adres: fizic; logic. Adresa fizic este o valoare format din 20 bii care identific unic fiecare locaie din spaiul de adresare. Adresa fizic se gseste n domeniul 00000h FFFFFh i se mai numete adres absolut. Pentru a nu depinde de locul unde se afl codul n memorie folosesc aa zisele adrese logice i nu fizice.
26

Adresa logic const dintr-o valoare de baz de segment i o valoare de deplasament (offset). Pentru orice locaie de memorie, valoarea de baz a segmentului este adresa primului octet al segmentului care conine locaia. Aceast adres este exprimat n paragrafe (paragraful fiind o unitate de 16 bii) iar deplasamentul (offset) este distana n octei de la nceputul segmentului pn la locaia respectiv. Adresa de baz i deplasamentul sunt valori pe 16 bii fr semn. Mai multe adrese logice pot localiza aceeai locaie fizic dac se afl n segmente diferite dup cum se observ din figura 3.7. BIU genereaz totdeauna o adres fizic dintr-o adres logic dup mecanismul prezentat n fig. 3.8. Se observ c n principiu, calculul adresei fizice se face prin deplasarea bazei segmentului (coninut ntr-un registru segment) cu 4 poziii spre stnga (ceea ce echivaleaz cu o nmulire cu 16) i adunarea valorii deplasamentului. BIU obine adresa logic a unei locaii de memorie diferit n funcie de modul de referin a memoriei. nstruciunile sunt ntotdeauna ncrcate din segmentul de cod curent iar registrul IP conine deplasamentul instruciunii urmtoare fa de nceputul segmentului. Operaiile cu stiva opereaz, n segmentul de stiv curent iar registrul SP conine deplasamentul fa de vrful stivei. Variabilele se gsesc de obicei n segmentul de date iar deplasamentul este dat dup modul de adresare specificat n instruciune. Rezultatul este aa numita adres efectiv despre care vom mai vorbi la prezentarea modurilor de adresare. Operandul surs a unei instruciuni pe iruri se presupune a fi n segmentul de date curent iar SI va furniza deplasamentul. Operandul destinaie la operaiile pe iruri se afl ntotdeauna n extrasegment, iar deplasamentul este furnizat de DI. Acestea sunt atributele segmentelor n mod implicit. Unele din aceste atribuii pot fi schimbate. Figura 3.9. prezint grafic cele expuse anterior. Cod relocabil dinamic. Faptul c memoria P8086 sau 8088 este segmentat face posibil scrierea de programe care sunt independente de poziia lor n memorie adic sunt relocabile dinamic. Aceste programe trebuie ns s ndeplineasc o sum de condiii. Dac aceste condiii sunt ndeplinite, programul poate s fie mutat oriunde n memorie. Dup cum se observ n fig. 3.10, un astfel de program a fost fcut s ocupe o zon contigu de memorie lsnd spaiu nefragmentat i pentru alte aplicaii. De asemenea, acest fapt este important atunci cnd programul este inactiv n memorie sistemul de operare mut programul pe disc i
27

cnd se dorete s fie adus din nou n memorie zona n care a fost prima dat e ocupat de un alt program.Se schimb valorile registrelor de segment i programul poate rula din alt zon de memorie. Pointerul de instruciuni (IP) este un registru pe 16 bii actualizat de BIU i conine deplasamentul (offsetul) instruciunii urmtoare fa de nceputul segmentului de cod curent. Programele nu au acces direct la el dar exist instruciuni care l modific i l ncarc sau l descarc de pe stiv. Registrul de stare i control (Flags register) conine 6 indicatori de stare i 3 indicatori de control fiind notai conform fig. 3.11. Cei 6 indicatori de stare EU i poziioneaz pentru a reflecta anumite stri ale unei operaii aritmetice sau logice. Un anumit set de instruciuni permit modificarea execuiei unui program n funcie de starea acestor indicatori cum ar fi instruciunile de salt condiionat. Indicatorii de stare reflect urmtoarele condiii: C (Carry) reflect transportul n exterior a bitului cel mai semnificativ al rezultatului operaiilor aritmetice. P (paritate) este poziionat dac rezultatul are paritate par (conine un numr par de bii de 1) A (carry auxiliar) este poziionat dac a avut loc un transfer de la semioctetul inferior la semioctetul superior al rezultatului i este folosit n aritmetica zecimal. Z (zero) poziionat dac rezultatul operaiei a fost zero. S (semn) este poziionat dac cel mai semnificativ bit al rezultatului este 1 (1 numr negativ) O (depaire) poziionat cnd dimensiunea rezultatului depete capacitatea locaiei de destinaie i a fost pierdut un bit. Pentru controlarea unor operaii a procesorului pot fi modificai (de program) trei indicatori de control: D dac este poziionat pe 1 operaiile pe iruri se vor decrementa; I poziionat pe 1 permite CPU s recunoasc cererile de ntrerupere externe mascabile; T (trap) poziionat pe 1 trece CPU n execuia de pas cu pas n scopul depanrii programului instruciune cu instruciune. 8086 a avut opt (mai mult sau mai puin general) registre pe 16 bii, inclusiv stiv, dar excluznd registru de instruciuni pavilion pointer, i registrele segment. Patru dintre ei, AX, BX, CX, DX, ar putea fi, de asemenea, accesate ca de dou ori mai multe registre de 8 bii (vezi
28

figura), n timp ce ceilali patru, BP, SI, DI, SP, au fost doar 16-bit. Datorit o codificare compact inspirat de 8-bii procesoare, cele mai multe instruciuni au fost de o adresa sau operaiunile de dou adresa ceea ce nseamn c rezultatele au fost stocate ntr-unul din operanzi. La cele mai multe unul din operanzi ar putea fi n memorie, dar acest operand de memorie ar putea fi, de asemenea destinaie, n timp ce alte operand, surs, ar putea fie registru sau imediat. O locaie de memorie unic ar putea fi, de asemenea, adesea folosit att ca surs i destinaie, care, printre ali factori, mai mult a contribuit la o densitate de cod comparabile cu (i de multe ori mai bine dect) cele mai multe maini de opt bii. Dei gradul de generalitate de cele mai multe registre au fost mult mai mare dect n 8080 sau 8085, era nc destul de sczut n comparaie cu minicalculatoare contemporane tipice, i registrele au fost, de asemenea, uneori folosit implicit de instruciuni. n timp ce perfect sensibil pentru programator asamblare, aceast alocare registru complicat pentru compilatoare, comparativ cu mai multe regulate 16 - i 32-bit procesoare, cum ar fi PDP-11, VAX, 68000, etc, pe de alt parte, n comparaie cu semi-contemporane simplu (dar popular i omniprezent) microprocesoare de 8 bii, cum ar fi 6502, 6809, sau 8085, a fost mult mai uor pentru a genera codul pentru design 8086. 8086 recomandate, de asemenea, 64 KB de 8-bii (sau, alternativ, 32 Kcuvnt de 16-bit) I / O spaiu. Un KB 64 (un segment) stiv n cretere fa de adrese inferior este susinut de hardware; cuvinte de 2 octei sunt mpinse la stiva i stiva de sus (jos) este subliniat de SS: SP. Exist 256 ntrerupe, care pot fi invocate att de hardware i software. Poate ntrerupe cascada, folosind stiva pentru a stoca adresele retur. Procesorul a avut unele noi instruciuni (nu sunt prezente n 8080 i 8085) pentru a sprijini mai bine stack pe limbaje de programare de nivel, cum ar fi Pascal i PL / M; unele dintre cele mai utile au fost push memop, i mrimea RET, sprijinirea "convenia de apelare Pascal" direct.
29

(Mai multe altele, cum ar fi push immed i introducei, ar trebui adugat ulterior 80186, 80286, , de asemenea, un mecanism de stack-marker.

15 Regimul multiprogram de lucrul al calculatorului Sistemele de operare multitasking presupun execu lai interval de timp) a mai multor programe. Majoritatea sistemelor de operare de astzi sunt sisteme de operare multitasking (doar vechiul sistem de operare DOS a rmas un exemplu de sistem monotasking) n care mai multe programe sunt ncrcate n memorie i rulate n aceeai perioad de timp (figura 4.4). Un program poate fi ntr-una din cele dou stri: execuie sau ateptare. Observm din desen c n timp ce programul 1 este n stare de ateptare (poate atepta venirea datelor din memorie), procesorul ncepe s ruleze programul 2, iar n timp ce programul 2 este n stare de ateptare, procesorul i concentreaz atenia asupra prorgamului 3. De regul acest procedeu de execuie concurenial este utilizat de toate sistemele de operare multitasking, lucru care ns implic un management al memoriei adecvat. Cea mai simpl abordare a administrrii memoriei pentru mai multe programe ce ruleaz concurenial este administrarea memoriei folosind partiii fixe de memorie, caz n care spaiul de memorie disponibil se mparte n partiii de dimensiune fix, fiecare dintre aceste partiii stocnd cte un program. Dimensiunea partiiilor este stabilit o dat cu iniializarea sistemului de operare , astfel nct decizia de alocare a memoriei pentru un program se face nainte ca acel program s aib efectiv nevoie de acel spaiu de memorie. Din cauz c dimensiunea alocat trebuie s fie
30

suficient de mare pentru ca cel mai mare dintre programe s poat ncpea n memorie, administrarea memoriei folosind partiii fixe face risip de spaiu de memorie, dar are avantajul c este o metod foarte simpl.

16 Structura Descriptorului segmentului 17 Memoria Static i Dinamic

memorie static, de tip Static RAM (sau SRAM, care se citete 'esrm) memorie dinamic, Dynamic RAM (sau DRAM, citit 'di-rm),

diferenele constnd n stabilitatea informaiilor. Astfel, memoria static pstreaz datele pentru o perioad de timp nelimitat, pn n momentul n care ea este rescris, asemntor memorrii pe un mediu magnetic. n schimb, memoria dinamic necesit rescrierea periodic permanent, la fiecare cteva fraciuni de secund, altfel informaiile fiind pierdute. Avantajele memoriei SRAM: utilitatea crescut datorit modului de funcionare i viteza foarte mare; dezavantaj: preul mult peste DRAM. Memoria de tip SRAM este folosit cel mai adesea ca memorie intermediar/cache. DRAM-ul este utilizat n PC-urile moderne, n
31

primul rnd ca memorie principal ("de lucru"). Tipurile uzuale de DRAM folosite de-a lungul istoriei informaticii, toate concepute n scopul creterii performanei DRAM-ului standard: 18 Microscheme de memorie Operativ, bancurile de Memorie Operativ Arhitectura unitatii centrale de prelucrare si a placii de baza determina capacitatea memoriei fizice a sistemului. Procesoarele 8088 si 8086, cu 20 de linii de adresa, pot utiliza 1M memorie RAM. Procesoarele 386DX, 486 si Pentium, cu 32 linii adresa, pot utiliza 4G memorie. Cand procesoarele 286, 386, 486 si Pentium emuleaza procesorul 8088 (cind se executa un singur program DOS), ele implementeaza un mod de lucru hard, cunoscut sub numele de modul real. Acest mod este singurul mod disponibil in cazul procesoarelor 8086 si 8088, utilizate la sistemele PC Si XT. In modul real toate procesoarele Intel - inclusiv procesorul Pentium - sunt restrinse la utilizarea unui spatiu de memorie de 1M. Numai in modul de lucru protejat procesoarele 286, 386, 486 si Pentium isi pot utiliza intregul potential de adresare a memoriei. Sistemele bazate pe procesorul Pentium pot adresa 4G de memorie. La multe sisteme, accesul la cipurile RAM aflate pe placa de baza este mai rapid decit accesul la memoria montata in soclurile de extensie. Un sistem care nu este prevazut cu conectori pentru extensii de memorie isi reduce foarte mult viteza de lucru daca utilizati o placa de extensie de memorie fabricata pentru un conector standard cu 16 pini.Unele placi de baza din sistemele 386 si 486 au dificultati la adresarea memoriei aflate dupa primii 16M datorita problemelor existente la controlerul DMA - Acces Direct la Memorie. Daca instalati in sistem un adaptor ISA care utilizeaza un canal DMA si sistemul dumneavoastra are mai mult de 16M memorie, este posibil sa aveti probleme deoarece magistrala ISA permite acces direct la memorie numai pentru 16M. lncercarile de
32

transfer dincolo de primii 16M duc la blocarea sistemului. Majoritatea sistemelor 486 moderne au maxim 64M = 4 X SIMM de 16M. Cipurile de memorie RAM (sunt de tip DRAM = Dynamic RAM) sunt organizate in bancuri, pe placa de baza sau pe placile adaptoare in diverse feluri. Vechile sisteme utilizau cipuri de memorie individuale, numite cipuri DIP (Dual In-Line Pin), care erau montate in socluri sau lipite direct pe placa. Majoritatea sistemelor moderne utilizeaza module SIMM (Single In-Line Memory Module). Aceste module contin cipuri de memorie pe o placa de circuit integrat de dimensiuni reduse, montata intr-un soclu cu autoblocare. Un modul SIPP (Single In-Line Pin Package) este similar unui modul SIMM cu deosebirea ca el se conecteaza la placa de baza prin intermediul unor pini (spre deosebire de modulul SIMM care se conecteaza la placa de baza prin intermediul unui conector tata aflat pe una din laturile modulului). Sunt posibile transformarea unui modul SIPP intr-un modul SIMM prin taierea pinilor si transformarea unui modul SIMM intr-un modul SIPP prin lipirea de pini. Pe placile de baza ale calculatoarelor personale au fost utilizate mai multe tipuri de cipuri de memorie RAM. Majoritatea acestor cipuri sunt "pe un bit", disponibile la diverse capacitati. In continuare sunt prezentate cipurile RAM disponibile actualmente pe piata si capacitatea lor:

16k X 1bit Aceste cipuri, utilizate in sistemele IBM PC originale, cu placa de baza de tipul 1, cu o capacitate relativ redusa la standardele actuale 64k X 1bit Aceste cipuri au fost folosite in sistemele IBM PC cu placa de baza de tipul 2 si IBM XT cu placi de baza de tipul 1 si 2

33

128k X 1bit Aceste cipuri in sistemele IBM AT erau o combinatie ciudata de doua cipuri de 64k X 1bit puse unul peste altul si lipite unul de celalalt 256k X 1bit Sistemele IBM XT cu placa de baza de tipul 2 si sistemele IBM AT cu placa de baza de tipul 2 utilizeaza aceste cipuri de memorie 1M, 4M, 8M, 16M, 32M, 64M X 1bit Sunt in componenta noilor module SIMM.

Cipurile de memorie (DIP, SIMM, SIPP) sunt organizate sub forma de bancuri de memorie, pe placa de baza si pe placile de memorie. Este necesar sa cunoasteti organizarea si amplasarea bancurilor de memorie pe placa de baza si pe placile de memorie. Aveti nevoie de aceste informatii atunci cind instalati in sistem memorie suplimentara. De asemenea, informatiile se dovedesc utile atunci cind testele de memorie raporteaza erori la anumite locatii indicate prin adresele lor si doriti sa identificati bancul de memorie care contine locatiile defecte. Numarul de biti necesar fiecarui banc poate fi realizat utilizind cipuri individuale sau module SIMM. De exemplu, la un sistem 286 care utilizeaza bancuri de 18 biti, un banc poate fi realizat din 18 cipuri de 1 bit sau din 4 cipuri pe 4 biti pentru date si doua cipuri pe 1 bit pentru paritate. Majoritatea sistemelor moderne nu utilizeaza cipuri separate, ci module SIMM. Daca sistemul are bancuri de 18 biti, acestea sunt realizate de obicei cu ajutorul unor module SIMM de 30 pini. Toate modulele SIMM care compun un banc de memorie trebuie sa aiba aceeasi dimensiune si acelasi tip. Dupa cum se poate vedea. modulele SIMM cu 30 pini nu sunt potrivite pentru sisteme pe 32 biti, pentru ca sunt necesare 4 sau 8 astfel de module pentru a realiza un banc. Daca un sistem pe 32 biti utilizeaza module SIMM cu 72 pini, fiecare astfel de modul reprezinta un banc de memorie si modulele SIMM pot fi adaugate unul cite unul (si nu in grupuri de patru).
34

Unul din standardele stabilite de firma IBM pentru industria calculatoarelor aste acela ca fiecare din cipurile de memorie dintr-un banc de 9 cipuri contine un bit al octetului de date (primii 8 biti) sau bitului de paritate (al 9-lea bit). Bitul de paritate permite circuitelor pentru controlul memoriei sa tina o evidenta a celor 8 biti de date - o facilitate, incorporata in sistem, care permite verificarea integritatii celor opt biti ce compun octetul de paritate. Daca aceste circuite de control detecteaza o eroare, calculatorul se opreste si afiseaza un mesaj de eroare corespunzator (unele module SIMM moderne au numai 3 cipuri, fiecare pe cite 3 biti). Firma IBM a stabilit pentru verificarea paritatii standardul de "paritate impara". Explicatiile de mai jos va vor ajuta sa intelegeti ce inseamna paritatea impara. Cei 8 biti care compun un octet de date sunt inmagazinati in memorie, iar un cip numit generatorul / verificatorul de paritate 74LS280 (aflat pe placa de baza sau pe placa de memorie) evalueaza octetul de date numarand bitii care au valoarea 1. Daca octetul de date contine un numar par de biti avind valoarea 1, cipul generator / verificator de paritate genereaza valoarea 1 si o memoreaza in cipul de memorie care contine bitul de paritate. In acest fel suma celor noua biti (bitii de date si bitul de paritate) este un numar impar. Daca octetul de date contine un numar impar de biti cu valoarea 1, cipul generator / verificator de paritate genereaza valoarea 0 si o memoreaza in cipul de memorie care contine bitul de paritate. In acest fel suma celor noua biti (bitii de date si bitul de paritate) este un numar impar. Prin urmare. valoarea bitului de paritate este aleasa astfel incat suma celor noua biti sa fie un numar impar. Cand sistemul citeste informatia existenta in memorie, el genereaza automat informatia de paritate. Daca un octet are un numar par de biti de valoare 1 (incluzand si bitul de paritate), informatia continuta in octetul respectiv este eronata. Sistemul nu poale afla care este bitul care s-a schimbat. sau daca s-a schimbat un singur bit. De exemplu, daca s-au schimbat trei biti, sistemul raporteaza eroare de paritate, in timp ce un octet cu doi biti modificati nu esle semnalat ca fiind eronat. La aparitia unei erori, este generata o NMI care blocheaza
35

sistemul.Pentru implementarea memoriei, majoritatea sistemelor moderne au adoptat module SIMM (Single In-Line Memory Modules) ca o alternativa la cipurile de memorie individuale. Aceste placi de dimensiuni reduse se introduc in conectorii speciali aflati pe placa de baza sau pe o placa de memorie. Cipurile de memorie separate, aflate in componenta unui modul SIMM sunt lipite pe placa SIMM, astfel incat scoaterea si inlocuirea lor sunt imposibile. Daca un cip de memorie dintr-un modul SIMM se defecteaza, trebuie inlocuit intregul modul. Modulul SIMM este tratat ca un cip de memorie de capacitate foarte mare. Calculatoarele personale compatibile IBM au doua tipuri de module SIMM - pe 9 biti (cu 30 de pini) si pe 36 biti (cu 72 pini) - de diferite capacitati. Modulele cu 30 pini sunt mai mici decat cele cu 72 pini si pot avea cipuri pe una din fetele placii sau pe amandoua. Exista module SIMM cu sau fara biti de paritate. Pana de curand, toate sistemele compatibile IBM au utilizat optiunea de verificare a paritatii ca un mijloc de asigurare a preciziei. Alte calculatoare necompatibile IBM, cum ar fi de exemplu calculatoarele Macintosh produse de firma Apple, nu au utilizat niciodata optiunea de verificare a paritatii. De exemplu. calculatoarele Apple utilizeaza aceleasi module SIMM cu 30 pini si 72 pini pe care le utilizeaza sistemele IBM, dar nu sunt prevazute cu circuite de generare / verificare a paritatii. In calculatoarele Apple puteti utiliza si module SIMM prevazute cu biti de paritate; acesti biti vor fi pur si simplu ignorati de calculator. Recent cativa din cei mai importanti furnizori de placi de baza compatibile IBM au inceput sale livreze cu optiunea de verificare a paritatii dezactivata. Aceste sisteme pot utiliza module SIMM fara biti de paritate, care sunt putin mai ieftine, asa cum o fac si sistemele Apple. Ceea ce este mai uimitor este faptul ca procesoarele 386, 406 si Pentium au incorporate circuite de generare / verificare a paritatii, astfel incat pe placa de baza nu sunt necesare circuite suplimentare. Este economisit doar costul cipurilor de paritate de pe modulele SIMM. Activarea - dezactivarea verificarii paritatii se face ca o optiune a programului de initializare (Setup) iar alte placi testeaza
36

existenta in memorie a bitilor de paritate si in cazul cand nu detecteaza prezenta acestora in toate bancurile de memorie, dezactiveaza in mod automat verificarea paritatii. Modulele SIMM. indiferent de tipul lor, si de capacitatea lor, de memorare, sunt fabricate in mai multe variante constructive care se deosebesc prin timpii de acces. Timpii de acces sunt exprimati in nanosecunde (ns). Acestia variaza de la 120ns (la cele mai lente SIMM) la 50ns (la cele mai rapide module SIMM). Daca un sistem necesita module SIMM de o anumita viteza si nu le gasiti, puteti inlocui (aproape intotdeauna) aceste module cu unele mai rapide. Timpi de acces standard: 120ns; 100ns; 80ns; 70ns; 60ns; 50ns. La modulele SIMM cu 72 de pini sunt utilizati patru pini pentru a indica placii de baza tipul modulului SIMM. Acesti pini de detectare a prezentei sunt fie legati la masa, fie neconectati si astfel indica placii de baza tipul modulului SIMM. Din pacate, diferiti producatori de calculatoare personale utilizeaza diverse configuratii pentru acesti pini. Ei sunt pinii: 67, 60, 69, 70. 19 Ciclul de memorie Operativ.

20 Cache mecanismul de lucru al cacheului Memoria de tip cache este mai rapid dect memoria RAM obinuit datorit faptului c este construit din cipuri de memorie de tip SRAM (Static RAM) ce opereaz la viteze superioare dect memoria de tip DRAM (Dynamic RAM). n cazul ideal, viteza de acces a memoriei cache ar trebui s fie comparabil cu cea a vitezei de ceas a microprocesorului, permind astfel acestuia s acceseze instruciunile i datele fr nici o ntrziere.
37

Majoritatea unitilor UCP sunt mai rapide dect viteza de acces a memoriei i, de aceea, trebuie s fac pauze pentru a atepta echipamentele mai ncete (memoria sau dispozitivele periferice, de exemplu) s reacioneze. n acest caz, exist un controlor al magistralei de sistem care genereaz stri de ateptare (wait states) unitii centrale de procesare n execuia unui ciclu fetch-decode-execute obinuit. Memoria cache mpreun cu unitatea de control a memoriei cache (denumit, de regul, CCU Cache Controller Unit) este interpus ntre UCP i memoria principal (vezi figura 4.3), de unde poate prelua toate cererile de acces la memorie ce vin de la UCP. Scopul principal este acela de a menine n memoria rapid cache poriunile de memorie active cu date i instruciuni. Toate operaiile de citire/scriere iniiate de UCP sunt direcionate ctre memoria cache n sperana unui rspuns mai rapid. Cum acioneaz n linii mari memoria cache? Unitatea de control a Memor nd o valoare cerut de microprocesor este gsit n memoria unor instruciuni speciale care stimuleaz controlorul de memorie cache s iei cache (UCC Unitate de Control Cache) verific adresa de memorie cerut de UCP pentru a vedea dac aceasta se afl n memoria cache. Dac este adevrat acest lucru, UCP poate accesa valoare de memorie imediat, n caz contrar controlorul UCC trebuie s aduc respectiva valoare din memoria principal, de unde rezult o ntrziere n procesare. Acest procedeu are ca rezultat mrirea vitezei de procesare, mai ales n cazul n care procesorul are de executat un program alctuit din instruciuni de ciclare aflate n ntregime n micul spaiu de memorie cache. i n cazul instruciunilor secveniale se constat o mrire a vitezei de execuie, mai ales dac controller-ul de memorie cache are
38

abilitatea s ghiceasc nainte instruciunile ce vor fi executate i s le ncarce n memoria cache. Atunci cia cache, operaia respectiv se numete cache hit, n timp ce n caz contrar avem de-a face cu un cache miss. n acest din urm caz un bloc de dimensiune fix de date ce conine valorile necesare sunt extrase din memoria principal i introduse n memoria cache. De regul, n funcionarea memoriei cache fenomenul de cache miss apare destul de rar, datorit unei reguli de localizare temporal a datelor n calculator, regul care spune c ultimile date utilizate au o probabilitate foarte mare s fie accesate din nou n curnd, deci aceste date sunt plasate n memoria cache, de unde pot fi accesate foarte rapid. Timpul de rspuns pentru un astfel de cache miss depinde att de latena memoriei ct i de limea de band a magistralei ce determin timpul n care va fi citit ntregul bloc de date. Un cache miss administrat hardware va determina de regul o pauz n funcionarea UCP, pn n momentul n care sunt disponibile datele. Unele compilatoare administreaz acest proces prin anticipeze urmtoarele instruciuni ce vor fi executate. O dat cu introducerea unor noi valori n memoria cache, trebuie fcut o decizie legat de scoaterea altor valori din aceeai memorie, pentru a elibera spaiul. Poate aprea astfel o nou ntrziere rezultat din scrierea valorii napoi n memoria principal a tuturor valorilor care au fost modificate n timpul stocrii lor n memoria cache. Diferena ntre memoria cache de nivel 1
39

(level 1 cache) i memoria cache de nivel 2 (level 2 cache) este aceea a localizrii: dac memoria cache de nivel 1 (sau memorie cache primar) este situat direct pe cipul microprocesorului, memoria cache de nivel 2 (denumit i memorie cache secundar) este situat de regul pe placa de baz, ct mai aproape de microprocesor. 21 Cache cu reprezentare Direct Cache cu adresare direct (direct mapped cache) n acest caz exist o relaie direct ntre adresa din memoria principal unde se afl o valoare i adresa din cache n care aceasta este memorat. Mai exact, biii cei mai puin semnificativi ai adresei din memoria principal formeaz adresa din cache. Ca un exemplu concret, considerm un sistem al crui procesor lucreaz cu adrese (n memoria principal) de 32 bii, iar cache-ul are o capacitate de 2048 linii, fiecare linie avnd 32 octei. Se observ c att numrul de linii, ct i dimensiunea unei linii de cache sunt puteri ale lui 2, ceea ce uureaz operaiile executate de ctre hardware. O adres de 32 bii din memoria principal este mprit n 3 componente: - cei mai semnificativi 16 bii formeaz o etichet, care este memorat ca atare n cache, mpreun cu datele propriu-zise aduse din memoria principal - urmtorii 11 bii indic adresa liniei din cache care memoreaz datele, din cele 2048 linii existente - ultimii 5 bii identific octetul n cadrul liniei de cache Se observ c o anumit adres din memoria principal poate fi memorat ntr-o singur adres din cache. Coninutul unei linii de cache este urmtorul: - un bit care indic dac linia conine date valide - cmpul etichet, descris mai sus - datele propriu-zise aduse din memoria principal Datorit modului de calcul, linia cu adresa N din cache poate memora date provenite de la orice adres din memoria principal ai crei bii de
40

pe poziiile 5-15 formeaz valoarea N. Din acest motiv, pentru a putea determina n orice moment adresa corespunztoare din memoria principal, n linia respectiv este memorat i cmpul etichet. Cache-ul cu adresare direct permite un acces extrem de rapid, deoarece conversia ntre cele dou tipuri de adrese (din memoria principal i din cache) este foarte simpl i poate fi implementat direct n hardware. n schimb, algoritmul are dezavantajul lipsei de flexibilitate. Pentru exemplul de mai sus, dac un program acceseaz foarte des mai multe variabile aflate n memoria principal la adrese care difer printr-un multiplu de 65536 (avnd deci ultimii 16 bii identici), aceste variabile vor fi memorate la aceeai adres n cache; ca rezultat, se vor nregistra multe ratri n cache, ceea ce implic multe accese la memoria principal, deci scderea vitezei

22 Cache asociativ, coerena cache Se bazeaz pe utilizarea unor circuite hardware speciale, numite memorii asociative. Spre deosebire de memoria obinuit, care permite doar citirea sau scrierea unei valori ntr-o locaie identificat prin adresa sa, memoria asociativ permite n plus regsirea unei locaii dup coninutul su. Intr-un cache asociativ, fiecare linie reine, pe lng datele propriu-zise, adresa de nceput a acestora n memoria principal. Regsirea se va face pe baza acestei adrese. ntruct memoriile asociative sunt relativ lente, accesul la cache este mai puin rapid dect n cazul cache-ului cu adresare direct. Pe de alt parte, avantajul este c o locaie din memoria principal poate fi memorat la orice adres din cache, eliminndu-se problemele de genul celei prezentate mai sus. c. Cache parial asociativ (set-associative cache)
41

n ciuda numelui su, este mai apropiat ca structur de cache-ul cu adresare direct. Principalul dezavantaj al acestuia, aa cum s-a vzut, l constituie faptul c mai multe adrese din memoria principal concureaz pentru aceeai adres din cache. Soluia propus este urmtoarea: fiecare adres din cache conine mai multe linii (uzual 4, 8 sau 16), fiecare cu propriile date, propriul bit de validare i propriul cmp etichet. Astfel, un cache asociativ cu n ci (linii) permite memorarea simultan a n locaii din memoria principal care n cazul cache-ului cu adresare direct ar fi concurat pentru aceeai adres n cache. Apare o cretere a timpului de acces, deoarece att la scriere, ct i la citire trebuie verificate toate cele n ci. n schimb, utilizarea unui numr relativ redus de ci elimin practic total riscul apariiei conflictelor. Vom ridica acum o ultim problem. Pn acum s-a discutat n mod implicit mai mult de citirea datelor din memorie. La modificarea unei valori care se afl deja n cache trebuie s decidem n care din cele dou memorii (principal i cache) se va realiza scrierea. Avem de ales ntre dou politici posibile: - write-back - datele sunt scrise numai n cache; evident, ele vor ajunge i n memoria principal, dar numai la eliminarea lor din cache - write-through - datele sunt scrise att n memoria principal, ct i n cache Ambele politici sunt larg utilizate, fiecare avnd avantaje i dezavantaje. Politica write-back este mai rapid, n schimb pune probleme majore n sistemele multiprocesor, deoarece o modificare fcut n cache-ul unui procesor nu ar putea fi cunoscut de celelalte procesoare. n acest caz sunt necesare protocoale hardware complexe, prin care fiecare cache "ascult" n permanen magistrala comun, pentru a detecta modificrile fcute de celelalte procesoare. Analiznd funcionarea memoriei cache putem formula un principiu mai general: ntotdeauna cnd avem de accesat o surs de date cu dimensiuni mari i vitez de acces redus, putem obine un spor semnificativ de perfoman dac interpunem ntre sursa de date i "beneficiar" (cel care
42

acceseaz datele) o form de stocare mai mic, dar mai rapid, care s rein ultimele date aduse de la surs. Principiul este ntr-adevr folosit pe scar larg i n alte situaii, nu doar n cazul procesorului. n continuare vom prezenta cteva asemenea exemple de materializare a conceptului de cache, implementate hardware sau software, luate din activitatea curent a unui utilizator de PC.Coerena definete comportamentul citete i scrie n aceeai locaie de memorie. Coerena cache se obine n cazul n care sunt ndeplinite urmtoarele condiii: Un protocol de coerenta este un protocol care menine coerena ntre toate cache-uri ntr-un sistem de memorie partajat distribuite; protocolul menine coerena de memorie n conformitate cu un model specificat consisten. Cele mai multe protocoale de cache n sisteme multiprocesor sunt sprijinirea model consisten secvenial, n timp ce n programele software distribuite memorie partajata mai populare sunt modelelor de sprijin coerena eliberarea sau coerena slab. Tranziii ntre state, n orice punere n aplicare specific a acestor protocoale poate varia. De exemplu, o punere n aplicare pot alege diferite actualiza i tranziii invalidarea, cum ar fi update-pe-citit, update-on-write, anula-pe-citit, sau invalida-on-write. Alegerea de tranziie poate afecta volumul de trafic inter-cache, care la rndul lor pot afecta cantitatea de lime de band disponibile de memorie cache pentru munca efectiv. Acest lucru ar trebui s fie luate n considerare n proiectarea de software distribuite care ar putea provoca afirmaie puternic ntre cache de mai multe procesoare. Diverse modele i protocoale au fost elaborate pentru a menine coerena cache-ul, cum ar fi MSI, mesi (aka Illinois protocol), Mosi, MOESI, MERSI, MESIF, scrie-o dat, Synapse, Berkeley, Firefly i Dragon protocol Alegerea modelului de coeren este esenial pentru proiectarea unui sistem de cache coerent. Coerena modele difer n performan i scalabilitate; fiecare trebuie s fie evaluate pentru fiecare proiectarea sistemului.
43

23 Magistralele ciclurile de citire a Magistralelor Semnalele de la interfaa Unitii Centrale de Procesare (UCP) cu exteriorul pot fi grupate, funcional, n 3 tipuri de magistrale: 1. magistrala de adrese 2. magistrala de date 3. magistrala de control Magistrala de adrese Aceast magistral cuprinde linii de adres, ce transmit doar semnale de ieire din microprocesor, fiind deci o magistral unidirecional. Ieirile UCP spre aceast magistral extern de adrese pot trece n starea de nalt impedan (HiZ) la o cerere extern, cnd UCP cedeaz controlul magistralelor ctre alt dispozitiv. Liniile de pe aceast magistral se folosesc pentru adresarea locaiilor de memorie i a porturilor de intrareieire. De obicei valorile binare cele mai semnificative (cu ponderea binar maxim) din adres se folosesc pentru selectarea blocurilor de memorie. Magistrala de date Lrgimea magistralei de date este de obicei multiplu de octet (d = 8, 16, 32, 64...). Cele d linii ale magistralei de date au posibilitatea de transmitere bidirecional a informaiilor (intrare sau ieire din UCP), cu posibilitatea de trecere n starea de nalt impedan (HiZ). Pentru economie de pini, unele microprocesoare multiplexeaz n timp liniile magistralei de date, astfel c n primul ciclu main al fiecrei instruciuni pe magistrala de date se pot transmite informaii de adres sau informaii de control. n acest caz, n prima parte a ciclului main, pe pinii multiplexai, se genereaz semnalele de adres sau control, nsoite de un semnal indicator pe
44

magistrala de control care servete pentru memorarea informaiei n registre externe procesorului. De exemplu la procesoarele Intel 8085 i 8086 pini ai magistralei de date sunt multiplexai pentru a se putea transmite i informaie de adres. Semnalul de control care comand stocarea adresei ntr-un registru extern este numit ALE (Address Latch Enable). Apoi, pentru tot restul ciclului instruciune liniile magistralei de date transfer date propriu-zise sau instruciuni. Magistrala de control Magistral de control conine o diversitate de linii de control i sincronizare, unele fiind doar unidirecionale (intrare sau ieire din UCP), iar altele permind transferul bidirecional de semnale. De aceea adesea se spune c magistrala de control este bidirecional. Aceast magistral cuprinde semnalele de control cu funcie diferit de la un tip de microprocesor la altul. Cu toate acestea, funcional, liniile magistralei de control pot fi clasificate n urmtoarele categorii

24 Arhitectura multimagistral, Tipurile de magistrale. Magistrala de adrese


45

Aceast magistral cuprinde linii de adres, ce transmit doar semnale de ieire din microprocesor, fiind deci o magistral unidirecional. Ieirile UCP spre aceast magistral extern de adrese pot trece n starea de nalt impedan (HiZ) la o cerere extern, cnd UCP cedeaz controlul magistralelor ctre alt dispozitiv. Liniile de pe aceast magistral se folosesc pentru adresarea locaiilor de memorie i a porturilor de intrareieire. De obicei valorile binare cele mai semnificative (cu ponderea binar maxim) din adres se folosesc pentru selectarea blocurilor de memorie.

Magistrala de date Lrgimea magistralei de date este de obicei multiplu de octet (d = 8, 16, 32, 64...). Cele d linii ale magistralei de date au posibilitatea de transmitere bidirecional a informaiilor (intrare sau ieire din UCP), cu posibilitatea de trecere n starea de nalt impedan (HiZ). Pentru economie de pini, unele microprocesoare multiplexeaz n timp liniile magistralei de date, astfel c n primul ciclu main al fiecrei instruciuni pe magistrala de date se pot transmite informaii de adres sau informaii de control. n acest caz, n prima parte a ciclului main, pe pinii multiplexai, se genereaz semnalele de adres sau control, nsoite de un semnal indicator pe magistrala de control care servete pentru memorarea informaiei n registre externe procesorului. De exemplu la procesoarele Intel 8085 i 8086 pini ai magistralei de date sunt multiplexai pentru a se putea transmite i informaie de adres. Semnalul de control care comand stocarea adresei ntr-un registru extern este numit ALE (Address Latch Enable). Apoi, pentru tot restul ciclului instruciune liniile magistralei de date transfer date propriu-zise sau instruciuni. Magistrala de control
46

Magistral de control conine o diversitate de linii de control i sincronizare, unele fiind doar unidirecionale (intrare sau ieire din UCP), iar altele permind transferul bidirecional de semnale. De aceea adesea se spune c magistrala de control este bidirecional. Aceast magistral cuprinde semnalele de control cu funcie diferit de la un tip de microprocesor la altul. Cu toate acestea, funcional, liniile magistralei de control pot fi clasificate n urmtoarele categorii

25 Microarhitectura Procesorului

26 Regimul conveier a procesorului

27 Regimul Superscalar a Procesorului

28 ndeplinirea Dinamic a Comenzilor Main


47

29 HDD. Parametrii Clasificarea 30 Cartela Video, Parametrii Clasificarea 31.Cipsetul. Placa video: Adaptor video: NVIDIA GeForce 9800GX2(512Mb/256bit) Definitie: Placa video este ansamblul de circuite care realizeaz prelucrrile finale ale informaiei care va fi afiat pe ecranul monitorului, genernd totodat comenzile de afiare necesare spre monitor. Definitie: Hard disk-ul este o component harware, un dispozitiv utilizat la stocarea cantitilor mare de informaii oferind un acces relativ rapid la acestea. Functia placii de baza: realizeaza conectarea componentelor sistemului prin logica de control realizeaz arbitrarea accesului la magistral ntre elementele ce solicit acest acces; transferul ntre diverse dispozitive; Procesor: Definitia:Procesorul este componenta hardware a calculatorului care identifica si executa instructiunile aritmetice si logice din programele sistemului de calcul. Interfata Windows Microsoft a construit un imperiu software pe spatele sistemului de operare Windows. Asa s-a ajuns de la Windows 1.0 care a aparut in Noiembrie 1985 la cele mai noi versiuni cum ar fi: Windows Millenium, Windows 2000, Windows XP, Vista etc. In 10 Noiembrie 1983 Microsoft anunta venirea Windows 1.0, un mediu
48

care extinde capacitatile Dos-ului cu o interfata grafica. Windows are o interfata grafica foarte prietenoasa, permitand lucrul si initierea oricarei persoane aceasta facandu-se prin diferite tutoriale. Prezentare generala Se stie ca, pe lnga componenta sa fizica (hardware), calculatorul mai are nevoie, pentru a putea functiona, si de - componenta informationala sau software. Aceasta componenta a sistemului poate fi grupata astfel: - Soft de baza, care cuprinde: - Sisteme de operare - Probleme utilita - Soft aplicativ (programe aplicative) Se numeste sistem de operare ansamblul programelor si procedurilor care asigura ndeplinirea functiilor de baza ale sistemului de calcul. Programe aplicative sunt programe care rezolva, prin prelucrarea unor date, probleme concrete ale utilizatorilur, din diferite domenii de activitate. Sistemul de operare este deci un program special cu rol de interconactare, control si gestiune asupra resurselor fizice si software ale sistemului de calcul si care asigura interfata acestei entitati cu mediu extern. Putem spune ca un sistem de operare reprezinta, n acelas timp: - Componenta de baza a software-ului unui sistem de calcul, fara de care acesta nu-si poate duce la ndeplinere functiile pentru care a fost create. - Ansamblul de programe care asigura utilizare optima a resurselor fizice si logice ale unui sistem de calcul si concura la pregatirea, punerea n lucru si coordonarea programelor utilizatorului. - Componenta care supervizeaza functiile calculatorului, asigurnd interfata cu mediul extern. n esenta, un sistem de operare gestioneaza echipamente, controleaza programe si prelucraza comenzi. Datorita puterii si flexibilitatii lor, calculatoarele nu sunt capabile doar sa execute calcule, ci pot realiza si sarcini complexe de supraveghere a
49

propriilor lor operatii. Ca - ironie a sortii, cele mai sofisticate programe nu sunt create pentru activitatea utilizatorului, ci pentru a avea grija de munca proprie a calculatorului. Un sistem de operare trebuie sa aiba capacitatea se a se adapta la modificarile tehnologice, ramnnd n acelasi timp compatibil cu hardware-ul anterior. Realizatorii sistemelor de operare trebuie sa tina seama de evolutia tehnicii de calcul, astfel nct sa se poate beneficia de toate avantajele pe care acestea le ofera. Alegerea unui sistem de operare se face n functie de structura hardware a calculatorului si de preferintele utilizatorului. Unul din factorii esentiali l reprezinta usurinta n utilizare, aspect caruia nu i-au dat initial mare importanta dect realizatorii sistemului de operare de la Macintosh. Pentru a nbunatatii acest aspect al asigurarii unui noi mod de dialogare om-calculator ct mai agreabil si la ndemna tuturor, compania Microsoft a realizat un program ce oferea un mediu de lucru mai prietenos, denumit Windows. Acesta nu era nsa la nceput un sistem de operare. Ci doar - interfata grafica de lucru, deoarece el presupunea initial existenta sistemului de operare DOS. n 1995, mediul Windows a fost transformat n sistem de operare, aparut sub numele de Microsft (MS) Windows 95. A urmat evolutia rapida a acestuia, devenind pe rnd MSWindows 97, MSWindows 98, MSWindows NT, MSWindows 2000, MsWindows Milenium. Caracteristicile unui sistem de operate Un sistem de operare, ca program ce gestioneaza resursele sistemului de calcul si care coordoneaza si controleaza ntreaga functionare a acestuia, trebuie sa aiba urmatoarele calitati: - Utilitate sistem de oparare realizeaza interfata dintre calculator si programele de aplicatie. El trebuie sa aiba n vedere toate necesitatile acestor programe. - Generalitatea - sa depinda ct mai putin de tipul de echipament pe care este instalat. - Eficienta - sa asigure un bun acces la resursele fizice ale calculatorului.
50

- Transparenta sa permita utilizatorului sa-si nsuseasca usor facilitatile pe care le ofera. - Flexibilitate sa permita modificarari n functie de cerintele utilizatorului. - Opacitatea utilizatorul sa nu fie nevoit sa cunoasca sistemul de operare la nivel jos, ci doar la nivel de interfata. - Securitatea sistemul de operae trebuie sa fie protejat mpotriva ncercarilor de distrugere din aplicatii sau ale utilizatorului. - Integritatea erorile de sistem sa fie clar delimitate de erorile din programe si sa nu se influenteze reciproc, - Disponibilitatea sistemul de operare trebuie sa aiba posibilitatea de asi continua activitatea n caz de eroare, sa poata izola erorile pentru a putea functiona. - Serviabilitatea sistemul de operare trebuie sa poata furniza utilizatorului informatiile necesare pentru depanarea programelor sale. - Extensibilitatea sistemul de operaretrebuie sa i se adauge noi facilitati n functie de nevoile crescnde ale utilizatorului. Scopul lucrarii:Familarizarea cu unitatea de disc dur si determinarea proprietatilor si aplicatiilor sale in arhitectura unui calculator. Consideratii teoretice: Discul dur (n englez american hard disc; foarte des ntlnit este i ortografia original englez hard disk) este un dispozitiv electronic-mecanic pentru stocarea sau memorarea nevolatil (permanent) a datelor. Utilizatorul normal nu poate sau nu are voie s despart discul de circuitele de comand corespunztoare, vezi imaginea alturat; mpreun ele formeaz aa-numitul hard drive, hard disk drive sau, prescurtat, HDD. Stocarea datelor se face pe o suprafa magnetic dispus pe platane rotunde metalice rigide (dure). n general discurile dure sunt utilizate ca suport de stocare extern principal pentru servere i calculatoare personale, dar i pentru anumite aparate electronice (DVD playere i
51

recordere, MP3 playere). Dac la nceputuri capacitatea unui disc dur nu depea 20 megaoctei (MO) = 20 megabait (MB), astzi (2009) un disc dur obinuit de 2 1/2 oli poate depi 1 teraoctet (TO) = 1 terabait (TB). ncepnd din 2009 sistemul de operare Windows 7 al companiei Microsoft a pus la dispoziie i aa numite discuri dure virtuale, n englez "Virtual Hard Disk" (VHD). Acestea se bazeaz pe fiiere reale (de pe un disc dur real) de mrime arbitrar, dar de tip special, cu extensia .vhd. Pentru a le accesa n Windows se folosete mai nti programul utilitar DiskPart, cu ajutorul cruia discul dur virtual trebuie "selectat" i apoi "ataat" ("montat"). Abia dup aceasta se poate initializa i utiliza ca i cnd ar fi un disc dur real. Aceasta include i posibilitatea de a instala i un alt sistem de operare pe acelai disc dur (real), identic cu, sau chiar diferit de primul sistem de operare, sau chiar i mai multe sisteme de operare, dac se definesc VHD-uri multiple pe discul sau discurile dure reale conectate. Prin contrast, discurile aa-numite "optice", ca de exemplu cele de tip CD, DVD i Blu-ray, folosesc pentru memorare procedee optice (nemagnetice), care asigur capaciti de ordinul a pn la 50 GB (gigabait) pe disc. Uneori ns se mai utilizeaz i dischete avnd un singur platan magnetic flexibil, numite n englez floppy disc; unitatea de scriere/citire corespunztoare se numete Floppy Disc Drive (FDD). Discul dur este format din:

o plac electronic de control logic, un numr de platane (de obicei 2 sau 3), mprite n piste i sectoare, capete magnetice de citire/scriere (engl. read/write heads, R/W heads), de o parte i de alta a platanelor, legate printr-un bra metalic numit actuator
52

un sistem electro-mecanic de blocare a capetelor pe pista de stop (engl. landing zone) atunci cnd discul e oprit i un motor electric pas-cu-pas.

FUNCIONARE Fiecare platan are dou fee; feele sunt divizate ntr-un numr de piste circulare concentrice, fiecare pist fiind la rndul ei divizat n sectoare. Platanele sunt astfel aranjate nct pista 0 de la platanul 1 s fie situat exact deasupra pistei 0 de la platanul 2 i 3. Pentru a accesa o pist oarecare pe unul din platane, braul care susine capetele (numit actuator) va muta capetele spre acea pist. Deoarece aceast metod necesit doar un singur mecanism de poziionare, ea simplific designul i coboar preul. Totui, pentru a accesa o singur pist trebuiesc mutate toate capetele. De exemplu, pentru a citi date de pe pista 1 de pe platanul 1, apoi pista 50 pe platanul 3 si apoi iar pe pista 1 dar de pe al treilea platan, ntregul bra cu capete trebuie mutat de doua ori. (Eventual s-ar putea i numai cu o singur micare, dac pista 1 / platanul 1 i pista 1 / platanul 3 se citesc simultan, i abia apoi se sare la pista 50.) Pentru a muta un bra trebuie un timp semnificativ, mult mai mare dect timpul de transfer al datelor. Pentru a minimiza mutrile actuatorului trebuie mpiedicat mprtierea datelor pe mai multe piste. O metod de a optimiza timpul de acces este ca un grup de date care sunt accesate secvenial s fie scrise toate pe o singura pist. Dac datele nu ncap pe o singur pist, atunci se continu scrierea pe un platan diferit, dar pe pista cu aceeai poziie. Prin aceasta metod braul nu mai trebuie s-i schimbe poziia, ci doar trebuie s fie selectat capul de citire/scriere potrivit. Selectarea capetelor se face electronic i de aceea ea este mult mai rapid dect micarea fizic a braului cu capete ntre piste. n total braul nu mai execut aa multe micri.

53

TRANSFERUL DATELOR LA MEMORIE Modalitatea n care datele sunt transferate n memorie determin viteza efectiv a combinaiei controler + disc dur. Sunt folosite patru metode:

Programmed I/O - Cu aceasta metod, porturile controlerului au grij att de comenzile drive-ului ct i de transferul de date ntre controler i memorie. Se folosesc comenzile IN i OUT ale limbajului de asamblare. Aceasta nseamn c fiecare octet este transferat prin intermediul procesorului. La aceast metod viteza datelor este limitat de cea a bus-ului PC i de performana procesorului. Memory Mapped I/O - Procesorul poate procesa datele provenite dintr-un controler de disc mult mai repede dac sunt stocate ntr-o regiune fix de memorie. Pentru acest scop este folosit n general segmentul localizat deasupra memoriei video RAM. Datele sunt transferate cu ajutorul instruciunii de transfer (mov n cazul arhitecturii x86). Este mai rapid decat metoda precedent. Direct Memory Access (DMA) - Folosind DMA, un dispozitiv poate transfera datele direct n memorie, fr contribuia procesorului. Pentru a folosi DMA, un program trebuie s i precizeze controlerului DMA mrimea n octei (baii) a pachetului de date ce urmeaz a fi transferat dintr-o locaie ntr-alta. Totui, controlerul DMA dintr-un PC este inflexibil i lent. Controlerele DMA opereaz la viteza (tactul) de 4 MHz, n concluzie sunt extrem de lente. Busmaster DMA - Folosind aceast metod, controlerul discului dur deconecteaz procesorul de la bus i transfer el nsui datele n memorie.

INTERFEE I CONTROLERE ESDI

54

Controlerul ESDI (prescurtare de la Enhanced Small Disk Interface) a fost dezvoltat dup controlerul ST506, i a fost unul din primele controlere de discuri dure pe calculatoare x86. Acest tip de controler a fost folosit n modelele IBM PS/2. Pentru c separatorul de date i controlerul lucreaz n paralel, rata de transfer este aproximativ 10 megaoctei/s la modelele iniiale, i 15 - 20 megaoctei/s la cele recente. Discurile dure ESDI stocheaz informaii despre formatul fizic i adresele sectoarelor defecte i poate transmite aceste informaii controlerului, pentru detectare i corectare de erori. Nu mai este utilizat dect SCSI Controlerele SCSI (prescurtare de la Small Computer System Interface, se pronun aproximativ 'sca-zi) sunt folosite n special n sistemele care au nevoie de performan i stabilitate ridicat (servere, de ex. n staiile de lucru performante). ATA/PATA (IDE/EIDE) Controlerul IDE (prescurtare de la Integrated Drive Electronics), foarte folosit n calculatoarele personale de astzi, folosete un singur cablu cu un conector cu 40 piciorue (pini) care combin funciile unui cablu de date i ale unuia de control care conecteaza discul IDE direct la magistrala (bus-ul) de sistem. Controlerele IDE au abilitatea de a emula orice format de disc. Din cauza consumului redus de energie, este una din soluiile folosite pentru calculatoarele portabile. Controlerul IDE permite legarea pe acelai cablu a dou discuri dure, sau a unui disc dur i a unei uniti optice (de CD sau DVD) n sistem master/slave. Aceast arhitectur a dus la incompatibiliti ntre uniti n anii '90, care ns au fost rezolvate.

55

SATA Controlerele SATA (prescurtare de la serial ATA) permite conectarea fiecrui disc pe propriul canal (cu un set propriu de porturi intrare/ieire). Astfel se elimin problemele cauzate de arhitectura PATA (parallel ATA). Standardul iniial numit SATA I a fost proiectat pentru un transfer de date (o vitez) de maximum 1,5 Gbit/s (echivalent cu circa 1500 megabait/s, MB/s). Standardul actual (2008) se numete SATA II i este proiectat pentru maximum 3 Gbit/s = circa 3000 MB/s. Controlerele SATA se leag de discurile SATA prin cabluri cu conectori de tip SATA identici la ambele capete. Termenul eSATA (de la "external SATA") se refer la conectoare mbuntite (mai robuste) fa de cele ale cablurilor SATA obinuite. USB; FIREWIRE (IEEE 1394) Exist i discuri dure portabile (externe fa de PC i cu carcas proprie) care, pentru a transmite datele, folosesc interfaa USB, respectiv cea Firewire (cf. standardului IEEE 1394). De obicei discurile acestea sunt ansambluri formate dintr-un disc IDE sau SCSI, un controler pentru acestea i un controler USB sau Firewire. CARACTERISTICI

Capacitatea (msurat n gigaoctei) - n general productorii folosesc ca unitate de msur multiplii din SI ai octetului (puteri de 10), pe cnd multe sisteme de operare (Windows, unele distribuii de Linux, MacOS) folosesc msurtoarea n multipli binari. Dac primul disc dur avea circa 5 MO, astzi capacitile discurilor dure pot depi i 1,5 TO (factorul de cretere: 300.000).
56

Dimensiunea fizic, msurat n oli (inch). Astzi discurile dure au n diametru fie 3,5" (pentru PC-uri), fie 2,5" (pentru notebook-uri mai mici, utiliznd mai puin curent electric dar mai scumpe i mai ncete). Exist i discuri de 1,8", pentru playere MP3 (precum Apple iPod), care pe lng mrimea redus, sunt mai rezistente la ocuri. Durabilitate, exprimat n timp mediu ntre erori - mean time between failures (MTBF). Discurile SATA I au viteze de 10.000 rpm i un MTBF de 1 milion de ore sub un ciclu de utilizare de opt ore pe zi. Alte discuri permit pn la 1,4 milioane de ore sub un ciclu de 24 de ore din 24. Numr de operaii de intrare/ieire permise Consum de curent Nivel de zgomot Timpul de transfer i timpul de acces.

57

S-ar putea să vă placă și