You are on page 1of 191

CUPRINS

1. Structura general a unui calculator personal. ........................................... 3 1.1. Ce este un calculator personal ? ......................................................... 3 1.2. Structura hardware de principiu a unui calculator personal. ............ 5 2. Reprezentarea intern a informaiei. ............................................................ 10 2.1. Reprezentarea numerelor ntr-un sistem de numeraie. ............................... 11 2.2 Conversia numerelor dintr-o baz n alta. ................................................... 13 2.3. Reprezentarea numerelor n calculator. Coduri de reprezentare. ................ 16 3. Logic combinatoric i secvenial. ............................................................. 19 3.1. Elemente de logic boolean. Funcii logice. ............................................. 19 3.2. Implementarea funciilor logice. Minimizarea funciilor logice. .................. 21 3.3. Materializarea funciilor logice. Circuite logice. ........................................ 23 3.4. Structuri logice combinaionale. ................................................................ 26 3.5. Sisteme logice secveniale. ........................................................................ 28 3.5.1. Tipuri de bistabile. ....................................................................... 29 3.5.2. Registre i numrtoare. .............................................................. 31 4. Microprocesoarele din familia INTEL 80x86. ............................................. 34 4.1. Microprocesorul I80286. ...................................................................... 34 4.1.1. Caracteristici generale. ................................................................. 34 4.1.2. Arhitectura intern a microprocesorului I80286. ........................... 34 4.1.3. Registrele microprocesorului I80286. ............................................ 36 4.1.4. Operaiile de baz pe magistral ale microprocesorului I80286. ..... 40 4.1.5. Modurile de lucru ale microprocesorului I80286. .......................... 54 4.1.6. Adresarea datelor. Moduri de adresare. ......................................... 47 4.1.7. Gestiunea i protecia memoriei la microprocesorul I80286. Conceptul de memorie virtual. ..................................................... 49 4.1.8. ntreruperile microprocesorului I80286. ......................................... 55 4.2. Microprocesorul I80386. ........................................................................... 58 4.2.1. Caracteristici generale. .................................................................. 58 4.2.2. Registrele microprocesorului I80386. ............................................ 60 4.2.3. Paginarea memoriei. ..................................................................... 62 4.2.4. Modul virtual 8086 ....................................................................... 64 4.2.5. Memorii cache. ............................................................................. 65 4.2.6. Variante de realizare ale microprocesorului I80386. ...................... 67 4.3. Microprocesorul I80486. .......................................................................... 68 4.3.1. Structur intern. .......................................................................... 68 4.3.2. Arhitecturi CISC i RISC. ......................................................... 70 4.3.3. Variante de realizare ale microprocesorului I80486. Conceptul de "upgrade". ................................................... 72 4.4. Pentium. ............................................................................................. 73 5. Structura calculatoarelor personale IBM. ..................................................... 76 5.1. Generaliti. ........................................................................................... 76

5.2. Calculatoarele IBM PS/2. ......................................................................... 78 5.3. Arhitectura Microchannel. ........................................................................ 81 5.4. Interfaarea calculatoarelor IBM. Comunicaia paralel i serial. ............. 85 5.5. Tastatura. ................................................................................................ 89 5.6. Mouse. .................................................................................................... 91 5.7. Imprimante. ............................................................................................. 92 5.8. Monitoare i adaptoare grafice. ................................................................ 94 5.9. Unitti de memorie extern. ..................................................................... 99 5.9.1. Discuri magnetice. .................................................... 101 5.9.2. Discuri optice. ............................................................................. 105 5.10. Alte dispozitive de intrare/ieire. ........................................................ 106 6. Arhitecturi paralele de calculatoare. ........................................................... 108 6.1. Evoluia sistemelor de calcul.Calculatorul de tip von Neumann. ........... 108 6.2. Paralelism n sisteme uniprocesor. ............................................................ 111 6.3. Calculatoare pipe-line. ............................................................................. 112 6.4. Clasificarea Flynn a arhitecturilor de calculatoare. .................................... 115 6.5. Calculatoare SIMD. ................................................................................ 116 6.6. Sisteme multiprocesor cu memorie partajat. ........................................... 118 6.7. Sisteme multiprocesor fr memorie partajat. Transputere. .................... 121 6.8. Sisteme multiprocesor orientate pe flux de date. ...................................... 125 7. Sisteme de operare. ....................................................................................... 130 7.1. Generaliti. .......................... .................................................................. 130 7.1.1. Interfee text i interfee grafice. .................................................. 132 7.1.2. Partiionarea i formatarea discurilor. ........................................... 136 7.2. Sistemul de operare MS-DOS. .................................................... 138 7.2.1. Sistemul de fiiere. Structura discului sub MS-DOS. ................... 113 7.2.2. Lansarea sistemului de operare. ..... ............................................ 144 7.2.3. Configurarea sistemului de operare. ............................................ 145 7.2.4. Crearea fiierelor de comenzi. Fiierul AUTOEXEC.BAT. ..... 151 7.2.5. Procesorul de comenzi COMMAND.COM. ................................ 153 7.2.6. Comenzi interne. ..................................................................... 154 7.2.7. Comenzi externe. .................................................................... 159 7.3. Microsoft WINDOWS 95. ................................................................... 167 7.3.1. Elemente Windows 95. ................................................................ 167 7.3.1.1. Ferestre. ................................................................... 168 7.3.1.2. Meniuri. ................................................................... 169 7.3.1.3. Casete de dialog. ...................................................... 170 7.3.1.4. Desktop. ...................................................................... 172 7.3.2. Windows Explorer. .................................................................. 175 7.3.3. Control Panel. ........................................ ................................ 178 7.4. Linux. .................................................................................................. 184 7.4.1. Structura sistemului Linux. ...................................................... 184 7.4.2. Instalarea sistemului Linux. ..................................................... 189 Bibliografie. .................................................................................................... 191

1. STRUCTURA UNUI CALCULATOR PERSONAL 1.1. Ce este un calculator personal ?


Un sistem de calcul, sau un calculator, este destinat prelucrrii informaiei, acceptnd, memornd i prelucrnd datele sau informaiile de intrare, pentru a produce informaiile de ieire sau rezultatele prelucrrii, fiind compus din dou pri principale: hardware i software. Hardware este un termen general, utilizat pentru a desemna partea fizic a unui calculator, alctuit din componente electronice i mecanice, mpreun cu totalitatea dispozitivelor folosite de calculator n prelucrarea informaiei. Software este tot un termen general, care desemneaz totalitatea programelor folosite de un calculator, pentru a transforma informaiile sau datele de intrare, n informaii de ieire sau rezultate. Structura hard-soft a unui calculator poate fi reprezentat ca o serie de cercuri sau nivele concentrice, fiecare nivel exterior implicnd existena nivelelor interioare, aa cum este artat n figura1.1. Sistemul de operare este format dintr-un ansamblu de programe, care asigur o interfa ntre utilizator i hardware-ul calculatorului, sau, cu alte cuvinte, face posibil comunicarea ntre utilizator i calculator. De asemenea, sistemul de operare realizeaz interfaa ntre hardware-ul calculatorului i restul software-ului, toate celelalte programe utiliznd hardware-ul calculatorului prin intermediul sistemului de operare. Software-ul utilitar pune la dispoziia utilizatorului o multitudine de instrumente software necesare dezvoltrii propriilor programe, sau programe de aplicaie i, de asemenea, instrumente software cu ajutorul crora se poate menine buna funcionare a sistemului de calcul. Programele din cea de-a doua categorie sunt uneori direct invocate de ctre sistemul de operare, aa c pot fi considerate i componente ale sistemului de operare. Dac, pn n anii '80, se fcea o distincie net ntre calculatoare mari, calculatoare medii sau microcalculatoare, n principal pe baza dimensiunii memoriei i vitezei de prelucrare a datelor, odat cu apariia calculatoarelor personale comerciale n 1976, cnd Steven Jobs i Steve Wozniak au fondat firma APPLE, i odat cu creterea gradului de integrare a componentelor electronice, noiunile de calculatoare mici, medii sau mari nu mai sunt att de clare. Astzi, un calculator personal care poate intra n dotarea oricrei familii, dar care poate fi folosit cu succes n majoritatea aplicaiilor ntlnite n practic, are o capacitate de memorare i o vitez de prelucrare mult superioar capacitii de memorare i vitezei de prelucrare de la calculatoarele mari din anii '70.

Figura 1.1. Structura hard-soft a unui calculator Calculatoarele personale pot fi ntlnite astzi n birouri, n coli, n ntreprinderi, la domiciliu. ntruct ele au devenit din ce n ce mai puternice, au preluat multe din sarcinile calculatoarelor mari de acum 20 -30 de ani. Termenul de calculator personal genereaz confuzie, deoarece atunci cnd IBM a produs primul su calculator personal, n 1981, l-a numit IMB Personal Computer sau IBM PC. Pentru unii, termenul de calculator personal nseamn numai calculatoarele IBM sau compatibile hardware cu acestea. Dar, prin extensie, prin calculator personal se poate nelege orice calculator monoutilizator cu destinaie general. Calculatoarele cu destinaie general sunt acele calculatoare capabile s rezolve o mare varietate de probleme, adaptabilitatea la fiecare tip de problem realizndu-se prin intermediul programelor. Nu toate calculatoarele sunt calculatoare cu destinaie general. Astzi sunt produse o gam larg de calculatoare dedicate, destinate rezolvrii unor probleme specifice, un calculator dedicat fiind capabil s ruleze numai programele necesare rezolvrii tipului respectiv de probleme pentru care este dedicat calculatorul. Calculatoare dedicate pot fi ntlnite n ceasurile electronice, camerele video, pompele de benzin, sistemele de ghidare ale rachetelor, sistemele de control ale roboilor industriali etc. Pn acum civa ani, termenii de calculator personal (Personal Computer) i calculator de birou (Desktop Computer) desemnau unul i acelai lucru. Astzi, noiunea de calculator personal tinde s cuprind i acele calculatoare portabile, de mici dimensiuni, i care nu pot fi desemnate prin termenul de calculator de birou sau "desktop computer", care este folosit n continuare numai pentru calculatoarele ce pot fi ntlnite n mod uzual n birouri, i care sunt destinate rezolvrii problemelor curente dintr-un birou: procesri de texte, baze de date, dezvoltri de programe etc.
4

Un calculator "lap-top" este un calculator personal portabil, suficient de mic i uor (cntrind numai 4-5 kg) astfel nct s ncap ntr-un geamantan de mici dimensiuni. Calculatoarele "lap-top" sunt prevzute cu hard disk, ecran plat realizat pe baz de cristale lichide (LCD - Liquid Cristal Display), fiind alimentate cu energie electric de la o baterie rencrcabil. Calculatoarele "lap-top" mai sunt desemnate i prin termenul de "notebook computer". Un alt termen controversat este cel de staie de lucru ( "workstation" ). O staie de lucru este un calculator de birou performant, fiind mai puternic dect calculatoarele personale uzuale (calculatoarele IBM), i care este folosit, n principal, de cercettori tiinifici, ingineri, creatori de desene animate i alii, care necesit prelucrri intensive de date. ntruct staiile de lucru devin din ce n ce mai ieftine, i calculatoarele personale din ce n ce mai puternice, este foarte dificil de trasat o linie de departajare ntre o staie de lucru i cele mai puternice calculatoare personale. n afara tipurilor de calculatoare descrise mai sus, i care sunt n esen calculatoare monoutilizator, dei pot fi folosite i ca sisteme multiutilizator, mai pot fi ntlnite astzi calculatoare i mai puternice, care sunt destinate din start lucrului cu mai muli utilizatori n acelai timp, n vederea rezolvrii unor probleme deosebit de complexe. Asemenea calculatoare sunt desemnate prin termenul de "mainframe computers", un exemplu de calculator "mainframe" fiind calculatorul utilizat pentru rezervarea locurilor la o companie de transport aerian. Acest calculator permite tuturor agenilor companiei aeriene dintr-o ar, s fac rezervri folosind acelai calculator i aceleai informaii, n acelai timp. Agentul companiei aeriene comunic cu calculatorul "mainframe" prin intermediul unui terminal, ce este un ansamblu format din tastatur i ecran, i care transfer informaiile ctre i de la calculatorul "mainframe". Calculatorul "mainframe" se poate afla ntr-o camer alturat sau ntr-o alt ar. Un alt exemplu de calculator "mainframe" este calculatorul dintr-o banc, care este implicat n tranzacii financiare cu diferii clieni. Rmnnd n cadrul definiiei extensive a calculatorului personal, ca fiind un calculator monoutilizator cu destinaie general, cuprinznd aici i calculatoarele de birou, calculatoarele portabile i chiar staiile de lucru, n lucrarea de fa se vor aborda numai calculatoarele personale IBM sau compatibile cu acestea.

1.2. Structura hardware de principiu a unui calculator personal


Un calculator personal este un sistem de prelucrare a informaiei, a crui unitate central de prelucrare este realizat pe baza unui microprocesor. n general, orice calculator, i nu neaprat un calculator personal, are trei elemente constitutive principale: - unitatea central de prelucrare sau UCP ( Central Processing Unit - CPU ) - memoria ( memory )
5

- sistemul de intrare / ieire sau porturi ( Input / Output System or ports )

Figura 1.2. Reprezentarea simplificat a hardware-ului unui calculator personal Unitatea central de prelucrare realizeaz prelucrrile sau procesrile numerice n conformitate cu o secven de operaii elementare, sau instruciuni, numit program. Deci, o unitate central de prelucrare poate executa un set limitat de operaii elementare, care compun repertoriul de instruciuni al UCP-ului respectiv. La calculatoarele din generaiile anterioare, UCP-ul era compus, din punct de vedere constructiv, din foarte multe componente. Datorit creterii gradului de integrare a componentelor electronice, s-a ajuns ca o unitate central de prelucrare s fie condensat ntr-un singur circuit integrat. O unitate central de prelucrare realizat pe o singur pastil de siliciu (sau cip) se numete microprocesor. Programele care sunt executate de microprocesor sunt stocate n memoria intern a calculatorului personal. Datele procesate de ctre aceste programe sunt de asemenea stocate n memoria calculatorului. Dar, memoria intern are o capacitate limitat. Din aceast cauz, se folosesc pentru stocarea programelor i datelor, dispozitivele sau unitile de memorie extern. Cele mai utilizate dispozitive de memorie extern sunt dispozitivele magnetice: discuri flexibile (floppy disks), benzile magnetice, discurile de mare capacitate sau discurile hard (hard disks), o alt denumire frecvent utilizat pentru acestea din urm fiind cea de discuri Winchester. Alt categorie de dispozitive de memorie extern, folosite n prezent, sunt dispozitivele optice: CD-ROM, DVD (Digital Versatile Disc). Un program, pentru a fi executat, trebuie s fie adus din memoria extern n memoria intern. Deci, un microprocesor execut secvene de instruciuni din memoria intern.

Pentru a "conversa" cu utilizatorul, un calculator dispune de urmtoarele dispozitive periferice de baz: tastatura pentru introducerea programelor sau datelor de prelucrat, display-ul sau ecranul pentru afiarea informaiilor din calculator, care pot fi n particular rezultatele prelucrrii, i imprimanta, pentru tiprirea pe hrtie a acestor informaii. Unitatea central de prelucrare preia date de la dispozitivele de intrare prin intermediul porturilor de intrare, i trimite date ctre dispozitivele de ieire, prin intermediul porturilor de ieire. Totalitatea porturilor de intrare / ieire formeaz sistemul de intrare / ieire al calculatorului. UCP este conectat la memorie i porturile de I/E prin intermediul unor linii paralele, care alctuiesc magistrala de comunicaie a calculatorului. Deci, ca element constitutiv principal al unui calculator personal, este i aceast conectare a tuturor resurselor sale prin intermediul unei magistrale de comunicaie. Aceast magistral are 3 seciuni : magistrala de date (Data Bus), pe care microprocesorul citete date din memorie sau porturile de intrare, sau scrie date n memorie sau porturile de ieire. Datele citite din memorie pot fi, n particular, instruciuni. magistrala de adrese (Address Bus), UCP-ul folosind aceste linii pentru a selecta locaia de memorie sau portul de I/E, din care se vrea o dat pentru a fi citit, sau n care se dorete nscrierea unei date. magistrala de control (Control Bus), format din linii specifice utilizate de microprocesor pentru controlul transferurilor de date pe magistral. De exemplu, citete sau scrie date (dac

printr-o linie se poate specifica dac microprocesorul

microprocesorul ine linia respectiv n "0", aceasta nseamn c procesorul citete date din memorie sau porturile de intrare; dac microprocesorul pune "1" pe aceast linie, se va efectua o scriere n memorie sau porturile de ieire), prin alt linie dac se face o operaie cu memoria sau cu porturile de I/E etc. Dimensiunea magistralei de date va da tipul procesorului, respectiv al calculatorului realizat n jurul procesorului respectiv. Dac magistrala de date are 16 linii, deci transferurile de date se pot face numai pe cuvnt (1cuvnt = 2 octei), se spune c avem un calculator pe 16 bii, dac magistrala de date are 32 linii avem un calculator pe 32 bii etc. n mod obinuit, magistrala unui calculator personal este controlat de microprocesor, n sensul c microprocesorul este cel care dirijeaz transferul de date pe magistral. ns, microprocesorul poate ceda controlul magistralei unor alte dispozitive, care pot efectua transferuri de date pe magistral. De exemplu, prin utilizarea unui dispozitiv de acces direct la memorie, sau dispozitiv DMA (Direct Memory Access), procesorul poate ceda magistrala acestui dispozitiv DMA, care efectueaz transferuri de date ntre dispozitivele periferice i memorie, microprocesorul fiind degrevat de sarcina unor astfel de transferuri, i efectund n acest timp alte operaii, care duc la creterea gradului de paralelism i implicit la creterea vitezei de calcul. Cnd transferul DMA s-a terminat, dispozitivul DMA anun

microprocesorul, printr-o linie a magistralei, c poate prelua controlul magistralei, i deci poate efectua transferuri de date pe magistral. Cele mai frecvent ntlnite familii de microprocesoare sunt: Intel (8088/8086, 80286, 80386, I80486, Pentium), Motorola (Motorola 680xx), AMD, Zilog (Z80, Z8000), Sparc (Sun Sparc i UltraSparc pe 32 de bii), Mips etc. Calculatoarele IBM PC/XT sau AT utilizau unul din microprocesoarele I8088 sau I8086 ale firmei INTEL, calculatoarele din familia IBM PS/2 unul din microprocesoarele I8086, I80286, I80386 sau chiar I80486, iar calculatoarele IBM actuale folosesc procesoare puternice cum ar fi Pentium II sau Pentium III. Pentru exemplificare, microprocesorul I8088 are magistrala de date de 8 bii, magistrala de adrese de 16 bii, magistrala de control de 8 bii, iar microprocesorul I8086 are magistrala de date de 16 bii, magistrala de adrese de 20 de bii i magistrala de control de 8 bii. Celelalte microprocesoare Intel vor fi tratate pe larg n seciunile urmtoare. Un microprocesor poate adresa n mod direct un spaiu de memorie de 2na locaii de memorie, unde na este numrul de linii de adres ale magistralei microprocesorului. La calculatoarele personale actuale, unitatea elementar de memorie care poate fi adresat este octetul. Deci, microprocesorul poate scrie/citi n/din memorie cel puin octei. Dac magistrala de date are mai mult de 8 linii, cum este cazul microprocesorului I8086 care are 16 linii de date, se pot face transferuri de date ntre microprocesor i memorie att pe octet ct i pe cuvnt (1 cuvnt = 2 octeti = 16 bii). La microprocesoarele I80386 i I80486, care au magistrala de date de 32 de bii, se pot face transferuri pe octet, pe cuvnt sau pe dublucuvnt (1 dublu-cuvnt = 2 cuvinte = 32 de bii ). Totalitatea adreselor fizice de memorie pe care le poate forma un microprocesor, formeaz spaiul de adrese de memorie. De exemplu, la I8086 spaiul de adrese de memorie este 0 -- 220-1, adic un spaiu de adrese de memorie de 1Moctet; microprocesoarele I80386, I80486 i Pentium, cu 32 de linii de adres, avnd un spaiu de adrese de memorie de 232, adic 4Goctei. Spaiul de adrese de memorie se msoar n octei, cu urmtorii multipli: 1Koctet sau 1Kb(yte) = 210 octei (1024 octei), 1Moctet sau 1Mb = 210 Kb, 1Goctet sau 1Gb = 210 Mb. Analog locaiilor de memorie, fiecare port de intrare/ieire are asociat o adres de intrare/ieire. Totalitatea adreselor de I/E formeaz spaiul de I/E al unui microprocesor. La microprocesorul I8086, porturile pot fi pe 8 sau 16 bii, dup cum microprocesorul poate citi sau scrie date din/n porturile respective (pe octet sau pe cuvnt). Procesoarele din familia Intel 80x86 pot adresa un spaiu de I/E de 64Kporturi de 8bii, sau 32Kporturi de 16 bii. Fiecare microprocesor are o intrare de ceas, semnalul de la aceast intrare fiind folosit pentru sincronizarea operaiilor sale interne. Frecvena semnalului de ceas determin viteza cu care microprocesorul proceseaz datele, i este important ca aceast frecven s fie ct mai mare. De exemplu, dac microprocesorul Z80 funciona la o frecven de 2,5 sau 4MHz, s-a ajuns ca un procesor Pentium III s poat funciona la o frecven de 600MHz.
8

Memoria intern a unui calculator personal poate fi realizat cu circuite de dou feluri : ROM -Read Only Memory - ce sunt memorii din care microprocesorul poate numai s citeasc date, i al cror coninut nu se pierde la ntreruperea alimentrii calculatorului. Memoriile ROM sunt utilizate pentru a stoca programe i date care trebuie s existe permanent n sistem. BIOS-ul (Basic Input Output Sistem) sistemului de operare se afl rezident n memoria ROM a calculatorului. Coninutul memoriilor de tip ROM poate fi ters cu ajutorul unui fascicul de raze ultraviolete (memorii EPROM Erasable Programmable ROM), existnd i variante mai moderne (memoriile EEPROM Electrical Erasable Programmable ROM), al cror coninut poate fi ters i rescris cu ajutorul unui program special. RAM - Random Access Memory - ce sunt memorii la care microprocesorul poate att citi ct i scrie date, i al cror coninut se pierde la ntreruperea alimentrii. Sunt folosite pentru stocarea temporar a informaiei. Din punctul de vedere al tehnologiei de realizare, memoriile de tip RAM sunt de dou feluri: memorii statice (SRAM Static RAM), care menin informaia att timp ct exist tensiune de alimentare, fr a mai fi necesar remprosptarea (refresh-ul) sau rescrierea informaiei. Sunt memorii rapide, dar sunt scumpe. memorii dinamice (DRAM Dynamic RAM), la care informaia se volatilizeaz n timp, i de aceea este necesar remprosptarea periodic a acesteia, cu ajutorul unui circuit specializat. Memoriile dinamice sunt mai lente dect memoriile statice, ns sunt mai ieftine, i sunt memoriile cu care se realizeaz memoria intern de mare capacitate a calculatoarelor actuale. Exist mai multe variante de memorii dinamice DRAM, mai recente fiind: - EDO RAM (Extended data Output DRAM) care, printr-un artificiu, fac posibil citirea unor date din circuit n acelai timp n care se termin citirea anterioar, rezultnd o cretere a vitezei de acces la aceste memorii. - SDRAM (Synchronous DRAM) procesorul accesnd aceste memorii la o vitez sincron cu viteza de lucru a magistralei calculatorului (plcii de baz), mergnd pn la 100 MHz. Memoriile ESDRAM (Enhanced SDRAM) sunt variantele mai recente i mbuntite ale memoriilor SDRAM. Circuitele de memorie sunt ncapsulate n aa numitele circuite DIPs (Dual Inline Packages), sub forma unor barete de memorie, n dou variante constructive: Circuite SIMM (Single Inline Memory Module), cu 30 de pini i care permit un acces la date pe 8 bii, respectiv cu 72 de pini, i care permit un acces la date pe dublu-cuvnt. Circuite DIMM (Double Inline Memory Module) realizate ntr-o tehnologie mai recent, i mai performante. Baretele DIMM au 168 de pini i permit un acces la datele coninute pe 64 de bii.

2. REPREZENTAREA INTERN A INFORMAIEI


Este dificil de gsit o definiie adecvat a noiunii de informaie, ea avnd multe nelesuri. Totui, n teoria informaiei, sau mai precis n teoria transmiterii informaiei, termenul de informaie se aplic acelor lucruri care pot fi comunicate, fie c au sau nu o valoare. Astfel, cuvintele, numerele, imaginile de pe o foaie de hrtie sunt simboluri ce reprezint o informaie . Un calculator nu poate nelege cuvinte, imagini sau chiar litere, i nu poate procesa informaie fr s o divid n uniti mai mici de informaie, la fel cum un copil, pentru a nelege un cuvnt, trebuie s aud sunetele care compun cuvntul respectiv. Bitul este unitatea cea mai mic de informaie. Un bit poate distinge ntre doua stri, deci poate avea dou valori: 0 sau 1, sau cu alte cuvinte "da" sau "nu", "alb" sau "negru". Un calculator poate procesa cantiti mai mari de informaie, tratnd grupurile de bii ca uniti de informaie. Astfel, o colecie de 8 bii numit octet sau "byte", unde fiecare bit poate fi 0 sau 1, poate distinge ntre 256 de stri diferite ( 28=256 ), deci dac am vrea s comunicm cu cineva folosind un octet, am putea transmite cel mult 256 de mesaje diferite, fiecare mesaj fiind asociat cu o combinaie de 0 i 1 a celor 8 bii. Celelalte uniti de masur a informaiei, multipli ai octetului, au fost introduse n capitolul precedent. Ce nseamn pentru un calculator un ir de bii de genul 10011010 ?. Un asemenea ir de bii poate fi un numr, o liter a alfabetului, o instruciune a unui program sau orice alt lucru. Deoarece calculatoarele reduc orice informaie la o combinaie de 0 i 1, numerele din calculator sunt reprezentate folosind numai combinaii ale celor dou cifre sau simboluri. Astzi, calculatoarele nu lucreaz numai cu numere, ci la fel de mult sunt folosite i caracterele, calculatorul procesnd cuvinte, propoziii etc. Pentru aceasta, este necesar ca fiecare caracter s fie reprezentat n mod unic ca o secven de bii, fcnd posibil memorarea i reprezentarea grafic a mesajelor. Cele mai utilizate coduri alfanumerice sunt ASCII - American Standard Code for Information Interchange - i EBCDIC - Extended Binary Coded Decimal Interchange Code. n prezent, marea majoritate a calculatoarelor accept numai codul ASCII, n care fiecrui caracter alfanumeric i corespunde un cod unic pe 7 bii, sau pe 8 bii n cazul codului ASCII extins. ntruct codul ASCII este intens folosit de ctre utilizatori, este necesar menionarea codurilor ASCII ale celor mai utilizate caractere : A - 65 a - 97 0 - 48
10

' ' - 32 ( blanc )

B - 66 C - 67 D - 68 .a.m.d

b - 98 c - 99 d - 100 .a.m.d.

1 - 49 2 - 50 3 - 51 .a.m.d.

CR - 13 ( Carriage Return ) LF - 10 (Line Feed )

De asemenea, instruciunile programelor sunt codificate folosind secvene de bii. De exemplu, secvena 10101001 poate determina calculatorul s adune 2 numere, n timp ce alt secven poate determina calculatorul s execute o alt operaie.

2.1. Reprezentarea numerelor ntr-un sistem de numeraie.


Se numete sistem de numeraie, o mulime finit de simboluri (sau cifre) i de reguli folosite pentru reprezentarea unui numr. Un sistem de numeraie poziional este un sistem de numeraie la care aportul unei cifre n valoarea total a unui numr depinde att de valoarea cifrei, ct i de locul ocupat de cifr n reprezentarea numrului respectiv. Sistemul de numeraie arab este un sistem de numeraie poziional, spre deosebire de sistemul de numeraie roman care nu este un sistem poziional.

Teorema:
Fie p egalitatea : N = xmpm + xm-1pm-1 +.......+ x1p + x0 unde 0 xi p-1 (1) () i = 0,1,...,m i xm0

N, p > 1. Atunci () NZ, () mN astfel nct s avem n mod unic

Demostraie: Se poate presupune c N numrul -N

(dac N

Z- demonstraia se va face identic pentru

). mprind succesiv la p, obinem egalitile : x0 p x1 p (2)

N = N1p + x0, N1 = N2p + x1, . .

Nm-1 = Nmp + xm-1, xm-1 p Nm = 0*p + xm , xm p

11

Deoarece N1 N2 N3 ... 0, se va ajunge inevitabil dup un numr de pai - m - la un ct egal cu zero. nmulind cu p0 prima relaie, cu p1 a doua relaie .a.m.d cu pm ultima relaie, adunnd membru cu membru i simplificnd, obinem egalitatea (1). Unicitatea descompunerii numrului N, ntr-o sum ca cea de mai sus, rezult din unicitatea obinerii ctului i restului n relaiile (2), conform teoremei de mprire cu rest a dou numere ntregi.

Definiie : Se numete reprezentarea n baza p a numrului ntreg N, succesiunea de


cifre xmxm-1 ... x1x0, unde xi verific relaiile : a) b) 0 xi p-1 N= xmpm + () i = 0,1,...,m i xm0 pm-1 +.......+ x1p + x0 (3) xm-1

Conform teoremei precedente, reprezentarea (3) este unic.

Definiie : Se numete reprezentarea n baza p a numrului real r, succesiunea de


cifre xmxm-1 ... x1x0,x-1x-2x-3..., unde xi verific relaiile : a) b) 0 xi p-1 () i = ... -2,-1,0,1,...,m i xm0

r = xmpm + xm-1pm-1 +.......+ x1p + x0 + x-1p-1 + x-2p-2 + ....

Se demonstreaz c reprezentarea de mai sus este unic. Numrul real r se poate scrie sub forma : r = ri + rl unde ri = [r] - partea ntreag a lui r rl = {r} - partea fracionar a lui r Conform teoremei demonstrate anterior, numrul ntreg ri se scrie n mod unic astfel : ri = xmpm + xm-1pm-1 +.......+ x1p + x0 unde 0 xi p-1
,

() i = 0,1,...,m i xm0

nmulind rl cu p i reinnd partea ntreag, dup care continund nmulirea prilor fracionare cu p obinem : rl *p = x-1 + rl1 rl1*p = x-2 + rl2 rl2*p = x-3 + rl3 .a.m.d. nmulind relaiile (4) cu p-1, p-2, p-3 ... i adunnd membru cu membru, dup simplificare obinem: rl = x-1p-1 + x-2p-2 + ... (5) Evident, reprezentarea (5) este unic. Deci r = xmpm + xm-1pm-1 +....+ x1p + x0 + x-1p-1 + x-2p-2 + ... Dac prin nmulirea cu p, a prii fracionare obinute ntr-una din relaiile (4), obinem rezultatul 0, numrul real r are un numr finit de cifre zecimale, altfel va avea un numr infinit de cifre zecimale.
12

, x-i - partea ntreag , rli - partea fracionar

(4)

n concluzie, conform celor relatate anterior, pentru reprezentarea oricrui numr ntreg sau real, ntr-o baza oarecare p, se folosesc numai p simboluri sau cifre. Cifrele sistemului binar sunt 0 i 1, ale sistemului octal (baza 8) sunt 0,1,2,3,4,5,6,7, iar ale sistemului hexazecimal (baza 16) sunt 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

2.2. Conversia numerelor dintr-o baz n alta


Fie numrul ntreg N scris n baza p. Pentru a obine echivalentul lui n baza q, scris N(q), va trebui s obinem o reprezentare de forma ymym-1 ... y1y0, unde N(q) = ymqm + ym-1qm-1 +.......+ y1q + y0 i 0 yi q-1 () i = 0,1,...,m; ym0. Pentru aceasta, se mparte numrul N(p) la q i apoi succesiv cturile obinute, pn cnd se obine ctul zero. Cifrele reprezentrii n baza q sunt resturile mpririlor succesive luate n ordinea invers obinerii lor. N(p) . . Nm-1(p) = Nm(p)*q + ym-1 Nm(p) = 0 * q + ym n acest mod se face conversia unui numr ntreg, din baza p n baza q, calculele fiind efectuate n baza p. Fie r(p) un numr real scris n baza p. Deci, r(p) se descompune ntr-o parte ntreag i o parte fracionar astfel : r(p) = ri(p) +rl(p). Numrul ri(p) fiind un numr ntreg, se convertete n baza q conform procedurii date mai sus, obinndu-se o reprezentare de forma ymym-1 ... y1y0. Pentru conversia prii fracionare, se nmulete rl(p) cu q, se separ partea ntreag de partea fracionar, apoi se continu nmulirea prii fracionare cu q, repetndu-se procedeul pn cnd partea fracionar devine zero, sau pn cnd se obin cifrele prii fracionare n baza q, cu o anumit precizie. rl(p) *q = y-1 + rl1(p) rl1(p)*q = y-2 + rl2(p) rl2(p)*q = y-2 + rl3(p) .a.m.d. Deci r(q) = ymqm + ym-1qm-1 +....+ y1q + y0 + y-1q-1 + y-2q-2 + ... , = N1(p)*q + y0 0 yi q-1, i = 0,1,2,..,m

N1(p) = N2(p)*q + y2

13

ymym-1 ... y1y0,y-1y-2... fiind reprezentarea n baza q a numrului real r De asemenea, calculele sunt efectuate n baza p. Se pot evidenia proceduri de conversie a numerelor ntregi sau reale, din baza p n baza q, calculele fiind efectuate n baza q. Se va exemplifica o astfel de procedur n exemplele urmtoare, transformnd numere din baza 2, 8, 16 n baza 10, calculele fiind efectuate n baza 10. Sistemele de numeraie folosite de ctre utilizatorii de calculatoare, n afar de sistemul zecimal, sunt: sistemul binar, sistemul octal i sistemul hexazecimal. Sistemul binar este sistemul de numeraie n care lucreaz calculatoarele electronice, datorit faptului c nu are dect dou cifre, ceea ce duce la o implementare uoar a calculelor n hardware. Sistemele de numeraie octal i hexazecimal sunt folosite deoarece comprim irurile lungi de bii din reprezentarea unui numr n baza 2, iar conversia din baza 2 in baza 8 sau 16, i invers, se face foarte uor, fr calcule laborioase. Exemple de conversie dintr-o baz n alta : Exemplu de conversie din baza 10 n baza 2 : 13,725(10) = 13(10) + 0,725(10)

13(10) = 1101(2) 0,725 x 2 = 1,450 = 1 + 0,450 0,450 x 2 = 0,900 = 0 + 0,900 0,900 x 2 = 1,800 = 1 + 0,800 0,800 x 2 = 1,600 = 1 + 0,600 .a.m.d. 0,725(10) = 0,1011..(2) Deci 13,725(10) = 1101,1011..(2) Exemplu de conversie din baza 10 n baza 16 :

14

Deci 418(10) = 1A2(16) Exemple de conversie din baza 2,8,16 n baza 10: Fie ymym-1 ... y1y0,y-1y-2... un numr real reprezentat n baza p. Pentru a obine reprezentarea acestui numr n baza q, calculele fiind efectuate n baza q, va trebui s calculm urmtoarea sum:

yix pi (n baza q). n cazul numerelor ntregi, se calculeaz o

sum asemntoare, dar din care lipsesc termenii corespunztori puterilor negative ale lui p. 10101(2) = 1x24 + 0x23 + 1x22 + 0x21 + 1x20 = 16 + 0 + 4 + 0 + 1 = 21(10) 1101110(2) = 1x26 + 1x25 + 0x24 + 1x23 + 1x22 + 1x21 + 0x20 = 64 + 32 + 0 + 8 + 4 + + 2 + 0 = 110(10) 101,1(2) = 1x22 + 0x21 + 1x20 + 1x2-1 = 4 + 0 + 1 + 0,5 = 5,5(10) 1A2(16) = 1x162 + 10x161 + 2x160 = 256 +160 + 2 = 418(10) A0B(16) = 10x162 + 0x161 + 11x160 = 2560 + 0 + 11 = 2577(10) 163(8) = 1x82 + 6x81 + 3x80 = 64 + 48 + 3 = 115(10) Exemple de conversie din baza 2 n baza 16 i invers: Pentru a transforma un numr din baza 2 n baza 16, nu este necesar s facem conversia din baza 2 n baza 10 i apoi conversia din baza 10 n baza 16, ci se poate face direct conversia din baza 2 n baza 16 sau invers, utiliznd tabela din figura 2.1. Pentru a realiza conversia unui numr ntreg din baza 2 n baza 16, se mparte numrul binar n grupe de cte 4 cifre binare, ncepnd de la cifra cea mai puin semnificativ, nlocuindu-se apoi fiecare grup de 4 cifre binare cu cifra hexazecimal corespondent din tabela de mai jos. n cazul numerelor reale, mprirea n grupe de cte 4 cifre binare se face ncepnd de la virgula zecimal spre cele dou capete. Pentru conversia invers, din baza 16 n baza 2, se nlocuiete fiecare cifr hexazecimal cu grupul corespondent de 4 cifre binare din tabel. Zerourile din faa numrului sunt nesemnificative. Exemple : 110001010011110(2) = 0110 0010 1001 1110 = 629E(16) 10110,101011(2) = 0001 0110, 1010 1100 = 16,AC(16) 1AE(16) = 0001 1010 1110 = 110101110(2)
15

F24A(16) = 1111 0010 0100 1010 = 1111001001001010(2)

baza 10
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

baza 16
0 1 2 3 4 5 6 7 8 9 A B C D E F

baza 2
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Figura 2.1. Tabela de conversie a cifrelor hexazecimale n baza 2 ntr-un mod asemntor, se poate face conversia din baza 2 n baza 8 i invers, utiliznd o tabel similar, ce asociaz fiecrei cifre octale numrul binar echivalent scris pe 3 bii. mprirea numrului binar se face, n acest caz, pe grupe de cte 3 cifre.

2.3. Reprezentarea numerelor n calculator. Coduri de reprezentare.


innd cont de reprezentarea intern a semnului numerelor binare, distingem urmtoarele trei coduri de reprezentare: a) codul direct - n care numrul binar este reprezentat prin modulul numrului precedat de un bit de semn; 0 dac este pozitiv, 1 dac este negativ. Exemple: x = +1101 se reprezint n cod direct astfel : xd = 01101 y = - 11011,101 yd = 111011,101 b) codul invers sau codul complementar fa de 1 - n care dac numrul este pozitiv, se reprezint n cod invers la fel ca i n cod direct, deci precedat de un bit 0. Dac numrul x

16

este negativ (x < 0), se inverseaz cifrele reprezentrii binare n cod direct a numrului -x, care este un numr pozitiv. Exemple: x = +1101 xi = 01101 y = -1101,011 yi = 10010,100 c) codul complementar fa de 2 - n cazul numerelor pozitive, reprezentarea este aceeai ca i n codul direct. Pentru numerele negative, codul n complement fa de 2 se obine din codul invers, la care se adaug 1 n rangul cel mai puin semnificativ. Exemple: x = +1101 xc = 01101 y = -1101 yi = 10010 + 1 yc = 10011 n prezent, codul n complement fa de 2 este acceptat n exclusivitate la majoritatea calculatoarelor electronice, i l vom folosi n continuare. La reprezentare intern a unui numr binar, nu se poate face abstracie de numrul de bii pe care se reprezint numrul binar. Dac se dorete reprezentarea numrului binar pe un numr mai mare de bii, se face extensia bitului de semn n cei mai semnificativi bii. De exemplu, fie numrul zecimal -7, a crui reprezentare n complement fa de 2, pe un octet, este 11111001 (+7 reprezentat n cod direct este 0111, deci -7 n cod complementar fa de 2 va fi 1001, la care se face extensia bitului de semn pn la octet ). Reprezentat n cod complementar fa de 2 pe un cuvnt, -7 va fi 1111111111111001 (de exemplu, n urma execuiei instruciunii MOV AX,-7 registrul AX va conine valoarea binar 1111111111111001). Ca o remarc la reprezentarea n complement fa de 2, se poate observa c numerele pozitive vor avea ntotdeauna cel mai semnificativ bit 0, n timp ce numerele negative vor avea 1 n cel mai semnificativ bit. Relativ la modul de reprezentare a virgulei zecimale, numerele reale pot fi reprezentate n virgul fix sau n virgul mobil. Un numr real reprezentat n virgul fix este o succesiune de cifre mprite de o marc zecimal, ntr-o parte ntreag i una fracionar. Astfel, formatul de reprezentare n virgul fix conine un bit de semn, un cmp format dintr-un numr oarecare de bii pentru reprezentarea prii ntregi a numrului real i un cmp pentru reprezentarea prii fracionare. Aceste cmpuri sunt de lungime constant. Exemplu de format n virgul fix:

17

Reprezentarea n virgul fix limiteaz gama numerelor ce pot fi reprezentate. Astfel, dac i este numrul de bii rezervai pentru partea ntreag, f numrul de bii rezervai pentru partea fracionar, numrul real maxim ce poate fi reprezentat este rmax = 011.. 1,111...1, ce conine i bii 1 n faa virgulei zecimale i f bii 1 dup virgula zecimal. Dac n cazul reprezentrii n virgul fix a numerelor reale, sarcina evidenei mrcii zecimale revine programatorului, n cazul reprezentrii n virgul mobil, aceast sarcin revine calculatorului. Pentru a reprezenta un numr real r n virgul mobil sau flotant, acesta se scrie sub forma :

r = + M* bE ; bN, b 2 i EZ M se numete mantis, E exponent, iar b este baza de reprezentare a numrului.


Reprezentarea numrului real r de mai sus este unic, dac 1/b M 1. Operaia prin care se modific mantisa pentru a ndeplini aceast condiie, ajustnd corespunztor exponentul, se numete normalizare a mantisei. De exemplu, adunnd 0,785x101 (7,85) cu 0,625x101 (6,25), obinem 1,410x101, iar dup normalizare 0,410x102. Exemplu de format n virgul mobil :

Exist mai multe formate standard de reprezentare a numerelor reale n virgul fix sau mobil, dar acestea nu vor fi tratate n seciunea de fa. Formatul de virgul mobil prezentat mai sus este formatul IEEE pentru numere reale scurte (pe 32 de bii). Operaiile cu numere n virgul fix sunt executate mai repede dect aceleai operaii cu numere n virgul mobil, deoarece n cel de-al doilea caz sunt necesare calcule suplimentare, dar sunt preferate numerele reprezentate n virgul mobil datorit faptului c uureaz munca programatorului. Procesoarele din familia Intel 80x86 nu au instruciuni de prelucrare a numerelor n virgul mobil. Pentru aceasta sunt utilizate coprocesoarele aritmetice din familia 80x87. La 80486 i Pentium, coprocesorul arimetic este integrat pe cip mpreun cu procesorul principal.

18

3. LOGIC COMBINATORIC I SECVENIAL 3.1. Elemente de logic boolean. Funcii logice.


n practica electronic, cifrele binare se reprezint prin dou niveluri de tensiune. Astfel, pentru familia de circuite logice integrate TTL - Tranzistor Tranzistor Logic - se asigneaz "1" logic pentru un nivel de tensiune mai mare de 2,4V (cuprins ntre 2,4V i 5V), i un "0" logic pentru un nivel de tensiune mai mic de 0,4V (cuprins ntre 0 i 0,4V ). ntr-o manier simplificat, se poate considera c "1" logic este reprezentat de un nivel de tensiune apropiat de +5Vcc, iar "0" logic este reprezentat de un nivel de tensiune apropiat de 0Vcc, majoritatea circuitelor electronice dintr-un calculator fiind alimentate cu o tensiune electric continu ntre +5Vcc i 0Vcc. Algebra care corespunde logicii binare sau bivalente, utilizate pn n prezent n calculatoare, este algebra Boole. Algebra Boole opereaz pe o mulime B format din dou valori: "0" i "1" (deci B = {0,1}), pe care se definesc trei legi de compoziie : negaia, disjuncia i conjuncia. Complementarea logic sau negaia (operatorul NOT) este definit prin urmtorul tabel de adevr :

Simbolul grafic cel mai utilizat pentru reprezentarea operatorului negaie este urmtorul:

Disjuncia logic sau suma logic (operatorul SAU,OR) i conjuncia logic sau produsul logic (operatorul I, AND ) sunt definite de urmtoarele tabele de adevr:

Simbolurile grafice utilizate pentru reprezentarea celor dou operaii logice sunt:

19

Elementele mulimii B satisfac urmtoarele proprieti, () X,Y,Z B: 1. idempotena: 2. comutativitate: 3. asociativitate: 4. distributivitate: 5. existena elementului neutru: 6. existena complementului: 7. dubla negaie: 8. legile lui De Morgan: 9. absorbia:
X+X = X ; X*X = X X+Y = Y+X ; X*Y =Y*X X+(Y+Z) = (X+Y)+Z ; X*(Y*Z) = (X*Y)*Z X*(Y+Z) = X*Y+X*Z ; X+Y*Z = (X+Y)*(X+Z) X+0 = X ; X*1 = X X+X = 1 ; X*X = 0 X=X X*Y = X+Y ; X+Y = X*Y X*(X+Y) = X ; X+X*Y = X

Formulele lui De Morgan ne permit s scriem orice relaie logic folosind numai doi din cei trei operatori definii anterior; sau numai NOT i OR, sau numai NOT i AND. Dac combinm cei doi operatori din fiecare pereche de operatori dat mai sus, obinem nc doi noi operatori, cu tabelele de adevr i simbolurile urmtoare: operatorul NOR (SAU-NU) operatorul NAND (I-NU)

Orice relaie logic se poate scrie utiliznd numai unul din operatorii NAND sau NOR. O alt operaie logic, des utilizat, este operaia sau relaia logic SAU EXCLUSIV (XOR), al crei tabel de adevr i simbol grafic sunt date mai jos.

20

O funcie boolean de n variabile este o funcie f : BnB, unde Bn = BxBx....xB de n ori. Valorile unei funcii booleene pot fi prezentate ntr-un tabel, cu 2n linii i n+1 coloane, numit tabel de adevr al funciei. n primele n coloane se trec cele 2n combinaii de valori ale variabilelor funciei, iar n coloana n+1 se trec valorile funciei corespunztoare fiecrei combinaii. Exemplu: f(X,Y,Z) = XYZ + YZ +XZ

O funcie boolean, sau o expresie boolean, este n forma canonic disjunctiv, dac se scrie ca o disjuncie de mintermeni, i este n forma canonic conjunctiv, dac se scrie ca o conjuncie de maxtermeni. Un mintermen este un produs logic, coninnd fiecare variabil o dat i numai o dat, fie variabila fie negaia ei. Un maxtermen este o sum logic, ce conine fiecare variabil o dat i numai o dat, fie variabila fie negaia ei. Exemple: f(X,Y,Z) = XYZ +XYZ +XYZ f(X1,X2,X3) = (X1+X2+X3)(X1+X2+X3)(X1+X2+X3) Funcia logic al crei tabel de adevr a fost prezentat mai sus se poate scrie n forma canonic disjunctiv astfel : f(X,Y,Z) = XYZ +YZ + XZ = XYZ + (X+X)YZ + X(Y+Y)Z = XYZ + XYZ + XYZ +XYZ + XYZ Forma canonic conjunctiv este mai puin utilizat n practic dect forma canonic disjunctiv.

3.2. Implementarea i minimizarea funciilor logice


Porile logice sunt circuitele care implementeaz funciile logice de baz: NOT,AND, OR, NAND, NOR, XOR. Prin implementarea unei funcii logice, se nelege realizarea ei cu ajutorul circuitelor fundamentale sau porilor logice. Costul unei funcii logice este egal cu numrul de intrri n circuitele logice elementare ce realizeaz funcia dat. Exemple: 1. S se implementeze funcia f(X,Y,Z) = XYZ + XY + XYZ

21

2. S se implementeze funcia f(X,Y) = XY + X utiliznd nti pori AND, OR, NOT, i apoi utiliznd numai pori NAND.

Numrul de niveluri al unei structuri sau implementri logice este egal cu numrul maxim de circuite pe care le parcurge un semnal de la intrare la ieire. n primul exemplu, funcia este implementat pe 3 niveluri logice, n cel de-al doilea exemplu fiind implementat pe 2 niveluri logice. Prin minimizarea unei funcii logice se nelege metodologia obinerii unei expresii logice echivalente cu cost minim, pentru un numr dat de niveluri logice. Funcia din exemplul 1, de mai sus, poate fi minimizat i implementat astfel : f(X,Y,Z) = XYZ + XY + XYZ = (X + X)YZ +XY = YZ + XY

Costul funciei dup minimizare este C(f) = 7, spre deosebire de prima implementare, n care costul funciei este C(f) = 13. Metoda Veitch - Karnaugh de minimizare a unei functii logice: Se consider o funcie de n variabile logice, n forma normal disjunctiv. Se mpart cele n variabile n 2 mulimi de k i p elemente, k + p = n. Vom forma o matrice cu 2k linii i

22

2p coloane, fiecare element al matricii indicnd valoarea funciei corespunztoare valorilor variabilelor ce poziioneaz elementul n matrice. n general, putem grupa 21, 22, 23,..., 2p termeni vecini cu valori 1 ale funciei , eliminndu-se din termenul rezultant 1,2,3,...,p variabile, pentru care echivalenii binari i schimb valoarea n rangurile corespunztoare acestor variabile. Pentru ordonarea coloanelor i liniilor matricei Veitch-Karnaugh, se folosesc combinaiile posibile ale valorilor variabilelor de intrare, dou coloane sau linii alturate schimbnd doar un singur bit. Exemplul 1: S se minimizeze urmtoarea funcie de 4 variabile : f(X1,X2,X3,X4) = X1X2X3X4+ X1X2X3X4+
+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4

Exemplul 2: S se minimizeze urmtoarea funcie de 3 variabile : f(X1,X2,X3) = X1X2X3+ X1X2X3+


+ X1X2X3+ X1X2X3+ X1X2X3+ X1X2X3

3.3. Materializarea funciilor logice. Circuite logice.


Orice poart logic definit pentru 2 intrri, i care implementeaz una din funciile logice de baz descrise mai sus, poate fi gndit i utilizat cu un numr mai mare de intrri. Astfel, exist pori logice OR, AND, NAND etc. cu 3, 4 sau chiar 8 intrri. Pe o capsul de circuit integrat pot fi implementate una sau mai multe pori, depinznd de dimensiunea capsulei (numrul de pini al capsulei) precum i de numrul de intrri ale porilor logice. De

23

exemplu, pe o capsul cu 14 pini pot s ncap 6 inversoare, 4 pori AND cu 2 intrri, 1 poart NAND cu 8 intrri etc.

Circuitul 7404, reprezentat mai sus, este o capsul de 14 pini n tehnologie TTL, care conine 6 inversoare; circuitul 7400 conine 4 pori NAND cu 2 intrri ; circuitul 7432 conine 4 pori OR cu 2 intrri etc. Capsulele sunt alimentate la o tensiune de +5Vcc. n funcie de tehnologia de realizare, exist trei mari categorii de circuite logice : - TTL - Tranzistor Tranzistor Logic, cu varianta TTL Shottky. - ECL - Emiter Coupled Logic - MOS - Metal Oxid Semiconductor, cu cele 3 variante: PMOS, NMOS, CMOS Caracteristicile principale ale circuitelor logice : - timpul de propagare, notat cu tp i msurat n nsec. Este timpul scurs ntre momentul modificrii unei variabile la intrare i momentul cnd rspunsul este furnizat la ieirea circuitului.

- puterea disipat, notat cu P i msurat n mW. - Fan-out, ce reprezint numrul maxim de intrri ce pot fi conectate la ieirea unui circuit logic. La ieirea unui circuit nu pot fi conectate un numr prea mare de intrri. Astfel, pentru circuitele TTL, Fan-out = 10, ceea ce nseamn c la ieirea unei pori logice TTL, din cele prezentate n acest capitol, pot fi conectate maximum 10 intrri ale altor pori logice. - valorile tipice ale tensiunilor de intrare i ieire. De exemplu, pentru familia de circuite logice TTL, tensiunea de ieire minim garantat n starea "high" (atunci cnd la

24

ieire trebuie s fie "1" logic) este VOH = 2,4V, iar tensiunea de ieire maxim n starea "low" (atunci cnd la ieire trebuie s fie "0" logic) este VOL = 0,4V. n mod obinuit, ieirile circuitelor date mai sus nu pot fi conectate mpreun. n unele situaii, cum este conectarea la magistral, apare necesitatea conectrii mpreun a ieirilor mai multor circuite logice. n acest caz devin utile circuitele "tri-state", ieirea circuitului avnd trei stri posibile : nivel ridicat ("1"), nivel cobort ("0"), i deconectat sau starea de mare impedan. Dac circuitul "tri-state" este activat, ieirea circuitului va fi n starea "high" sau "low" n funcie de intrrile circuitului. Dac circuitul este dezactivat, ieirea circuitului va fi deconectat de la magistral, magistrala sau linia comun fiind controlat de ieirea altui circuit logic. Exemple:

Poart I-NU cu 2 intrri de date i o intrare de activare Obs: Semnalele active pe nivel cobort sunt marcate pe desen printr-un cercule, denumirea semnalului fiind supraliniat. Mai jos este prezentat un circuit buffer sau circuit tampon, a crui ieire Z va fi egal cu intrarea X dac intrarea de activare E este 1, altfel ieirea Z va fi n starea de mare impedan.

Exemplu de cuplare la o linie de magistral a mai multor semnale (X1,X2,X3), utiliznd circuite buffer:

25

3.4. Structuri logice combinaionale


O structur logic combinaional, sau un circuit logic combinaional, este un circuit cu n intrri i m ieiri, la care ieirile pot fi exprimate ca funcii numai de intrrile circuitului.

Decodorul este circuitul logic combinaional cu n variabile de intrare i cel mult 2n variabile de ieire, la care numai o singur ieire este activ (de regul n starea "low") la un moment dat, celelalte ieiri fiind inactive. Va fi activ ieirea yk, k=0,1, ...2n-1, unde k reprezint corespondentul zecimal al numrului binar Exemple: Circuitul 7442 este un decodor zecimal, cel mult una din cele 10 ieiri fiind activ la un moment dat. Astfel, dac la intrare avem combinaia DCBA = 0111, toate ieirile vor fi n "1" logic, cu excepia ieirii 7 care va fi n "0" logic.
XnXn-1...X2X1

existent pe cele n linii de

intrare. Circuitul decodor poate avea una sau mai multe intrri de activare.

Circuitul 74138 este un decodor octal cu 3 intrri de activare. Circuitul va fi activ dac E1=E2=0 i E3=1. Altfel, toate ieirile sunt inactive (n starea "high") indiferent de combinaia de pe liniile C,B,A. Dac circuitul este activ, acesta va funciona conform urmtoarei tabele de adevr :

26

Circuitul multiplexor este unul din principalele circuite combinaionale, fiind denumit uneori i circuit "selector", deoarece este utilizat ca un comutator de selectare a anumitor intrri. De exemplu, un multiplexor cu 8 intrri selecteaz i trimite la ieire una din cele 8 intrri, n funcie de un cod de selecie pe 3 bii, aflat pe cele 3 intrri de selecie.

n cazul general, cu ajutorul celor n intrri de selecie, se selecteaz una din cele 2n intrri de date, intrare care este cuplat la ieire. Uneori, circuitele multiplexoare sunt prevzute cu intrri de activare. Un exemplu concret de circuit multiplexor este circuitul 74151, care implementeaz urmtoarea funcie logic: Y = S(CBAI0+CBAI1+CBAI2+CBAI3+CBAI4+CBAI5+CBAI6+CBAI7) Dac S=1 circuitul este inactiv, deci Y=0 indiferent de intrrile C,B,A, I0-I7. Circuitul este activ, funcionnd ca un comutator comandat de intrrile de selecie, numai dac S=0. Un alt circuit logic combinaional este sumatorul, care realizeaz suma a dou numere binare. De exemplu, circuitul sumator CDB483 adun dou numere binare pe 4 bii astfel : C43210 = X3X2X1X0 +Y3Y2Y1Y0 + C0

27

Pentru a aduna dou numere pe n bii, se conecteaz mai multe circuite CDB483 n cascad, ca n figura de mai jos. De regul, se prefer n = 4k.

Tot circuite combinaionale sunt i unitile aritmetico-logice, care pot efectua diferite operaii aritmetice i logice. De exemplu, ALU74181 este o unitate aritmetico-logic pe 4 bii, care poate realiza 16 operaii logice i 16 operaii aritmetice asupra operanzilor pe 4 bii. Circuitul are 4 intrri de selecie a operaiei i o intrare de control a modului. Dac intrarea de control a modului este "0", circuitul realizeaz o operaie aritmetic asupra operanzilor: adunare, scdere etc., operaie selectat de cele 4 intrri de selecie a operaiei. Dac intrarea de control este "1", circuitul va realiza una din cele 16 operaii logice (produs logic, sum logic etc.) selectate de intrrile de selecie a operaiei. Pentru a realiza operaii logice sau aritmetice pe mai muli bii, se conecteaz mai multe circuite ALU74181 n cascad. O asemenea unitate aritmetico-logic, dar mult mai performant, se gsete n interiorul oricrui microprocesor.

3.5. Sisteme logice secveniale


Capacitatea de a memora este foarte util n soluionarea unor probleme. Nu toate problemele pot fi rezolvate ntr-o manier pur combinaional. Funcia de memorare ne permite s reinem datele pn n momentul cnd este necesar prelucrarea lor, mpreun cu alte date de intrare. Dispozitivele secveniale sau dispozitivele cu memorie, au o intrare de ceas (sau intrare de tact), starea lor schimbndu-se numai ca urmare a tranziiei acestui semnal de ceas.

28

Un sistem logic pur combinaional nu posed memorie, ieirile la un moment dat fiind complet definite de intrri. La un sistem secvenial, relaia dintre ieiri i intrri este determinat i de evoluia anterioar a intrrilor i ieirilor. Un sistem logic secvenial poate fi divizat ntr-un circuit pur combinaional i un circuit cu memorie astfel:

Dac poarta logic este elementul combinaional de baz al structurilor combinaionale, bistabilul este elementul secvenial de baz al sistemelor secveniale. Elementele de memorare, i n particular bistabilii, i modific ieirea n funcie de intrri numai ca urmare a tranziiei semnalului de ceas.

3.5.1. Tipuri de bistabile


Bistabilul de tip D - este elementul fundamental de memorare.

Ieirea Q la momentul n+1 (la a n+1-a tranziie a semnalului de ceas) este egal cu intrarea D la momentul n (intrarea anterioar tranziiei n+1 a semnalului de ceas). Mai clar, funcionarea bistabilului de tip D rezult din urmtoarea diagram de semnale:

29

Bistabilul de tip R-S

Intrarea R, numit i intrare de Reset, aduce ieirea Q a bistabilului n zero la urmtorul front activ al semnalului de ceas, sau altfel spus, reseteaz ieirea bistabilului. Dac intrarea S, numit i intrare de Set, este 1, ieirea bistabilului va trece n 1 la urmtorul front activ al ceasului. Dac R=S=0, ieirea bistabilului rmne nemodificat dup a n+1-a tranziie a semnalului de ceas. R=S=1 determin trecerea bistabilului ntr-o stare nedeterminat (ieirea poate fi att 0 ct i 1), fiind necesar evitarea acestei combinaii. Pot exista bistabile R-S fr intrare de ceas, bistabilul fiind resetat imediat ce intrarea R=1, i fiind setat imediat ce intrarea S=1. Bistabilele pot fi active pe nivel sau pe front. n cazul bistabilelor active pe nivel, tranziia ieirii bistabilului este determinat de nivelul semnalului de ceas, spre deosebire de bistabilele active pe front, la care tranziia ieirii este determinat de frontul cresctor sau descresctor al semnalului de ceas. Bistabilul de tip D prezentat anterior este un bistabil activ pe frontul cresctor al semnalului de ceas. Bistabilul de tip J-K

Spre deosebire de bistabilul R-S, n cazul bistabilului J-K, dac J=K=1, ieirea Q a bistabilului la momentul n+1 va fi egal cu ieirea Q la momentul anterior tranziiei n+1 a semnalului de ceas, inversat.

30

Bistabilele integrate care pot fi ntlnite pe pia sunt puin mai complicate dect cele prezentate anterior. Astfel, circuitul 7474 (sau echivalentul su CDB474) conine 2 bistabile de tip D pe capsul, care arat ca n figura 3.1. R i S sunt intrri asincrone active pe nivel cobort, care reseteaz, respectiv seteaz ieirea Q a bistabilului, indiferent de semnalul de ceas. De asemenea, fiecare bistabil mai este prevzut cu o ieire Q, ce reprezint ieirea Q inversat. Ceasul este activ pe front cresctor. Capsula 7473 (sau CDB473) conine 2 bistabile J-K active pe frontul descrector al semnalului de ceas, cu intrri asincrone de set i reset.

Figura 3.1. Bistabilele integrate 7474 i 7473

3.5.2. Registre i numrtoare


Mai multe bistabile pot fi grupate n configuraii de registre sau numrtoare. Registrele folosesc, de obicei, ca dispozitiv de memorare a datelor. Spre deosebire de bistabile, care memoreaz o informaie de un bit, registrele sunt dispozitive care pot stoca cuvinte (mai muli bii), deci registrele sunt realizate prin alturare de bistabile, fiecare bistabil memornd un singur bit. Registrele pot fi cu acces paralel sau cu acces serie. La registrele cu acces paralel, operaia de ncrcare se realizeaz simultan n cele n circuite basculante ale registrului, pe frontul activ al semnalului de ceas. Exemplu de registru cu acces paralel, implementat cu bistabile de tip D:

n cazul registrelor cu acces serie, ncrcarea bistabilelor registrului se face serial, de la o intrare serial. Exemplu de registru serie, implementat cu bistabile de tip D:

31

La fiecare front activ al semnalului de ceas SIQ1, Q1Q2, Q2Q3, Q3Q4. Un exemplu concret de registru integrat este circuitul 7495 (sau CDB495) prezentat n figura 3.2, i care este un registru de 4 bii, cu posibilitate de operare sincron serie sau paralel. Funcionarea circuitului 7495 este urmtoarea: Dac S=1, este permis operarea paralel, i se vor ncrca n registru, n paralel, datele de la D0-D3, la o tranziie din 1 n 0 a intrrii de tact CP2 (ceas activ pe front descresctor). Dac S=0, este permis operarea serie, i la o tranziie din 1 n 0 a intrrii de ceas CP1, se realizeaz deplasarea serie dreapta a informaiei din registru: DSQ0, Q0Q1, Q1Q2, Q2Q3.

Figura 3.2. Circuitele 7495 i 74193 De asemenea, mai multe bistabile pot forma o configuraie de numrtor, o asemenea configuraie numrnd impulsurile de la intrarea de ceas a bistabilelor. Ieirile bistabilelor sunt interpretate, n acest caz, ca un numr binar ce reprezint starea numrtorului, sau cu alte cuvinte, ieirile bistabilelor reprezint numrul de impulsuri de ceas aprute la intrarea de tact a bistabilelor. Astzi nu se mai realizeaz practic numrtoare cu circuite bistabile individuale, existnd numeroase numrtoare integrate. Astfel, circuitul 74193 este un numrtor binar reversibil de 4 bii (sau numrtor modulo 16). Circuitul are dou intrri de ceas active pe front pozitiv: Cu - pentru incrementarea numrtorului i Cd - pentru decrementarea numrtorului. Numrtorul poate fi resetat (Y3=Y2=Y1=Y0=0), dac intrarea R=1. PL este o intrare de comand a ncrcrii paralele, deci dac PL efectueaz o tranziie din "1" n "0", se realizeaz ncrcarea paralel: D0Y0, D1Y1, D2Y2, D3Y3. Numrarea este posibil dac PL=1 i R=0. Circuitul

32

incrementeaz (adun 1) numrul binar Y3Y2Y1Y0 la fiecare front cresctor al intrrii Cu, i decrementeaz (scade 1) numrul Y3Y2Y1Y0 la fiecare front cresctor al intrrii Cd. Ieirile TCD i TCU sunt "low" la trecerea prin zero a numrtorului cnd se numr napoi, respectiv la trecerea prin 15 cnd se numr nainte. Funciile logice realizate de cele dou ieiri sunt: TCU = Y3Y2Y1Y0Cu TCD = Y3Y2Y1Y0Cd Aceste dou ieiri sunt necesare pentru cuplarea mai multor numrtoare 74193 n cascad, n vederea implementrii unor numrtoare pe mai muli bii. Funcionarea ca numrtor nainte rezult din urmtoarea diagram de semnale:

O diagram asemntoare poate fi trasat i n cazul numrrii napoi.

33

4. MICROPROCESOARELE DIN FAMILIA INTEL 80x86 4.1. Microprocesorul I80286


4.1.1. Caracteristici generale
Microprocesorul IAPX-286, sau I80286, este un microprocesor produs de firma INTEL, aparinnd familiei IAPX, ce cuprinde microprocesoarele I8088, I8086, I80286, I80386, I80486, Pentium. I80286 poate funciona pn la o frecven de 25MHz, fiind perfect compatibil n jos cu microprocesoarele anterioare din familie: I8088 i I8086. Are dou moduri de lucru: modul real i modul protejat. Setul de instruciuni al microprocesorului I8086 a fost lrgit cu instruciuni specifice modului de lucru protejat, ce ofer suportul necesar implementrii unor sisteme de operare multitasking, cum este OS/2. ntr-un asemenea sistem de operare, unitatea central de prelucrare servete pe rnd mai multe taskuri, sau programe, astfel nct utilizatorul are impresia c sunt ruleaz mai multe programe simultan. I80286 are magistrala de date de 16 bii la fel ca i I8086, dar n schimb are magistrala de adrese de 24 de bii, cu care poate adresa n mod direct un spaiu de memorie de 16Moctei. De asemenea, are n compunere o unitate de gestiune a memoriei, prin intermediul creia poate adresa o memorie virtual de 1Goctet. La fel ca i I8086, poate adresa un spaiu de I/E de 64 Kporturi de 8 bii sau 32 Kporturi de 16 bii. I80286 lucreaz n conjuncie cu coprocesorul matematic I80287, care, spre deosebire de I8087, poate asigura asisten microprocesorului I80286, n ce privete efectuarea calculelor matematice, i n modul protejat. Microprocesorul I80286 este microprocesorul n jurul cruia sunt realizate calculatoarele IBM AT sau compatibile, folosind o magistral de tip ISA - Industrial Standard Architecture. I80286 este livrat n dou moduri diferite: ntr-o capsul de plastic de form ptrat, cu pini numai pe cele 4 laturi ale capsulei, sau ntr-o capsul ptrat ce conine o matrice de pini - Pin Grid Array.

4.1.2. Arhitectura intern a microprocesorului I80286


Microprocesorul I80286 este compus din 4 uniti independente care lucreaz n paralel: - unitatea de interfa cu magistrala - BU (Bus Unit); - unitatea instruciunilor - IU (Instrucion Unit); - unitatea de execuie - EU (Execution Unit); - unitatea de adresare - AU (Adress Unit).

34

Unitatea de interfa cu magistrala controleaz toate operaiile pe care microprocesorul le efectueaz pe magistral, genernd adresele, datele i semnalele de control pentru memorie i porturile de I/E. BU transfer date ntre memorie sau porturi, i microprocesor, la cererea unitii de execuie. Dac BU nu are o astfel de cerere din partea unitii de execuie, va aduce din memorie urmtoarea instruciune n secven, pe care o plaseaz ntr-o coad de instruciuni. Aceasta presupune c instruciunile se execut n secven, una dup alta, n ordinea n care apar n memorie. Dac survine o ruptur n secven (de exemplu o instruciune de salt), coada de instruciuni este resetat i se rencepe citirea instruciunilor cu anticipaie de la noua adres. Coada de instruciuni este o memorie intern de 6 octei, care memoreaz codurile instruciunilor nainte de a fi utilizate de unitatea instruciunilor. Acest mecanism de citire cu anticipaie a instruciunilor permite eliminarea timpilor mori de citire din memorie a instruciunii urmtoare.

Figura 4.1.1. Schema bloc intern a microprocesorului I80286 Unitatea instruciunilor primete instruciuni din coada de instruciuni, le decodific, i le plaseaz ntr-o alt coad, cu lungimea de 3 octei, numit coada instruciunilor decodificate. Unitatea de execuie execut instruciunile preluate din coada de instruciuni decodificate, i face apel la unitatea de interfa cu magistrala, pentru toate transferurile de date cu memoria sau cu porturile de I/E. Unitatea de execuie conine o unitate aritmeticologic - Arithmetical Logical Unit, destinat efecturii calculelor aritmetice i logice care intervin n execuia instruciunilor. UAL efectueaz calculele manevrnd regitrii generali i

35

operanzii instruciunilor, i totodat gestioneaz indicatorii de condiie i stare coninui n registrul indicatorilor de condiie i stare F. Unitatea de adresare asigur gestiunea memoriei, mecanismele de protecie a memoriei i translatarea adreselor virtuale (sau logice) n adrese fizice, care sunt apoi utilizate de unitatea de interfa cu magistrala. Arhitectura microprocesorului I80286 este o arhitectur de tip band de asamblare, sau "pipe- line", cele 4 uniti lucrnd n paralel, astfel c, spre exemplu, n timp ce unitatea de execuie este ocupat cu execuia instruciunii curente, unitatea de interfa cu magistrala ncarc instruciunea urmtoare, sau transfer n memorie rezultatul instruciunii executate anterior. n acelai timp, unitatea instruciunilor decodific urmtoarea instruciune de executat, pe care o pune n coada de instruciuni decodificate, pentru a fi preluat de unitatea de execuie.

4.1.3. Registrele microprocesorului I80286


Microprocesorul I80286 conine 15 registre interne de 16 bii. Aceste registre pot fi grupate n 5 categorii astfel: - registre generale - registre indicatoare de adres i index - registre de segment - registrul pointerului de instruciuni - registre de control i stare

Figura 4.1.2. Registrele microprocesorului I80286 Registrele generale AX, BX, CX, DX sunt utilizate n majoritatea instruciunilor aritmetice i logice, i pot fi folosite att ca registre pe 16 bii, ct i ca registre pe 8 bii. De exemplu, registrul AX, registru pe 16 bii, este compus din registrul AH ce conine cei 8 bii

36

mai semnificativi din AX, i din registrul AL, ce conine cei mai puin semnificativi 8 bii din AX. Registrele SP i BP sunt denumite registre indicatoare de adres (sau pointer) i sunt folosite numai ca registre pe 16 bii. Registrul SP conine deplasamentul n octei al vrfului stivei, fa de nceputul segmentului de stiv curent. De cele mai multe ori, i registrul BP conine un deplasament n segmentul de stiv curent. Registrele BX i BP mai sunt denumite uneori i registre baz, fiind desemnate s conin adresa de baz a unei structuri de date din memorie, cum ar fi adresa de baz a unui tablou. Registrele index SI i DI sunt registre numai pe 16 bii, i conin de regul un index, care se incrementeaz sau se decrementeaz pe msur ce se examineaz o structur de date. Sunt folosite n special de instruciunile de prelucrare a irurilor de caractere. Spaiul de memorie adresabil de 80286 este mprit n segmente logice cu dimensiunea maxim de 64Kb. n general, programele sunt constituite din mai multe segmente (module) de cod, date, sau stiv, numai o parte din acestea fiind utilizate la un moment dat. Microprocesorul I80286 permite unui program s aib acces la 4 segmente simultan. Registrele de segment sunt utilizate pentru a identifica cele 4 segmente curente, fiecare registru fiind specializat pentru un anumit tip de segmente. Registrele de segment sunt: - CS - registru de segment de cod - DS - registru de segment de date - SS - registru de segment de stiv - ES - registru de segment de date suplimentare Toate registrele de segment au 16 bii. Registrele de segment pot fi modificate prin program. Coninutul registrelor de segment este interpretat diferit n funcie de modul de lucru al microprocesorului: real sau virtual. n modul de lucru real, care este modul de lucru compatibil I8086, registrele de segment conin cei mai semnificativi 16 bii ai adresei de baz a segmentelor de memorie. Pentru a face acces la o dat din memorie, microprocesorul trebuie s cunoasc adresa de baz a segmentului n care se afl data ce se dorete a fi accesat (adresa primului octet din segment), precum i adresa relativ n segment a datei respective, sau un deplasament, ce reprezint distana n octei fa de nceputul segmentului. Astfel, n modul real, CS conine cei mai semnificativi 16 bii ai adresei de baz a segmentului de cod curent, DS conine cei mai semnificativi 16 bii ai adresei de baz a segmentului de date curent .a.m.d. Segmentele de cod ale unui program conin instruciunile programului, segmentele de date (referite de DS i ES) conin date sau variabile pentru programul ce se execut, segmentele de stiv, referite prin intermediul registrului de segment SS, conin zone de memorie organizate pe principiul stivei.

37

n modul de lucru protejat, registrele de segment conin un index ntr-o tabel de descriptori a segmentelor. O intrare n aceast tabel conine un descriptor de segment, care cuprinde : - adresa de baz a segmentului, - dimensiunea segmentului, - drepturile de acces la segmentul respectiv etc. Deci, registrul de segment indic o intrare ntr-o tabel de descriptori a segmentelor, unde se gsete adresa de baz a segmentului n care se dorete a se efectua accesul. Din aceast cauz, n modul de lucru protejat, registrele de segment mai sunt denumite i selectori de segment, deoarece selecteaz un segment dintr-o tabel ce descrie mai multe segmente. Registrul pointer de instruciuni - IP - este un registru de 16 bii, care conine adresa relativ n raport cu nceputul segmentului de cod curent, a urmtoarei instruciuni ce trebuie executat. Registrul IP este transparent la nivelul programatorului, el fiind actualizat automat dup citirea instruciunii curente, astfel nct s indice deplasamentul urmtoarei instruciuni de executat. Registrul indicatorilor de stare i control - F - conine indicatorii de stare i control ai microprocesorului. Indicatorii de stare, n numr de 6, sunt poziionati de unitatea aritmeticologic n urma execuiei unei instruciuni, i reflect anumite stri ale rezultatului unei operaii aritmetice sau logice. Unele instruciuni ale microprocesorului testeaz aceti indicatori i, n funcie de cum sunt poziionai (n 0 sau n 1), se execut anumite aciuni specifice. Indicatorii de stare sunt urmtorii: - indicatorul de transport - CF (Carry Flag ) - este unu dac a aprut transport din bitul cel mai semnificativ n exterior, sau s-a fcut mprumut n exterior din bitul cel mai semnificativ al rezultatului. Indicatorul CF este afectat i de instruciunile de rotire i deplasare. - indicatorul de paritate -PF (Parity Flag) - este poziionat (este pus n 1 logic) dac rezultatul execuiei instruciunii are octetul cel mai puin semnificativ cu un numr par de bii unu. n caz contrar PF este poziionat n zero. - indicatorul de transport auxiliar - AF (Auxiliary Carry Flag) - este unu dac la execuia instruciunii a aprut un transport ntre rangul 3 i rangul 4 al rezultatului. De exemplu, presupunnd c n registrul AH avem valoarea 58H i n registrul BH valoarea 29H, n urma execuiei instruciunii ADD AH,BH, care adun coninutul registrului AH cu BH i pune rezultatul n AH, apare un transport din rangul 3 n rangul 4, ceea ce determin setarea indicatorului AF. AH = 01101000 + BH = 00101001

38

AH = 10010001 - indicatorul de zero - ZF (Zero Flag) - este poziionat n unu dac rezultatul instruciunii executate anterior a fost zero. - indicatorul de semn - SF (Sign Flag) - este unu dac s-a obinut un rezultat negativ (strict mai mic dect zero). Mai precis, SF este identic cu bitul cel mai semnificativ al rezultatului, dat fiind faptul c, n reprezentarea numerelor n complement fa de 2, numerele negative au primul bit 1. - indicatorul de depire - OF (Overflow Flag) - este unu dac la execuia instruciunii anterioare a aprut o depire, adic dimensiunea rezultatului depete capacitatea locaiei de destinaie. Indicatorii de control pot fi poziionati n unu sau n zero prin program, asigurnd prin aceasta controlul prin program al unor operaii ale procesorului. Indicatorii de control sunt urmtorii: - indicatorul de direcie - DF (Direction Flag) - Dac DF este poziionat n unu, atunci irurile de caractere vor fi prelucrate de la adrese mari spre adrese mici de memorie, sau de la dreapta la stnga. tergnd DF (poziionnd n zero), irurile vor fi prelucrate de la stnga la dreapta. - indicatorul de ntrerupere - IF (Interrupt Flag) - Dac IF este poziionat n unu prin program, microprocesorul va recunoate cererile de ntrerupere extern. tergnd acest indicator, ntreruperile externe vor fi invalidate. - indicatorul de urmrire - TF (Trap Flag) - Dac TF este poziionat n unu, procesorul intr n modul de execuie pas cu pas, pentru depanare. n acest mod, dup execuia unei instruciuni se genereaz o ntrerupere intern, ceea ce d posibilitatea investigrii rezultatului execuiei fiecrei instruciuni dintr-un program. Indicatorii de stare i control prezentai mai sus sunt aceeai cu indicatorii de condiie i stare ai microprocesorului I8086. De fapt, toate registrele prezentate anterior pot fi ntlnite i la I8086. n plus fa de I8086, I80286 mai conine n registrul indicatorilor de condiie i stare, trei bii, care sunt folosii numai n modul protejat, fiind ignorai n modul de lucru real. Acetia sunt: - indicatorul NT (Nested Task) - ce indic dac instruciunea curent evolueaz n cadrul aceluiai task, sau ea provoac o schimbare de task. - cmpul IOPL (I/O Priviledge Level) - format din 2 bii, i care reprezint nivelul de privilegiu cel mai slab, pentru care nivelul taskului n curs de execuie trebuie s fie superior sau egal, pentru a putea executa instruciuni de I/E. Un nivel de privilegiu este mai slab, dac numeric este mai mare. De exemplu, nivelul 3 este mai slab dect nivelul 2. Registrul indicatorilor de condiie i stare are urmtoarea configuraie :

39

Un registru care nu poate fi ntlnit la I8086, este registrul sau cuvntul de stare masin -MSW (Machine Status Word), cu urmtoarea configuraie:

Microprocesorul I80286 nu folosete dect cei mai puin semnificativi 4 bii ai acestui registru de 16 bii, ceilali bii fiind rezervai pentru 80386. Semnificaia biilor este urmtoarea: - PE (Protected mode Enable) - Dac acest bit este poziionat n unu prin program, I80286 va intra n modul protejat. Odat poziionat n unu, numai prin resetarea microprocesorului acest bit poate fi adus n zero, determinnd intrarea microprocesorului 80286 n modul de lucru real. La microprocesorul 80386, acest bit poate fi poziionat n zero prin program. - MP (Monitor Processor extension) - Dac MP=1 se indic prezena unui coprocesor matematic. - EM (Coprocessor EMulation) - Dac EM este setat, toate funciile coprocesorului matematic vor fi emulate. Aceasta nseamn c, spre exemplu, un logaritm nu este calculat de coprocesorul matematic I80287, ci de o rutin din biblioteca matematic, folosind numai instruciuni ale microprocesorului I80286. - TS (Task Switch) - Dac bitul este setat a avut loc o comutare de task, i este posibil s se determine dac coprocesorul matematic execut nc o instruciune a taskului precedent, sau este pregtit pentru un nou task. Deoarece anumite instruciuni ale coprocesorului 80287 necesit pn la 1000 de perioade de ceas, este posibil ca I80286 s serveasc alt task n acest timp, rentorcndu-se la taskul precedent atunci cnd coprocesorul a terminat de executat instruciunea.

4.1.4. Operaiile de baz pe magistral ale microprocesorului I80286


Activitatea pe magistral a microprocesorului I80286 difer mult fa de activitatea procesoarelor anterioare, datorit mecanismului de tip "pipe-line" realizat de I80286. Procesorul I80286 plaseaz adresele pe magistrala de adrese naintea sfritului ciclului de magistral precedent, datele citite sau scrise fiind valide pe magistrala de date i la nceputul ciclului de magistral urmtor. Acest lucru a permis reducerea ciclului de magistral la numai doi cicli procesor, n timp ce ar fi fost necesari trei cicli procesor. Se definesc urmtoarele noiuni: - Ciclul de ceas sistem - este timpul scurs ntre dou fronturi cresctoare ale semnalului de ceas de la intrarea CLK a microprocesorului (perioada ceasului extern).

40

- Ciclul procesor - este format din doi cicli de ceas sistem. Microprocesorul folosete un ceas intern PCLK, format prin divizarea cu doi a ceasului sistem CLK. Ciclul procesor este perioada ceasului PCLK. - Ciclul de magistral - este timpul necesar unui transfer de date pe magistral (de exemplu, citirea unui cuvnt din memorie sau porturile de intrare, sau scrierea unui cuvnt n memorie sau porturile de ieire ). - Ciclul instruciune - este timpul necesar execuiei unei instruciuni, i este format din cicli de magistral i din cicli interni ai microprocesorului. n general, orice urmtorilor pai: - aducerea (citirea) instruciunii urmtoare din memorie; - aducerea sau citirea operanzilor din memorie, dac instruciunea citit anterior necesit operanzi din memorie; - efectuarea prelucrrilor numerice asupra operanzilor; - transferul (scrierea) rezultatului n memorie, dac instruciunea prevede acest lucru. Ciclul instruciune este de fapt timpul de execuie al celor dou mari etape care intervin n execuia unei instruciuni: citirea instruciunii din memorie, i execuia propriu-zis a instruciunii, ce cuprinde citirea operanzilor, efectuarea calculelor i scrierea rezultatului. Exist patru tipuri de cicli procesor, numite i stri, fiecare stare fiind caracterizat printr-o anumit activitate pe magistral. Cele 4 stri sunt: - TI (Idle) - stare inactiv; - TS (Status) - stare de generare a semnalelor de stare; - TC (Command) - stare de comand n curs; - TH (Hold) - stare de abandon a magistralei. Toate strile dureaz o perioad de ceas procesor PCLK, adic 2 perioade de ceas sistem CLK. Starea TI indic faptul c nu se solicit nici un transfer de date pe magistral, procesorul controlnd magistrala ca "master", dar neefectund transferuri de date pe magistral. Starea activ TS este semnalizat prin trecerea pe nivel cobort a liniilor de stare S0 i/sau S1, care indic tipul operaiei pe magistral. Tot n aceast stare, sunt generate semnalele de control, semnalele de adres i, n cazul unui ciclu de scriere, sunt generate i semnalele de date. Starea TC urmeaz dup o stare TS, i semnific o operaie n curs de execuie pe magistral. n aceast stare sunt efectuate transferurile de date ntre memorie sau porturi pe de o parte, i procesor pe de alt parte. Starea TH indic faptul c I80286 a pierdut controlul magistralei. n aceast stare magistrala este folosit de un alt dispozitiv, pentru efectuarea transferurilor de date, 80286 microprocesor execut un program prin execuia repetat a

41

fiind deconectat de la magistral (toate semnalele de la pinii procesorului sunt n starea de mare impedan). Microprocesorul poate s execute urmtoarele operaii pe magistral : - citire / scriere memorie; - citire / scriere porturi de I / E; - recunoatere ntrerupere; - HALT sau blocare ("shutdown").

Figura 4.1.3. Ciclul de citire n cea de-a doua perioad de ceas sistem a strii TC a ciclului de magistral precedent, procesorul plaseaz, pe magistrala de adrese, adresa de memorie sau adresa portului de I/E, i activeaz semnalele M/IO i COD/INTA de pe magistrala de control, pentru a indica o operaie cu memoria sau cu porturile de I/E. n starea TS a ciclului de citire, procesorul activeaz semnalele de stare S0 i S1, i anume: S0 pe nivel ridicat i S1 pe nivel cobort, pentru a indica un ciclu de citire. Semnalul M/IO permite distincia ntre un acces la memorie i un acces la porturile de I/E astfel: M/IO = 1 - indic o operaie cu memoria M/IO = 0 - indic o operaie cu porturile de I/E Semnalul COD/INTA, combinat cu semnalul M/IO, permite distincia ntre citirea unui operand din memorie i citirea codului unei instruciuni cnd M/IO = 1, sau permite distincia ntre o operaie de recunoatere a ntreruperii i o operaie de citire/scriere port de I/E, astfel : M/IO = 1 M/IO = 0 COD/INTA = 1 - citire cod instruciune din memorie COD/INTA = 0 - citire operand / scriere rezultat din/n memorie COD/INTA = 1 - citire/scriere port de I/E COD/INTA = 0 - recunoatere ntrerupere

42

Semnalele S0 i S1 de pe magistrala de control disting ntre o operaie de citire, scriere sau recunoatere ntrerupere astfel: S1 S0 0 0 1 1 0 - recunoatere ntrerupere 1 - citire port sau memorie 0 - scriere port sau memorie 1 - neutilizat

n intervalul de timp scurs ntre furnizarea adreselor pe magistrala de adrese, la sfritul ciclului de magistral precedent, i cea de-a doua jumtate a strii TC a ciclului de citire, memoria sau portul adresat trebuie s furnizeze pe magistrala de date coninutul locaiei de memorie adresate sau coninutul portului adresat, n vederea citirii de ctre procesor. Dac memoria sau portul nu sunt att de rapide, se vor lansa ali cicli TC, pn cnd datele sunt disponibile pe magistrala de date. La sfritul strii TC a ciclului de citire, procesorul testeaz semnalul READY, care este controlat de memorie i porturile de I/E. Dac semnalul READY = 0, ceea ce specific faptul c datele sunt disponibile pe magistral, ciclul de magistral curent se va termina, procesorul citind (prelund) datele de pe magistrala de date. Dac READY = 1, se specific faptul c memoria sau portul adresat nu a furnizat nc datele pe magistrala de date, i se va genera nc o stare TC, la sfritul creia se va testa din nou semnalul READY .a.m.d. (se va prelungi ciclul de citire curent cu nc o stare TC). Ciclul de scriere este similar cu ciclul de citire, procesorul activnd corespunztor A0A23, M/IO, COD/INTA la sfritul ciclului de magistral precedent, dup care, n starea TS a ciclului de magistral curent, pune S1 pe 1, S0 pe 0, indicnd o operaie de scriere, i pe magistrala de date pune datele n vederea scrierii n memorie sau portul adresat. Dac memoria sau portul nu reuesc s efectueze operaia de scriere n timp util, vor ine semnalul READY pe 1, ceea ce determin procesorul s prelungeasc ciclul de magistral curent cu stri TC suplimentare.

43

Figura 4.1.4. Ciclul de scrire Ciclii de recunoatere ntrerupere apar n urma apariiei unei ntreruperi externe, cnd procesorul execut recunoaterea ntreruperii, pentru a afla adresa rutinei de tratare a ntreruperii unde va transfera controlul. Ciclii de HALT i blocare apar fie ca efect al execuiei instruciunii HALT (ce oprete procesorul din execuia normal a instruciunilor), fie datorit apariiei excepiilor multiple la execuia unei instruciuni. Procesorul poate fi scos din starea de HALT i din starea de blocare fie prin resetarea microprocesorului, fie printr-o ntrerupere extern nemascabil. n plus, procesorul poate fi scos din starea de HALT i printr-o ntrerupere extern mascabil, dac ntreruperile externe mascabile sunt validate. Resetarea, sau iniializarea procesorului, se face prin aplicarea unui "1" logic pe intrarea RESET a procesorului. Dup reset I80286 intr n modul real, registrul MSW fiind ncrcat cu valoarea FFF0H, cele mai semnificative linii de adres, A20-A23, fiind tinute n "1" logic, astfel nct prima instruciune executat va fi instruciunea de la adresa fizic FFFFF0H, care, de regul, este o instruciune de salt n zona de memorie de pn la 1Mb. Aceast instruciune de salt determin dezactivarea liniilor A20-A23, care vor trece n zero, procesorul I80286 lucrnd n modul real, ca un procesor I8086. Pentru a intra n modul protejat, trebuie setat, prin program, bitul PE din registrul MSW.

4.1.5. Modurile de lucru ale microprocesorului I80286


Modul de lucru real este modul compatibil I8086, asigurnd posibilitatea rulrii pe sisteme cu I80286 a programelor dezvoltate anterior pe microprocesoarele 8086/8088. Singurul avantaj este faptul c viteza de lucru este mai mare. n modul de lucru real memoria este adresat folosind un pointer de 32 de bii, format din dou componente:

44

- un selector de segment de 16 bii, care indic segmentul de memorie dorit, aflat ntrun din registrele de segment, i - un deplasament (offset) de 16 bii, care indic octetul dorit n cadrul segmentului. Memoria fizic adresabil n modul real este de 1Moctet, I80286 folosind pentru adresarea memoriei numai liniile de adres A0-A19 i ignornd liniile A20-A23, care sunt inute n zero. Memoria de 1Mb este mprit n mai multe segmente logice, un segment logic fiind format din locaii adiacente de memorie, i avnd dimensiunea maxim de 64Kb. Fiecrui segment i corespunde o adres de baz, care este adresa locaiei de nceput a segmentului. Toate segmentele ncep la o adres multiplu de 16. Segmentele pot fi adiacente, disjuncte, parial sau total suprapuse. O locaie fizic poate s aparin unuia sau mai multor segmente. Adresa fizic pe 20 de bii a unei locaii de memorie se calculeaz nmulind selectorul de segment, aflat ntr-unul din registrele de segment, cu 16 (ceea ce nseamn de fapt deplasarea cu 4 poziii spre stnga), la care se adun deplasamentul. Deci, coninutul registrului de segment este interpretat ca fiind cei mai semnificativi 16 bii ai adresei de baz a segmentului.

Figura 4.1.5. Calculul adresei fizice n modul real Adresarea instruciunilor, stivei i datelor n modul real: Instruciunile unui program se gsesc ntr-unul din segmentele de cod ale programului. Adresa fizic a instruciunii care urmeaz s se execute, se obine folosind registrul CS, ce conine adresa de baz a segmentului de cod curent, i registrul IP ca deplasament n segmentul de cod indicat de CS.

Figura 4.1.6. Adresarea instruciunilor i stivei n modul real

45

Stiva este o zon de memorie de tip LIFO (Last In First Output), la care adugarea unui element se face prin plasarea lui n vrful stivei, scoaterea unui element din stiv realiznduse prin extragerea lui din vrful stivei. Un program poate s conin una sau mai multe stive, fiecare stiv fiind coninut ntr-unul din segmentele de stiv ale programului. Pentru implementarea mecanismului de tip stiv, I80286 folosete registrul SS ca registru de baz, ce conine adresa de baz a segmentului de stiv curent, i registrul SP - Stack Pointer - ce conine deplasamentul vrfului stivei fa de baza segmentului de stiv pointat de SS. Stiva crete de la adrese mari de memorie spre adrese mici de memorie. S lum o stiv de lungime 100H, n care s-au introdus 6 octei, i s presupunem c registrul SS conine valoarea 1F20H. Valoarea iniial a registrului SP este 0100H. Dup introducerea n stiv a celor 6 octei, SP devine 0100H - 6 = 00FAH. Deci, cnd se introduc elemente n stiv SP se decrementeaz, cnd se scot elemente din stiv SP se incrementeaz, cu numrul respectiv de octei introdui sau scoi din stiv.

Dac n acest moment se execut o instruciune PUSH BX, se transfer n memorie la adresa SS:SP-1 partea "high" a registrului BX (BH), i la adresa SS:SP-2 partea "low" a registrului BX (BL), dup care se decrementeaz cu 2 registrul SP. SP va indica din nou octetul din vrful stivei. Dac se efectueaz o instruciune de scoatere din stiv, de exemplu POP CX, se execut urmtoarele aciuni : CL <- octet de la adresa SS:SP CH <- octet de la adresa SS:SP+1 SP <- SP+2 Dup execuia aciunilor de mai sus, stiva se va gsi n situaia anterioar execuiei instruciunii PUSH BX.

46

Datele sunt adresate n modul real folosind registrele DS i ES pe post de selectori de segment. Exist mai multe moduri de calcul al deplasamentului ntr-un segment de date, dar acestea vor fi prezentate n sectiunea 4.1.6. Modul de lucru protejat ofer mecanisme de management i protecie a memoriei, i un set de instruciuni asociate, microprocesorul I80286 lucrnd n acest mod la ntreaga sa capacitate. Pentru a intra n modul de lucru protejat, trebuie setat bitul PE din registrul MSW, utiliznd instruciunea LMSW. Revenirea n modul real se face numai prin iniializarea procesorului. n modul de lucru protejat se poate adresa un spaiu de memorie de 16Mb, utiliznd liniile de adres A0-A23, utilizatorul avnd la dispoziie i un spaiu de memorie virtual de 1Gb/task. La fel ca i n modul real, pentru adresarea memoriei, se folosete un pointer de 32 de bii, constituit dintr-un selector de 16 bii i un offset de 16 bii. Selectorul reprezint ns un index (deplasament) ntr-o tabel, de unde se obine adresa de baz, pe 24 de bii, a segmentului. La aceast adres de baz se adun offset-ul, obinndu-se adresa fizic pe 24 de bii. Mai multe amnunte legate de modul de lucru protejat sunt prezentate n seciunea 4.1.7.

4.1.6. Adresarea datelor. Moduri de adresare.


Operanzii instruciunilor pot fi coninuti n registre, n memorie, n instruciune, sau n porturile de I/E. Instruciunile care au ca operanzi numai registre sunt rapide, deoarece instruciunea se execut numai n interiorul microprocesorului, nemaifiind necesare transferuri de date pe magistral. Registrele pot fi att operanzi surs ct i operanzi destinaie. De exemplu, n instruciunea ADD CX,BX care adun coninutul registrului BX la CX (CX <- CX+BX), registrul CX este att operand surs ct i operand destinaie. Operanzii coninuti n instruciune se mai numesc i operanzi imediai, i sunt constante pe 8 sau 16 bii, care sunt citite odat cu codul instruciunii. Operanzii imediai pot fi numai operanzi surs. Exemplu: MOV CX, 6 ; ncarc valoarea 6 n registrul CX (CX <- 6). Pentru operanzii aflai n memorie, microprocesorul face un calcul prealabil al adresei operanzilor, mai precis al adresei locaiilor de memorie n care se afl operanzii. Practic, microprocesorul calculeaz adresa efectiv (AE), care este un deplasament fa de nceputul segmentului n care se afl operandul. Aceast adres efectiv n conjuncie cu unul din registrele de segment, i n funcie de modul de lucru al procesorului (real sau protejat) va da adresa fizic pe 20 de bii n modul real, sau pe 24 de bii n modul protejat, a operandului. Dup calculul adresei fizice, microprocesorul citete operandul din memorie, dac este un operand surs, sau scrie operandul n memorie, dac este un operand destinaie. Adresa efectiv se calculeaz nsumnd trei componente: - un deplasament coninut n instruciune, - un registru de baz ( BX sau BP),

47

- un registru index ( SI sau DI ). n funcie de modul n care se face aceast sum, se disting mai multe moduri de adresare a operanzilor coninui n memorie: a) adresare direct - caz n care adresa efectiv este preluat din instruciune. Deci, AE este un deplasament coninut n coada instruciunii, care este citit odat cu codul instruciunii. n acest mod se adreseaz variabilele simple nestructurate. b) adresare bazat - AE este suma dintre un registru baz (BX sau BP) i deplasamentul din coada instruciunii. Adresarea bazat se folosete n cazul structurilor de date, cum ar fi de exemplu nregistrrile. Registrul de baz va conine adresa de baz a structurii, iar deplasamentul va da distana n octei fat de baza structurii. n cazul n care nu se specific un deplasament n instruciune, AE este egal numai cu coninutul unuia din registrele baz, acest mod de adresare numindu-se adresare bazat implicit. Exemple : MOV AX, [BX+2] ; mut n AX cuvntul de la adresa fizic cu deplasa ;-mentul BX+2, din segmentul pointat de registrul de ;segment DS (se obinuiete s se scrie condensat ;DS:BX+2 ). MOV AX, [BX] ; mut n AX cuvntul de la adresa fizic DS:BX. Not: Dac nu este specificat explicit n instruciune un registru de segment, n calculul adresei fizice se va folosi registrul DS, dac se utilizeaz registrul BX pentru calculul adresei efective, i registrul de segment SS, dac se utilizeaz registrul BP. Exemple: MOV AX, SS:[BX] ; mut n AX cuvnt de la adresa fizic SS:BX MOV AX, [BP] ; mut n AX cuvnt de la adresa SS:BP MOV AX, DS:[BP] ; mut n AX cuvnt de la adresa DS:BP c) adresare indexat - AE este suma dintre un registru index (SI sau DI) i un deplasament din coada instruciunii. n cazul n care nu se specific un deplasament n instruciune, adresa efectiv se calculeaz doar pe baza registrului index, modul de adresare numindu-se adresare indexat implicit. Acest tip de adresare se folosete n cazul tablourilor, deplasamentul indicnd nceputul tabloului, valoarea din registrul index selectnd un element al tabloului. Exemplu: MOV AX, ADR[SI] ; mut n AX cuvnt de la adresa ;fizic DS:SI+offset ADR d) adresare bazat i indexat - AE este suma dintre un registru baz, un registru index i un deplasament. Registrul de baz este cel care dicteaz registrul de segment implicit ce se folosete n calculul adresei fizice, dac acesta nu este specificat explicit n instruciune. Adresarea bazat i indexat se folosete n cazul unor structuri de date complexe, cum ar fi un tablou de nregistrri. Exemple : MOV AL, ADR[BX][I] ; mut n AL octet de la adresa ; DS:offset ADR+BX+SI

48

MOV AX, SS:[BX+DI+offset ADR] ; mut n AX cuvnt de la adresa ; fizic SS:BX+DI+offset ADR e) adresarea irurilor - n cazul instruciunilor ce prelucreaz iruri de caractere, microprocesorul folosete un mod specific de adresare. Astfel, registrul SI va da deplasamentul pentru irul surs, iar registrul DI va da deplasamentul pentru irul destinaie. Registrul de segment folosit n cazul irului surs este DS, fiind posibil i utilizarea unui alt registru de segment, dac este specificat n instruciune acest lucru. irul destinaie trebuie s se afle n mod obligatoriu n segmentul pointat de registrul de segment ES. Exemple: MOVSB ; mut octet de la DS:SI la ES:DI dup care SI<-SI+1, DI<; DI+1 dac indicatorul DF=0, sau SI <- SI-1, DI <- DI-1 dac ; indicatorul DF=1. MOVSW ; mut cuvnt de la adresa DS:SI la adresa ES:D, dup care SI<-SI+2, ; DI <- DI+2 dac DF=0, sau SI <- SI-2, DI <- DI-2 dac DF=1. f) adresarea porturilor - microprocesorul 80286 adreseaz porturile de I/E n dou moduri. Prima modalitate de adresare o reprezint adresarea direct, caz n care adresa portului de I/E cu care se va efectua o operaie de citire sau scriere este un operand imediat pe 8 bii, coninut n instruciune. Se pot adresa astfel porturile cu adresa cuprins ntre 0 i 255. A doua modalitate este o modalitate de adresare indirect prin intermediul registrului DX, adresa portului din/n care se va citi/scrie fiind coninut n registrul DX. Se pot adresa astfel porturile cu adresa cuprins ntre 0 i 65535. Exemple: IN AL, 40H IN AX, 80H OUT DX, AX ; citete n AL octet din portul de adres 40H ; citete n AX cuvnt din portul 80H ; scrie coninutul registrului AX n portul a crui adres se ; gsete n DX.

OUT 8EH, AL ; trimite coninutul registrului AL n portul 8EH

4.1.7. Gestiunea i protecia memoriei la microprocesorul I80286. Conceptul de memorie virtual.


n modul de lucru protejat, programatorii folosesc acelai set de instruciuni (mai puin cteva instruciuni specifice modului protejat), moduri de adresare i tipuri de date ca i n modul real. Ceea ce deosebete fundamental modul protejat de modul real sunt facilitile legate de managementul memoriei, protecie i multitasking, care constituie suportul dezvoltrii i implementrii unor sisteme de operare evoluate. Mecanismul de memorie virtual d iluzia programatorului c memoria principal (memoria intern a calculatorului, care poate fi adresat n mod direct de microprocesor) este foarte mare. Practic, memoria calculatorului nu mai este "vzut" ca fiind organizat pe dou nivele: memorie principal sau memorie intern, i memorie secundar sau memorie extern.

49

ntreaga memorie a calculatorului este organizat astfel pe un singur nivel, spaiul de adres al fiecrui utilizator fiind compus din adrese formate ca o combinaie de adrese n memoria principal i n memoria secundar. Programatorul folosete pentru adresarea memoriei adrese virtuale, o adres virtual specificnd o locaie din memoria virtual. Memoria virtual este format din ansamblul memorie principal - memorie secundar. Deci, o adres virtual poate specifica o locaie din memoria principal sau o locaie din memoria secundar. Totalitatea adreselor virtuale formeaz spaiul de adrese virtual. Spaiul de adrese virtual este mprit n segmente de lungime variabil. Pentru a adresa o locaie n spaiul de adres virtual, se folosesc dou componente: o component care specific segmentul din memoria virtual, i o component care specific deplasamentul n segment al locaiei respective. Dac segmentul referit nu se afl n memoria principal, se genereaz o ntrerupere a activitii, i se va aduce segmentul respectiv din memoria secundar n memoria principal, dup care se revine din ntrerupere, accesnd locatia respectiv, segmentul fiind acum rezident n memoria principal. Deci, prin acest mecanism de adresare virtual, programatorul este degrevat de sarcina gestiunii memoriei. El nu trebuie s tie dac un segment se afl n memoria principal sau n memoria secundar, dac se afl n memoria secundar s aduc segmentul n memoria principal etc., aceste sarcini fiind preluate de sistemul de operare, programatorul avnd la dispoziie un spaiu de adres virtual mult mai mare dect spaiul adreselor fizice (dimensiunea memoriei principale), dar cu care poate lucra la fel ca i cnd ar dispune de o memorie principal foarte mare. Pentru a ine evidena segmentelor, se construiete o tabel a segmentelor n memoria principal, n care sunt trecute toate informaiile despre fiecare segment din memoria virtual: adresa de baz, dimensiunea segmentului, dac este sau nu rezident n memoria principal, drepturi de acces etc. ncrcarea unui segment din memoria secundar n memoria principal se face n locul unui alt segment sau al mai multor segmente, care vor fi scoase din memoria principal i transferate n memoria secundar, conform unui anumit algoritm. De exemplu, va fi scos din memoria principal segmentul (sau segmentele) cel mai puin recent utilizat, sau o alt strategie poate propune scoaterea segmentului cel mai puin utilizat (cu numrul cel mai mic de accese la segment). Notiunea de protecie a memoriei desemneaz totalitatea controalelor efectuate de sistemul de operare n scopul asigurrii utilizrii corecte a informatiei, mpiedecnd propagarea erorilor de programare, ce pot duce la alterarea, distrugerea sau pierderea informaiei. Pentru implementarea mecanismelor de protecie, fiecare task se execut cu un anumit nivel de privilegiu. Microprocesorul 80286 recunoate 4 nivele de privilegiu, i nu permite ca un task cu un anumit nivel de privilegiu s acceseze date la un nivel mai privilegiat. Aceasta permite detectarea anumitor erori, uurnd dezvoltarea i meninerea programelor.

50

Conceptul de task este de asemenea important n gestiunea memoriei. Task-ul se definete la nivel de execuie, reprezentnd execuia unui program legat de contextul fiecrui utilizator. De exemplu, dac mai muli utilizatori din sistem utilizeaz acelai program de editare, se va crea pentru fiecare utilizator un task separat, fiecare task cu propriul su context. Fiecrui task i se ataeaz un spaiu de adresare, numit spaiu de adresare local. n acelai timp, toate taskurile trebuie s poat avea acces la seviciile sistemului de operare, la biblioteci etc. Se definete astfel un spaiu de adresare global, care este partajabil de ctre toate taskurile. n modul de lucru protejat, taskurile lucreaz numai cu adrese virtuale, neavnd acces la adresele fizice generate de microprocesor. O adres care apare ntr-un program are dou componente: un selector de segment de 16 bii i un deplasament de 16 bii. Aceast adres (sau pointer) de 32 de bii se transform diferit n adres fizic n funcie de modul de lucru al procesorului; real sau protejat. n modul de lucru protejat selectorul de segment are urmtoare structur :

Cmpul RPL - Requested Priviledge Level - specific nivelul de prioritate al selectorului. Bitul TI specific spaiul de adresare local dac TI=1, sau spaiul de adresare global dac TI=0. Biii 3-15 ai selectorului specific un index n tabela local de descriptori a segmentelor dac TI=1, sau un index n tabela global de descriptori dac TI=0. Este permis astfel accesul la 8192 (213) segmente locale i 8192 segmente globale . innd cont de faptul c un segment are dimensiunea maxim de 64Kb, rezult o capacitate de adresare virtual de 1Goctet pe task (2x213x64Kb). Indexul reprezint, astfel, un pointer ntr-o tabel din memorie, unde se gsete adresa de baz pe 24 de bii a segmentului n care se dorete accesul. Corespunztor celor prezentate anterior, exist dou tipuri de tabele cu descriptori: - tabela cu descriptori globali - GDT (Global Descriptor Table), care descrie spaiul de adresare global i - tabele cu descriptori locali - LDT (Local Descriptor Tables), fiecare tabel local descriind spaiul de adresare local al unui task. Fiecare tabel conine maximum 8192 de puncte de intrare n tabel, fiecare intrare n tabel, compus din 8 octei, cuprinde un descriptor de segment ce conine, n principal, adresa de baz a segmentului, limita segmentului, drepturile de acces etc. Pentru a accesa n memorie tabelele de descriptori, microprocesorul I80286 este prevzut cu dou registre speciale: GDTR - Global Descriptor Table Register - care memoreaz adresa de baz i limita tabelei globale, i LDTR - Local Descriptor Table Register. Deoarece exist mai multe tabele locale, cte una pentru fiecare task, aceste tabele locale sunt privite ca segmente de memorie speciale, numite segmente de sistem, i care sunt

51

descrise prin intermediul descriptorilor de sistem. Deci registrul LDTR se va schimba la fiecare comutare de task, registrul LDTR coninnd selectorul de segment (pe lng baza i limita tabelei locale curente), care indic segmentul sistem ce conine tabela local a taskului respectiv. Mai precis, registrul GDTR este ncrcat cu adresa de baz i limita tabelei globale utiliznd instruciunea LGDT, registrul LDTR fiind ncrcat cu instruciunea LLDT reg16 sau LLDT mem16, unde reg16 i mem16 sunt valori pe 16 bii, coninute ntr-un registru sau n memorie, care selecteaz intrarea n tabela global de descriptori, ce conine descriptorul sistem pentru tabela local ce se dorete a fi accesat. Din descriptorul respectiv, procesorul va ncrca n LDTR adresa de baz i limita tabelei locale curente. Deci, n plus fa de registrele prezentate n figura 4.2, microprocesorul I80286 mai conine 4 registre de management a memoriei, prezentate mai jos :

unde TR (Task Register) este registrul taskului, iar IDTR (Interrupt Descriptor Table Register) este un registru, cu ajutorul cruia se acceseaz tabela descriptorilor de ntrerupere (vezi seciunea 4.1.8). n concluzie, tabelele de descriptori pot conine descriptori de segment sau descriptori de sistem. Descriptorii de segment pot fi descriptori de segment de cod, care refer segmente ce conin instruciuni, i descriptori de segment de date, care fac referin la segmentele ce conin date sau zone de stiv. Un descriptor de segment de date are urmtoarea structur :

Ultimul cuvnt din descriptor este rezervat de firma INTEL pentru dezvoltri ulterioare, fiind de fapt folosit de 80386. La 80286 acest cuvnt trebuie iniializat cu zero. Cmpurile octetului ce cuprinde drepturile de acces au urmtoarele semnificaii: P - bit de prezen - este poziionat n 1 dac segmentul adresat de descriptor se afl n memoria principal. Dac P=0, segmentul nu se afl n memoria principal, un acces la segmentul respectiv genernd o excepie, care va realiza ncrcarea segmentului din memoria extern n memoria intern.

52

DPL - Descriptor Priviledge Level - nivelul de prioritate al segmentului accesat de descriptor. S=1 - indic un descriptor de segment. Pentru descriptorii de sistem S=0. E=0 - indic un descriptor de segment de date, n cazul descriptorilor de segment de cod E fiind egal cu 1. ED - Expansion Direction - dac ED=0, deplasamentul n segment trebuie s fie mai mic sau egal dect limita segmentului i mai mare dect zero. Dac ED=1, deplasamentul trebuie s fie mai mare dect limita segmentului specificat n descriptor i mai mic dect FFFFH. W - Writable - dac W=1 segmentul este accesibil att n citire ct i n scriere (ReadWrite), dac W=0 segmentul poate fi doar citit i nu poate fi modificat. A - Accessed - dac A=0 segmentul nu a fost accesat, dac A=1 segmentul a fost accesat. Acest bit este folosit de sistemul de operare pentru a stabili care segmentele sunt mai utilizate, i a elabora strategii de alocare a memoriei. Baza 0-15 i Baza 16-23 conin cei 24 de bii ai adresei de baz a segmentului. Se poate astfel modifica amplasamentul segmentelor n memorie, modificnd numai adresa de baz a segmentelor, ceea ce constituie suportul relocatabilitii programelor. Un program este relocabil dac poate fi rulat independent de adresa de ncrcare a programului n memorie. Limita reprezint un cuvnt sau octet din segment, ce specific limita superioar sau inferioar a segmentului, n funcie de bitul ED. Ceea ce se modific n descriptorul de segment de cod, fa de descriptorul de segment de date, este numai octetul ce conine drepturile de acces. Astfel, bitul E=1, bitul ED devine C (Conforming) i bitul W devine R (Readable). Dac R=0, coninutul segmentului nu poate fi dect executat, dac R=1 segmentul este accesibil att n execuie ct i n citire. Cnd C=0 procedura apelat din segmentul de cod respectiv se execut cu nivelul de privilegiu specificat de DPL n descriptorul de segment, cnd C=1 procedura apelat se execut cu nivelul de privilegiu al programului apelant (segment cu conformare). Mecanismul de protecie, implementat hard pe cip, poate localiza, izola i preveni un numr mare de erori de program, att n timpul proiectrii ct i n timpul utilizrii unui program. Toate testele referitoare la protecie se realizeaz n paralel cu execuia programului, ceea ce nu afecteaz performanele sistemului. Se poate pstra astfel funcionarea corect a sistemului, atunci cnd anumite programe ncearc s efectueze unele operaii interzise. Principalele tipuri de protecie implementate de 80286 sunt : - izolarea software-ului de sistem de software-ul de aplicaie al utilizatorului, - izolarea utilizatorilor ntre ei, - verificarea accesului la fiecare din obiectele definite n mod protejat (segmente, nivele, taskuri, etc.).

53

Primul tip de protecie se realizeaz prin utilizarea a 4 niveluri de prioritate, nucleul sistemului de operare i programele de sistem executndu-se pe cele mai prioritare niveluri, n timp ce programele utilizatorilor se vor executa pe nivelurile mai puin prioritare. O eroare de program a unui utilizator nu va afecta, astfel, sistemul de operare. Prin izolarea utilizatorilor ntre ei, se previne situaia cnd o eroare a unui program utilizator poate afecta buna funcionare a altui program utilizator, erori care sunt greu de depistat. n ce privete al treilea tip de protecie, microprocesorul I80286 face o verificare a folosirii corespunztoare a obiectelor la fiecare acces la memorie. De exemplu, segmentele de date nu pot fi executate, segmentele de cod nu pot fi modificate etc. Informaia utilizat de mecanismul de protecie se refer la: - tipul segmentului, - atributele segmentului (sau drepturile de acces), - nivelul de prioritate, - limita segmentului. Mecanismul de protecie acioneaz de dou ori: - la ncrcarea registrului de segment care va selecta un segment, i - la fiecare acces n segmentul selectat. La ncrcarea registrelor de segment se testeaz dac descriptorul este valid (indexul din registrul de segment nu pointeaz n afara tabelei cu descriptori), dac descriptorul este accesibil de pe nivelul de prioritate de pe care se execut programul, dac segmentul indicat de descriptor este prezent n memorie, dac tipul segmentului corespunde cu registrul de segment (de exemplu, nu se poate ncrca registrul SS cu un index ctre un descriptor de segment cu atributul Read-Only) etc. n cazul unui acces n cadrul segmentului referit de un registru de segment, se verific dac nu s-a depit limita segmentului i dac accesul corespunde tipului de segment. De exemplu, ntr-un segment de date cu atributul citete-numai sau n segmentele de cod nu este permis scrierea. Orice violare a unei protecii va determina apariia unei excepii. Excepiile, ca i ntreruperile, sunt modaliti de transfer al controlului, dar care apar ca rezultat direct al execuiei instruciunilor programului, spre deosebire de ntreruperi care apar independent de execuia normal sau anormal a programului curent. O excepie apare n condiiile n care execuia unei instruciuni nu se poate termina normal. Dei cauzele lor difer, ntreruperile i excepiile utilizeaz acelai mod de transfer al controlului. Se obinuiete ca excepiile s fie numite tot ntreruperi. Tot o manifestare a mecanismului de protecie este i separarea spaiilor de adres ntre utilizatori. Fiecare task utilizator are o tabel local cu descriptori - LDT, coninutul tabelei locale curente fiind schimbat la fiecare comutare de task.

54

n ce privete prioritatea, microprocesorul 80286 recunoaste 4 niveluri de prioritate, numerotate de la 0 la 3, nivelul 0 fiind cel mai prioritar nivel, iar nivelul 3 cel mai puin prioritar nivel. Pentru manevrarea nivelelor de prioritate se definesc urmtoarele noiuni: - CPL (Current Priviledge Level) - nivelul de prioritate curent, ce reprezint nivelul de prioritate al segmentului de cod ce se execut. Este codificat de ultimii 2 bii din registrul CS. - DPL (Descriptor Priviledge Level) - nivelul de prioritate al descriptorului, ce reprezint nivelul de prioritate al segmentului descris de un descriptor de segment. Se gsete n biii 5,6 ai octetului cu drepturi de acces din descriptorul de segment. - RPL (Requested Priviledge Level) - nivelul de prioritate cerut, ce reprezint nivelul de prioritate al unui selector de segment, fiind codificat de ultimii 2 bii ai selectorului de segment. - EPL (Effective Priviledge Level) - nivelul de prioritate efectiv, EPL = max (RPL, CPL). Reguli generale de utilizare a nivelelor de prioritate, implementate de I80286: - se pot realiza accese la segmente de date al cror nivel de prioritate (DPL) este acelai sau mai mare dect CPL. - DPL-ul unui segment de stiv trebuie s fie egal cu CPL. - accesul direct la segmentele de cod este permis numai pentru segmente de cod cu acelai nivel de prioritate. Deci, n cazul unei instruciuni de transfer al controlului CALL sau JMP, CPL trebuie s fie egal cu DPL-ul segmentului de cod n care se va transfera controlul (segmentul adresei destinaie). - se poate accesa un segment de cod mai privilegiat prin intermediul porilor. - segmentele cu conformare sunt tratate dup reguli speciale. Poarta este un tip special de descriptor, cu lungimea de 4 cuvinte, cu o structur oarecum asemntoare cu cea a descriptorilor de sistem, utilizat pentru a redirecta transferul controlului ctre segmente de cod de pe niveluri diferite de prioritate. n afara porilor de apel (call gates), prin intermediul crora se acceseaz un segment de cod destinaie cu un nivel de privilegiu diferit de nivelul de privilegiu al segmentului de cod surs (de unde se face transferul controlului), exist pori de ntrerupere (interrupt gates sau trap gates), folosite pentru a activa rutinele de ntrerupere la apariia unor ntreruperi hardware sau software. Descriptorii porilor de apel sunt stocai n GDT, ceilali sunt stocai n IDT (Interrupt Descriptor Table).

4.1.8. ntreruperile microprocesorului I80286


ntreruperile sunt modaliti de transfer al controlului. La apariia unei ntreruperi, procesorul ntrerupe execuia programului curent, i execut n continuare rutina de tratare a ntreruperii respective, pn cnd ntlnete instruciunea IRET, care este instruciunea de

55

revenire din ntrerupere. Dup execuia instruciunii IRET, procesorul reia execuia programului ntrerupt de la instruciunea imediat urmtoare instruciunii ce se executa n momentul apariiei ntreruperii. Fiecare rutin de ntrerupere are asociat o adres, care este adresa primei instruciuni din cadrul rutinei de tratare a ntreruperii. Orice rutin de ntrerupere se termin cu instruciunea IRET. Adresele tuturor rutinelor de tratare a ntreruperilor sunt trecute ntr-o tabel din memorie. n modul real sunt rezervai pentru aceast tabel primii 1024 de octei din memorie (de la 00000H la 003FFH ), ce memoreaz o tabel cu 256 de intrri, numit tabela vectorilor de ntrerupere. Deci, n modul real sunt disponibile 256 de ntreruperi, fiecare intrare n tabel (de 4 octei) coninnd adresa rutinei de tratare a ntreruperii corespondente, n formatul segment:offset. Cuvntul de la adresa mai mic din fiecare intrare n tabel conine deplasamentul n segment al primei instruciuni a rutinei de tratare a ntreruperii, cuvntul de la adresa mai mare coninnd cei mai semnificativi 16 bii ai adresei de baz a segmentului n care se afl rutina de ntrerupere. n modul de lucru protejat, sunt disponibile de asemenea 256 de ntreruperi, dar rutinele de tratare a ntreruperilor sunt accesate prin intermediul porilor. Adresele rutinelor de ntrerupere sunt trecute ntr-o tabel, numit tabela descriptorilor de ntrerupere - IDT (Interrupt Descriptor Table ), accesat prin intermediul registrului IDTR - Interrupt Descriptor Table Register, ce conine adresa de baz i limita tabelei IDT. Fiecare intrare n tabela IDT va conine 8 octei, ci sunt necesari pentru un descriptor de poart, dimensiunea tabelei fiind ajustat cu ajutorul cmpului Limit din IDTR. nainte de a intra n modul protejat, programul de iniializare, lucrnd n modul real, va trebui s completeze IDT i GDT, i s ncarce baza i limita tabelelor respective n IDTR i GDTR. n cazul apariiei unei ntreruperi n modul real, procesorul ntrerupe programul curent, salveaz registrele n stiv, servete ntreruperea, dup care restaureaz registrele din stiv, continund programul ntrerupt. n modul protejat, nu este suficient s se salveze numai registrele, ci se salveaz ntreaga stare a taskului (registrele plus alte informaii ) ntr-un segment de sistem, numit segment de stare a taskului - TSS (Task State Segment). Mai precis, la sosirea unei ntreruperi (interne sau externe) n modul real, microprocesorul efectueaz urmatoarele: - salveaz n stiv registrul indicatorilor de condiie i stare, CS-ul i IP-ul instruciunii urmtoare, n aceast ordine; - se ncarc IP cu cuvntul de la adresa 0000:n*4 i CS cu cuvntul de la adresa 0000:n*4+2, unde n este numrul ntreruperii (un numr ntreg ntre 0 i 255); - terge IF i TF; - se execut instruciunile din rutina de ntrerupere, pn cnd se ntlnete instruciunea IRET;

56

- la ntlnirea instruciunii IRET se revine din ntrerupere, restaurnd din stiv IP, CS i registrul indicatorilor de condiie i stare. Stiva trebuie s se gseasc n aceeai stare ca la apariia ntreruperii. Este indicat ca la nceputul unei rutine de ntrerupere s se salveze registrele microprocesorului n stiv, urmnd a fi restaurate nainte de execuia instruciunii IRET. Atunci cnd se intr ntr-o rutina de tratare a ntreruperii, indicatorul IF este ters automat, de aceea pentru a activa din nou ntreruperile externe, este indicat ca rutina de tratare a ntreruperii s nceap cu o instruciune STI, aceasta numai dac rutina de ntrerupere nu conine secvene critice care nu pot fi ntrerupte. Pe durata execuiei secvenelor critice se invalideaz IF. Microprocesorul I80286 are trei tipuri de ntreruperi: - ntreruperi hardware, - ntreruperi software, - excepii. ntreruperile hardware se mai numesc i ntreruperi externe, ntreruperile software i excepiile fiind numite i ntreruperi interne. ntreruperile hardware sunt generate de dispozitive hardware, i pot fi la rndul lor de dou tipuri: - ntreruperi mascabile i - ntreruperi nemascabile. ntreruperile hardware mascabile sunt generate prin aplicarea unui "1" logic pe intrarea (pinul) INTR a microprocesorului. Microprocesorul va ntrerupe programul curent i va executa o rutin de tratare a ntreruperii, numai dac indicatorul IF din registrul indicatorilor de condiie i stare este 1. Dac IF=0, procesorul continu nestingherit execuia programului curent. Indicatorul IF poate fi poziionat n 0 sau 1 prin program. Prin invalidarea ntreruperilor externe mascabile, poziionnd IF n zero, se previne ntreruperea unor secvene critice de program, care nu pot fi ntrerupte. Dac ntreruperile externe sunt validate, dup execuia instruciunii curente, microprocesorul va efectua recunoaterea ntreruperii, pentru a afla adresa rutinei de tratare a ntreruperii. Majoritatea dispozitivelor periferice (imprimanta, hard disk, tastatur etc.) folosesc mecanismul de ntrerupere al microprocesorului. De exemplu, tastatura va ntrerupe microprocesorul atunci cnd este apsat o tast, n rutina de ntrerupere corespunztoare tastaturii, procesorul prelund codul tastei apsate, dup care continu programul ntrerupt. Deoarece exist mai multe dispozitive hardware care pot genera ntreruperi n acelai timp, este necesar existena unui dispozitiv, numit dispozitiv controler de ntreruperi, care permite dispozitivelor hardware s ntrerup microprocesorul conform unei ordine de prioritate. Dac exist cel puin o cerere de ntrerupere activ, din partea unui dispozitiv hardware ce poate genera ntreruperi, dispozitivul controler de ntreruperi va pune 1 pe linia INTR, ntrerupnd procesorul, dup care, atunci cnd procesorul efectueaz recunoaterea ntreruperii, n cadrul

57

unor cicli de recunoatere a ntreruperii, va pune pe magistrala de date vectorul de ntrerupere (un numr ntre 0 i 255) al dispozitivului hardware cu o cerere de ntrerupere activ,cel mai prioritar. Dup citirea vectorului de ntrerupere de pe magistrala de date, microprocesorul va prelua din intrarea n tabela vectorilor de ntrerupere sau din IDT, adresa rutinei de tratare a ntreruperii corespunztoare dispozitivului hardware ce a generat ntreruperea (intrarea n tabel va avea numrul egal cu vectorul de ntrerupere). ntreruperile externe nemascabile sunt generate prin aplicare unui "1" logic pe intrarea NMI (NeMascable Interrupt), aceste ntreruperi fiind asociate cu apariia unor evenimente deosebite, cum ar fi cderea tensiunii de alimentare, cnd procesorul trebuie s execute anumite aciuni de urgen. Aceste ntreruperi sunt tratate imediat ce apar, nefiind posibil invalidarea lor. Adresa rutinei de tratere a ntreruperilor nemascabile se afl n intrarea numrul 2 din tabela vectorilor de ntrerupere (sau IDT), procesorul transfernd automat controlul la aceast rutin, imediat ce recepioneaz un 1 logic pe intrarea NMI. ntreruperile software sunt generate prin execuia unei instruciuni INT n, unde n este un numr ntreg cuprins ntre 0 i 255. Dup execuia acestei instruciuni, procesorul va transfera controlul la rutina de ntrerupere a crei adres se gsete n intrarea cu numrul n, din tabela vectorilor de ntrerupere sau tabela descriptorilor de ntrerupere. De exemplu, instruciunea INT 2 va executa aceeai rutin de ntrerupere care se execut i n cazul apariiei unei ntreruperi externe nemascabile. Excepiile sunt ntreruperi generate de ctre procesor nsui. n tratarea excepiilor, microprocesorul nu face distincie ntre o excepie i o ntrerupere software cu numrul egal cu cel al excepiei respective. Exemple de exceptii: - division by zero - procesorul genereaz automat o ntrerupere cu numrul 0 (deci la fel ca i instruciunea INT 0), atunci cnd instruciunile de mprire DIV i IDIV ncearc s efectueze o mprire la zero. - overflow detection - dac indicatorul OF este setat n urma unei instruciuni, procesorul execut o ntrerupere cu numrul 4. - single step - procesorul execut ntreruperea numrul 1, dup fiecare instruciune executat, dac indicatorul TF este setat. - coprocessor not prezent - procesorul execut automat o ntrerupere cu numrul 7, dac unitatea instruciunilor detecteaz o instruciune pentru coprocesorul matematic i acesta nu este prezent.

4.2. Microprocesorul I80386


4.2.1. Caracteristici generale

58

Creterea remarcabil a vitezei de calcul a microprocesorului 80386, fa de predecesorul su 80286, se datoreaz n principal lucrului pe 32 de bii. I80386 are o magistral de date de 32 de bii, o magistral de adrese de 32 de bii, cu care poate adresa, n mod direct, o memorie de 4Gb i o memorie virtual de 64Tb pe task. Spaiul de intrare / ieire este limitat totui la 64 Kporturi, la fel ca la 80286, n schimb pe lng porturi de 8 sau 16 bii, I386 poate accesa i porturi de 32 de bii. Microprocesorul I80386 are 3 moduri de lucru: real, protejat i virtual 8086. n modul real, 80386 poate adresa o memorie de 1Mb, lucrnd ca un 8086 mult mai rapid. Modul protejat I80386 este compatibil cu modul protejat 80286, dar din cauza spaiului de memorie mult mai mare (4Gb n loc de 16Mb), descriptorii de segmente i pori au fost puin modificai, pstrndu-se compatibilitatea. Spaiul de adres virtual, de 64Tb, este mprit n segmente cu dimensiunea maxim de 4Gb. Deci, n modul de lucru protejat I386, dimensiunea maxim a unui segment nu mai este limitat la 64Kb. n modul de lucru virtual 8086, I386 lucreaz ca un microprocesor 8086, beneficiindu-se n schimb de toate facilitile de management i protecie oferite de I386. I80386 este livrat ntr-o capsul de form ptrat, cu 132 de pini, de forma urmtoare:

Figura 4.2.1. Capsula microprocesorului I386 Pe lng extensia registrelor interne la 32 de bii, n plus fa de 80286, I386 implementeaz o unitate de paginare a memoriei, este prevzut cu faciliti hardware pentru depanarea programelor, i cu posibilitatea de efectuare a unui autotest al componentelor interne ale microprocesorului, la punerea sub tensiune. Setul de instruciuni al microprocesorului I386 este un superset al instruciunilor microprocesoarelor 8086, 80286, majoritatea instruciunilor fiind identice cu cele de la 80286, excluznd instruciunile care exerseaz caracteristicile suplimentare ale microprocesorului I80386 fa de 80286. Instruciunile procesorului I80386 sunt capabile, ns, s manipuleze date pe 32 de bii. Iniializarea sau resetarea procesorului I386 se face prin aplicarea unui "1" logic pe pinul RESET al procesorului. I386 va intra n modul real, prima instruciune executat fiind

59

cea de la adresa FFFFFFF0h. Dup prima instruciune, care de regul este o instruciune JMP sau CALL, pe liniile de adres A0-A31 vom gsi numai adrese sub 1Moctet, caracteristice modului real. Dup resetare, procesorul poate fi forat s execute un autotest, prin inerea semnalului BUSY de la unul din pinii procesorului, pe nivel cobort, pe durata a cel puin 8 perioade de ceas sistem dup cderea semnalului de RESET n "0". Acest autotest se execut n 219 perioade de ceas (aproximativ 20ms la o frecvent a ceasului de 25MHz) i, dac nu a fost detectat nici un defect, dup autotest registrul EAX va conine valoarea 0. Orice alt valoare diferit de 0 indic un defect n interiorul cipului. I80386 este prevzut cu un coprocesor matematic I80387 - mult mai performant dect 80287.

4.2.2. Registrele microprocesorului I80386

Figura 4.2.2. Registrele microprocesorului I80386

60

Registrele generale EAX, EBX, ECX, EDX pot fi folosite att ca registre pe 32 de bii, ct i ca registre pe 16 sau 8 bii. De exemplu, EAX este un registru pe 32 de bii, AX conine cei mai puin semnificativi 16 bii ai registrului EAX, AH cei mai semnificativi 8 bii ai registrului AX, iar AL cei mai puin semnificativi bii ai registrului EAX sau AX. De fapt, pentru toate registrele pe 32 de bii, care reprezint extensii ale registrelor microprocesorului 80286, partea mai puin semnificativ a acestora poate fi accesat cu acelai nume ca i la 80286 sau 8086. Registrele de segment sunt registre pe 16 bii, i sunt folosite n acelai mod ca i la 80286. n plus, sunt disponibile dou noi registre de segment, FS i GS, pentru a accesa segmente de date suplimentare, la fel ca i registrul ES. Segmentele de memorie au dimensiunea maxim de 4Gb, i nu 64Kb ca la 80286. Structura unui descriptor de segment a fost pstrat, biii rezervai la 80286 fiind folosii acum, i reflectnd modul de lucru cu adrese pe 32 de bii a microprocesorului I80386.

Figura 4.2.3. Structura descriptorului de segment la I80386 Octetul cel mai semnificativ al descriptorului de segment conine biii 24-31 ai adresei de baz a segmentului de memorie. Daca bitul G - Granularity - este 0, cmpurile Limit 15-0 i Limit 19-16 indic lungimea segmentului n octeti; dac G este 1, aceste cmpuri indic lungimea segmentului n pagini, fiecare pagin de memorie avnd o dimensiune fix de 4Kb (4096 de octei). Cu bitul G setat, spaiul de adrese logice (sau spaiul de adrese virtuale) are o dimensiune de 64Tb. Bitul DB - Default / Big - egal cu 0 foreaz I386 s foloseasc operanzi sau date pe 16 bii, pentru a pstra compatibilitatea cu microprocesoarele anterioare din familie. Bitul r este un bit rezervat de firma Intel, bitul vf este un bit neutilizat i nerezervat, fiind folosit n mod liber de sistemele de operare. Descriptorii de pori au fost schimbai, de asemenea pentru a reflecta noua arhitectur pe 32 de bii, pstrnd ns compatibilitatea. Registrul indicatorilor de condiie i stare a fost extins pe 32 de bii, adugndu-se nc doi noi bii: VM - Virtual Mode - ce trebuie setat prin program, pentru ca I386 s intre n modul virtual 8086, lucru posibil utiliznd o poart, i RF - Resume Flag - ce controleaz reluarea unui program dup un punct de ntrerupere stabilit n registrele de depanare. Microprocesorul 80286 are numai un singur registru de control - MSW, folosit pentru a controla modul protejat. La I386, registrul MSW al microprocesorului 80286 este unul i acelai registru cu partea mai puin semnificativ, de 16 bii, a registrului CR0.

61

Bitul PG activeaz (PG=1) sau dezactiveaz (PG=0) unitatea de paginare a unitii de management a memoriei. Bitul r este un bit rezervat, i nu trebuie schimbat atunci cnd se ncarc registrul MSW cu instruciunea LMSW.

Figura 4.2.4. Registrele de control ale microprocesorului I80386 Registrele de management a memoriei: TR, LDTR, GDTR, IDTR sunt identice i ndeplinesc aceleai funcii ca la 80286. Registrele de test TR6 i TR7 sunt folosite pentru testarea unui buffer intern, numit " Translation Lookaside Buffer " - TLB, folosit de unitatea de paginare. Depanarea programelor ntr-un sistem de operare multitasking este o problem dificil, deoarece un program trebuie investigat n timp ce se ruleaz i alte programe, a cror execuie nu trebuie afectat de alterarea registrelor, puncte de ntrerupere ("breakpoints") sau alte efecte ale depanrii programului respectiv. I386 face posibil depanarea eficient a programelor i n modul protejat i virtual 8086, introducnd 8 registre de depanare DR0DR7, care conin (n DR0- DR3) adresa fizic a maximum 4 puncte de ntrerupere ale programului, plus informaii de stare i control a depanrii.

4.2.3. Paginarea memoriei


Cu registre de segment de 16 bii i deplasamente n segment de 32 de bii, spaiul de adres virtual sau logic al microprocesorului I80386 este de 64Toctei / task, dimensiunea maxim a unui segment de memorie fiind de 4Goctei, care este de fapt i dimensiunea teoretic maxim a memoriei interne ce poate fi adresat, n mod direct, de I80386. n realitate, dimensiunea memoriei interne cu care sunt echipate calculatoarele cu I80386 este mult mai mic, tipic 4Mb. Dac gestiunea memoriei ar fi efectuat numai la nivel de segment ca la 80286, practic nu s-ar putea folosi segmente mai mari dect capacitatea memoriei interne, cea mai mare parte a spaiului de adres virtual rmnnd nefolosit (aproximativ 99.9% din spaiul de adres virtual, ce reprezint raportul dintre 4Mb i 4Gb). n concluzie, a fost propus o nou metod de gestiune a memoriei: paginarea.

62

Se numeste adres liniar, adresa obinut prin combinarea adresei de baz a segmentului cu un deplasament n segment. Spaiul de adres obinut se numete spaiu de adres liniar, de dimensiune 4Gb (dimensiunea teoretic maxim a memoriei interne). Acest spaiu liniar este mprit ntr-un milion de pagini de cte 4Kb fiecare, numai anumitor pagini corespunzndu-le adrese fizice de memorie, n spaiul de memorie fizic existent (de regul 4Mb). Astfel, segmentele de memorie de 4Gb, i care pot fi de dimensiune variabil, sunt mprite n pagini de memorie de lungime fix, de 4Kb fiecare, gestiunea memoriei fcnduse la nivel de pagin. Dac o pagin nu se afl n memoria fizic, sau cu alte cuvinte adresa liniara nu a fost convertit ntr-o adres fizic, sistemul de operare va trebui s aduc pagina respectiv din memoria secundar (de obicei hard disk-ul) n memoria intern, n urma unei excepii "page not prezent".

Figura 4.2.5. Structura adresei liniare cu paginare Corespondena ntre adresele liniare i adresele fizice se realizeaz astfel: dac paginarea este activ, cei mai semnificativi 10 bii ai adresei liniare indic numrul tabelei coninut n directorul de tabele, urmtorii 10 bii indic numrul paginii n cadrul tabelei selectate anterior, ultimii 12 bii indicnd deplasamentul n cadrul paginii respective de 4Kb ( 212 ). Aceast organizare pe dou nivele a tabelelor de pagini este necesar, deoarece organiznd cele un milion de pagini pe un singur nivel, toat memoria intern, de 4Mb, ar fi ocupat cu tabelele de pagini. Fiecare intrare ntr-o tabel de pagini, sau n directorul de tabele, conine 4 octeti, numai directorul de tabele (4Kb) fiind reinut tot timpul n memoria intern. Adresa sa de baz este memorat n CR3.

Figura 4.2.6. Structura intrrii ntr-o tabel de pagini Bitul P indic dac pagina este prezent (P=1) sau nu (P=0) n memoria intern. Dac pagina este prezent, cei mai semnificativi 20 de bii ai intrrii - page frame address nmulii cu 4096 vor da adresa de baz pe 32 de bii a paginii, la care se va aduga offset-ul din adresa liniar prezentat n figura 4.2.5, rezultnd adresa fizic pe 32 de bii a obiectului de memorie ce se dorete a fi accesat. Daca P=0, o rutin specializat a sistemului de operare va trebui s aduc pagina respectiv n memorie, ntr-o zon liber, sau s elibereze anterior o
63

zon de memorie de 4Kb, prin transferarea unei pagini din memoria principal n memoria secundar. Datorit dimensiunii reduse a paginilor, acestea pot fi transferate mult mai rapid ntre memoria principal i memoria secundar sau invers, dect segmentele, n cazul gestiunii bazate numai pe segmente. Dei, datorit introducerii paginrii, sunt necesare calcule suplimentare, pentru a afla adresa fizic, aceasta nu duce neaprat la ntrzieri, deoarece I80386 conine o memorie cache rapid unde sunt memorate tabelele de pagini, numit "translation lookaside buffer" - TLB. Ceilali bii dintr-o intrare n tabel au urmtoarele semnificaii: D - Dirty - dac D=0 pagina nu a fost modificat de la ultima ncrcare din memoria secundar n memoria principal, aa c, la eliberarea zonei de memorie respective, aceast pagin nu e necesar sa fie transferat pe disc. D=1 indic o pagin cu coninutul modificat. A - Accessed - este setat cnd procesorul acceseaz o pagin, i ajut sistemul de operare s determine care pagini de memorie sunt mai puin folosite, pentru a fi nlocuite eventual cnd va fi cazul. U/S - User/Supervisor - nu exist dect dou niveluri de protecie la nivel de pagin: utilizator pentru U/S=1 (CPL=3), i supervisor pentru U/S=0 (CPL=0,1,2). R/W - Read/Write - dac R/W=0 pagina poate fi numai citit, n caz contrar poate fi i scris. AVAIL - AVAILable - acest bit este folosit de sistemul de operare pentru a manevra paginile. Translatarea adreselor, n cazul folosirii unei memorii segmentat-paginate la I80386, poate fi rezumat conform urmtoarei diagramei din figura 4.2.7.

4.2.4. Modul virtual 8086


Marea majoritate a programelor scrise sub MS-DOS, pentru calculatoarele IBM PC, sunt rulate n modul real, nsui sistemul de operare MS-DOS fiind un sistem de operare ce utilizeaz numai modul real. Modul virtual 8086 permite execuia programelor scrise pentru microprocesorul 8086, n context de multitasking, dei programele respective nu au fost proiectate s lucreze n modul protejat. Software-ul ce ruleaz pe I386 i permite acest lucru, se numete monitor de main virtual. Hardware-ul cu care este prevzut I80386 pentru a lucra n modul virtual, mpreun cu monitorul de main virtual, alctuiesc ceea ce se cheam o main virtual 8086. Un program, rulnd pe o main virtual, are impresia c lucreaz pe un microprocesor 8086 fizic, dei este numai un membru ntr-un context multiutilizator. Se pot genera mai multe astfel de maini virtuale, hard disk -ul calculatorului fiind mprit n mai multe seciuni, cte una pentru fiecare main virtual, care dispune i de propriul su spaiu de intrare/ieire, precum i de propria sa tabel de vectori de ntrerupere.

64

Fiecare main virtual este servit de ctre 80386 numai pentru un interval scurt de timp, realizndu-se astfel o rulare a mai multor taskuri n acelai timp.

Figura 4.2.7. Translatarea adreselor cu segmentare i paginare Sistemul de operare OS/2 este un sistem monoutilizator dar multitasking, acelai utilizator rulnd mai multe programe simultan. Sistemul UNIX, n diverse implementri, care poate fi ntlnit pe calculatoare cu 80386, este un sistem multiutilizator, ce permite lucrul mai multor utilizatori n acelai timp, pe acelai calculator, fiecare utilizator avnd n schimb impresia c este singurul utilizator al sistemului. Folosind aceste maini virtuale, Windows/386 sau OS/2 pot rula n paralel mai multe programe scrise pentru 8086 n modul real, sub primele versiuni ale sistemului de operare MS-DOS.

4.2.5. Memorii cache


Un procesor lucrnd la o frecven ridicat a ceasului, cum este 80386, necesit o memorie rapid. Memoria de mare capacitate a calculatoarelor actuale este realizat folosind cipuri de memorie dinamic (sau DRAMs - Dynamic RAM), datorit preului de cost sczut al acestora. Aceste memorii au un timp de acces de 60-120ns, fiind prea lente, spre exemplu, pentru un procesor ce lucreaz la 33MHz. Pe de alt parte, cipurile de memorie static (sau

65

SRAMs - Static RAM) sunt mai rapide, avnd un timp de acces de 12-25ns, dar sunt mult mai scumpe. n ultimul timp au aprut i memorii dinamice mai rapide, cu timp de acces n jur de 10ns (memoriile SDRAM, ESDRAM). Pentru a combina avantajele celor dou tipuri de memorii RAM, ntre memoria principal de mare capacitate, realizat cu memorii dinamice, i procesor, se interpune o memorie tampon sau memorie cache, de o capacitate mai mic, realizat cu memorii SRAM de mare vitez. Timpul de acces la memoriei cache este, de obicei, de 10 ori mai mic dect timpul de acces la memoria principal.

Figura 4.2.8. Utilizarea unei memorii cache ntre CPU i memoria principal Este posibil folosirea unei memorii cache, mbuntindu-se considerabil viteza de lucru, datorit proprietii de localitate a programelor, accesele succesive la memorie fcnduse de regul local, ntr-un spaiu relativ restrns de memorie. Controlerul de memorie cache determin dac data, ce se dorete a fi citit de microprocesor, se afl n memoria SRAM sau nu. n caz afirmativ, data este furnizat imediat fr ca acesta s fie nevoit s atepte, ca n cazul unei citiri directe din memoria DRAM. Dac data dorit nu se afl n memoria cache, controlerul va determina procesorul s atepte pn cnd transfer o zon de memorie de civa octei, numit linie cache (cache line), din memoria principal DRAM n memoria cache, dup care livreaz imediat data respectiv procesorului. La scriere, controlerul determin, de asemenea, dac data trebuie scris n memoria cache, i realizeaz acest lucru n caz afirmativ. Dac nu, data va fi scris direct n memoria DRAM chiar de ctre procesor. Orice scriere n memoria cache conduce la o scriere i n memoria DRAM. Acest procedeu de control al memoriei cache se numeste "write-through", i este folosit la majoritatea calculatoarelor IBM PC. Alte strategii de control pot propune scrierea datelor n memoria principal numai dac datele nu sunt gsite n memoria cache; sau

66

dac data nu este gasit n SRAM, se va citi o linie cache din memoria principal n SRAM, dup care data va fi scris n SRAM. Spre deosebire de strategia "write-through", scrierea unei valori n memoria cache, n cazul ultimelor dou strategii, nu implic neaprat o scriere imediat n memoria principal, valoarea fiind scris numai n memoria cache. Este sarcina controlerului de memorie cache s transfere liniile cache din SRAM n DRAM, pentru a face loc altor linii, sau s transfere din cnd n cnd toat memoria cache n memoria principal (aa numitul "cache flush" ). Liniile cache reprezint echivalentul paginilor de memorie, atunci cnd se transfer date ntre memoria principal i memoria secundar, dar o linie cache este de dimensiune mult mai mic dect o pagin de memorie (tipic o linie cache are o dimensiune de ordinul zecilor de octei ). Memoria cache a microprocesorului I80486, implementat pe cip, poate realiza diverse strategii de control.

4.2.6. Variante de realizare ale microprocesorului I80386


La scurt timp dup prezentarea microprocesoarelor I386 i I387, ce pot lucra la frecvene de pn la 40MHz, Intel a dezvoltat o nou pereche de procesoare, I386SX i I387SX, I386SX fiind absolut identic cu I386 din punct de vedere intern, dar lucrnd n exterior pe o magistral de adrese de 24 de bii i o magistral de date de 16 bii, la fel ca 80286. n plus, I386SX nu poate lucra dect pn la o frecven de 25MHz.

Figura 4.2.8. Structura intern a circuitelor I386SL i I82360SL

67

O tendin major n etapa actual este integrarea mai multor componente pe un acelai cip. Astfel, Intel a dezvoltat I386SL, care integreaz pe un acelai cip un I386, un controler de memorie cache i un controler de memorie principal. I386SL este livrat n dou variante, la 20MHz i la 25MHz. Poate fi conectat la o memorie cache de 16, 32 sau 64 Kb. Controlerul de memorie poate accesa memoria printr-o magistral de adrese de 24 de linii i o magistral de date de 16 linii, privit din exterior I386SL comportndu-se ca un I386SX. Un alt circuit superintegrat este I82360SL, care conine un ceas de timp real, o memorie CMOS, o interfa paralel bidirecional, o interfa pentru tastatur, un controler de disc flexibil, dou interfee seriale UART 16450, dou numrtoare sau timere 8254, cu trei canale de numrare fiecare, dou controlere DMA 8237A, dou controlere de ntreruperi 8259A. n plus, I82360 este prevzut cu un controler al tensiunii de alimentare (Power Management), care reduce semnificativ consumul componentelor electronice. Cu un I386SL, un I82360SL, cteva cipuri de memorie DRAM i un cip controler grafic (de exemplu controlerul VGA 82370SL) se poate realiza un calculator personal IBM AT complet.

4.3. Microprocesorul I80486


4.3.1. Structur intern
Microprocesorul I80486 integreaz pe un acelai cip un microprocesor I80386 evoluat, un coprocesor matematic I80387 mult mai puternic, i o memorie cache de 8Koctei. Poate lucra la o frecven a ceasului ntre 25 i 50 MHz. I80486 execut multe instruciuni ale microprocesorului 80386 ntr-o singur perioad a ceasului, fiind de trei ori mai rapid dect un 80386 lucrnd la aceeai frecven. I80486 este complet compatibil cu I80386 i extensia acestuia I80387, lucrnd cu aceleai instruciuni, tipuri de date, i avnd aceleai moduri de lucru: real, protejat i virtual 8086. Deoarece I387 este pe acelai cip cu I386, transferul de date ntre cele dou procesoare se face mult mai rapid, I486 fiind un candidat ideal pentru aplicaii matematice i grafice pretenioase. Microprocesorul I80486 este mpachetat ntr-o capsul de form patrat cu 168 de pini, necesitnd o tensiune de alimentare de +5Vcc. Conectarea microprocesorului I80486 la lumea exterioar se face prin intermediul unei interfee de magistral, care poate manipula date i adrese pe 32 de bii. Memoria cache, de 8Kb, este conectat direct la interfaa de magistral, i conine date, pe care le livreaz unitii aritmetico-logice, registrelor sau unitii de virgul mobil, sau instruciuni pe care le livreaz, pe rnd, n coada de instruciuni (Prefetcher). Orice acces la memoria cache de pe

68

cip se efectueaz ntr-o singur perioad de ceas, spre deosebire de un acces la memoria exterioar cipului, care se realizeaz n dou perioade de ceas sistem. Dei memoria cache este mic, aceasta duce la o cretere semnificativ a vitezei de execuie a instruciunilor.

Figura 4.3.1. Structura intern a microprocesorului I80486 Pe lng memoria cache de pe cip, plcile de baz ale calculatoarelor cu microprocesor I486 au, de regul, o memorie cache de 256Kb, numit memorie cache secundar, care poate fi extins n principiu la orice dimensiune, cu condiia ca controlerul de memorie cache s poat manipula o asemenea memorie. Chiar i la aceast memorie cache secundar, n mod normal, accesul se realizeaz n dou perioade de ceas sistem. Totui, dac controlerul de memorie cache, sau dac memoria principal poate realiza acest lucru, memoria cache de pe cip se va umple ntotdeauna utiliznd cicluri de magistral comprimate sau "burst cycles". Pentru transferarea unor cantitai mari de date ntre memorie i procesor, I80486 implementeaz un nou mod de lucru pe magistral fa de I80386, numit mod salv sau "burst mode". n modul "burst", transferul unei date ntre memorie i procesor se face ntr-o singur perioad de ceas, deci rata de transfer a datelor ntre memorie i procesor se dubleaz. ntr-un ciclu "burst" pot fi transferai pn la 16 octei consecutivi din acelai paragraf de memorie. Un paragraf este o zon de memorie de 16 octei, care ncepe la o adres multiplu de 16. La o frecven a ceasului de 50MHz, rezult n modul "burst" o rat de transfer a datelor pe magistral de 160Mb/s, ceea ce nseamn c, teoretic, un hard disk de 160Mb poate fi citit ntr-o secund.

69

Din memoria cache instruciunile sunt transferate n coada de instruciuni - Prefetcher, care este o memorie de 32 de octei (fa de 16 octei la I386), ce separ operanzii imediai sau deplasamentele de codul propriu-zis al instruciunii, trimindu-le ctre ALU, registre sau unitatea de segmentare, unde vor fi prelucrate. Unitatea de decodificare decodific instruciunile, aceste instruciuni decodificate fiind folosite apoi de unitatea de control, pentru a comanda registrele, ALU, unitaile de segmentare i de virgul mobil. Nu toate instruciunile trebuie decodificate, ca la celelalte procesoare anterioare din familia I80x86, unele instruciuni pot fi executate direct, microprocesorul I80486 fiind primul din familie care folosete anumite concepte i tehnologii RISC. Comunicaia cu unitatea de virgul mobil, ce corespunde coprocesorului I80387, se face pe o magistral intern de 64 de bii, ceea ce duce la o vitez mult mai mare de execuie a calculelor matematice fa de cazul n care se folosete o pereche I386/I387, care comunic ntre ele pe o magistral extern de 32 de bii. Unitatea de segmentare este responsabil de protecia i gestiunea memoriei. n plus, I80486 are patru buffere interne pentru scriere, procesorul transfernd datele de ieire n aceste buffere, n ordine, numai atunci cnd magistrala este ocupat, dup care procesorul poate executa o alt activitate, aceste buffere fiind responsabile de livrarea datelor pe magistral, atunci cnd aceasta devine disponibil. I80386 nu este prevzut cu aceste buffere de ieire.

4.3.2. Arhitecturi CISC i RISC


Unitile centrale de prelucrare sau microprocesoarele de tip CISC - Complex Instruction Set Computer - sunt caracterizate printr-un set larg de instruciuni masin, de regul mai mult de 300 de instruciuni, de mecanisme complexe de adresare a datelor i de microcodificarea instruciunilor procesorului. Cele mai des intlnite microprocesoare CISC sunt microprocesoarele din familia I80x86, care echipeaz calculatoarele personale IBM, i microprocesorul Motorola 68000 folosit la calculatoarele Apple Macintosh. Pe de alt parte, procesoarele RISC - Reduced Instruction Set Computer, cum ar fi I860, MIPS 2000 i R3000, au un set redus de instruciuni i nu folosesc conceptul de microprogramare. Instruciunile microprocesoarelor CISC nu sunt executate imediat, fiecare instruciune fiind decodificat sau "tradus" ntr-o secven de microoperaii elementare, numit microprogram, microoperaii care pot fi executate de ctre componentele electronice ale microprocesorului: registre, UAL etc. Microprogramele corespunztoare tuturor instruciunilor main ale microprocesorului sunt stocate ntr-o memorie ROM din interiorul procesorului. Unitatea de control a procesorului preia codurile microoperaiilor, n secven, dintr-o coad de instruciuni decodificate, ce este de fapt o coad de microoperaii, i

70

comand registrele , UAL etc., n vederea execuiei instruciunilor programului. Unitatea de decodificare preia urmatoarea instruciune din coada de instruciuni -Prefetch Queue, dup care pune microprogramul din memoria ROM corespunztor instruciunii respective, n coada de microoperaii, aceasta n timp ce unitatea de control este ocupat cu execuia instruciunii anterioare. Coada de instruciuni va fi resetat dup o instruciune de transfer al controlului.

Figura 4.3.2. Microprocesor CISC

Figura 4.3.3. Microprocesor RISC Dei microprocesoarele I80386 sau Motorola 68000 folosesc o structur de tip band de asamblare (sau "pipe-line"), la care citirea instruciunii urmtoare din memorie, decodificarea instruciunii curente i execuia instruciunii anterioare se fac n paralel, totui datorit folosirii conceptului de microprogramare motenit de la calculatoarele anterioare apariiei microprocesorului, n cazul unei instruciuni complexe, decodificarea i execuia acesteia poate dura mai mult dect execuia unei secvene de cteva instruciuni simple care face acelai lucru. La microprocesoarele RISC, care au renunat complet la conceptul de microprogramare, instruciunile sunt executate direct, printr-o logic cablat (implementat n componentele electronice de pe cip), nemaifiind necesar intervenia unui microprogram pentru aceasta. I80486 este o combinaie de procesor CISC cu unul RISC, cele mai uzuale instruciuni fiind

71

cablate i executate direct ntr-o singura perioad a ceasului sistem, n timp ce instruciunile mai complexe i mai puin frecvente sunt microcodificate, invocndu-se un microprogram pentru execuia acestora. Caracteristicile comune ale procesoarelor RISC sunt urmtoarele: set redus de instruciuni; execuia simultan a mai multor instruciuni pe baza conceptului de band de asamblare sau "pipe-line"; arhitectur load-store, numai instruciunile de citire i scriere accesnd memoria, toate celelalte instruciuni lucrnd numai cu registre interne; procesorul RISC i compilatorul formeaz o singur entitate, fiind dezvoltate ntr-o maniera unitar nc de la nceput. Cipul RISC va implementa numai acele instruciuni care simplific munca de compilare i crete viteza de execuie. Pn la apariia procesoarelor RISC, dialogul ntre procesor i software se realiza printr-o interfa alctuit din setul de instruciuni al procesorului respectiv, att software-ul, ct i procesorul, fiind dezvoltate separat unul de cellat, de echipe diferite de specialiti.

4.3.3. Variante de realizare ale microprocesorului I80486. Conceptul de "upgrade".


Intel a continuat seria SX, dezvoltnd microprocesorul I486SX, care conine toate componentele ce caracterizeaz un I486, mai puin unitatea de virgul mobil. n aplicaiile obinuite, un asemenea procesor lucreaz la fel de bine ca i un I486. n aplicaiile matematice, pentru meninerea paritii cu I80486, este necesar adugarea "coprocesorului" I487, care nu este un coprocesor matematic propriu-zis ca ceilali membri ai familiei I80x87. ncepnd cu I487SX, Intel a introdus conceptul de "upgrade". Microprocesoarele I80x86 anterioare microprocesorului I486 priveau coprocesorul matematic ca o extensie, lucrnd n conjuncie cu acesta. I487SX este de fapt un I486 complet, deci cu unitate de virgul mobil, ce poate lucra la o frecven ntre 16 i 25MHz, i care face inutil prezena microprocesorului I486SX pe placa de baz, I487SX informeaz procesorul I486SX, printr-un semnal, de prezena sa, ca urmare I486SX ncetnd orice activitate. Nu este absolut obligatorie scoaterea efectiv a microprocesorului I486 de pe placa de baz. Diferen major ntre I486SX i I486DX este frecvena mai mic a ceasului la care poate lucra I486SX, cel mult 25MHz. Pe lng alte variante, Intel produce I486DX2, care dubleaz n interior frecvena ceasului sistem de la pinul CLK al procesorului. S-a ajuns la aceast soluie datorit faptului c, atunci cnd se crete frecvena ceasului sistem, apar probleme serioase. Astfel, un I80386 lucrnd la 80MHz ar produce perturbaii electromagnetice intense, fcnd imposibil, de

72

exemplu, utilizarea radioului. Pe de alt parte, componentele interne ale calculatorului, altele dect microprocesorul, nu pot lucra la o asemenea frecven. Totui, prin perfecionarea tehnologiilor de ecranare, s-a ajuns n prezent ca plcile de baz ale PC-urilor actuale, bazate pe Pentium, s lucreze la o frecven a ceasului sistem (frecvena extern) de 100MHz. Un I486DX2, cu un ceas extern de 33MHz, va efectua toate operaiile interne la o frecven a ceasului de 66MHz, numai operaiile pe magistral derulndu-se n continuare la 33MHz. Frecvena care este trecut pe cip indic frecvena ceasului intern, I486DX2 fiind livrat la o frecven a ceasului intern ntre 50 i 66MHz. Principalul avantaj al dublrii interne a frecvenei ceasului, i care ne conduce direct la conceptul de "upgrade", este faptul c schimbnd numai procesorul de pe placa de baz, fr nici o alt modificare, se poate lucra la o vitez mai mare de execuie. Practic, nu se execut nici o schimbare a procesorului de pe placa de baz, I486DX2 introducndu-se ntr-un conector de "upgrade" i dezactivnd pentru totdeauna vechiul procesor, de exemplu un I486DX. n mod obinuit, creterea frecvenei peste o anumit limit, implic i schimbarea componentelor de pe placa de baz, fiecare component lucrnd pn la anumite frecvene ale ceasului sistem. Exemple de variante disponibile pe piat sunt: I486DX la 50MHz i I486DX2 la 50MHz, primul fiind ceva mai rapid dect cel de-al doilea, deoarece folosete un ceas extern de 50MHz i nu unul intern ca I486DX2. I486DX4 (disponibil la 100 sau 120MHz) multiplic intern cu 4 frecvena ceasului extern de la pinul CLK.

4.4. Pentium
Procesorul Pentium este perfect compatibil cu procesoarele Intel anterioare, din familia 80x86, ns are dou canale identice de procesare a datelor, ceea ce i permite s execute dou instruciuni n acelai timp. Practic, Pentium reprezint dou procesoare 80486 n aceeai capsul. Cele dou canale pentru executarea instruciunilor sunt numite canalele u i v. Canalul u este canalul principal. Nu toate prile unui program se preteaz, ns, la execuia n paralel a dou instruciuni secveniale. Atunci cnd nu este posibil acest lucru, se utilizeaz doar canalul u. Pentru mrirea eficienei se poate recompila software-ul, pentru a permite o astfel de procesare paralel. De aceea, dei toate programele dezvoltate pe 386 i 486 se ruleaz mult mai rapid pe Pentium, muli utilizatori recompileaz aplicaiile pentru a folosi ntreaga putere a acestui procesor, folosind compilatoarele noi puse la dispoziie de firma Intel. Pentium are magistrala de date de 64 de bii i magistrala de adrese de 32 de bii. n interior, registrele sunt ns de 32 de bii, perfect compatibile cu cele ale procesorului 80486, dei transferurile de date pe magistrala extern se pot face pe 64 de bii. De asemenea,

73

Pentium mai conine i dou memorii cache interne, separate, de 8 Koctei fiecare, corespunztoare celor dou procesoare 486 de pe cip. n plus, variantele ulterioare de Pentium (Pentium II, Pentium III) conin o memorie cache suplimentar, de dimensiune mai mare, integrnd practic pe cip memoria cache de pe placa de baza de la variantele anterioare. De exemplu, Pentium II Klamath conine o memorie cache integrat pe cip, de 512 Kb. Procesoarele Pentium au circuite de multiplicare a ceasului, pentru ca procesorul s funcioneze cu vitez mai mare dect magistrala. Tehnologia actual (oct. 1999) de realizare a procesoarelor Pentium permite funcionarea pn la o frecven de 600 MHz. De la apariia procesorului Pentium cu faciliti MMX, n ianuarie 1997, Intel a dezvoltat n continuare aceast serie, i a scos pe pia procesoare mai puternice, cum ar fi: - Pentium II pentru calculatoare destinate micilor afaceri, PC-uri mobile, servere de nivel inferior i staii de lucru; - Pentium II Xeon pentru servere puternice i staii de lucru; - Intel Celeron pentru seria de calculatoare Value PC; - Pentium III pentru calculatoare personale destinate lucrului la domiciliu sau afacerilor, servere de nivel inferior i staii de lucru; - Pentium III Xeon, pentru servere de nivel mediu i superior, i staii de lucru. Tehnologia MMX mbuntete procesele de intrare/ieire, compresia/ decompresia video, manipularea imaginilor, toate aceste procese intervenind n aplicaiile actuale de birotic, multimedia i Internet. n comparaie cu procesoarele precedente din serie, Pentium cu faciliti MMX are trei mbuntiri eseniale: - un set adiional de instruciuni pentru a procesa eficient informaii video i audio; - capabiliti SIMD (Single Instruction Multiple Data) fiind posibil ca o instruciune a procesorului s fie executat asupra mai multor date, n acelai timp, operaie util n cazul proceselor grafice, de animaie, video sau audio, i care duce la creterea vitezei de execuie a acestor procese; - dublarea memoriei cache de pe cip (32 Kb comparativ cu 16 Kb la Pentium), reducnd timpul de acces la informaia din memorie. Pentium II ncorporeaz tehnologia MMX, care reprezint de fapt cea mai semnificativ mbuntire a arhitecturilor Intel din ultimii 10 ani, dar tehnologia MMX PENTIUM II, dei este compatibil cu cea de la PENTIUM MMX, este adaptat arhitecturii de baz a procesorului Pentium II. n plus fa de Pentium cu faciliti MMX, Pentium II adaug 57 de noi instruciuni orientate pe calcul paralel, necesare n operaiile multimedia.

74

Pentru a rspunde necesitilor de ordin practic, ridicate de problema limitrii frecvenei de lucru externe (plcii de baz) a platformelor PC, Intel a dezvoltat arhitectura bazat pe magistral dual - Dual Independent Bus Architecture. Aceast arhitectur a fost implementat pentru prima dat la varianta anterioar Pentium Pro, dar va deveni larg rspndit odat cu Pentium II. Avnd dou magistrale care pot lucra n mod independent, Pentium II poate accesa date pe oricare din cele dou magistrale, simultan i n paralel, i nu ntr-o manier secvenial ca la sistemele cu o singur magistral. Cele dou magistrale sunt: magistrala de memorie cache L2 i magistrala sistem, aceasta din urm legnd procesorul de memoria principal. Arhitectura Dual Independent Bus permite ca un procesor Pentium II la 400 MHz, s acceseze memoria cache L2 de trei ori mai rapid dect un procesor Pentium. Aceast arhitectur poate suporta magistrale sistem peste 100 Mhz, care este frecvena tipic a plcilor de baz ale platformelor PC actuale. Pentium III poate funciona la o frecven de 450, 500, 533, 550, 600 MHz, are, n plus fa de Pentium II, un set de 70 de noi instruciuni, frecvena magistralei sistem fiind de 100 sau 133 MHz, iar memoria cache de nivel secundar de 512 Kb.

75

5. STRUCTURA CALCULATOARELOR PERSONALE IBM 5.1. Generaliti


Calculatoarele personale IBM actuale, sau compatibile IBM, sunt desemnate n general prin termenul de PC-uri, indiferent de familia sau seria de fabricaie din care fac parte. Una din familiile de calculatoare reprezentative pentru IBM este familia IBM PS/*. Calculatoarele din familia IBM PS/* (IBM PS/2, IBM PS/1, IBM PS/Value Point) au ca punct de plecare sistemele ISA (Industrial Standard Architecture), care includ i magistrala standard ISA de intrare/ieire, de 8 sau 16 bii. Sistemele IBM PS/* au fost proiectate cu magistrale mai avansate de intrare/ieire: EISA, PCI, VESA Local Bus (VLB). Calculatoarele IBM PS/2 au fost lansate pe pia n aprilie 1987, fiind calculatoare de prim calitate, mai scumpe i destinate marilor companii. Majoritatea calculatoarelor IBM PS/2 utilizeaz magistrala mai puternic i mai puin comun MCA (MicroChannel Architecture). Unele modele sunt dotate i cu componente multimedia. Calculatoarele IBM PS/1 au fost scoase pe pia n iunie 1990, fiind mai ieftine i mai uor de utilizat, cu scopul de a proteja linia mai puternic IBM PS/2. Linia PS/1 a fost destinat micilor afaceri i utilizatorilor care lucreaz la domiciliu. Tipurile de calculatoare PS/1 includ procesoare 486 i Pentium, video pe magistral local, echipamente multimedia, plac de fax/modem, memorie extensibil pn la 32M sau 64M. Linia de calculatoare IBM PS/Value Point a aprut n noiembrie 1992, i sunt n mare parte identice cu modelele PS/1, oferind ns mai multe posibiliti de extensie, i performane mai ridicate la un pre relativ sczut. Raportul performan/pre al acestor calculatoare este comparabil cu al calculatoarelor compatibile IBM, produse de alte firme, aa numitele calculatoare copiate. n mod obinuit, aceste calculatoare copiate erau mai ieftine dect calculatoarele IBM, aceasta fiind motivaia principal a introducerii calculatoarelor PS/1 i PS/Value Point de ctre IBM. ncepnd din noiembrie 1994, linia PS/Value Point a fost separat n dou linii de calculatoare: un sistem mai puternic - Value Point Performance Series, i seria de calculatoare puternice mainstream, denumit Value Point SiSeries. Placa de baz a sistemelor Performance Series este organizat n jurul magistralei sistem ISA pe 16 bii, sau PCI pe 32 de bii, i conine magistrala local VESA VLB pe 64

76

de bii. Memoria video poate fi extins de la 1M la 2 M, i accept o rezoluie maxim de 1280 x 1024 pixeli. Un fund de sertar, denumit riser, permite conectarea plcilor de extensie pentru cele dou tipuri de magistrale. Versiunea VLB a acestui fund de sertar detaabil are un conector VLB i patru conectori ISA. Versiunea PCI permite conectarea a dou plci PCI i a dou plci ISA. Sistemele Performance Series, proiectate n mod obinuit cu procesor 486, au fost mbuntite ulterior, prin folosirea procesorului Pentium Overdrive. Un exemplu de calculator din familia Value Point, era sistemul Value Point P60/D, care utilizeaz un procesor Pentium n 60 Mhz, cu o memorie cache intern de 16K, conine o memorie cache extern de 256K, 8 sau 16M de memorie, extensibil pn la 128M prin folosirea unor module de memorie SIMM RAM cu 72 de pini, placa de baz conine un circuit video SVGA PCI cu memorie video de 1M, extensibil opional la 2M. Din punct de vedere constructiv, calculatoarele din liniile de fabricaie PS/x au fost proiectate pornind de la necesitile de asamblare automat. Astfel, utilizatorii pot demonta i reinstala cea mai mare parte a componentelor, fr s utilizeze instrumente. Principalele diferene dintre modelele de PS/x sunt date de tipul de magistral intern utilizat. n mod tipic, calculatoarele PS/2 folosesc magistrala MCA. Modelele PS/Value Point permit la alegere utilizarea magistralelor PCI sau VLB, pentru extensii, dar posed i civa conectori ISA. Majoritatea sistemelor PS/1 au conectori de extensie ISA cu VLB integrat. ncepnd cu sistemele Value Point, IBM a introdus posibilitatea seleciei tipului de magistral. Astfel, la aceste sisteme, dei placa de baz utilizeaz magistrala local VESA, prin introducerea acelui fund de sertar detaabil (riser), n care se pot instala plci de extensie, se permite utilizarea att a unor plci VESA, ct i a a unor plci PCI, rezolvnd astfel dilema dintre PCI i VLB. n ce privete subsistemul video, absolut toate calculatoarele IBM PS/x din ultimii ani sunt aliniate la standardele VGA sau XGA, ultimul denumit i SuperVGA (SVGA). Calculatoarele PS/2 superioare modelului 50 sunt bazate pe magistrala MCA (Micro Channel Architecture), diferit din punct de vedere electric i fizic de ISA. Principalul dezavantaj al acesteia este c, adaptoarele existente ISA pe 8 sau 16 bii nu mai pot fi utilizate. n ideea eliminrii erorilor fcute la instalarea plcilor adaptoare, architecura MCA introduce opiunea POS (Programmable Option Selection). Sistemele MCA au o ecranare mai bun, fapt ce le face mult mai puin sensibile la zgomote datorate transmisiilor radio sau oricror perturbaii electrice, fiind mai sigure n funcionare dect sistemele ISA. Multe evaluri de performan au evideniat avantaje ale sistemelor MCA fa de cele ISA, dei multe sisteme IBM utilizeaz, n continuare, standardul mai vechi ISA. Magistralele de intrare/ieire utilizate n calculatoarele personale IBM actuale sunt urmtoarele:

77

- Industry Standard Architecture (ISA) este cel mai rspndit standard, fiind prezent n aproape toate calculatoarele personale. Funcioneaz pe 8 sau 16 bii, obinnd viteze de transfer de 0.625Mb/sec., respectiv 2Mb/sec. - Enhanced Industry Standard Architecture (EISA) o extensie a magistralei ISA, permindu-i funcionarea pn la 32 de bii. - Micro Channel Architecture (MCA) un standard de magistral creat de IBM i ntlnit majoritar n PC-urile fabricate de IBM. Este asemntor standardului ISA, funcionnd pe 32 de bii. - Video Electronics Standard Association (VESA) standard dezvoltat special pentru plcile video care necesitau un trafic intens pe magistrale, ajungnd pn la 132 Mb/sec. - Peripheral Interconnect Bus (PCI) un standard rapid, dezvoltat de Intel, ce lucreaz la 33MHz pe 32 de bii. Magistrala poate s se autoconfigureze n funcie de plcile de extensie aflate pe ea, facilitate numit Plug-And-Play. - Personal Computer Memory Card International Association (PCMCIA) stabilete standarde pentru plcile de extensie de dimensiuni reduse, care se potrivesc n conectorii mici ai sistemelor laptop i notebook, suportnd deconectarea acestora n timpul funcionrii. Transferul datelor ntre diversele dispozitive periferice i memoria calculatorului, unde acestea urmeaz s fie prelucrate, este asigurat la nivel hardware, pentru fiecare dispozitiv n parte, de controlere. Acestea sunt, de cele mai multe ori, plcue electronice ce se insereaz n calculator prin intermediul unui slot (sau conector), care asigur compatibilitatea cu unul din standardele de magistrale descrise anterior. Ele pot fi i externe calculatorului, caz n care comunicaia se realizeaz prin intermediul unor magistrale speciale (SCSI Small Computer Serial Interface, de exemplu), sau prin intermediul unor dispozitive existente deja n calculator, ce au posibilitatea de a comunica cu exteriorul (interfeele seriale sau paralele, de exemplu). Plcile de extensie comunic cu microprocesorul prin ntreruperi, porturi de intrare/ieire, canale DMA (Direct Memory Acces).

5.2. Calculatoarele IBM PS/2


n aceast seciune sunt trecute n revist principalele caracteristici ale calculatoarelor IBM PS/2, una din seriile importante de calculatoare dezvoltate de IBM de-a lungul timpului. Dei n prezent acestea nu se mai fabric, la momentul respectiv (1987) au constituit un boom pe piaa calculatoarelor personale, prin faptul c reprezentau un salt tehnologic fa de situaia existent, majoritatea caracteristicilor nou introduse regsindu-se n PC-urile actuale.
78

Calculatoarele IBM PS/2 sunt proiectate fie ca uniti "desktop", cum ar fi modelele 25, 30 i 50, precum i n configuraii "floor-standing" cum ar fi modelele 60 i 80. Principalele caracteristici arhitecturale noi, introduse de familia IBM PS/2 sunt: - un nou sistem de plci de baz; - arhitectur Micro Channel; - caracteristici grafice suplimentare preluate n hardware; - posibilitate de lucru multitasking; - noi dispozitive adugate la configuraia de baz. Pe placa de baz au fost integrate porturile de comunicaie paralel i serial, interfaa pentru mouse, controlerul de disc i adaptorul grafic. Conectorii de extensie de pe placa de baz rmn, astfel, disponibili pentru alte extensii dect cele anterioare. Arhitectura bazat pe o magistral de tip Micro Channel a fost inclus numai la modelele 50, 60, 80, i nu la modelele 25 i 30. Magistrala Micro Channel este o magistral de mare vitez, care poate transfera date pe 8, 16 sau 32 de bii. Adaptoarele grafice MCGA, pe modelele 25 i 30, i VGA, pe celelalte modele, doteaz membrii familiei PS/2 cu o rezoluie grafic mult mai bun dect calculatoarele precedente, precum i cu un numr mult mai mare de culori (256 de culori disponibile la un moment dat dintr-o palet de aproximativ un sfert de milion de culori), ceea ce face posibil utilizarea calculatoarelor IBM PS/2 n aplicaii grafice pretenioase. Modelele 50, 60, 80 sunt prevzute cu sistemul de operare OS/2, care poate rula mai multe programe simultan (sistem de operare multitasking), iar sistemul de operare MS-DOS, utilizat n continuare pe oricare din membrii familiei PS/2, a fost mbuntit prin apariia interfeei grafice utilizator Microsoft Windows, care poate lucra de asemenea n regim de multitasking, exploatnd astfel toate posibilitile arhitecturale ale microprocesoarelor ce stau la baza acestor calculatoare. Modelele 50 , 60, 80 i ulterioare pot fi dotate cu noi tipuri de imprimante, un adaptor dedicat pentru generarea, digitizarea i memorarea sunetelor, un adaptor de recunoatere a vorbirii etc., absolut toate modelele familiei fiind prevzute cu un port dedicat pentru mouse, n vederea utilizrii sistemului de operare OS/2 i a interfeei grafice Microsoft Windows. Modelul 30/286 este similar modelului 30 din punct de vedere constructiv, dar, n plus fa de acesta, poate lucra la o frecvent de 10 MHz, dispunnd de toate posibilitile suplimentare ale microprocesorului 80286 fa de 8086, pe baza cruia este construit modelulul 30, i care poate lucra numai pn la 8MHz. La fel ca i modelul 30, modelul 30/286 poate fi gsit n dou variante: una cu hard disk, caz n care controlerul de hard disk este coninut chiar n unitatea de hard disk, nefiind necesar o plac suplimentar; a doua variant, fr hard disk, fiind destinat n principal lucrului ntr-o reea de calculatoare. Ambele variante conin o unitate de floppy disk de 1.44Mb. La fel ca i modelul 30, este prevzut cu 3 conectori de extensie montai orizontal pe placa de baz. Modelul 30/286 este

79

primul membru din familie care ncorporeaz adaptorul grafic VGA - Video Graphic Adaptor, i poate fi gsit cu o memorie de 512Kb, 1Mb, 2Mb, 4Mb. Modelul 80/386 este produs n trei variante, cu frecvena ceasului ntre 16 i 20 MHz, i cu diferite combinaii de hard disk i memorie. Modelul 80/386 suport o memorie intern de 32 de bii, cu capacitatea maxim de 4Mb. n configuraie minimal acesta este livrat cu o unitate floppy disk de 3.5 inch, hard disk de 44Mb, microprocesor 80386 la 16 MHz i memorie intern de 1Mb. Poate fi prevzut i cu o unitate floppy disk de 5 1/4 ". Pe placa de baz este prevzut cu 8 conectori de extensie, trei dintre ei fiind de 32 de bii. Placa de baz a calculatoarelor din familia IBM PS/2 Numrul de circuite individuale (sau cipuri) a fost dramatic redus, circuitele cu un grad redus de integrare fiind integrate n mai puine circuite VLSI (Very Large Scale Integration). Un exemplu este adaptorul grafic VGA, construit anterior pe o plac ntreag, i care a fost integrat ntr-un singur supercip, reducnd numrul de componente i numrul de interconexiuni necesare, ceea ce a dus implicit la creterea fiabilitii. n plus, toate circuitele sunt montate folosind tehnologia lipirii pe suprafa (surface mounted technology), care duce de asemenea la creterea fiabilitii. Deoarece placa de baz conine majoritatea dispozitivelor de intrare/ieire: interfa paralel bidirecional, port serial, interfa mouse, adaptor grafic (MCGA pentru modelele 25 i 30, i VGA pentru celelalte modele), controler de floppy disk ce poate suporta una sau dou uniti de disc flexibil de 3 1/2", aceasta nu mai este prevzut cu un numr mare de conectori de extensie. Placa de baz mai conine 640Kb de memorie pentru modelele 25 i 30, 1Mb pentru modelele 50, 60 i 80 la 16MHz (80-041, 80-071), i 2Mb pentru modelele 80 cu 80386 la 20MHz (80-111, 80-311). Memoria ROM, care este o memorie nonvolatil (nu i pierde coninutul la ntreruperea alimentrii), i care conine programe ce sunt activate imediat dup punerea sub tensiune (de fapt conine o parte din BIOS-ul sistemului de operare), ocup un spaiu de adres de o anumit dimensiune, n spaiul de adres alocat pentru placa de baz. Memoria ROM de pe placa de baz are o capacitate de 64Kb pentru modelele 25 i 30, i 128Kb pentru celelalte modele. De asemenea, pe placa de baz se mai gsete memoria CMOS, care este o memorie RAM de mic dimensiune, i care necesit un consum mic de energie electric. Ca orice memorie RAM, memoria CMOS i pierde coninutul la ntreruperea alimentrii. Datorit consumului mic, este posibil alimentarea memoriei CMOS de la o baterie de 6V, ce menine intact coninutul memoriei pentru aproximativ 2 ani, fr nici o alimentare a calculatorului la reeaua de 220Vca. Memoria CMOS conine acele valori care sunt folosite de programul ce se ruleaz la alimentarea calculatorului, i care configureaz sistemul cu anumii parametri, cum ar fi: data i ora curent, dimensiunea memoriei instalat n sistem, numrul i tipul unitilor de floppy disk i hard disk, tipul adaptorului video etc.

80

Placa de baz poate fi prevzut cu urmtoarele extensii: - plci de comunicaie, - porturi seriale adiionale, - plci grafice, - plci de memorie adiional, - coprocesor matematic. Plcile de comunicaie folosesc pentru cuplarea unui calculator cu un alt calculator, sau cu mai multe, cum ar fi spre exemplu o reea de calculatoare, folosind pentru aceasta plcile de comunicaie respective, cabluri speciale, protocoale, software adecvat etc. Porturile seriale adiionale se folosesc pentru a conecta imprimante seriale, sau un numr oarecare de terminale, dac calculatorul IBM este folosit ca un sistem multiutilizator. Alte dispozitive care pot fi conectate la porturile seriale sunt: modemuri, plottere, imprimante laser etc. Comunicaiile seriale se realizeaz protocolul RS-232C. De asemenea, circuitele VGA sau MCGA de pe placa de baz pot lucra n cooperare cu plci grafice adiionale, ceea ce duce la mbuntirea calitilor grafice ale membrilor familiei IBM PS/2. Plcile de memorie adiionale sunt necesare dac se lucreaz sub sistemul de operare OS/2 sau Microsoft Windows. OS/2 necesit minimum 1.5Mb de memorie n sistem, dar este recomandat s existe 5Mb; Windows /386 necesit minimum 1Mb, dar este indicat s existe 2Mb de memorie. Sistemul de operare UNIX necesit i el minimum 5Mb de memorie. Toate aceste plci adiionale pot fi implantate n conectorii de extensie disponibili pe placa de baz. Un coprocesor matematic este un cip specializat, care lucreaz n conjuncie cu procesorul principal, mrindu-i acestuia din urm viteza de efectuare a calculelor transcedente (algoritmi, exponeni, tangente etc.) i n virgul mobil. Calculatoarele IBM PS/2 nu sunt livrate implicit cu coprocesoare matematice, datorit faptului c acestea sunt foarte scumpe, rmnnd la latitudinea utilizatorului dac s cumpere sau nu un coprocesor matematic. Coprocesorul matematic este folosit de aplicaii care necesit calcule matematice intensive, cum ar fi spreadsheets-urile, aplicaii grafice, tiinifice, statistice etc., mrind considerabil viteza de execuie a aplicaiilor respective. Soclul pe care poate fi montat coprocesorul matematic se afl situat chiar lng procesorul principal, pe placa de baz. Fiecare procesor din familia I80x86 este prevzut cu propriul su coprocesor matematic I80x87 (de exemplu I8086 cu I8087, I80286 cu I80287, I80386 cu I80387). folosind, n exclusivitate,

5.3. Arhitectura MICROCHANNEL

81

Arhitectura Microchannel introdus odat cu modelele 50, 60, 80 realizeaz o mbuntire substanial n ce privete viteza de transfer a unui volum mare de date, utiliznd ci mai largi de transfer pentru date (de 32 de bii) i pn la 15 dispozitive care pot efectua transferuri de date pe magistral, n afar de procesorul principal de pe placa de baz, cum ar fi canale DMA i master-e externe de magistral, ce elibereaz procesorul de anumite sarcini. IBM folosete magistrala Microchannel nu numai la seria PS/2, ci i la staiile de lucru mult mai puternice RISC System /6000, bazate pe procesoare RISC. Arhitectura Microchannel este prevzut cu maximum 16 nivele de prioritate pe magistral ntre diferitele dispozitive ce pot controla magistrala, astfel nct funciile mai importante sunt tratate imediat, magistrala fiind alocat acestor dispozitive sau procese care ndeplinesc funciile respective, n timp ce dispozitivele care ndeplinesc funcii mai puin importante ateapt eliberarea magistralei de catre dispozitivele mai prioritare. Aceast caracteristic este necesar n sistemele multitasking, asigurnd astfel rularea taskurilor mai prioritare i care e necesar s fie rulate la un moment dat, n detrimentul taskurilor mai puin prioritare, caracteristic care nu poate fi ntlnit la arhitecturile anterioare ale familiei IBM PC sau PS/2. Arhitectura Microchannel suport pn la 8 dispozitive master de magistrala (inclusiv UCP-ul de pe placa de baz) i maximum 8 canale de access direct la memorie. Dispozitivele master de magistral pot fi plci de comunicaie, adaptoare de imprimant, controlere de disc, coprocesoare etc., i sunt dispozitive ce conin procesoare, care pot accesa memoria principal independent de procesorul principal al sistemului de calcul. Dispozitivele master pot controla magistrala n aceeai manier n care o face i procesorul principal de pe placa de baz. Canalele de acces direct la memorie - DMA (Direct Memory Access) - sunt folosite de alte dispozitive sau plci din sistem, pentru a face acces la memorie fr intervenia procesorului principal. Aceasta permite, spre exemplu, unui controler de disc s transfere date n memorie, n timp ce procesorul principal execut un alt task. Dispozitivele care utilizeaz accesul direct la memorie sunt controlate de circuitul controler al accesului direct la memorie (sau controler DMA), de pe placa de baz. Comparativ cu arhitecturile anterioare ale calculatoarelor IBM PC sau IBM PS/2, dimensiunile unei plci de baz Microchannel sunt reduse, conectorii de extensie sunt mai mici i conin mai muli pini, viteza de transfer a datelor este mai mare ntruct pot fi transferai la un moment dat pe magistral 32 de bii, fa de 16 bii la arhitecturile anterioare etc. O alt caracteristic important introdus de arhitectura Microchannel este posibilitatea de selectare a opiunilor prin program (sau POS - Programmable Option Select). La calculatoarele anterioare, cnd un utilizator dorea s adauge o nou plac la configuraia de baz, acesta trebuia s selecteze anumite opiuni, prin poziionarea unor microcomutatoare

82

sau switches- uri, de pe noua plac sau de pe placa de baz. n locul acestor comutatoare mecanice, arhitectura Microchannel folosete nite comutatoare electronice, astfel nct tot ce are de fcut utilizatorul este numai s introduc placa ntr-unul din conectorii de extensie, dup care s alimenteze sistemul de calcul i s ruleze un program de configurare (setup programm), care va poziiona corespunztor comutatoarele electronice. Odat selectate opiunile printr-un sistem de meniuri adecvat, acestea vor fi salvate n memoria CMOS de pe placa de baz, astfel nct la urmtoarea realimentare a sistemului de calcul, sistemul se va configura cu opiunile din CMOS, nefiind necesar rularea programului de configurare de fiecare dat cnd se realimenteaza calculatorul. ntr-o arhitectura Microchannel este mai usor s foloseti un numr mai mare de procesoare. Astfel, ntr-un IBM PS/2 bazat pe o arhitectura Microchannel gsim un procesor n controlerul de hard disk, un procesor care controleaz intrrile i ieirile de date prin portul paralel, serial i portul de mouse, un procesor n adaptorul grafic etc. Arhitectura Microchannel permite, aa cum s-a menionat anterior, existena mai multor procesoare master n acelai sistem, o schem intern de arbitrare prevenind monopolizarea magistralei de ctre un singur master de magistral. Magistrala Microchannel conine linii separate pentru semnale audio i video. Pe linia audio se pot efectua transferuri de semnale audio de la o plac la alta, astfel nct toate plcile din sistem au acces la dispozitivul audio, respectiv difuzorul, nefiind obligatoriu ca fiecare plac s aib propriul sau difuzor. Calculatoarele IBM PS/2 pot conine adaptoare de recunoatere a vorbirii, adaptoare telefonice (phone answering adapters), plci muzicale (music boards), care folosesc de asemenea linia audio. Liniile de semnal video vin de la un conector Microchannel care are o extensie de 16 pini, i care permite adugarea unor plci video, ce pot lucra sau nu n cooperare cu adaptorul VGA de pe placa de baz. O caracteristic principal a arhitecturii Microchannel este folosirea unui ceas sistem separat, ce furnizeaz o frecven de maximum 10MHz la majoritatea componentelor Microchannel. Numai magistrala local, ntre CPU i memoria principal, opereaz la o vitez superioar, dat de ceasul procesorului (CPU clock), permind un acces rapid al procesorului la datele din memorie. Se spune c magistrala Microchannel este o magistral asincron, deoarece viteza de transfer pe magistral nu depinde de ceasul procesorului principal. Pentru realizarea unor memorii integrate de mare capacitate, astzi se folosesc aa numitele memorii RAM dinamice (DRAM memory), care sunt mai lente dect memoriile RAM statice, i care sunt totui utilizate n cazul realizrii unor memorii de mic capacitate dar rapide, cum ar fi spre exemplu o memorie cache de disc. Memoriile RAM dinamice, spre deosebire de cele statice, i pierd coninutul n timp, dac informaia nu este remprosptat periodic. Este sarcina procesorului principal, sau al altui dispozitiv, s remprospteze

83

memoria dinamic. Ambele tipuri de memorii RAM i pierd coninutul cnd calculatorul este deconectat de la reeaua de 220Vca. Deoarece CPU de pe placa de baz, logica de refresh (logica de remprosptare a memoriei dinamice), controlerul DMA i master-ele externe de magistral pot prelua controlul magistralei, este necesar un dispozitiv de arbitrare a cererilor de ocupare a magistralei - Bus Arbitrator, care acord controlul magistralei n conformitate cu o ordine de prioritate.

Figura 5.1. Arhitectura Micro Channel Ordinea de prioritate de acordare a magistralei, la calculatoarele PS/2, este urmtoarea: -2 -1 - refresh memorie - NMI

0-7 - canalele DMA 0-7 8-14 - disponibile pentru master-e externe de magistral 15 - CPU de pe placa de baz Cea mai mare prioritate o are o cerere de refresh a memoriei, ceea ce nseamn c logica de arbitrare acord controlul magistralei logicii de remprosptare a memoriei, imediat ce o cerere de refresh este activ. Urmtoarea prioritate o are o cerere NMI, care apare atunci cnd exist o eroare major n sistem. Cererile NMI sunt servite de ctre procesorul de pe placa de baz, dar pentru aceasta CPU trebuie s aib controlul magistralei. Cea mai mic

84

prioritate de acordare a magistralei o are procesorul central de pe placa de baz, ceea ce nseamn c CPU va avea controlul magistralei numai dac nu exist o alt cerere activ de acordare a magistralei. n cadrul arhitecturii Microchannel, sistemul de memorie al calculatoarelor IBM PS/2 a fost mbuntit. Astfel, dac programul de startup detecteaz un defect n memoria principal, aceasta este reconfigurat folosind blocuri de 64Kb, blocurile cu defecte fiind "mutate" n partea de sus a memoriei, nepermindu-se accesul la acestea. Controlerul DMA a fost armonizat cu noua arhitectur, realiznd transferuri DMA pe 32 de bii, pentru ntreg spaiul de adres al memoriei. La fel i controlerul de ntreruperi, fiind posibile 255 de ntreruperi hardware, n timp ce, spre exemplu, la un calculator IBM AT erau disponibile numai 15 cereri de ntreruperi hardware. n interiorul unui sistem de calcul apare adeseori necesitatea msurarii unor intervale de timp. Dispozitivele care fac acest lucru se numesc timer-e. La o arhitectur Microchannel ntlnim un timer cu 4 canale independente, primul canal fiind ocupat cu generarea ceasului sistem, al doilea cu refresh-ul memoriei, al treilea este un generator de ton pentru difuzor (se pot genera diferite frecvene cu acest canal), iar ultimul este un aa zis "watchdog timer", care va genera o ntrerupere NMI, dac vreunul din master-ele externe de magistral ine ocupat magistrala un timp ndelungat, blocnd astfel refresh-ul memoriei. n plus, calculatoarele IBM PS/2, i deci i cele bazate pe o arhitectur Microchannel, conin un ceas de timp real - RTC (Real -Time Clock) - alimentat de la aceeai baterie ca i memoria CMOS, ceea ce permite msurarea timpului i actualizarea datei i timpului curent, chiar i atunci cnd calculatorul este deconectat. Data i timpul furnizate de RTC sunt memorate n memoria CMOS mpreun cu valorile de configurare, aceast memorie fiind citit de rutina de iniializare din ROM-BIOS, care stabilete configuraia curent, precum i data i timpul actual. De fapt ceasul de timp real i memoria CMOS sunt integrate ntr-un singur cip, de regul Motorola MC 146818. Unitile integrate pe placa de baz, cum ar fi: adaptorul VGA, controlerul de disc, interfaa paralel i serial etc., sunt accesate prin intermediul unei magistrale, numit Local Channel sau Peripheral Standard Bus. n concluzie, scopul magistralei Microchannel n jurul creia se construiete aa numita arhitectur Microchannel, este de a asigura transferul eficient de date ntre procesorul central al calculatorului i celelalte pri ale sistemului de calcul (memorie, dispozitive periferice: discul, display-ul, tastatura etc.), ndeplinind aceeai funcie pe care o ndeplinete sistemul nervos al unui animal, legnd organele de sim cu creierul.

5.4. Interfaarea calculatoarelor IBM. Comunicaia paralel i serial.


85

La modul general, orice dispozitiv care se conecteaz la un calculator, inclusiv tastatura i display-ul, poate fi considerat ca o interfa de comunicaie. Calculatoarele comunic folosind impulsuri digitale, o tensiune de 5V indicnd un "1" binar, o tensiune de 0V indicnd un "0" binar. Codul ASCII asociaz fiecrui caracter un cod binar pe 8 bii. Toi aceti bii ai unui caracter pot fi transmii simultan n cazul comunicatiei paralele, sau pot fi transmii unul cte unul n cazul comunicaiei seriale. Deci, comunicaia paralel folosete fire separate pentru fiecare bit de date. Depinznd de tipul calculatorului, putem avea comunicaie paralel pe 8, 16 sau 32 de bii. Comunicaia paralel este mai rapid, ntruct putem transmite simultan mai multi bii, dar nu poate fi folosit dect pe distane scurte, de ordinul metrilor, deoarece n cazul distanelor mari apar erori datorate unor factori cum ar fi, spre exemplu, interferenele electrice. Un alt factor restrictiv, n cazul comunicaiei paralele, este costul firelor de legtur. Portul paralel de pe placa de baz, de regul, este folosit pentru comunicaia cu imprimanta paralel. Dac acest port nu este suficient, se pot instala alte porturi paralele, adugnd o plac de comunicaie paralel ntr-unul din conectorii de extensie. Pe distane lungi, se folosete aproape n exclusivitate comunicaia serial, incluznd aici i comunicaiile prin radio sau satelit. n cazul comunicaiei seriale, biii fiecrui caracter sunt transmii secvenial unul dup altul, necesitnd la modul cel mai simplu numai dou fire pentru interconectarea a dou calculatoare: un fir pe care se transmit secvenial biii, i un fir de mas sau fir de referin, fa de care se msoar tensiunea pe firul de date. Viteza comunicaiei seriale este msurat n bii pe secund (bps) sau bauds. Vitezele standard de transmisie serial sunt: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 bps.

86

Figura 5.2. Comunicaia serial ntre dou calculatoare personale prin satelit Comunicaia serial asigur o protecie mai bun mpotriva erorilor, comparativ cu comunicaia paralel. Comunicaia serial poate fi sincron sau asincron. n cazul comunicaiei seriale sincrone, pe lng firul pe care se transmit biii de date i firul de mas, vom avea un alt fir pe care se transmit impulsurile de ceas. Semnalul de ceas indic cnd este valid urmtorul bit pe linia de date.

Figura 5.3. Exemplu de comunicaie serial sincron. n cazul transmisiei seriale asincrone, biii de date trebuie s conin o informaie minim de sincronizare, care s permit receptorului s foloseasc aceeai frecven a ceasului cu care investigheaz firul de date, ca i emitorul. Pentru sincronizarea ceasului emitor cu ceasul receptor, se transmite un bit de start naintea fiecrui caracter. Astfel, linia serial este n mod normal n "1". Atunci cnd se dorete transmisia unui caracter, se transmite nti un bit "0" - bitul de start, prin trecerea liniei seriale n "0". Acest lucru determin ceasul receptor s se sincronizeze cu ceasul emitor. Este necesar acest lucru deoarece, n mod normal, frecvena ceasului cu care se transmit datele nu este perfect egal cu frecvena ceasului cu care se investigheaz linia serial la recepie, dar dup un bit de start, se poate admite c pe durata recepiei unui caracter, datele vor fi preluate corect de receptor, chiar dac cele dou frecvene nu sunt absolut egale. Dup bitul de start sunt transmii unul dup altul biii de date ai caracterului, de regul 8 bii de date, dup care sunt transmii unul sau doi bii de stop, prin trecerea liniei seriale n "1". Nu este exclus folosirea unor caractere cu lungimea diferit de 8 bii (5 bii, 7 bii etc.), un caracter fiind format dintr-un numr de bii transmii ntre bitul de start i bitul (sau biii) de stop, noiunea de caracter folosit aici nefiind neaprat identic cu noiunea de caracter ASCII.

87

Figura 5.4. Transmisia asincron a 2 caractere de 8 bii, cu un bit de start, 1 bit de paritate, 1 bit de stop la viteza de 2400 bauds. Pentru a proteja biii de date mpotriva erorilor de comunicaie, se transmite un bit de paritate ntre ultimul bit de date i primul bit de stop. Astfel, de exemplu, dac caracterul conine un numr impar de bii "1", bitul de paritate va fi "1", altfel va fi "0", sau invers . La recepie se verific paritatea. De fapt, n prezent, se folosesc proceduri de detecie i corecie a erorilor mult mai sofisticate dect simpla verificare a paritii. n general, pentru comunicaii seriale directe, calculatoarele IBM folosesc 3 fire: un fir pentru transmisie, un fir pentru recepie i un fir de mas fa de care se msoar tensiunea electric pe cele dou fire, utiliznd conectori cu 9 sau 25 de pini.

Figura 5.5. Conectorii folosii de calculatoarele IBM pentru comunicaii seriale Comunicaia serial direct ntre dou calculatoare se realizeaz numai pe distane relativ scurte, pn la 1-2 Km. n cazul comunicaiilor mai lungi, este obligatorie folosirea modemurilor. Pentru ca un modem s comunice cu un alt modem, sunt necesare numai 2 fire. De regul, aceast legatur modem-modem este realizat de reeaua telefonic, dar poate fi orice pereche de 2 fire; sau cum este artat n figura 5.2, cele dou modemuri pot comunica prin satelit n cazul distanelor foarte mari, de ordinul miilor de kilometri. Modemul preia impulsurile digitale de la ieirea serial a calculatorului, i le folosete pentru a modula un semnal numit purttoare, care este trimis ctre cellat modem, prin reeaua telefonic, satelit etc. La recepie, modemul corespondent demoduleaz purttoarea, obinnd un tren de impulsuri digitale, pe care le trimite ctre calculator pe legtura serial. 25 pini 9 pini Semnal 1 2 3 3 2 TD RD
88

Denumire semnal Protective ground Transmitted Data Received Data

4 5 6 7 8 20

7 8 6 5 1 4

RTS CTS DSR DCD DTR

Request To Send Clear To Send Data Set Ready Ground (common) Data Carrier Detect Data Terminal Ready

Figura 5.6. Standardul RS-232C pentru conectorii de 25 i 9 pini Comunicaia serial ntre modem i calculator se realizeaz conform standardului RS232C. La transmisie, calculatorul activeaz semnalul Request to Send, care informeaz modemul de intenia calculatorului de a trimite date, modemul rspunde activnd semnalul Clear to Send de pe pinul corespunztor al conectorului. Datele pot fi acum transmise pe linia Transmitted Data. La recepie, modemul activeaz linia Data Set Ready, care informeaz calculatorul c legtura cu modemul corespondent a fost stabilit, i modemul are date de transmis. Calculatorul rspunde activnd linia Data Terminal Ready, informnd modemul c poate primi date. Datele sunt recepionate pe linia Received Data. Semnalul DCD este activat de modem cnd acesta detecteaz o purttoare, i este gata s stabileasc legatura cu cellat modem. DCD rmne activ pe toat durata legturii seriale ntre cele dou calculatoare. Liniile (pinii conectorului RS-232C) Transmitted Data, Received Data i Ground sunt folosite i atunci cnd comunicaia se face direct ntre calculatoare, neutiliznd modemuri. n figura urmtoare, este artat configuraia conectorului de la captul cablului cu 3 fire ce face legtura direct ntre cele dou calculatoare, conector ce se introduce n conectorul adecvat disponibil n partea din spate a calculatorului. Legnd mpreun liniile RTS cu CTS, i DSR cu DTR i cu DCD, se simuleaz existena unui modem.

Figura 5.7. Legtura serial direct ntre dou calculatoare, utiliznd conectori RS - 232C

5.5. Tastatura

89

Calculatoarele din familia IBM vin cu o tastatur detaabil, ce conine trei zone principale de taste: zona de taste obinuit de la o main de scris, aranjat conform standardului QWERTY, o zon de taste numerice i o zon de taste funcionale. Mai sunt disponibile i cteva taste de control, ntre zona de taste alfanumerice i zona de taste numerice. Tastaturile IBM actuale au 101,102 sau104 taste. Tastatura este ea nsi un microcalculator, coninnd un microprocesor Motorola 6805. Comunicaia cu controlerul de tastatur de pe placa de baz se face serial, microprocesorul 6805 scannd tastele i trimitnd ctre calculator un cod la apsarea unei taste (make code), precum i un cod la eliberarea tastei (break code), ceea ce provoac ntreruperea procesorului central de pe placa de baz, care va prelua codurile respective. Tastatura conine un buffer de 16 caractere ce permite stocarea codurilor a 16 taste, n situaia n care procesorul central nu poate prelua codurile de pe legtura serial (cnd nu poate fi ntrerupt). Comunicaia ntre tastatur i calculator este bidirecional, acesta din urm trimind instruciuni sau date catre tastatur, fiecare transmisie de date sau instruciuni ctre tastatura fiind urmat de un rspuns al tastaturii n maximum 20ms.

Figura 5.8. Schema bloc a tastaturii calculatoarelor personale IBM Microprocesorul tastaturii supravegheaz aa numita matrice de scanare a tastaturii. n fiecare punct de intersecie ntre liniile i coloanele matricii este fixat o tast, care atunci cnd este apasat realizeaz un contact ntre linia i coloana corespunztoare din matrice, ce

90

d posibilitatea microprocesorului 6805 s determine coordonatele tastei apsate, pe care le va trimite sub forma unui cod pe 8 bii (numit "scan code" sau "make code"), via buffer, ctre interfaa de tastatur de pe placa de baz. Astfel, CPU cunoate ce tast este apsat. Conversia din "scan code" n caracterul corespunztor este realizat de un program special, numit driver de tastatur (n cazul sistemului de operare MS-DOS, keyb.com). Astfel, se poate schimba tastatura obinuit (tastatura american) cu una german, fr s fie nevoie s fie schimbat hardware-ul tastaturii i n special matricea de scanare, schimbnd numai tabela de conversie a codurilor de scanare n coduri ASCII. Totui tastatura IBM poate schimba codurile de scanare, oferind trei seturi de coduri de scanare. Codul de relaxare al tastei, transmis la eliberarea tastei (break code), este egal cu codul de scanare plus 128 (bitul 7 setat). Pentru reprezentarea caracterelor, astzi, este folosit aproape n exclusivitate codul ASCII, care asociaz fiecrei taste de pe tastatur, sau unei combinaii de taste ce implic tastele SHIFT, ALT, CTRL, CAPS, un cod binar unic pe 8 bii. Acest cod este folosit mai departe de BIOS-ul sistemului de operare. Nu toate combinaiile de taste au un cod ASCII asociat. Dac se apas simultan tasta SHIFT sau o tast de control (ALT, CTRL etc.) mpreun cu o alt tast, se transmite nti codul de scanare al tastei SHIFT sau al tastei de control, dup care se transmite ctre calculator codul celei de-a doua taste. La eliberarea tastei, ordinea de transmisie a codurilor break este invers.

5.6. Mouse
Mouse-ul este folosit din ce n ce mai mult astzi, pentru a introduce date n calculator n locul tastaturii. Structura mouse-ului este foarte simpl. Acesta conine o bil din cauciuc sau plastic, care se rotete atunci cnd este micat mouse-ul. Aceasta micare este transmis la dou role perpendiculare una pe alta, care convertesc micarea mouse-ului n plan n cele dou direcii, ntr-o rotaie a dou discuri cu guri. Discurile sunt montate la captul axei rolelor, i sunt prevzute cu guri localizate la o distan fix una de alta i la aceeai distan fa de centrul discului, de o parte i de alta a fiecrui disc gsindu-se un ansamblu fotosenzor emitor - receptor. Cnd rolele se rotesc, discul ntrerupe alternativ raza de lumin a ansamblului fotosenzor. Astfel, numrul de ntreruperi ale celor dou ansambluri fotosenzor ne indic exact deplasarea mouse-ului n direciile Ox i Oy, numrul acestor ntreruperi pe secund indicnd viteza de deplasare a mouse-ului. Mouse-ul IBM este echipat cu 2 butoane sau taste, dar exist i mouse-uri cu 3 taste. Majoritatea mouse-urilor sunt conectate printr-o interfa serial. Cnd mouse-ul este micat sau cnd este apsat un buton, se trimite un pachet de date ctre interfaa pentru mouse din
91

calculator, care la rndul ei provoac o ntrerupere unitii centrale. Pentru manipularea acestor ntreruperi este necesar un driver de mouse, care intercepteaz ntreruperile de la interfaa serial la care este legat mouse-ul, citete pachetul de date trimis de mouse i actualizeaz anumite valori, cum ar fi de exemplu poziia mouse-ului. Exist mouse-uri care nu sunt conectate cu un cablu la PC, i care comunic cu calculatorul n infrarou, ntr-un mod similar controlului de la distan al televizorului, transmind datele la un receptor conectat la o interfa serial, sau care poate fi o plac de extensie de sine stttoare.

5.7. Imprimante
Una din cele mai comune probleme de interfaare este cuplarea unei imprimante. La calculatoarele personale IBM, sunt folosite trei tipuri mari de imprimante: imprimante laser, imprimante cu matrice de puncte i imprimante cu margaret (daisy wheel printers). Imprimantele laser funcioneaz pe acelai principiu ca i o main de fotocopiat. Ambele folosesc un tambur acoperit cu un material fotosensibil ce nu dezvolt o ncrcare electric cnd este iluminat, cerneala sau tonerul transferndu-se pe tambur numai pe zonele ncrcate, iar de aici pe hrtie, atunci cnd tamburul se rotete peste foaia de hrtie. La fotocopiatoare, este folosit o lamp, a crei lumin se reflect de pe document pe tamburul fotosensibil. La imprimantele cu laser, se folosete un mic semiconductor laser, a crui raz este scanat pe suprafaa tamburului cu ajutorul unei oglinzi rotative, la o vitez de rotaie mare. Raza laserului este ntrerupt sau nu, n acord cu circuitul generator de caractere, formnd o imagine latent pe tambur (sau un tipar), n acelai fel n care fluxul de electroni formeaz o imagine pe display. Imaginea latent de pe tambur este apoi transferat pe hrtie, prin rotaia tamburului peste foaia de hrtie. Deoarece raza laser poate fi modelat oricum, imprimantele laser pot produce orice fel de imagine: text, grafic sau o combinaie a celor dou. Imprimantele laser sunt rapide, nezgomotoase, dar sunt mai scumpe dect alte genuri de imprimante, ceea ce face ca, n mod normal, o imprimanta laser s fie folosit de mai multe calculatoare, de regul reelele locale de calculatoare fiind prevzute cu o singur imprimant laser. Din cauza partajrii ntre mai multe calculatoare, imprimantele laser sunt echipate, de obicei, cu o interfa serial lucrnd la o vitez de comunicaie mare, ceea ce permite ca imprimanta s fie plasat ntr-un loc central aflat la o oarecare distan fa de calculatoarele ce-i mpart imprimanta. Imprimantele cu matrice de puncte pot produce att texte ct i grafice, pot schimba fonturile de caractere prin software, i sunt destul de rapide pentru multe aplicaii. Imprimantele cu matrice de puncte se numesc aa, deoarece capul de tiprire este alctuit dintr-o grupare de ace, aranjate sub form de matrice cu un anumit numr de ace pe
92

orizontal i un anumit numr de ace pe vertical, fiecare ac fiind comandat separat. Lovind individual fiecare ac n parte, se pot reproduce caractere sau se pot realiza grafice. Aceste imprimante sunt foarte populare datorit preului de cost sczut, ns datorit spaiului dintre ace, calitatea caracterelor las de dorit, nefiind comparabil cu aceea obinut cu o imprimant laser sau cu o imprimant cu margaret. Imprimantele cu margaret sunt imprimante cu impact, la fel ca i cele cu matrice de puncte, transfernd prin lovire cerneala de pe ribon pe hrtie. Aceste imprimante folosesc un singur element circular (de regul din plastic), pe care sunt plasate caracterele, la captul unor "petale" radiind din acest element circular. Pentru a tipri un caracter , se rotete elementul circular pe care sunt prinse petalele, pn cnd petala corespunztoare se afl n poziia de tiprire, dup care se lovete aceast petal, caracterul de pe petal lovind ribonul i imprimndu-se astfel pe hrtie. Imprimantele cu margaret sunt zgomotoase, sunt lente (15-55 caractere/minut), nu pot produce grafice, ns calitatea imprimrilor alfanumerice este superioar celei obinute cu o imprimant cu matrice de puncte. Majoritatea imprimantelor cu matrice de puncte i cu margaret comunic cu calculatorul printr-o interfa paralel. Pentru a lucra cu o imprimant, este necesar n primul rnd o conectare fizic a acesteia la calculator, care s produc semnalele electrice pe care imprimanta s le "neleag". n cazul unei conectri seriale, imprimantele se conecteaz la calculator conform standardului RS-232C, n cazul conectrii paralele utilizndu-se standardul Centronics, care necesit conectori de 36 de pini, IBM folosind numai 25 de pini la ieirea din calculator. n concluzie, cablul pentru o conectare paralel are la captul dinspre imprimant un conector de 36 de pini, la cellalt capt avnd un conector de 25 de pini. Lungimea acestui cablu nu trebuie s depeasc 5m, pentru a se evita erorile de comunicaie. Pentru distane mai mari, se va folosi o imprimant serial. O alt problem ce poate apare la cuplarea unei imprimante este necompatibilitatea caracterelor de control. Caracterele de control sunt caractere individuale sau grupuri de caractere, care sunt recunoscute de imprimant ca instruciuni, i nu ca i caractere tipribile. De exemplu, cnd se dorete scrierea subliniat sau ngroat a unui rnd, programul ce face tiprirea va trimite ctre imprimant, la nceputul i la sfritul rndului, caracterele de control respective, ce vor determina imprimanta s scrie subliniat sau ngroat. Deci, trebuie s existe compatibilitate ntre software-ul ce face tiprirea i imprimanta pe care se realizeaz tiprirea. n afara celor trei tipuri de imprimante prezentate anterior, n ultimul timp sunt disponibile pe pia imprimante cu jet de cerneal, care sunt imprimante fr impact la fel ca i imprimantele laser, dar mult mai ieftine. Imprimarea se face prin aruncarea unui jet de cerneal pe hrtie, fiind posibil obinerea unei rezoluii de 300 de puncte/inch (dots/inch), o rezoluie comparabil cu cea a imprimantelor laser i mai mare dect rezoluia imprimantelor cu matrice de puncte, care au o rezoluie tipic de 100 de puncte/ inch.

93

5.8. Monitoare i adaptoare grafice


Unul din subansamblele principale ale calculatorului personal IBM este subansamblul monitor - adaptor grafic. Propriu-zis, un adaptor grafic este un dispozitiv care poate afia att grafice ct i texte. Monitorul (display-ul) este perifericul de ieire i reprezint dispozitivul cu ajutorul cruia un PC poate prezenta informaii utilizatorului. Caracteristici ale monitoarelor: - definiia imaginea pe monitor fiind constituit din puncte, dimensiunea (diametrul) unui astfel de punct (pitch) reprezintnd definiia monitorului. Cu ct aceast valoare este mai mic, cu att imaginea este mai clar, mai puin obositoare. - dimensiunea diagonalei monitorului valoarea tipic pentru dimensiunea diagonalei este de 14 inch (1inch = 2.54cm), dar se folosesc i monitoare de 15, 17, 20 sau 21 inch (folosite n special la staiile grafice). Monitoarele, din punct de vedere constructiv, sunt de mai multe categorii: - CRT (Cathodic Ray Tube cu tub catodic) sunt identice ca funcionare cu tuburile din televizoarele casnice. - LCD (Liquid Crystal Display ecran cu cristale lichide) folosite pentru sistemele portabile i monitoare plate, au un consum redus de energie. - PDP (Plasma Display Panel ecran pe baz de plasm) - se folosete pentru monitoare de dimensiuni foarte mari i sunt deosebit de costisitoare. n conjunctur cu monitorul se afl placa grafic (sau placa video), care are rolul de a prelua informaiile din calculator, a forma imaginile, i a le trimite monitorului, ca acesta s le poat afia. Caracteristica principal a unei plci video este memoria (numit memorie video) pe care aceasta o conine (1, 2 sau 4Mb, de exemplu). n funcie de capacitatea de memorie a plcii video i de limitrile monitorului, imaginea afisat are urmtoarele caracteristici: - rezoluia reprezint numrul maxim de puncte care pot fi afiate pe o linie a monitorului i, separat, pe o coloan a monitorului (640x480, 720x480, 800x600, 1024x768). Cu ct rezoluia este mai mare, cu att sunt mai multe puncte afiate pe ecran, iar imaginea este mai mic, fiind astfel nevoie de monitoare de dimensiuni mai mari. - numrul de culori monocrome, 4 culori, 16 culori, 256 culori, 65536 culori, etc. Partea central a adaptorului grafic este cipul controler grafic, care controleaz toate operaiile monitorului, afind cursorul, controlnd numrul de linii i coloane, afind graficele i textele etc. Adaptorul grafic are dou moduri de lucru: modul grafic i modul text. n modul text, memoria RAM video conine codurile caracterelor ce vor fi afiate pe

94

ecran. Generatorul de caractere are sarcina de a transforma aceste coduri ntr-o matrice de puncte (sau pixeli) echivalent, astfel nct caracterele s poat fi afiate pe ecran de controlerul grafic. n modul grafic, coninutul memoriei RAM video va fi trimis direct pe ecran, generatorul de caractere nemaifiind activat. CPU pregtete coninutul ecranului, scriind n memoria RAM video. De asemenea procesorul poate citi memoria RAM video. Pentru aceasta, adaptorul grafic este prevzut cu o interfa pentru magistral, care detecteaz dac procesorul lucreaz sau nu cu adaptorul grafic. n plus, procesorul este cel care programeaz cipul controler grafic, de exemplu s utilizeze un ecran de 25 de linii i 80 de coloane, n loc de unul cu 43 de linii i 80 de coloane.

Figura 5.9. Schema bloc a adaptorului grafic Deoarece programarea controlerului grafic depinde de realizarea efectiv a adaptorului grafic, adaptoarele grafice de mare rezoluie EGA i VGA conin propria lor memorie BIOS, reprezentat de o memorie ROM ce conine diferite rutine de lucru cu ecranul, cum ar fi: rutine de comutare ntre diferitele moduri de lucru ale adaptorului, rutine ce permit folosirea paginilor n memoria RAM video etc. Pentru aceasta, CPU de pe placa de baz nu face dect s apeleze rutina corespunztoare din memoria ROM - BIOS din adaptor, via magistral. La PC-urile actuale, adaptorul grafic prezentat mai sus este integrat pe un singur cip. Pentru conectarea monitorului, adaptoarele grafice ce echipeaz calculatoarele personale IBM furnizeaz un semnal analogic, disponibil la un conector adecvat, ceea ce permite afiarea unui numr mai mare de culori pe ecran. La monitoarele RGB (Red-GreenBlue), cuplate printr-un conector RGB, se utilizau semnale digitale separate pentru fiecare

95

culoare fundamental, plus un semnal separat pentru intensitate (high sau low), astfel nct se puteau afia maximum 16 (24) culori simultane pe ecran, prin combinarea semnalelor de pe cele 4 fire. Calculatoarele IBM PS/2 vin echipate cu adaptoarele MCGA - MultiColor Graphics Adapter - n cazul modelelor 25 i 30, i VGA -Video Graphics Adapter - n cazul celorlalte modele (inclusiv modelul 30 /286). Adaptorul VGA permite o rezoluie de 640 x 480 de pixeli i poate afia simultan 256 de culori, dintr-o palet de 218 = 262144 de nuane de culori . Este echipat cu o memorie RAM video de 256 Kb. Adaptoarele VGA mai recente vin echipate cu o memorie RAM video de 1, 2 sau 4Mb pe cip, ce permite o rezoluie de 1024 x 768 sau 1280 x 1024 de pixeli, cu 256 de culori afiate simultan pe ecran. Pentru compatibilitate, VGA poate realiza toate modurile adaptoarelor anterioare: CGA - Colour Graphics Adapter i EGA - Enhanced Graphics Adapter, cu care erau echipate calculatoarele IBM PC/XT i AT. Comparativ, adaptorul EGA permite o rezoluie de 640 x 350 de pixeli i 16 culori simultane dintr-o palet de 64 de culori, iar CGA permite o rezoluie de 320 x 200 de pixeli, cu 4 culori simultane dintr-o palet de 16 culori. Adaptorul MCGA are o rezoluie de 320 x 200 de pixeli la fel ca adaptorul CGA, dar poate afia 256 de culori simultane pe ecran, dintr-o palet de 262144 de culori. Pentru a elibera UCP-ul de efectuarea unor calcule laborioase, au fost realizate adaptoarele grafice TIGA i 8514/A, care ncorporeaz un procesor grafic specializat, i care, pe lng operaiile obinuite ale controlerului grafic de la adaptoarele precedente, realizeaz i unele operaii aritmetice simple, comenzi grafice etc. Astfel, de exemplu, pentru a desena o linie, CPU trebuie s specifice procesorului grafic din adaptor numai coordonatele capetelor liniei, procesorul grafic fiind cel care realizeaz umplerea memoriei RAM video cu un coninut adecvat, astfel nct linia s apar trasat pe ecran. Organizarea i managementul memoriei RAM video cade tot n sarcina procesorului grafic. Datorit frecvenei mai mari a ceasului la care lucreaz procesorul grafic, operaiile grafice sunt realizate mult mai rapid, astfel nct ne putem atepta la o triplare a vitezei de realizare a graficelor de mare rezoluie, iar n cazul altor operaii, cum ar fi umplerea unui dreptunghi, la o viteza de 10 ori mai mare dect n cazul unui adaptor VGA. Firma IBM livreaz calculatoarele IBM PS/2 cu 5 tipuri de monitoare: 8503, 8507, 8512, 8513 i 8514. Modelul 8503 este un monitor de 12 " alb/negru, are cel mai sczut pre de cost, transform culorile n 64 de nuane de gri, fiind utilizat cu succes n aplicaii de "word processing" sau "desktop publishing". Modelul 8514 este cel mai scump dintre toate, este un monitor color de 16 " destinat aplicaiilor grafice intensive, fiind singurul monitor din cele de mai sus care poate afia grafice de mare rezoluie scoase de ctre adaptorul 8514/A.

96

Coninutul ecranului este mprit n mai multe rnduri, fiecare rnd avnd o mulime de puncte, numite pixeli sau elemente de imagine. Exist dou tipuri de ecrane video: ecrane text i ecrane grafice. n modul text, ecranul este mprit n blocuri de pixeli, n fiecare bloc fiind posibil afiarea unui caracter. Cea mai popular mprire a ecranului text divide ecranul n 80 de blocuri pe orizontal i 25 de blocuri pe vertical. Alte ecrane text suportate de calculatoarele IBM sunt 25 x 40 i 43 x 80. Pentru fiecare bloc de caracter, n memoria RAM video exist cte 2 octei asociai, primul indicnd codul ASCII al caracterului ce va fi afiat n blocul respectiv, iar al doilea coninnd atributul caracterului, care definete culoarea caracterului, culoarea fondului pe care va fi afiat caracterul, dac caracterul este sau nu afiat clipitor. Memoria RAM video n modul text ncepe la adresa B800H:0000H pentru majoritatea adaptoarelor grafice. n modul grafic, ecranul nu este tratat ca o matrice de blocuri de pixeli, ci ca o matrice de puncte, memoria RAM video coninnd pentru fiecare pixel de pe ecran informaia de culoare asociat. Depinznd de adaptorul grafic i de modul grafic n care lucreaz adaptorul, fiecare adaptor grafic avnd mai multe moduri de lucru text sau grafice, memoria RAM video va avea o anumit organizare. Astfel, pentru modurile grafice 4 i 5 ale adaptorului CGA, care permit o rezoluie de 320 x 200 de pixeli cu 4 culori simultane, pentru fiecare pixel se asociaz 2 bii, ce codific cele 4 culori, astfel nct un octet din memoria RAM poate codifica culorile a 4 pixeli astfel:

Figura 5.10. Coninutul octetului nr. k din memoria RAM video, ce codific culorile pixelilor 4k, 4k+1, 4k+2, 4k+3 n modul grafic CGA nr. 6 de mare rezoluie, 640 x 200 dar cu 2 culori simultane pe ecran, fiecare pixel va fi codificat numai pe un bit, astfel nct octetul nr. k va conine codificarea culorilor pixelilor 4k - 4k+7. n modurile grafice CGA, memoria RAM video ncepe de asemeni la adresa B800H:0000H, fiind mprit n dou zone de 8Kb. Dimensiunea total a meoriei RAM video este de 16Kb. Prima zon conine codificarea culorilor pixelilor de pe liniile pare ale ecranului, a dou zon va conine codificarea pixelilor de pe liniile impare.

97

Figura 5.11. Structura memoriei RAM video pentru modurile grafice CGA n modurile grafice CGA nu exist dect o singur pagin video, spre deosebire de modurile text, unde pot exista mai multe pagini video, numai una din acestea fiind afiat la un moment dat pe ecran. De exemplu, ntr-un mod text cu 25 de linii i 80 de coloane, ceea ce nseamn 2000 de caractere afiate simultan pe ecran, cu 2 octei necesari pentru codificarea fiecrui caracter, rezult un necesar de 2 x 2000 = 4000 octei pentru o pagin. Deci pot exista 4 pagini text n memoria RAM video de 16 Kb a adaptorului CGA. Adaptorul EGA folosete pentru modurile specifice EGA o organizare diferit a memoriei. Adaptorul VGA folosete exact aceeai organizare i structur a memoriei ca i adaptoarele CGA i EGA, n modurile text i grafice compatibile cu modurile CGA i EGA. Pentru modurile grafice VGA i EGA, memoria RAM video ncepe la adresa A000H:0000H. Modurile grafice specifice EGA i VGA folosesc o organizare a memoriei pe mai multe nivele. Astfel, ntr-un mod grafic EGA sau VGA cu 16 culori simultane, cei 4 bii de culoare pentru fiecare pixel sunt distribuii pe 4 nivele paralele de memorie, pixelii fiind astfel niruii n mod continuu n memoria RAM video, aceasta nemaifiind divizat n 2 bancuri de memorie ca la adaptorul CGA.

98

Figura 5.12. Distribuia biilor de culoare pe mai multe nivele, la adaptoarele EGA i VGA Nivelul 0 de memorie va conine primul bit de culoare pentru toi pixelii de pe ecran, nivelul 1 va conine al doilea bit de culoare pentru toi pixelii de pe ecran .a.m.d.

5.9. Uniti de memorie extern


Pentru ca informaia s fie exploatabil, ea trebuie sa fie inclus pe un suport: dispozitiv fizic capabil s nregistreze, s pstreze, s transmit i s restituie informaia. Dispozitivele cu ajutorul crora se realizeaz conservarea datelor, ntr-un sistem de prelucrare a informaiei, sunt denumite memorii externe (auxiliare). Unul dintre principalele dezavantaje ale acestor dispozitive de stocare este acela c sunt mai lente fa de memoriile interne. Principalul avantaj este c, de cele mai multe ori, sunt mai ieftine dect memoria principal, iar suportul pe care se nregistreaz datele poate fi extras din calculator i poate fi depozitat ntr-un loc sigur. Dispozitivele de stocare cele mai rspndite la ora actual sunt dispozitivele magnetice. Acestea au avantajul unui cost redus, raportat la capacitatea de stocare, n comparaie cu memoriile electrice (de tip RAM, ROM), ns sunt mult mai lente din punct de vedere al timpului de acces la informaiile stocate. Timpul de acces reprezint intervalul de timp mediu scurs ntre momentul n care procesorul solicit o anumit informaie dispozitivului de stocare, i momentul n care aceasta a fost gasit i n care poate ncepe citirea acesteia (de exemplu, o memorie SDRAM actual are timpi de acces n jurul a 10 ns, pe cnd un disc fix poate ajunge la 7-10 ms). Suporturile magnetice sunt organizate sub form de discuri, principiul de funcionare fiind asemntor cu cel de la casetele audio sau video. Trebuie s se fac distincie ntre

99

unitatea de disc, care este dispozitivul ce gestioneaz discul, i disc, care este suportul de memorare propriu-zis. Caracteristicile unui disc magnetic sunt: - capacitatea de memorare, msurat n Kb sau Mb; - viteza de acces la date - timpul de rspuns, scurs ntre momentul unei cereri de acces i momentul obinerii datelor; - rata de transfer a datelor - cantitatea medie de date transferat n unitatea de timp, n condiiile accesrii unui volum mare de date; - timpul de cutare (seek time) este timpul necesar deplasrii capetelor de citire/scriere de la o pist la alta. Se folosesc urmtoarele tipuri de discuri: - discurile flexibile, numite i dischete sau floppy disk-uri. Acestea sunt constituite dintr-un singur disc cu cte un strat magnetic pe fiecare fa a discului, discul magnetic fiind nchis ntr-un suport de plastic prevzut cu o fant pentru accesul capului de citire/scriere la mediu. Sunt medii magnetice mobile, standardele cele mai raspndite fiind de 5,25(1,2Mb), 3,5(1,44Mb) i mai rar 2 (3Mb); vitezele de rotaie ale acestor discuri sunt de 300-360 rotaii pe minut i pot asigura o rat de transfer a datelor de pn la 100Kb/s. Exist i variante care folosesc un disc dur: discul Zip de 4 (100Mb) sau discul Jaz de 4,5 (1Gb), acestea avnd rate de transfer superioare, dependente de tipul de interfa folosit la conectare. - discurile dure (sau fixe), numite n engleza hard-disk-uri. Acestea sunt constituite din mai multe discuri rigide suprapuse, iar capetele de citire/scriere sunt montate pe un sistem de brae, care se deplaseaz n interstiiile dintre discuri, asigurnd citirea/scrierea de pe mai multe fee ale discurilor simultan. Tot ansamblul este nchis ntr-o cutie metalic sigilat ermetic, lucru necesar datorit faptului c discurile nu sunt atinse de capul de citire/scriere (ca n cazul dischetelor), acesta plutind pe o pern de aer la distane de ordinul micronilor. Vitezele de rotaie ale acestor discuri sunt cuprinse ntre 3000 i 10000 rotaii pe minut, i asigur rate de transfer ale datelor ntre 1-2 Mb/s pna la 10-15Mb/s. Capacitile de stocare ale discurilor hard actuale merg pn la 10-20Gb. Discurile hard mai sunt caracterizate i de tipul de interfa prin care se conecteaz la calculator; cele mai des ntlnite sunt discurile IDE sau EIDE (Enhanced Integrated Drive Electronics) i discurile SCSI. Pentru salvarea datelor, ca msur preventiv mpotriva deteriorrii informaiei de pe hard disk, calculatoarele IBM pot fi dotate cu uniti de band magnetic (streamers), discurile flexibile nefiind adecvate acestui scop datorit capacitii mici de memorare, uzual de 500-1000 de ori mai mic dect capacitatea unui hard disk. Benzile magnetice se manipuleaz uor, fiind indroduse ntr-o caset, au o capacitate de memorare mare (pn la 250Mb) i un pre de cost sczut. Unitile de band magnetic simple pot fi conectate la un controler de floppy disk. Totui, unitile de band magnetic performante, cu o rat de

100

transfer a datelor ridicat, necesit propriul lor controler, ce poate fi introdus ntr-unul din conectorii de extensie de pe placa de baz, precum i un software adecvat. Cu o astfel de unitate de band, un hard disk de capacitate medie poate fi salvat n mai puin de 15 minute. Datorit faptului c sunt mai greu de manipulat, precum i datorit apariiei discurilor Zip i Jaz, benzile magnetice sunt foarte rar folosite n prezent. Mediile de stocare optice cele mai rspndite sunt compact discurile. Acestea sunt de mai multe tipuri: - CD-ROM, cu o capacitate de memorare tipic de 650-700Mb. Acestea sunt realizate dintr-un material reflectorizant nchis ntr-un suport de plastic transparent. nscrierea i citirea informaiilor se face cu un fascicul laser, ceea ce determin o uzur sczut a suportului de memorare. Exist i variante care pot fi scrise de mai multe ori sau terse (CD RW rewritable). - DVD (Digital Versatile Disc) tehnologie modern, capacitile de stocare fiind de 4,7Gb pentru discuri cu un singur strat, i de 8,5 Gb pentru discuri cu dou straturi. Acestea pot fi i cu fa dubl, atingnd capaciti de stocare de pn la 9,4, respectiv 17 Gb.

5.9.1. Discuri magnetice


Cele mai populare uniti de memorie extern sunt unitile magnetice, iar dintre acestea floppy disk-urile i hard disk-urile echipeaz toate calculatoarele personale IBM. Aa cum s-a vzut n seciunea precedent, calculatoarele personale IBM folosesc 2 tipuri de discuri flexibile: de 5,25" i de 3,5" n diametru. Cele de 3,5" sunt nchise ntr-o carcas rigid de plastic, i se introduc cu totul n unitatea de disc flexibil. Discurile hard, sau discurile de mare capacitate, nu sunt uniti mobile de memorie, discul hard rmnnd fixat n unitatea de hard disk. De regul, calculatoarele personale IBM sunt dotate cu un combicontroler, care permite conectarea a dou sau mai multe discuri flexibile i a dou sau mai multe hard disk-uri. Acest controler face legtura ntre CPU i unitile de floppy sau hard disk, fiind de fapt un mic i independent calculator, ce conine un microprocesor care ruleaz programe din memoria ROM de pe controler, i care controleaz toate operaiile componentelor electronice din controler. Discurile flexibile sunt de fapt nite discuri din material plastic, acoperite cu un strat de material feromagnetic, de regul pe ambele pri. Primele variante de IBM PC foloseau i discuri flexibile simpl fa, acoperite cu material feromagnetic numai pe una din fee. Timpul de acces maxim la date pentru discuri flexibile este de 200ms, deoarece n cel mai dezavantajos caz discul trebuie s execute o rotaie complet, care se realizeaz n 170200ms, i capul de citire/scriere s execute o micare liniar de amplitudine maxim, ce se realizeaz n 200ms. Cele dou operaii se pot executa n paralel.

101

Figura 5.13. Schema simplificat a unei uniti de floppy disk La calculatoarele IBM, ntlnim discuri flexibile de 5,25" cu o capacitate de 360Kb i 1.2Mb, i discuri flexibile de 3,5" cu o capacitate de 720Kb i 1,44Mb. Informaia este scris pe disc de-a lungul unor cercuri concentrice numite piste, care sunt mprite la rndul lor n sectoare. Fiecare bit de date este scris prin magnetizarea unei zone de o anumit suprafa, de-a lungul unei piste, mrimea acestei zone influennd capacitatea sau densitatea discului. Biii unui octet de date sunt scrii unul dup altul, de-a lungul pistei. ntre piste rmn zone nguste nemagnetizate, astfel nct pistele pot fi distinse n mod neambiguu. De regul, discurile flexibile au ntre 40 i 80 de piste, iar discurile hard de mare capacitate au pn la 2000 - 6000 de piste. Att la discurile flexibile, ct i la discurile hard, care de obicei conin mai multe discuri ce se rotesc solidar, sunt instalate mai multe capuri de citire/scriere; cte unul pentru fiecare fa. Pistele corespondente de pe toate feele, situate la aceeai raz, formeaz un cilindru. Pistele din cadrul unui cilindru sunt distinse prin numrul capului de citire/scriere ce acceseaz faa pe care se afl pista respectiv. Primul cap de citire/scriere are numrul 0. Sectoarele de pe pist sunt numerotate ncepnd de la 1. Parametrii discurilor flexibile: Disc 5,25" 360K 5,25" 1,2M Piste 40 80 Sectoare Lime pist [mm] 9 15 0,330 0,160

102

3,5" 720K 3,5" 1,44M

80 80

9 18

0,115 0,115

nceputul fiecrei piste este marcat la discurile de 5,25" printr-o gaur, la discurile de 3,5" printr-o cresttur n placa de metal central a discului, iar la discurile hard printr-un marcaj magnetic pe fiecare pist, naintea primului sector. Fiecare sector conine un cmp de adres n care sunt nscrise numrul capului de citire/scriere, numrul pistei i numrul sectorului respectiv, n cadrul pistei, urmat de un cmp de date n care sunt nscrise datele propriu-zise. Discurile flexibile au ntre 8 i 18 sectoare pe pist, discurile hard au pn la 40 de sectoare pe pist, sau chiar mai mult. Sub MS-DOS i alte sisteme de operare folosite pe calculatoarele personale IBM, cmpul de date al fiecrui sector conine 512 octei. mprirea discului n piste, sectoare, cilindri, prin scrierea cmpurilor de adres pentru fiecare sector i a altor informaii folosite de controler, se numete formatare fizic. Deci capacitatea unui disc neformatat este mai mare dect capacitatea discului formatat. Astfel, o dischet de 5,25" are 1,6Mb neformatat, dar rmn valabili numai 1,2Mb dup formatare, cei 400Kb fiind utilizai tocmai pentru crearea structurii fizice a discului. n mod obinuit, numai BIOS-ul sistemului de operare lucreaz cu sectoare fizice. MSDOS, ca i alte sisteme de operare, folosete aa numitele sectoare logice, atribuind fiecrui sector fizic cte un numr n secven. Astfel, n cazul unui floppy disk de 3,5" de 1,44Mb, sectorul 1 de pe pista 0, faa 0, va fi sectorul logic 0; sectorul 1 de pe pista 0, faa 1, va fi sectorul logic 2 .a.m.d., sectorul 18 de pe pista 79, fata 1, va fi sectorul logic 2879. Pentru o mai bun nelegere a structurii fizice a discului, se d mai jos formatul MFM al unei piste. Alt format folosit pentru organizarea fizic a discurilor este formatul FM. start of track GAP 4A : 80 octei 4eh SYNC : 12 octei 00h IAM : 4 octei c2h, c2h, c2h, fch GAP 1 : 50 octei 4eh sector SYNC : 12 octei 00h IDAM : 4 octei a1h,a1h, a1h, feh ID : 4 octei tr. hd. sc. sz. CRC : 2 octei cu valoare CRC GAP 2 : 22 octei 4eh SYNC : 12 octei 00h DAM : 4 octei a1h, a1h, a1h, fbh DATA : 512 octei de date
103

CRC GAP 3

: 2 octei cu valoare CRC : 80 octei 4eh

end of track (EOT) GAP 4B : xx octei 4eh Figura 5.14. Structura unei piste MFM O pist ncepe ntotdeauna cu o zon goal de 80 de octei scrii cu valoarea 4eh, ce informeaz controlerul de nceputul unei piste. Dei se folosesc i marcaje mecanice pentru nceputul unei piste (o gaur de index la discurile de 5,25" sau o crestatur la discurile de 3,5"), deoarece distana dintre 2 bii succesivi este de ordinul a ctorva micrometri (la un disc de 5,25" cu 15 sectoare pe pist, aceast distan este de 2 micrometri, i nu se poate executa o gaur cu o asemenea precizie), aceste marcaje mecanice nu pot indica precis nceputul unei piste, fiind necesar utilizarea zonei GAP 4A. Pentru a-i sincroniza elementele de decodificare a informaiei cu viteza de rotaie a discului (care depinde de frecvena tensiunii de alimentare), controlerul utilizeaz nite cmpuri de sincronizare SYNC, de 12 octei, scrii cu valoarea 00h. Cmpul IAM - Index Address Mark - informeaz controlerul c urmeaz zona cu sectoare de pe pist. Fiecare sector conine 10 seciuni, printre care cmpuri goale i de sincronizare. Cmpul IDAM - IDentification Address Mark - indic controlerului nceputul sectorului curent. Cmpul ID - IDentification - conine un identificator de sector n formatul pist-fasector-dimensiune sector. La formatare, controlerul calculeaz o valoare CRC - Cyclic Redundancy Check - pentru cei 4 octei de identificare ai sectorului mpreun cu cmpul IDAM, i scrie aceast valoare CRC de 2 octei n cmpul corespunztor din formatul dat mai sus. Cmpul DAM - Data Address Mark - indic controlerului nceputul zonei DATA, de 512 octei, n care vor fi scrise propriu-zis datele. La scrierea datelor ntr-un sector, controlerul calculeaz o valoare CRC pentru cmpul DATA, pe care o stocheaz n cei 2 octei CRC situai dup cmpul DATA. La citirea unui sector, controlerul calculeaz de asemenea valoarea CRC pentru zona de date a sectorului citit, i compar aceast valoare cu cea existent n cmpul CRC de pe disc, situat dup cmpul DATA. Folosirea cmpurilor CRC este o metod mult mai puternic de verificare a corectitudinii informaiei dect simpla verificare a paritii. Dup ultimul sector de pe pist urmeaz un numr oarecare de octei liberi, pn la marcajul de nceput de pist. Aceast zon se numete EOT, GAP 4B servind ca un buffer elastic ntre nceputul i sfritul pistei. Principial nu sunt diferene ntre discurile flexibile i discurile hard. Dimensiunile cele mai des ntlnite pentru hard disk-uri sunt 5,25" i 3,25". Timpul de acces mediu la hard disk-urile actuale este ntre 7-10 ms (mult mai rapide dect discurile flexibile), i reprezint timpul necesar mutrii capului pe o anumit pist dintr-o poziie oarecare, la care se adaug
104

timpul necesar ca sectorul ce se dorete a fi accesat s apar sub capul de citire/scriere, prin rotaia discului. Pentru a reduce timpul de acces la informaia de pe hard disk, se folosesc memorii cache integrate pe drive sau n controler, care pot reine mai multe sectoare individuale, sau chiar o pist ntreag, nainte ca informaia s fie transferat n memoria principal prin citire, sau nainte ca datele s fie scrise pe disc, dup ce au fost livrate din memoria principal. Timpul de acces la aceast memorie cache este sub 0,4ms. Utilizarea memoriei cache se bazeaz pe faptul c aproximativ 40% din toate accesele la disc sunt secveniale, bineneles depinznd de aplicaie, deci n locul unui acces direct la disc se efectueaz un acces n memoria cache. Este sarcina controlerului s transfere sectoarele sau pistele ntre memoria cache i disc. La calculatoarele cu microprocesor 80386, 80486 sau Pentium ,i cu memorie principal mai mare de 1Mb, se poate emula o memorie cache de disc n memoria principal, cu ajutorul unor programe ca Smartdrive, Diskcache etc. Dezavantajul acestor emulatoare de memorie cache de disc n memoria principal este pierderea informaiei din memoria cache netransferat pe disc, n cazul unei blocri ("agri") a sistemului, ceea ce nu se ntmpl n cazul memoriilor cache hardware de pe controler.

5.9.2. Discuri optice


O alt categorie de dispozitive de memorie extern este reprezentat de dispozitivele optice. Dintre acestea, CD-ROM-urile, care folosesc acelai principiu de nregistrare a informaiei ca i discurile compacte audio (CD-players), sunt folosite n cazul n care se dorete memorarea unei mari cantiti de date, dar care nu pot fi modificate ulterior, cum ar fi baze de date, biblioteci de programe etc. Cu un drive adecvat, CD-ROM-urile pot fi integrate fr probleme n calculatoarele personale IBM actuale, discurile avnd o capacitate uzual de 600-700Mb. Principiul de funcionare, folosit de fapt i la discurile compacte audio, este urmtorul: n interiorul drive-ului de CD-ROM, un mic semiconductor laser emite o raz laser foarte ngust, cu lungimea de und de 850nm. Informaia este scris pe disc sub forma unor mici denivelri. Raza laser este scanat foarte precis pe toat suprafaa discului, cu ajutorul unei oglinzi rotative. Un senzor din interiorul drive-ului detecteaz intensitatea razei reflectate de suprafaa discului, intensitate care variaz n funcie de adncimea denivelrilor, i care este transformat ulterior ntr-un ir de bii. Spre deosebire de discurile magnetice, informaia nu este scris de-a lungul unor piste concentrice, ci de-a lungul unei spirale care ncepe din centrul discului.

105

Principalul dezavantaj al CD-ROM-urilor este faptul c informaia nu poate fi modificat. Urmtorul pas n dezvoltarea tehnologiilor optice de memorare a informaiei a fost apariia discurilor WORM - Write Once Read Many, ce permit scrierea informaiei pe disc de ctre utilizator, dar numai o singur dat, dup care informaia poate fi citit de un numr nelimitat de ori. Dac vrem s modificm o nregistrare de date de pe disc, nregistrarea modificat va trebui scris ntr-o zon liber a discului, vechea nregistrare rmnnd n continuare pe disc. Discurile WORM au aceeai capacitate ca i CD-ROMurile, dar capacitatea mare de memorare se pltete printr-o rat de transfer a datelor mic, de 150 Kbytes/s, i un timp de acces mediu de 50ms. Pentru comparaie, un floppy disk de 1,2Mb are o rat de transfer a datelor de 85Kbytes/s. Discurile optice sunt uniti mobile de memorie, un disc CD-ROM sau CD-WR cu capacitatea dat mai sus fiind ceva mai mare dect un floppy disk. Discurile optice nu au nlocuit discurile magnetice, att datorit faptului c discurile optice sunt lente i practic chiar i discurile CD-RW nu sunt discuri read-write propriu-zise, ct i datorit creterii continue a capacitii de stocare a hard disk-urilor. Alt categorie de discuri optice sunt discurile DVD (Digital Versatile Disc), capacitile de stocare ale acestor discuri fiind date la nceputul seciunii 5.9.

5.10. Alte dispozitive de intrare/ieire


Pe lng dispozitivele de intrare/ieire descrise n subcapitolele anterioare, la PC-urile actuale mai pot fi conectate, prin intermediul unor plci "plug-in board" introduse n conectorii de extensie de pe placa de baz, urmtoarele dispozitive externe: scanere, uniti optice de recunoatere a caracterelor, plci de achiziie i prelucrare a imaginilor, plci de comunicaie prin FAX, sintetizatoare muzicale, plci de recunoatere i sintez a vorbirii, adaptoare pentru conectarea la o reea local de calculatoare, convertoare analog-digitale i digital-analogice etc. Scanerele sunt dispozitive optice de intrare, care permit introducerea imaginilor n calculator, dup care aceste imagini pot fi memorate, prelucrate sau afiate pe ecran, fiind utile n special n aplicaii de "desktop publishing". Unitile optice de recunoatere a caracterelor sunt, de fapt, scanere specializate pentru citirea i conversia n coduri ASCII a caracterelor de pe documentul scanat. Plcile de achiziie i prelucrare a imaginilor permit introducerea, memorarea i prelucrarea imaginilor preluate de la o camer video, video recorder sau alte dispozitive video. Software-ul furnizat cu aceste plci permite att prelucrarea detaliat a acestor imagini, ct i transmiterea acestor imagini prin modem ctre un alt calculator.

106

Plcile de comunicaie prin FAX permit transmiterea/recepionarea documentelor text sau grafice ctre/de la un aparat FAX, sau un calculator echipat cu o plac de comunicaie prin FAX. Mai precis, aceste plci mpreun cu software-ul adiacent pot prelua documente text sau imagini grafice, pe care le pot transforma ntr-o form recunoscut de ctre un receptor FAX, dup care pot memora pe hard disk sau transmite aceste documente. Reelele locale de calculatoare permit partajarea resurselor ntre utilizatorii reelei, servicii de pot electronic i, n general, o comunicaie de mare vitez ntre calculatoare. Cele mai uzuale adaptoare pentru o reea local de calculatoare sunt adaptoarele pentru reelele IBM Token-Ring i Ethernet, pentru acesta din urm fiind dezvoltat sistemul de operare Novell Netware. n special n aplicaiile de conducere cu calculatorul a proceselor industriale, ne aflm n situaia cnd trebuie s "manipulm" sau s lucrm cu mrimi care nu sunt numerice sau digitale. De fapt, lumea exterioar este n esen continu sau de natur analogic, i nu discret sau digital. Mrimile analogice, care de cele mai multe ori sunt nite tensiuni electrice variind ntre anumite limite, trebuie convertite n mrimi numerice nainte de a fi introduse n calculator pentru a fi prelucrate de acesta. Acest lucru este realizat de un dispozitiv (care poate fi un singur cip) numit convertor analog-digital, care, n principiu, msoar tensiunea analogic de la intrare i transform aceast mrime ntr-un numr binar echivalent, pe un anumit numr de bii. Cu ct este mai mare acest numr de bii, cu att vom avea mai multe nivele discrete de tensiune care s corespund marimii analogice de la intrare. Numrul de bii pe care se face conversia analog-digital este, de fapt, un indicator de performan al convertoarelor analog-digitale. Bineneles c este necesar i un dispozitiv care s realizeze conversia invers, din mrimi numerice n mrimi analogice, acest dispozitiv numindu-se convertor digital-analogic.

107

6. ARHITECTURI PARALELE DE CALCULATOARE 6.1. Evoluia sistemelor de calcul. Calculatorul de tip von Neumann.
Elementul principal, care a marcat decisiv generaiile de calculatoare, a fost tehnologia de realizare a dispozitivelor i circuitelor care au stat la baza acestor calculatoare. Alte elemente luate n calcul, atunci cnd se face o mprire a calculatoarelor n generaii, pot fi tipurile de arhitecturi folosite n construcia sistemelor de calcul, limbajele de programare folosite, sistemele de operare utilizate etc. Prima generaie de calculatoare (1938-1953), care ncepe odat cu apariia primului calculator analogic, n 1938, i al crei principal reprezentant este primul calculator digital ENIAC, construit n 1946, este marcat de folosirea releelor electromagnetice i a tuburilor electronice. n aceast generaie, programarea calculatorului se fcea numai n limbaj codmasin. A doua generaie de calculatoare (1952-1963) este determinat de folosirea tranzistorului (descoperit n 1948) i diodei, primul calculator digital tranzistorizat fiind TRADIC, construit la Bell Laboratories n 1954. n aceast generaie, programarea calculatoarelor se face n limbaj de asamblare, i sunt dezvoltate limbajele de nivel nalt: FORTRAN (Formula Translation) n 1956, COBOL (Common Business Oriented Language) n 1959 i ALGOL (Algorithmic Language) n 1960. n cea de-a treia generaie de calculatoare (1962-1975), sunt folosite ca dispozitive de baz circuitele integrate pe scar mic - SSI (Small Scale Integrated) i scar medie - MSI (Medium Scale Integrated), cum ar fi porile logice, multiplexoarele, decodificatoarele, registrele etc. Totodat sunt mbuntite compilatoarele pentru limbajele de nivel nalt, apar sistemele de operare n timp real, sunt folosite conceptele de multiprogramare (execuia mai multor programe n acelai timp, prin suprapunerea operaiilor unitii centrale cu operaii de intrare/ieire) i memorie virtual. Reprezentanii acestei generaii sunt calculatoarele IBM 360/91, Illiac IV, Cyber-175 etc. A patra generaie de calculatoare ncepe n 1972, fiind marcat de folosirea circuitelor integrate pe scar larg - LSI (Large Scale Integrated) i foarte larg - VLSI (Very Large Scale Integrated), principalele circuite de acest gen fiind microprocesorul i circuitele integrate de memorie. Este continuat evoluia software-ului utilizat pe calculatoarele din aceast generaie, sunt dezvoltate calculatoarele vectoriale Cray-1 (1976) i Cyber-205
108

(1982), i calculatoarele "mainframe" de mare vitez cum ar fi UNIVAC 1100/80 (1976), IBM 3081 (1980), Cray X-MP (1983) etc. Tot n aceast perioad apare fenomenul calculatoarelor personale, care ncep s foloseasc conceptele de "pipelining" i paralelism ntlnite la supercalculatoare, devenind din ce n ce mai puternice. Mult vlv n lumea utilizatorilor de calculatoare a fost creat n 1981, cnd Ministerul Industriei i Comerului Exterior din Japonia, mpreun cu cele mai mari firme electronice din aceeai ar: Fujitsu, Hitachi, NEC, Toshiba etc., au lansat un proiect de cercetare de mare anvergur, cu un buget de 400 milioane dolari, care trebuia s produc saltul decisiv la nceputul anilor '90, de la calculatoarele din generaia a patra la calculatoarele din generaia a cincea. Aceste calculatoare din generaia a cincea trebuiau s aib ca aplicaie principal sistemele expert, care s poat fi consultate de ctre cineva care necesit cunotinele unui expert uman, trebuiau s aib o interfa om-masin mbuntit care s permit utilizatorului s comunice cu calculatorul prin imagini i limbaj natural, viteza de calcul trebuia s fie mult mai mare, ntre 100MLIPS i 1GMLIPS (LIPS - Logical INferences per Second - numr de inferene logice pe secund), n timp ce calculatoarele prezente aveau o vitez de 0,01MLIPS 0,1MLIPS. Dei n perioada de timp scurs de la lansarea acestui proiect pn n prezent dezvoltarea tehnologic a continuat, n ce privete gradul de integrare i viteza de lucru a componentelor electronice, i de asemenea software-ul utilizat a fost perfecionat, totui se poate spune c proiectul nu i-a atins scopurile iniiale mult prea ambiioase. n concluzie, muli autori evit un subiect att de controversat ca aceast mprire a calculatoarelor n generaii de calculatoare, i anume, dac n prezent suntem nc n generaia a patra, sau am trecut deja n generaia a cincea de calculatoare. Ce se poate afirma cu certitudine este c exist o foarte mare diferen ntre interfaa om-main actual, caracterizat de interfee grafice eficiente, sisteme multimedia, achiziie i prelucrare a imaginilor i textelor folosind scanere i camere de luat vederi, recunoatere parial a vorbirii etc., i interfaa om-main de la primele calculatoare ale generaiei a patra, dei nc nu se poate dialoga cu calculatorul n limbaj natural, neutiliznd tastatura. Calculatoarele comerciale uzuale, utilizate pn n prezent, sunt calculatoare n care operaiile ce se realizeaz sunt codificate binar, i sunt stocate n memoria intern a calculatorului sub forma unui program, de unde sunt executate ntr-o anumit secven predefinit. Calculatoarele care au la baz acest acest concept sunt numite calculatoare de tip von Neumann, dup numele celui care a pus bazele acestui concept n anii '40. Un calculator de tip von Neumann conine: - o memorie pentru stocarea att a instruciunilor ct i a datelor supuse prelucrrii; - o unitate de control pentru aducerea instruciunii urmtoare din memorie i realizarea operaiilor de control; - o unitate aritmetico-logic pentru realizarea operaiilor aritmetice i logice;

109

- sistemul de I/E i dispozitivele periferice, pentru transferarea datelor ntre calculator i utilizator. Unitatea de control i unitatea aritmetico-logic sunt, de regul, combinate ntr-o unitate central de prelucrare - UCP. Pentru reprezentarea numerelor, caracterelor sau codificarea instruciunilor este folosit sistemul binar, care necesit numai dou nivele de tensiune pentru reprezentarea unui digit (cifr binar), n timp ce logica boolean este folosit pentru realizarea operaiilor logice. Memoria principal conine att instruciunile ct i datele prelucrate de aceste instruciuni, fiind posibil accesarea locaiilor de memorie n orice ordine (conceptul de memorie RAM - Random Access Memory). Un calculator von Neumann conine pe lng memoria principal, care n prezent este o memorie semiconductoare, o memorie auxiliar de mare capacitate, mai lent dar mai ieftin, uzual o memorie magnetic. Unitatea central are un numr oarecare de registre interne folosite n operaiile curente de prelucrare, adresare a memoriei sau operaii de control. Registrul indicator de instruciuni - IP, denumit uneori i registru numrtor de instruciuni - PC (Program Counter), conine adresa urmtoarei instruciuni de executat i este actualizat automat dup citirea fiecrei instruciuni, astfel nct s indice urmtoarea instruciune din program, care de regul se afl n urmtoarea locaie de memorie. n scrierea unui program care realizeaz o anumit prelucrare, programatorul selecteaz instruciunile dintr-un set de instruciuni pe care le poate executa unitatea central de prelucrare pe care se execut programul. O instruciune este specificat prin tipul operaiei executate de instruciune (de exemplu adunare, scdere, salt etc.), precum i prin operanzii asupra crora se execut operaia respectiv. Dac operanzii sunt coninuti n memorie i nu n registrele interne, n instruciune vor trebui specificate adresele operanzilor, precum i adresa rezultatului. Se prefer ca rezultatul s fie plasat n locul unuia din operanzi, astfel nct n instruciune se specific cel mult adresele a doi operanzi. Majoritatea calculatoarelor nu au instruciuni cu mai mult de doi operanzi. Pentru adresarea operanzilor, unitatea central de prelucrare implementeaz mai multe mecanisme de adresare (vezi sectiunea 4.1.6). Instruciunile sunt realizate n dou etape: citirea instruciunii din memorie (fetch cycle) i execuia instruciunii (execute cycle), aceast ultim etap incluznd citirea operanzilor din memorie i transferul rezultatului. Pentru execuia instruciunilor, UCP folosete conceptul de microprogramare, diviznd fiecare instruciune ntr-un numr de pai succesivi executai de unitatea de control, care comand toate operaiile unitii aritmetico-logice. Calculatoarele personale IBM sunt calculatoare de tip von Neumann perfecionate, microprocesoarele INTEL de la baza acestor calculatoare implementnd conceptul de "pipeline", iar n cazul microprocesoarelor I80486 i PENTIUM concepte RISC. Nu toate calculatoarele sunt calculatoare de tip von Neumann. Calculatoarele organizate pe baza fluxului de date stocheaz instruciunile ntr-o memorie intern, dar acestea nu sunt executate ntr-o secven predefinit de un program (vezi sectiune 6.8), n timp ce

110

calculatoarele neuronale, realizate pe baza reelelor neuronale (neural networks) i care ncearc s imite creierul uman, au renunat complet la conceptul de instruciune. Alte calculatoare pot s renune la sistemul binar i logica boolean, implementnd logici i reprezentri polivalente. Sunt produse n prezent microcontrolere i procesoare fuzzy bazate pe o logic fuzzy, ce este o logic continu cu valori de adevr cuprinse ntre 0 i 1, logica bivalent fiind un caz particular al acesteia. Totui, se poate spune c aceste tipuri de calculatoare neconvenionale (ele nu sunt de fapt calculatoare von Neumann) rmn nc n sfera cercetrii, nefiind deocamdat calculatoare comerciale de larg utilizare. De regul, aceste tipuri de calculatoare neconvenionale, ca i calculatoarele paralele descrise n continuare, sunt realizate sub forma unor uniti ataate unui calculator gazd von Neumann, care realizeaz operaiile de I/E precum i operaiile generale de management i control.

6.2. Paralelism n sistemele uniprocesor


Toate calculatoarele uniprocesor au n principiu aceeai structur, fiind caracterizate prin existena unei singure uniti centrale de prelucrare n sistem. Majoritatea calculatoarelor comerciale sunt calculatoare uniprocesor. De-a lungul timpului au fost dezvoltate o serie de mecanisme de procesare paralel la aceste calculatoare, dei nu sunt calculatoare paralele propriu-zise. Aceste mecanisme sunt urmtoarele: - Folosirea mai multor uniti funcionale - Un exemplu este calculatorul IBM 360/91 realizat n 1968, care are dou uniti de execuie a calculelor, una pentru numere n virgul fix alta pentru numere n virgul mobil, aceasta din urm fiind compus la rndul ei din dou uniti care pot lucra n paralel: o unitate pentru adunarea i scderea numerelor n virgul mobil, cealalt pentru nmulirea i mprirea numerelor reprezentate n virgul mobil. - Folosirea conceptului de band de asamblare, implementat i la procesoarele din familia I80x86. - Suprapunerea operaiilor unitii centrale cu operaii de intrare/ieire, prin folosirea procesoarelor de intrare/ieire sau a canalelor DMA, care sunt responsabile de efectuarea operaiilor de intrare/ieire, n timp ce UCP execut alte operaii. Canalele de acces direct la memorie DMA sunt folosite atunci cnd controlerul de I/E, care controleaz direct operaiile de intrare/ieire cu un dispozitiv periferic, nu poate accesa memoria intern, i face apel la un canal DMA pentru efectuarea transferurilor de date ntre memoria intern i dispozitivul periferic. - Ierarhizarea memoriei - ntreaga memorie a calculatorului este "vzut" ca o ierarhie de nivele care are la baz memoria extern, sau memoria secundar, care este cea mai lent, dar are cea mai mare capacitate, pe msur ce urcm treptele ierarhiei crescnd viteza de acces la memorie, dar n acelai timp descrescnd capacitatea memoriei (vezi figura 6.1).
111

Unele uniti centrale de prelucrare, cum ar fi I80486 sau Pentium, au o memorie cache intern pe cip, pe lng memoria cache extern obinuit. De asemenea, registrele interne pot fi considerate ca fiind uniti de memorie foarte rapid. Memoria cache se folosete pentru a acoperi diferena de vitez dintre UCP i memoria principal, n timp ce conceptul de memorie virtual se folosete pentru a acoperi diferena de vitez dintre memoria principal i memoria secundar.

Figura 6.1. Ierarhizarea memoriei ntr-un sistem uniprocesor. - Multiprogramare i time-sharing. Prin multiprogramare se nelege existena mai multor procese (programe, task-uri) active n acelai timp n calculator, i care concureaz n vederea obinerii resurselor calculatorului: UCP, memorie, dispozitive de I/E. Este posibil acest lucru deoarece unele programe folosesc intensiv UCP-ul pentru efectuarea calculelor, n timp ce alte programe efectueaz mai mult operaii de I/E, asa nct cele dou tipuri de programe pot fi rulate n paralel. Aceast suprapunere a execuiei mai multor programe are dezavantajul c, uneori, un program cu o prioritate nalt poate ocupa UCP-ul sau alte resurse, mpiedecnd execuia celorlalte programe. Aceast problem este rezolvat n sistemele de operare n timp real, prin alocarea unor uniti de timp fixe sau variabile tuturor programelor din sistem. Astfel, o resurs este alocat unui proces un anumit interval de timp, dup care, indiferent dac procesul a terminat sau nu operaia, resursa este eliberat i alocat unui alt proces, dndu-se n acest mod o ans i proceselor mai puin prioritare.

6.3. Calculatoare pipe-line


n mod obinuit, execuia unei instruciuni ntr-un calculator digital implic execuia urmtorilor pai:

112

- citirea instruciunii din memorie (instruction fetch); - decodificarea instruciunii (instruction decoding); - citirea operanzilor (operand fetch); - execuia instruciunii (execution); - memorarea rezultatului (store result). ntr-un calculator pipe-line, mai multe instruciuni succesive sunt executate n paralel, aa cum este artat n figura 6.2. Acesta este un exemplu n care procesorul are 5 faze pipe-line, astfel nct pot fi executate n paralel 5 instruciuni; spre exemplu, la un moment dat se face citirea instruciunii I5, decodificarea instruciunii I4, citirea operanzilor instruciunii I3, execuia instruciunii I2 i memorarea rezultatului instruciunii I1, rezultnd o vitez de prelucrare de cinci ori mai mare. n cazul general al unui procesor cu k faze pipe-line, rezult o cretere a vitezei de execuie a instruciunilor de k ori.

Figura 6.2. Execuia suprapus a instruciunilor ntr-un calculator pipe-line. Conceptul de "pipe-line", din calculatoare, este similar conceptului de band de asamblare dintr-o fabric, care duce la creterea produciei n fabrica respectiv. Pentru a se materializa conceptul de paralelism temporal introdus mai sus, ntr-un calculator pipe-line orice proces sau activitate este mprit n subactiviti, fiecare din acestea fiind executat de un hardware specializat. Deci paralelismul este realizat sau activiti. Ceea ce s-a prezentat anterior se poate desemna prin termenul de "instruction pipelining", sau de execuie simultan a mai multor instruciuni pe baza conceptului de band de asamblare. Aproape toate calculatoarele actuale implementeaz acest concept. Dar i unitatea aritmetic poate fi compus din mai multe uniti separate care s lucreze n paralel i care s execute mai multe operaii nlnuite, conform conceptului de band de asamblare. nu prin multiplicarea unitilor funcionale (paralelism spaial), ci prin execuia suprapus n timp a mai multor instruciuni

113

Acest gen de paralelism este desemnat prin termenul de "arithmetic pipelining", un exemplu de unitate aritmetic care implementeaz acest concept, fiind unitatea aritmetic a calculatorului IBM 360/91. Operaiile cu numere n virgul mobil , spre deosebire de cele cu numere n virgul fix, se preteaz la o execuie n paralel, fiind executate ca o secven de pai succesivi chiar i n calculatoarele care nu folosesc conceptul de "arithmetic pipelining". De exemplu, adunarea a dou numere reprezentate n virgul mobil : m1x2e1 i m2x2e2 necesit execuia urmtorilor pai: 1. calculul diferenei e1-e2 2. dac e1-e2 este negativ schimb mantisele ntre ele i schimb semnul diferenei e1-e2 3. deplaseaz mantisa m2 cu e1-e2 poziii spre dreapta (se mparte cel de-al doilea numr cu 2e1-e2) 4. adun mantisele i pune rezultatul n m2. 5. normalizeaz mantisa: dac mantisa rezultat este mai mare dect 1, deplaseaz mantisa rezultatului cu o poziie spre dreapta i adun 1 la exponent; dac mantisa rezultat este mai mic dect 1/2, deplaseaz mantisa rezultat cu o poziie spre stnga i scade 1 din exponent. Cei 5 pai care intervin n adunarea a dou numere reprezentate n virgul mobil trebuie executai unul dup altul, dar este posibil execuia simultan a cinci operaii de adunare a dou numere n virgul mobil, astfel nct, n timp ce se normalizeaz mantisa rezultatului la prima operaie, se adun mantisele la cea de-a doua operaie, se deplaseaz mantisa m2 la cea de-a treia operaie etc., obinndu-se acelai efect ca i cnd cei cinci pai ce intervin n execuia adunrii a dou numere n virgul mobil ar fi executai n paralel. n funcie de instruciunile i tipurile de date pe care le pot manipula, procesoarele pipeline pot fi clasificate n procesoare scalare i procesoare vectoriale. Calculatoarele pipe-line vectoriale sunt prevzute cu resurse hardware i instruciuni, care pot opera asupra unor operanzi de tip vector. ntr-un asemenea calculator se poate specifica, printr-o singur instruciune, o operaie asupra tuturor elementelor unuia sau mai multor vectori. Elementele vectorilor pot s fie ori numai numere ntregi, ori numai numere reale n virgul mobil. Procesoarele vectoriale pot fi proiectate i ca uniti care s fie ataate unui calculator scalar, pentru a-i crete acestuia din urm viteza de execuie a operaiilor cu vectori. n mod normal, supercalculatoarele actuale sunt prevzute cu faciliti vectoriale. Calculatoarele vectoriale sunt o aplicaie excelent a conceptului de band de asamblare. Un procesor vectorial, ca orice procesor von Neumann, citete instruciunile vectoriale din memorie i prelucreaz unul sau mai muli vectori de intrare, pentru a produce un ir de elemente de ieire sau vector rezultat. Majoritatea procesoarelor vectoriale folosesc un numr mare de registre interne pentru stocarea vectorilor, aa cum se ntmpl la calculatoarele Cray, dei alte calculatoare, cum ar fi Cyber-205, stocheaz vectorii n memorie.

114

Cele mai recente calculatoare vectoriale sunt calculatoarele Cray-1, Cray-2, Cray XMP, Cray Y-MP ale firmei Cray Research, Cyber-200 i Cyber-205 ale firmei Control Data Corporation, Fujitsu VP-200 al firmei Fujitsu etc.

6.4. Clasificarea Flynn a arhitecturilor de calculatoare


Cea mai popular schem de clasificare a arhitecturilor de calculatoare este cea realizat de Flynn n 1966, care ia n calcul numrul de fluxuri de instruciuni i de date dintr-un calculator. Conform acestei scheme, arhitecturile de calculatoare pot fi mprite n trei mari grupe: - Calculatoare SISD - Single Instruction stream Single Data stream - care cuprinde majoritatea calculatoarelor actuale i la care instruciunile sunt executate secvenial, dar pot fi suprapuse conform conceptului de band de asamblare. La aceste calculatoare SISD, un singur flux de instruciuni opereaz asupra unui singur flux de date. Deci calculatoarele pipeline sunt tot calculatoare SISD, deoarece rmn n cadrul accepiunii de calculator cu un singur flux de instruciuni i un singur flux de date. Un calculator SISD poate avea totui mai mult de o unitate funcional destinat ndeplinirii unei anumite funcii. Calculatoarele IBM 360/91, PDP 11, CDC 6600, Cray-1, Fujitsu VP-200, Cyber -205, FPS -164 etc. sunt exemple de calculatoare SISD. - Calculatoare SIMD - Single Instruction stream Multiple Data stream. ntr-un calculator SIMD exist mai multe elemente de prelucrare sau elemente de procesare, supervizate de o unitate de control. Unitatea de control distribuie aceeai instruciune ctre toate elementele de prelucrare, fiecare element de prelucrare opernd pe un set diferit de date. Se formeaz astfel mai multe fluxuri de date, dar numai un singur flux de instruciuni. Exemple de calculatoare SIMD sunt calculatoarele ILLIAC IV, PEPE, BSP, care sunt calculatoare word-slice, i STARAN, MPP, DAP care sunt calculatoare bit-slice. - Calculatoare MIMD - Multiple Instruction stream Multiple Data stream. Aceast categorie cuprinde majoritatea sistemelor multiprocesor, la care se genereaz cte un flux de instruciuni pentru fiecare procesor n parte. Toate fluxurile de instruciuni i date pentru toate procesoarele din calculator vin din aceeai memorie comun, ce este partajat de cele n procesoare care coopereaz n rezolvarea unei probleme. Dac fluxurile de instruciuni nu vin dintr-o memorie partajat, ci fiecare procesor are propria lui memorie, avem de-a face cu un sistem multiprocesor cu schimb de mesaje ntre procesoare, i nu cu ceea ce se nelege printrun calculator MIMD intrinsec. Un asemenea sistem multiprocesor fr memorie partajat este practic un ansamblu de sisteme SISD, care schimb mesaje ntre ele printr-o reea de interconectare. Unii autori prefer s numeasc sistemele multiprocesor fr memorie partajat tot sisteme MIMD. n lucrarea de fa, vom utiliza noiunea de sistem multiprocesor, care este mai larg dect noiunea de calculator MIMD, incluznd aici i sistemele
115

multiprocesor cu schimb de mesaje. De asemenea, prin sistem multiprocesor vom nelege un sistem de calcul centralizat, cu toate resursele hardware i software aflate ntr-un anumit centru, i cu ntrzieri de comunicaie neglijabile ntre subsisteme. Reelele de calculatoare i sistemele distribuite nu fac obiectul acestei lucrri. Exemple de calculatoare MIMD: UNIVAC 1100/80, IBM 3081/3084, Burroughs D-825, Cray-2, Cray X-MP, Denelcor HEP etc.

Figura 6.3. Structuri SISD, SIMD i MIMD conform clasificrii Flynn. Cea de-a patra combinaie posibil n cadrul clasificrii Flynn, calculatoarele MISD Multiple Instruction stream Single Data stream, practic nu exist n realitate, dei unii autori ncearc s introduc n aceast categorie calculatoarele pipe-line.

6.5. Calculatoare SIMD


ntr-un calculator SIMD, instruciunile unui program sunt citite din memorie de ctre o singur unitate de control, n aceeai manier ca i la un calculator von Neumann obinuit (calculator SISD), folosind un registru indicator de instruciuni. Instruciunile uzuale care se ntlnesc la orice procesor, cum ar fi instruciunile de salt, instruciunile aritmetico-logice ce prelucreaz scalari etc., sunt executate direct de unitatea de control. n schimb alte instruciuni, cum ar fi instruciunile vectoriale, sunt executate de ctre o matrice de elemente de prelucrare, sau elemente de procesare, unitatea de control distribuind o instruciune ctre toate elementele de procesare, care realizeaz aceeai operaie, dar asupra unor date diferite. Elementele de prelucrare pot fi inhibate printr-un mecanism de mascare, astfel nct s nu realizeze o instruciune distribuit de unitatea de control.

116

Memoria din care elementele de prelucrare vor lua datele poate fi o memorie local elementului de prelucrare respectiv, sau o memorie global, caz n care elementele de prelucrare vor accesa modulele de memorie global printr-o reea de interconectare (vezi figura 6.4). Programele sunt stocate n memoria unitii de control, care poate accesa i memoriile locale ale elementelor de procesare n primul caz, sau modulele de memorie global n cel deal doilea caz, prin intermediul unei magistrale de date. De asemenea, reeaua de interconectare prin care elementele de procesare schimb date ntre ele n primul caz, sau prin care elementele de procesare sunt conectate la modulele de memorie global n cel de-al doilea caz, este sub controlul unitii de control.

Figura 6.4. Arhitecturi SIMD Fiecare element de prelucrare are registre locale, i poate realiza operaii aritmeticologice asupra unor date, care de regul sunt elementele unui vector sau ale unei matrici. De exemplu, la o operaie de adunare a doi vectori A := A+B, unde A i B sunt vectori de dimensiune n, elementul de procesare i execut operaia Ai := Ai+Bi, Ai fiind elementul i al vectorului A i Bi elementul i al vectorului B. Este necesar ca elementele Ai i Bi s se gseasc n memoria local a elementului de prelucare i, nainte de de execuia instruciunii, dac se folosete o arhitectur SIMD cu elemente de procesare care au propria lor memorie. Deci, exist dou tipuri de calculatoare vectoriale, primul tip folosind tehnici pipe-line, n timp ce al doilea tip folosete o matrice de elemente de procesare. Dei au fost dezvoltate calculatoare SIMD destul de timpuriu, cum ar fi ILLIAC IV dezvoltat la University of Illinois i construit de Burroughs Corporation n 1972, i BSP Burroughs Scientific Processor - dezvoltat la mijlocul anilor '70, marea majoritate a

117

productorilor de calculatoare comerciale nu s-au artat prea entuziasmai de aceast idee, prefernd s construiasc n continuare calculatoare SISD tradiionale, crora s le adauge capabiliti vectoriale folosind conceptul de band de asamblare. Variantele recente ale procesorului Intel Pentium sunt prevzute cu capabiliti SIMD. Aplicaiile prevzute s fie rezolvate de calculatoarele SIMD sunt: - operaii cu matrici: adunri, nmuliri, inversri, valori proprii etc.; - rezolvarea unor ecuaii difereniale dificile; - probleme de programare liniar; - analiz Fourier; - procesare de imagini i recunoatere a formelor etc. Calculatoarele SIMD pot s conin elemente de prelucrare care opereaz pe un singur bit (aa numitele calculatoare SIMD bit-slice), i nu pe un cuvnt format din mai muli bii (calculatoare word-slice). Aceste calculatoare SIMD bit-slice au ca aplicaie principal prelucrarea de imagini, ntruct o imagine este reprezentat ca o matrice de pixeli i, de multe ori, este necesar efectuarea aceleeai operaii asupra fiecrui pixel, la o vitez mare. Ca exemple de calculatoare SIMD bit-slice pot fi date calculatorul CLIP, dezvoltat la University College n Londra, i MPP - Massively Parallel Processor, dezvoltat n 1983 la NASA i destinat prelucrrii imaginilor preluate prin satelit. Acest calculator MPP conine o matrice de 128 x 128 = 16384 de microprocesoare bit-slice, care pot fi folosite n paralel, i care sunt supervizate de o unitate de control. Deci, la aceste calculatoare, fiecare element de prelucrare este un microprocesor bit-slice care efectueaz toate operaiile aritmetico-logice pe un singur bit, i care este conectat la un anumit numr de microprocesoare vecine.

6.6. Sisteme multiprocesor cu memorie partajat


ntr-un sistem multiprocesor, mai multe procesoare independente opereaz asupra unor fluxuri de date separate, coopernd n rezolvarea unei anumite probleme. Comunicaia dintre procesoare se poate realiza fie printr-o memorie comun, partajat de toate procesoarele din sistem, fie prin trimiterea unor mesaje de la un procesor la altul folosind legturi directe ntre procesoare, caz n care fiecare procesor are propria lui memorie local. n aceast seciune se vor prezenta pe scurt numai sistemele multiprocesor cu memorie partajat. Exist o mare diferen ntre un sistem de calcul multicalculator i un sistem multiprocesor. Un sistem multicalculator este compus din mai multe calculatoare independente, care pot sau nu s comunice unul cu altul, un exemplu fiind sistemul de calcul IBM Attached Support Processor System, n timp ce un sistem multiprocesor este controlat de un singur sistem de operare care supervizeaz toate activitile procesoarelor interne. Un exemplu de sistem multiprocesor cu memorie partajat este sistemul Denelcor's HEP.

118

Figura 6.5. Structura de principiu a unui sistem multiprocesor cu memorie partajat n sistemele multiprocesor cu partajare a memoriei, viteza de comunicaie ntre procesoare este mare, egal cu viteza de acces la memoria comun, nefiind exclus totui folosirea unei memorii cache locale fiecrui procesor, pentru a-i crete acestuia viteza de prelucrare. De asemenea, este realizat o conectivitate complet ntre procesoare i memoria comun (sau mai multe module de memorie comun) prin intermediul unei reele de interconectare. Structura unui sistem multiprocesor cu memorie partajat este artat n figura 6.5. Au fost dezvoltate de-a lungul timpului mai multe modaliti de interconectare ntre resursele unui sistem multiprocesor, care constau n: - folosirea unei singure magistrale; - folosirea magistralelor locale i de sistem; - utilizarea mai multor magistrale; - utilizarea unei reele de comutatoare de conectare (cross-bar switch-based networks); - utilizarea unei memorii multiport.

119

Figura 6.6. Reele de interconectare ntr-un sistem multiprocesor cu memorie partajat Utilizarea unei singure magistrale de comunicaie este o tehnic potrivit pentru extensii multiprocesor ale unui calculator uniprocesor, toate procesoarele din sistem folosind magistrala comun prin diviziune n timp. Pentru a reduce numrul de cereri de ocupare a magistralei, fiecare procesor poate s aib o memorie local sau alte dispozitive locale, ce pot fi accesate prin intermediul unei magistrale locale. Magistralele locale sunt conectate la o magistral de sistem, prin intermediul creia se acceseaz memoria global i resursele globale ale sistemului. Aceste tehnici sunt utilizate pe scar larg de productorii de calculatoare comerciale. ntr-un sistem cu mai multe magistrale, procesoarele pot s se conecteze la memoria comun prin intermediul unei magistrale neocupate, din cele n magistrale ale sistemului, dar numai n conectri pot fi fcute la un moment dat ntre procesoare i memoria comun sau dispozitivele de I/E .

120

La sistemele ce folosesc o reea de comutatoare de conectare sunt realizate legturi directe ntre procesoare i modulele de memorie, prin intermediul unor comutatoare electronice, care conecteaz toate liniile magistralei unui procesor la un modul de memorie. Ultima variant folosete o memorie multiport pentru conectarea procesoarelor la memorie comun. O memorie multiport este o memorie la care pot fi accesate mai multe locaii de memorie la un moment dat. Reelele de interconectare construite pe baza unei matrici de comutatoare sunt scumpe, fiind necesar efectuarea a N2 conectri simultane n cazul a N procesoare i a N module de memorie, realizarea fiecrei legturi implicnd n mod obinuit conectarea a zeci de semnale. Din aceast cauz au fost dezvoltate reelele de interconectare multinivel (multistage networks), care au mai puine comutatoare interne, realizarea unei legturi ntre un procesor i un modul de memorie implicnd comutarea mai multor comutatoare electronice, situate pe diferite nivele. Nu se permite ns, de regul, realizarea simultan a tuturor legturilor posibile dintre procesoare i modulele de memorie, i, de cele mai multe ori, anumite legturi nu pot fi realizate deloc. De fapt anumite legturi sunt inutile i nu are rost s fie realizate.

Figura 6.7. Reea de interconectare cu trei nivele de celule de comutare 2x2 De exemplu, n figura anterioar este prezentat o reea cu trei nivele, n care fiecare celul de comutare a reelei poate avea dou stri: cu intrrile cuplate direct la ieiri, sau cu intrrile cuplate ncruciat.

6.7. Sisteme multiprocesor fr memorie partajat. Transputere.


Aceste sisteme multiprocesor nu folosesc o memorie global, ci fiecare procesor are memoria lui local, i comunic cu celelalte procesoare prin mesaje transmise pe legturi directe ntre procesoare. Aceste tipuri de sisteme nu vor nregistra un numr mare de conflicte de acces la memoria global, aa cum se ntmpl n sistemele multiprocesor cu memorie partajat, i care reduc considerabil viteza de calcul a sistemelor respective. Structura general a unui sistem multiprocesor fr memorie partajat este artat n figura 6.8.

121

Un procesor mpreun cu memoria local i interfeele proprii de I/E este denumit, de regul, modul calculator. Memoria local a unui modul calculator poate fi accesat numai de procesorul modulului respectiv. Fiecare nod sau modul calculator execut unul sau mai multe procese, procesorul local al nodului executnd numai un singur proces la un moment dat, ca n orice calculator clasic von Neumann. De asemenea, fiecare nod conine, n memoria ROM proprie, un nucleu al unui sistem de operare, care programeaz procesele din nodul respectiv i realizeaz operaiile de transmitere i recepionare a mesajelor. ntregul sistem multiprocesor este controlat de un calculator gazd.

Figura 6.8. Structura de principiu a unui sistem multiprocesor cu transfer de mesaje ntre procesoare. Programatorul poate decide "granularitatea" proceselor ce se execut n fiecare nod. Dac se alege o granularitate fin, fiecare proces fiind compus din cteva instruciuni, rezult o cretere a numrului de mesaje schimbate ntre procesoare i deci o aglomerare a mediului de comunicaie, ducnd la deteriorarea performanelor sistemului. Procesele cu granularitate mare, ce conin un numr mare de instruciuni, necesit memorii locale de ordinul megaocteilor, n timp ce procesele cu granularitate fin necesit memorii locale de ordinul zecilor de kilooctei. Procesele cu granularitate fin pot fi gsite n sistemele multiprocesor orientate pe flux de date. Majoritatea sistemelor multiprocesor fr memorie partajat folosesc procese cu granularitate medie. Pentru un numr mic de procesoare n sistem, se obin performane mai bune dac se utilizeaz o memorie comun partajat de procesoarele din sistem, sistemele multiprocesor fr memorie partajat fiind adecvate atunci cnd se dorete un numr mare de procesoare n sistem, aceste sisteme fiind mai ieftine i pretndu-se la o implementare uoar n VLSI, fiecare nod sau modul calculator fiind implementat pe un singur cip. Pentru o mai mare performan, procesele care se execut ntr-un sistem multiprocesor fr memorie partajat trebuie s fie computaional intensive i nu orientate pe schimb de mesaje. Att sistemele
122

multiprocesor cu memorie partajat, ct i cele fr memorie partajat, pot realiza prelucrri SIMD, dei ultimele sunt mult mai adecvate numai pentru prelucrri MIMD. Exist diferite scheme posibile de interconectare a procesoarelor dintr-un sistem multiprocesor fr memorie partajat. Reelele de interconectare folosite n aceste sisteme sunt reele statice de interconectare, care permit legturi fixe directe ntre dou noduri, i nu sunt reele dinamice de interconectare, aa cum folosesc sistemele multiprocesor cu memorie partajat. O reea de interconectare exhaustiv a n noduri va permite fiecrui nod s aib o legtur direct ctre oricare alt nod din sistem. Totui, aceste reele nu sunt economice, preferndu-se limitarea posibilitilor de conectare ale fiecrui nod numai la un anumit numr de noduri vecine. De exemplu, fiecare nod poate fi legat numai la doi din vecinii si, formndu-se o reea liniar de tip inel (fig 6.9a), sau la patru din vecinii si, formndu-se o reea de tip tablou bidimensional (fig 6.9b), aceast structur pretndu-se la o implementare uoar n VLSI, etc. n cazul unei reele organizate sub forma unui hipercub, fiecare nod are o anumit adres, reprezentat sub forma unui numr binar pe un anumit numr de bii. Se va forma un hipercub, dac se conecteaz fiecare nod din sistem cu toate nodurile a cror adres difer doar printr-un bit de adresa nodului respectiv. n figura 6.9e este prezentat un hipercub tridimensional.

Figura 6.9. Reele statice de interconectare a procesoarelor, ntr-un sistem multiprocesor fr memorie partajat.

123

Un exemplu de sistem multiprocesor comercial fr memorie partajat, cu o reea de interconectare de forma unui hipercub, este sistemul IPSC/1 - Intel Personal SuperComputer dezvoltat la mijlocul anilor '80. Fiecare nod conine un I80286, un I80287, 64 Koctei de memorie ROM i o memorie RAM dual de 512 Koctei, care poate fi accesat att de procesorul nodului, ct i de calculatorul gazd. Toate nodurile sunt controlate de un calculator gazd, numit "cub manager", ce conine 2 - 4 Moctei de memorie RAM, uniti de disc flexibil i de hard disk, i care opereaz sub sistemul de operare XENIX. Fiecare nod conine n memoria ROM proprie un mic sistem de operare numit NX. De asemenea, fiecare nod are 8 canale de comunicaie, 7 dintre ele folosite pentru comunicarea cu alte 7 noduri din hipercub, i un canal Ethernet folosit pentru comunicaia cu calculatorul gazd. Comunicaia pe legturile hipercubului este de 10 - 20 de ori mai rapid dect comunicaia cu calculatorul gazd pe cablul Ethernet. Sistemul IPSC/2 are aceeai structur ca i IPSC/1, numai c folosete procesoarele I80386 i I80387, n locul perechii de procesoare I80286/I8027. n figura urmtoare este prezentat structura unui nod IPSC/1.

Figura 6.10. Structura unui nod IPSC/1 Un transputer este un circuit VLSI produs de firma INMOS din Marea Britanie, care conine un procesor pe 16 sau 32 de bii ce implementeaz concepte RISC, o memorie intern pe cip, i mai multe legturi de comunicaie extern ctre alte transputere, ntr-un sistem multiprocesor. n mod obinuit, fiecare transputer are 4 canale DMA de mare vitez, cu care se poate conecta la alte 4 transputere, ntr-o structur de tip tablou bidimensional sau ntr-o alt structur.

124

Primul transputer - T212, realizat n 1983, conine un procesor aritmetic pe 16 bii pentru operaii cu numere ntregi, transputerul T414, realizat n 1985, conine un procesor aritmetic similar, dar pe 32 de bii, n timp ce transputerul T800, realizat n 1988, conine un procesor aritmetic pe 32 de bii n virgul mobil. Primele transputere aveau 4 legturi seriale la 10 Mbii/sec i 2 Koctei de memorie RAM pe cip. Urmtoarele transputere conin o memorie RAM mai mare i legturi externe mai rapide. Prin interfaa de memorie din figura 6.10, transputerului i se poate ataa o memorie extern.

Figura 6.11. Structura intern a unui transputer. Informaia transmis sau recepionat pe legturile externe ale transputerului este organizat n pachete, fiecare transmisie a unui pachet de date ctre un alt transputer fiind urmat de un rspuns al acestuia din urm, care va trimite ctre primul transputer un pachet de recunoatere. Pentru utilizarea transputerelor, a fost dezvoltat limbajul OCCAM, care furnizeaz primitive pentru transferul datelor i pentru implementarea conceptelor de programare paralel. Un proces, n limbajul OCCAM, este format din una sau mai multe instruciuni program, care pot s fie executate secvenial sau n paralel. Pe fiecare transputer sunt executate n mod concurenial unul sau mai multe procese.

6.8. Sisteme multiprocesor orientate pe flux de date


125

Calculatoarele descrise n seciunile anterioare urmresc ntr-o mai mic sau mai mare msur conceptele de baz ale unui calculator von Neumann. ntr-un calculator orientat pe flux de instruciuni, datele sunt "pasate" de la o instruciune la alta prin intermediul unor locaii de memorie, la care au acces toate instruciunile. O dat sau un operand al unei instruciuni este referit prin intermediul adresei locaiei de memorie care conine data sau operandul respectiv. Acesta este conceptul de variabil utilizat n calculatoarele von Neumann. n aceste calculatoare, fluxul de instruciuni este implicit secvenial, dei pot fi folosii i operatori care s specifice o prelucrare paralel. ntr-un calculator orientat pe flux de date, o instruciune este executat atunci cnd operanzii cerui de instruciunea respectiv devin disponibili. De asemenea, nu exist conceptul de locaii de memorie partajate de instruciuni i folosite pentru stocarea datelor, n accepiunea tradiional de variabil. Secvena de instruciuni ce se execut depinde numai de disponibilitatea datelor pentru aceste instruciuni. n acest fel instruciunile sunt executate asincron, neexistnd un program care s controleze secvena acestor instruciuni, fiind posibil execuia mai multor instruciuni simultan i realizarea, n acest mod, al unui nalt grad de paralelism. Operanzii sunt pasai unei instruciuni sub forma unor drepturi sau permisiuni de a utiliza valori (tokens), i nu ca adrese ale unor variabile din memorie. Datorit faptului c datele sunt pasate direct de la o instruciune la alta, i nu prin intermediul unor adrese ale unor locaii de memorie partajate de ctre instruciuni, n sistemele orientate pe flux de date nu pot apare efecte laterale. Un sistem orientat pe flux de date opereaz cu dou entiti de baz : pachete de operaii i token-uri de date. Un pachet de operaii conine codul operaiei care se execut, operanzii i destinaia rezultatului (instruciunea urmtoare). Un token este format dintr-o valoare rezultat, mpreun cu destinaia acestei valori. Datorit acestui schimb de pachete i de token-uri ntre resursele sistemului, sistemele orientate pe flux de date pot fi considerate un caz particular de sisteme multiprocesor cu schimb de mesaje ntre procesoare. Pentru a descrie o prelucrare, modelele orientate pe flux de date folosesc un aa numit graf al fluxului de date. Nodurile grafului indic operaiile ce se efectueaz, arcele grafului indicnd fluxul de date ntre noduri. Operaia dintr-un nod se execut cnd toate informaiile cerute de nodul respectiv sunt disponibile. Un nod necesit unul sau mai muli operanzi i produce unul sau mai multe rezultate. Dendat ce toi operanzii sunt disponibili la intrrile nodului, nodul respectiv este activat realizndu-se operaia din nod, dup care se paseaz rezultatele de-a lungul unor arce, ctre nodurile ce ateapt aceste rezultate. Procesul se repet pn cnd ultimul nod din graf a fost activat i s-a obinut rezultatul final. Aa cum s-a menionat anterior, mai multe operaii pot fi executate simultan, prin activarea n acelai timp a mai multor noduri.

126

Graful pentru calculul expresiei E = A/B + B*C conine pe lng nodurile care realizeaz operaiile de nmulire, mprire, adunare, i un nod special - COPY - care produce o copie a variabilei de intrare B (vezi figura 6.11a). Dup aplicarea variabilelor de intrare, se poate executa numai operaia din nodul COPY, care nu necesit dect un singur operand (B), iar acesta este disponibil. Dup ce este executat operaia din nodul COPY, se vor executa n paralel operaiile din nodurile de nmulire i mprire, iar dup ce sunt ncheiate operaiile din ambele noduri, este activat nodul de adunare care produce rezultatul dorit.

Figura 6.12. Graful fluxului de date pentru calculul expresiei E = A/B + B*C, structura nodurilor MERGE i BRANCH. Bineneles c trebuie s existe i noduri specializate pentru realizarea operaiilor de decizie. Aceste noduri sunt prevzute n plus cu o intrare boolean, n funcie de care se realizeaz decizia. ntr-un nod MERGE, dac condiia este adevrat, token-ul operandului A este pasat la ieire, dac intrarea de condiie este fals, se va pasa la ieire token-ul variabilei B. n nodurile BRANCH, care au o singur intrare i dou ieiri, dac condiia este adevrat, token-ul variabilei de intrare este pasat pe ieirea din stnga, activnd nodurile succesive arcului din stnga, dac condiia este fals, token-ul este pasat pe ieirea din dreapta. De asemenea, cu ajutorul altor noduri specializate, se pot executa i bucle sau cicluri n cadrul grafului fluxului de date ce reprezint un anumit model de calcul.
127

Arhitecturile de calculatoare orientate pe flux de date pot fi clasificate n dou mari categorii: arhitecturi statice i arhitecturi dinamice. ntr-o arhitectur static, pe un arc se poate pasa de la un nod la altul al grafului numai un token la un moment dat. ntr-o asemenea arhitectur, trebuie utilizate token-uri de control, pentru a specifica momentul potrivit de transfer al token-urilor de la un nod la altul. Operaiile dintr-un nod se execut cnd toi operanzii sunt prezeni pe arcele de intrare. La arhitecturile dinamice este permis existena mai multor token-uri pe un arc, fiecare token avnd o etichet ce specific contextul particular n care se poate utiliza token-ul respectiv.

Figura 6.13. Structura de tip inel a unui sistem multiprocesor orientat pe flux de date.

Att mainile statice, ct i cele dinamice, au o arhitectur simplificat de tip inel (vezi figura 6.12), ce conine patru seciuni principale. Seciunea de memorie este folosit pentru a stoca pachetele de instruciuni. Unitile de procesare permit execuia n paralel a mai multor instruciuni activate. Reeaua de dirijare paseaz token-urile rezultat ctre instruciunile urmtoare, corespunztoare nodurilor destinaie ale arcelor de-a lungul crora se paseaz token-urile. Seciunea de intrare/ieire este o interfa ntre sistemul orientat pe flux de date i lumea exterioar. Majoritatea mainilor orientate pe flux de date sunt realizate sub forma unui procesor ataat la un calculator gazd, care realizeaz operaiile de intrare/ieire i de

128

translatare a codului, i s-ar prea c prelucrarea orientat pe flux de date va deveni o tehnic generalizat la fel ca i conceptul de band de asamblare. Totui se poate spune c sistemele orientate pe flux de date, ca i limbajele orientate pe flux de date, dei au atras atenia multor cercettori cu muli ani n urm, de-abia n ultima perioad au fost dezvoltate cteva asemenea sisteme, cum ar fi maina propus de Jack Dennis la MIT (Massachusetts Institute of Technology), sistemul EDDY n Japonia, maina Manchester n Anglia, sistemul francez LAU, maina UTAH, maina Newcastle etc.

129

7. SISTEME DE OPERARE 7.1. Generaliti


La pornirea calculatorului, este efectuat un autotest care controleaz memoria RAM, ncearc s identifice fiecare dispozitiv de stocare conectat, i verific dac exist o imprimant conectat la sistem i starea acesteia (nchis sau deschis). Aceste secvene de instruciuni sunt stocate n BIOS (Basic Input Output System), ntr-o memorie ROM al crui coninut nu poate fi alterat. Versiunile mai noi de BIOS-uri au incluse funcii suplimentare, cum ar fi detecia automat a diverselor dispozitive periferice ce exist n sistem (Plug And Play), autodetecia tipului de hard-disk introdus n calculator etc. BIOS-ul reprezint interfaa ntre echipamentele hardware ale calculatorului (resursele de baz ale sistemului: disc, tastatur, display, memorie etc.) i sistemul de operare. Un sistem de operare este un complex de programe care permite exploatarea unui sistem de calcul prin intermediul BIOS-ului, asigurnd executarea lanurilor de sarcini ale sistemului. Sistemul de operare furnizeaz i un set de funcii standard, care pot fi utilizate de aplicaii pentru comunicarea cu BIOS-ul, i deci implicit cu resursele hardware ale calculatorului. n cursul utilizrii calculatorului, sistemul de operare are datoria de a informa despre buna (sau nu) funcionare a dispozitivelor periferice. Sistemul de operare gestioneaz operaiile de intrare i ieire, prin monitorizarea i controlarea fluxului de date i a programelor n execuie. Tot el este responsabil de alocarea resurselor sistemului, atribuirea de resurse hardware diverselor programe i funcii, pentru a asigura funcionarea eficient a calculatorului.

Figura 7.1.1. Calculatorul privit prin prisma utilizatorului Sistemul de operare este cel care determin numrul de utilizatori ce pot obine acces la calculator i la resursele sale, n acelai timp. Dup numrul de utilizatori ce pot lucra la un
130

moment dat pe sistem, se pot diferenia sisteme de operare monoutilizator i sisteme de operare multiutilizator. Dup numrul de task-uri, sau programe, pe care le poate rula un utilizator la un moment dat, sistemele de operare pot fi mprite n sisteme monotasking i sisteme multitasking. Sistemul de operare este conceput pentru a lucra pe o anumit arhitectur hardware. De exemplu, un sistem de operare proiectat pentru un calculator Macintosh nu va funciona pe un PC compatibil IBM. Astfel, sistemele de operare sunt dedicate unei anume structuri hardware. Exist i sisteme de operare care funcioneaz pe mai multe tipuri de platforme hardware (Windows NT pe Intel x86 i DEC Alpha; SUN Solaris pe Intel x86 sau SPARC; Linux pe x86, SPARC, DEC Alpha, Macintosh; etc.)

Software de sistem

Sisteme de operare

Limbaje de programare

Drivere de dispozitiv

Programe utilitare

Software de aplicatie

Software pentru afaceri

Software pentru administrare

Software pentru distractie

Software educativ

Software de productie

Baze de date

Grafica

Comunicatii

Tehnoredactare computerizata

Calcul tabelar

Diverse utilitare

Figura 7.1.2. Tipuri de software existente ntr-un calculator Toate sistemele de operare conin o interfa cu utilizatorul, ce reprezint modalitatea prin care utilizatorul introduce comenzi sau lanseaz aplicaii. Partea exterioar (shell) a

131

sistemului de operare este cea care preia comenzile de la utilizator, i le transfer ctre nucleul (kernel) sistemului de operare, care aloc n acel moment un loc n lanul de execuie al sarcinilor din sistem. n funcie de sistemul de operare, interfaa cu utilizatorul poate fi bazat pe grafic sau poate fi numai n mod text. Dac nucleul permite accesul la resursele sistemului aparent simultan (prin tehnici de time-sharing) pentru mai muli utilizatori, atunci sistemul de operare se numete multitasking. Sistemul de operare, n aceste caz, comut sarcinile (task-urile) care trebuie executate pe procesor, ndeajuns de repede pentru a crea senzaia de simultaneitate a execuiei. n caz contrar, pe sistemele monotasking, nici un alt proces nu poate fi lansat pn la terminarea celui aflat n curs de execuie. Exemple de sisteme de operare: MS-DOS este produs de firma Microsoft, pentru platforme x86, este monotasking, monoutilizator, i are interfaa cu utilizatorul n mod text. Peste el se pot instala ns interfee grafice, cum ar fi Microsoft Windows 3.xx. Exist i variante ale acestui sistem care sunt multitasking, cum ar fi OpenDOS sau DR-DOS, produse actualmente de Caldera, sau PC-DOS al firmei IBM. Nu se scaleaz pe mai multe procesoare. Windows NT produs de firma Microsoft, multitasking, monouser, interfa grafic coninut n nucleul sistemului. Exist pentru mai multe platforme hardware: x86, PowerPC, Alpha, MIPS. Din septembrie 1998 exist i versiuni care sunt multiutilizator. Familia UNIX sunt sisteme de operare multitasking, multiutilizator. Interfaa cu utilizatorul este la baz text, ns toate variantele sunt dotate i cu sistem grafic. Exist pentru mai toate platformele hardware, n funcie de productor. Cele mai renumite variante sunt: Linux, SUN Solaris, HP-UX (HP), AIX (IBM), IRIX (SGI), DEC Unix, SCO Unix. VMS, OpenVMS produs de firma DEC, multiutilizator, multitasking. VMS-ul are interfa cu utilizatorul n mod text, OpenVMS-ul n mod grafic.

n concluzie, un calculator funcioneaz datorit sistemului de operare instalat, i anume prin interaciunea sa cu resursele hardware ale calculatorului. Peste acest strat software, al sistemului de operare, ce are rolul de a interfaa utilizatorul cu resursele hardware, se instaleaz aplicaiile care vor fi instrumente de lucru ale beneficiarilor sistemului de calcul. n figura 7.1.2 este prezentat o diagram a tipurilor majore de software existente ntr-un calculator.

7.1.1. Interfee text i interfee grafice.


n cadrul unei interfee bazate pe text, numit mediu alfanumeric, utilizatorul tasteaz comenzi pentru a da instruciuni calculatorului. Sistemele de operare ale calculatoarelor

132

personale utilizeaz interfee cu linii de comand, care permit introducerea de la tastatur a unei comenzi la un moment dat. Linia de comand conine un prompter, care informeaz utilizatorul c sistemul este pregtit s primeasc comenzi sau instruciuni. Dup fiecare instruciune scris, utilizatorul trebuie s apese tasta Enter pentru a demara prelucrarea comenzii respective. MS-DOS-ul, care este un exemplu de sistem de operare n mediu alfanumeric, accept i prelucreaz instruciunile pe baza unei biblioteci de instruciuni inclus n sistemul de operare. n mod analog, se pot lansa n execuie i comenzile i programele externe sistemului de operare. Exist i anumite programe de interfaare cu mouse-ul al sistemului de operare MS-DOS (cum ar fi NORTON COMMANDER), care permit utilizatorului s lanseze comenzi cu ajutorul mouse-ului. UNIX-ul este de asemenea un sistem de operare cu o interfa n mod text. n figura 7.1.3. este prezentat ecranul unei astfel de interfee n mod text, exemplul ales fiind o linie de comand MS-DOS. Interfeele grafice au aprut ca urmare a cererii din partea utilizatorilor pentru un mediu uor de exploatat, i care s aib i posibilitatea afirii unor grafice pe ecran. Primul sistem care utiliza o interfa grafic a fost sistemul Lisa, care a fost apoi adaptat pentru calculatoare Macintosh. Acest sistem a suferit numeroase mbuntiri pn n prezent, dar a fost cel care a generat apariia interfeelor grafice n lumea PC-urilor. Interfaa grafic iniial numit Finder, utiliza mici pictograme pentru reprezentarea programelor sau comenzilor. Pentru a da o comand sistemului de operare, utilizatorul indic o pictogram i efectueaz un clic (sau dublu clic) pe mouse. O alt posibilitate de a da comenzi este efectuarea de selecii din meniuri, aflate ntr-o aplicaie ce se substitue shell-ului sistemului de operare.

Figura 7.1.3. Exemplu de interfa n mod text n 1985 a aprut sistemul Microsoft Windows, care nu era un sistem de operare, ci un mediu grafic pentru MS-DOS. Un mediu grafic reprezint mai puin dect un sistem de operare, deoarece funcionarea sa se bazeaz pe existena unui asemenea sistem. Windows

133

(3.xx, 95 sau 98), care n esen reprezint un nveli pentru MS-DOS, primete instruciuni prin intermediul mouse-ului i le transform n comenzi care pot fi executate de MS-DOS. Primele versiuni de Windows (1.0, 2.0) nu au avut succes. n 1987, IBM i Microsoft au nceput lucrul la o interfa grafic care i propunea s nlocuiasc DOS-ul i Windowsul. Astfel s-a nscut un nou sistem de operare, numit OS/2. Microsoft a lansat n 1990 Windows 3.0, i apoi o versiune mbuntit 3.1. Acest mediu a devenit un concurent serios pentru OS/2, i a fost dezvoltat n continuare de Microsoft. n 1995, aceast firm a lansat Windows 95, care este mai mult dect un mediu de operare, incluznd i funcii ale sistemului MS-DOS n mediul integrat Windows. n paralel, Microsoft a dezvoltat i un sistem de operare cu interfa grafic multiutilizator, Windows NT. n figura 7.1.4. este prezentat o imagine a acestei interfeei grafice.

Figura 7.1.4. Interfaa grafic Windows NT Pentru sistemele Unix, care folosesc medii bazate pe text, au fost create diverse interfee grafice care se instaleaz peste sistemul de operare. Exist multe tipuri de interfee grafice pentru aceast familie de sisteme de operare, majoritatea dintre ele fiind grupate sub denumirea generic de X-Windows. O caracteristic deosebit, a acestor sisteme de interfa grafic, este faptul c permit executarea unei aplicaii sau comenzi pe un calculator aflat la distan i obinerea rezultatului grafic pe un terminal local. Un exemplu rspndit pentru Unix-urile de firm (HP-UX, Ultrix, Solaris, etc.) este CDE. n figura 7.1.5, este prezentat un ecran al interfeei grafice CDE pentru Solaris.

134

Figura 7.1.5. Ecran al interfeei grafice CDE

Figura 7.1.6. Ecran al interfeei grafice KDE

135

Pentru Linux, interfeele grafice sunt numeroase, datorit aspectului academic i free software al acestui sistem de operare. Fiecare interfa are specificaii proprii, i nu sunt toate compatibile ntre ele. Cel mai rspndit sistem grafic este fvwm i, n ultimii ani, KDE. Un ecran al interfeei KDE este prezentat n figura 7.1.6.

7.1.2. Partiionarea i formatarea discurilor


Informaiile sunt stocate pe discuri magnetice sub form de fiiere, blocuri de informaie n format binar care capt sens pentru aplicaia care le folosete. Pentru a organiza fiierele, fiecare sistem de operare folosete un model de structurare a fiierelor, de cele mai multe ori de form arborescent, dup cum se va vedea n continuare. Spaiul disponibil pe un dispozitiv de stocare (n general hard-disk) se organizeaz sub form de partiii, fiecare partiie fiind vzut ca o unitate de disc proprie. Acestea permite ca acelai disc s poat fi folosit de mai multe sisteme de operare, fiecare sistem folosind partiiile ntr-un mod propriu. Pentru a structura spaiul de memorare al unui disc, pe o anumit partiie, se aplic o operaiune de formatare. Formatarea discului poate fi de dou feluri: formatare de nivel inferior sau formatare fizic (low-level format): Prin aceast aciune pistele discului sunt mprite ntr-un anume numr de sectoare, prin scrierea informaiile de delimitare a sectoarelor pe pist, informaii care sunt necesare controlerului de disc. Pentru discurile fixe, exist programe speciale de formatare fizic, de cele mai multe ori furnizate de fabricantul discului dur (disk manager), sau aceste programe sunt incluse n unele variante de BIOS. Pentru dischete se folosesc programe furnizate de sistemele de operare. formatare de nivel superior sau formatare logic (high-level format): Este o operaie care se efectueaz din sistemul de operare folosit, i este prin urmare specific acestuia. n cadrul formatrii logice se scriu structurile necesare pentru gestionarea fiierelor i a structurilor aferente (directoare). Spre deosebire de formatarea fizic, n cadrul creia se scriu efectiv pistele i sectoarele discului, formatarea logic const, de fapt, n crearea unei tabele cu coninutul util al discului, ce va fi folosit de sistemul de operare pentru a scrie i apoi regsi fiierele pe disc.

Prima operaie care se efectueaz asupra unui hard disk este formatarea fizic, aceasta fiind independent de sistemul de operare, i caracteristic unitii de disc. Urmeaz apoi partiionarea, care este operaiunea de segmentare a discului n mai multe regiuni, numite partiii. Fiecrei partiii i se atribuie i un identificator (tipul partiiei), specific sistemului de

136

operare care i va pune sistemul de fiiere pe partiia respectiv. n timpul partiionrii, indiferent de sistemul de fiiere specificat, soft-ul de partiionare scrie un program special folosit pentru iniializarea calculatorului (Boot) i o tabel de partiii, pe primul sector de pe disc, numit sector de boot (Master Boot Sector). Deoarece termenul de nregistrare, n acest caz, este folosit i cu sensul de sector, acest sector mai poate fi numit i nregistrare de boot (Master Boot Record). Dintre toate partiiile create pe un hard disk, una singur trebuie marcat ca fiind activ, adic reprezentnd partiia de pe care se va ncrca sistemul de operare la pornirea calculatorului. Dup crearea partiiilor, care vor gzdui sistemele de fiiere, se formateaz logic fiecare partiie, n funcie de sistemul de operare ales. Astfel, pe acelai disc pot coexista mai multe sisteme de operare (sisteme multi-boot) care pot fi pornite separat. Pentru discuri flexibile, de cele mai multe ori, sistemul de operare folosit pune la dispoziie un utilitar de formatare. Acesta realizeaz att formatarea fizic, ct i cea logic. Fiecare sistem de operare are specificaiile proprii pentru atribuirea de identificatori diverselor partiii formatate: - MS-DOS-ul (i sistemele din aceast categorie) atribuie fiecrui volum (partiie) o adres logic notat cu o majuscul, ncepnd cu litera C i respectnd ordinea alfabetic. Literele A i B sunt rezervate pentru unitile de disc flexibil. - Windows NT procedeaz n mod asemntor, ncepnd la fel cu litera C, ns permite schimbarea literelor asignate n timpul funcionrii. - Linux-ul (i familia sistemelorUnix) are nevoie de o partiie principal numit rdcin care este notat cu /, iar celelalte partiii existente apar sub form de directoare ale acestei rdcini. Se folosete de asemenea un tip de format logic propriu fiecrui sistem de operare, pentru fiecare partiie a unui hard disk, acesta numindu-se tipul partiiei. Un sistem de operare poate citi date de pe mai multe tipuri de partiii. Iat cteva tipuri de partiii existente: - FAT (File Allocation Table) 16 sau 32 - specifice DOS-ului sau Windows-ului 95; - NTFS (NT File System) - specific Windows-ului NT; - Extended 2 folosit de Linux; - HPFS (High Performance File System) caracteristic mediului OS/2; - ISO9660 folosit pentru CD-ROM. Modul de organizare logic a informaiei pe partiie este diferit pentru fiecare tip de partiie. n subcapitolele urmtoare se va detalia modul de organizare logic a informaiei pentru fiecare sistem de operare n parte.

137

7.2. Sistemul de operare MS-DOS


Sistemul de operare MS-DOS este o interfa simpl ntre utilizator i hardware-ul calculatorului. Dei sistemul de operare MS-DOS a fost dezvoltat pentru primele variante de calculatoare personale ale firmei IBM (IBM PC), fiind total neadecvat pentru calculatoarele personale IBM care au la baz un microprocesor I80386, I80486 sau chiar Pentium, i care suport sisteme de operare mult mai puternice, totui datorit simplitii i faptului c exist o mare diversitate de programe scrise pentru acest sistem de operare, MS-DOS rmne unul din cele mai populare sisteme de operare. n dezvoltarea sa, proiectanii sistemului de operare MS-DOS s-au inspirat din cele mai rspndite dou sisteme de operare la momentul respectiv: CP/M, unanim acceptat pe microcalculatoarele pe 8 bii i care n prezent nu se mai comercializeaz, i UNIX, un nume de referin n cadrul sistemelor de operare, i care tinde s devin unul din cele mai utilizate sisteme de operare. De la CP/M, MS-DOS a mprumutat ideea independenei fa de echipament, realizat prin introducerea BIOS-ului (Basic Input Output System), numele unor comenzi (ERA, DIR, TYPE etc.), parial modul de organizare a informaiei pe disc etc. De la UNIX s-a mprumutat structura arborescent a sistemului de fiiere, nlnuirea unitilor de alocare pe disc ( "clusters") ale unui fiier, ideea folosirii propriului interpretor de comenzi ( Shell ) etc. Caracteristicile principale ale sistemului de operare MS-DOS sunt : - lucreaz cu un singur utilizator, rulnd un singur program la un moment dat (sistem de operare monouser - monotasking ); - proceduri avansate de detecie a erorilor; - dispozitive de intrare / ieire independente, MS-DOS asignnd un nume de fiier rezervat fiecrui echipament de intrare / ieire; - realocabilitatea complet a programelor, fiind posibil rularea aceluiai program de la mai multe adrese de ncrcare; - structur de fiiere eficient i rapid; - contabilizarea datei i timpului.

7.2.1. Sistemul de fiiere. Structura discului sub MS-DOS.


Sistemul de operare este programul care intr n funciune atunci cnd calculatorul este pus sub tensiune. Sistemul de operare MS-DOS are trei pri componente: - interpretorul de comenzi, coninut n fiierul COMMAND.COM;

138

- fiierul DOS.COM, care mai poate fi gsit i sub alte denumiri: MSDOS.SYS sau IBMDOS.COM depinznd de versiunea sistemului de operare; - fiierul BIO.COM (sau IO.SYS, IBMBIO.COM), care conine o parte a sistemului de intrri / ieiri de baz - BIOS, cealalt parte fiind rezident n memoria ROM a calculatorului. Deorece discurile magnetice sunt cele mai utilizate dispozitive de memorie extern, n dezvoltarea sistemului de operare MS-DOS, o mare atenie a fost acordat organizrii fiierelor pe aceste tipuri de dispozitive de memorie extern. Att discurile flexibile ct i discurile de mare capacitate ( hard disks ) au aceeai organizare sub MS-DOS. Pe discul magnetic, informaia (programe sau date necesare acestor programe) este stocat n fiiere. Fiierul reprezint acelai lucru pentru discul magnetic, pe care l reprezint o carte pentru o bibliotec. Fiecare fiier are un identificator de fiier (sau nume) asociat, compus din dou cmpuri: - nume (filename) - format din 1..8 caractere alfanumerice, mai puin caracterele . " \ / : | < > + caracterele date mai sus. n cadrul identificatorului de fiier, cele dou cmpuri sunt scrise mpreun i desprite de caracterul "." (punct). Cmpul extensie desemneaz, de regul, tipul fiierului. Exist extensii standard recunoscute de MS-DOS, cum ar fi: COM, EXE pentru programe executabile, BAT pentru fiiere de comenzi, SYS pentru drivere sistem etc., i extensii adoptate prin tradiie de utilizatorii sistemului de operare MS-DOS, cum ar fi: PAS pentru fiiere surs PASCAL, C pentru fiiere surs C, ASM pentru fiiere surs scrise n limbaj de asamblare, DOC pentru fiiere documentaie etc. Numele fiierului mpreun cu toate informaiile necesare accesului la fiier, cum ar fi: nume, extensie, data i ora la care a fost creat fiierul, informaii de regsire a fiierului pe disc (numrul sectoarelor ocupate de fiier pe disc) etc., sunt coninute ntr-un catalog sau director, la fel cum numele tuturor crilor dintr-o bibliotec, mpreun cu informaiile de regsire a acestora n bibliotec, sunt coninute ntr-un catalog sau index al bibliotecii respective. Deci, mai multe fiiere pot fi reunite formnd un director, care la rndul lui are un nume i o extensie la fel ca orice fiier. ntr-un director se pot gsi fiiere, precum i unul sau mai multe directoare (subdirectoare), care la rndul lor pot s conin alte fiiere sau subdirectoare .a.m.d. Aadar, avem de-a face cu o structur logic arborescent pe subdirectoare a discului, structur mprumutat de la sistemul de operare UNIX. Exist un director cu statut special, care reprezint originea arborelui de subdirectoare i care poart numele de director rdcin. = ; - extensie (extension) - format din maximum 3 caractere alfanumerice, mai puin

139

Un exemplu de organizare a discului sub forma unui arbore de subdirectoare este artat n figura 7.2.1.

Figura 7.2.1. Exemplu de organizare a discului sub MS-DOS Dac din punct de vedere logic un disc este vzut ca o mulime de fiiere grupate ntr-o structur arborescent de directoare, din punct de vedere fizic, informaia este scris pe disc de-a lungul unor cercuri concentrice, numite piste, fiecare pist fiind mprit n sectoare cu dimensiunea de 512 octei. Capul de citire/scriere al unitii de disc se mic de la o pist la alta n timp ce discul se rotete, permind astfel capului de citire/scriere s gseasc locul din / n care trebuie s citeasc sau s scrie. Mai multe amnunte legate de organizarea fizic a discurilor magnetice au fost prezentate n capitolul 5. Fiecare volum logic (o unitate fizic ntreag cum este discul flexibil, sau o partiie hard) este "vzut" ca o secven continu de sectoare logice, ncepnd cu sectorul logic 0. Aa cum s-a artat n capitolul precedent, discul fix (hard disk-ul) poate fi mprit n mai multe partiii logice, care pot fi utilizate ca discuri independente, ca i cum am dispune de mai multe hard disk-uri de capacitate mai mic. Orice fiier conine unul sau mai multe sectoare. n sistemul de operare MS-DOS, nu este necesar ca un fiier s ocupe un spaiu contiguu pe disc (sectoarele fiierului respectiv s fie situate unul dup altul), gestiunea spaiului pe disc fcndu-se prin intermediul tabelei de alocare a fiierelor - FAT (File Allocation Table). Din punct de vedere funcional, un disc este mprtit n 4 zone: - BOOT - zon n care se gsete programul de ncrcare al sistemului de operare, localizat n sectorul logic 0 al discului flexibil, sau n sectorul logic 0 al partiiei DOS active, n cazul discurilor hard. - DIR - zon n care se gsete directorul rdcin, organizat sub forma unui tabel, fiecare intrare n tabel (linie din tabel), de 32 de octei, coninnd toate informaiile despre un fiier. De exemplu, n octeii 0-7 ai intrrii corespunztoare unui fiier se gsete numele (filename) fiierului, n octeii 8-10 extensia fiierului, n octeii 22-23 timpul la care a fost creat sau modificat ultima dat fiierul, n octeii 24-25 data crerii sau ultimei modificri a fiierului, n octeii 26-27 numrul primului cluster al fiierului, n octeii 28-31 dimensiunea

140

fiierului n octei etc. Directorul rdcin are un numr limitat de intrri, depinznd de tipul discului: - 112 - pentru discurile flexibile de 320, 360 i 720Kb; - 224 - pentru discurile flexibile de 1,2 i 1,4Mb; - 512 - pentru hard disk-uri. Un subdirector este un fiier care conine o asemenea tabel, cu structura dat mai sus, numrul de intrri n tabel nefiind limitat. - FAT - zon n care se gsete tabela de alocare a fiierelor. Pentru siguran, se pstreaz dou copii ale tabelei de alocare a fiierelor, astfel nct atunci cnd una din tabele este distrus, se poate folosi cealalt tabel, prevenindu-se pierderea informaiei de pe tot discul, prin distrugerea informaiei de alocare a discului din FAT. - FILE - zon n care vor fi plasate fiierele de pe disc. La nceputul acestei zone se gsesc fiierele sistem IO.SYS i MSDOS.SYS, care ocup i primele dou poziii n directorul rdcin. MS-DOS mparte spaiul pe disc n uniti de alocare sau cluster-e. Numrul de sectoare coninute ntr-un cluster depinde de tipul i capacitatea discului magnetic. Pentru discurile flexibile simpl fa, un cluster conine un singur sector; pentru discurile flexibile dubl fa, un cluster conine dou sectoare etc. Cluster-ele sunt numerotate n funcie de poziia fizic ocupat de acestea pe disc. Primul cluster de pe disc va conine primul sau primele sectoare situate dup directorul rdcin. n figura urmtoare este dat structura de sectoare, piste, cluster-e a unui disc flexibil dubl fa cu 9 sectoare pe pist.

Orice intrare n director (n directorul rdcin sau ntr-un subdirector) conine 32 de octei. n octeii 26 i 27 ai intrrii n director corespunztoare unui fiier se gsete numrul primului cluster ocupat de fiier pe disc. Numrul celui de-al doilea cluster al fiierului este gsit n intrarea din tabela de alocare a fiierelor, cu acelai numr ca i numrul primului cluster; numrul celui de-al treilea cluster este gsit tot n FAT, n intrarea cu numrul egal cu numrul celui de-al doilea cluster al fiierului .a.m.d. O intrare n FAT conine 2 octei (FAT16) n cazul discurilor hard i 1,5 octei n cazul discurilor flexibile. Proiectanii sistemului de operare MS-DOS au decis s foloseasc numai 1,5 octei n cazul discurilor flexibile, deoarece pe 2 octei pot fi codificate 65536 de numere
141

care indic cluster-e pe disc i, evident, un disc flexibil nu poate s conin att de multe cluster-e. Astfel, tabela de alocare a fiierelor va ocupa mai puin spaiu pe discul flexibil. Pentru gestionarea discurilor hard actuale de mari dimensiuni, n special variantele recente de Windows (95,98), utilizeaz tabele FAT pe 32 de bii (FAT32). Valorile coninute de o intrare n FAT mpreun cu semnificaiile lor sunt date n urmtoarea tabel: Valoare (0)000 (F)FF0-(F)FF6 (F)FF7 (F)FF8-(F)FFF (X)XXX Semnificaie Cluster disponibil Cluster rezervat Cluster defect Ultimul cluster al unui fiier Cluster ce aparine unui lant

n concluzie, orice fiier de pe disc conine unul sau mai multe cluster-e (fiecare cluster fiind compus din unul sau mai multe sectoare), nlnuite prin intermediul tabelei de alocare a fiierelor, numrul primului cluster din lan fiind coninut n intrarea corespunztoare din directorul n care se afl fiierul respectiv. Intrarea din FAT cu numrul ultimului cluster al fiierului va conine o valoare ntre FFF8H i FFFFH pentru discurile hard, i o valoare ntre FF8H i FFFH n cazul discurilor flexibile, ceea ce specific sfritul lanului de cluster-e ale fiierului, aceast valoare nemaindicnd un cluster de pe disc. Pentru a specifica complet un fiier, identificatorul de fiier, format din nume i extensie, trebuie completat cu numele unitii de disc i numele subdirectorului n care se afl fiierul. De fapt se specific o cale de acces (path), indicndu-se modul de parcurgere al arborelui de subdirectoare, de la directorul rdcin la subdirectorul n care se gsete fiierul. Calea de acces se specific prin scrierea numelor de subdirectoare n ordine, desprite de caracterul "\". Directorul rdcin se specific tot prin caracterul "\". Numele unitii de disc, pe care se gsete fiierul, poate fi A sau B n cazul discurilor flexibile, i C sau o alt liter, pentru discul fix sau o partiie logic pe discul fix. Astfel, identificatorul complet al unui fiier este : [d:][path]filename[.ext] unde: d - este numele unitii de disc pe care se afl fiierul, path - este calea de acces din directorul rdcin n subdirectorul n care se afl fiierul, filename - este numele fiierului, ext - este extensia fiierului.

142

Elementele din parantez sunt opionale, deci pot s lipseasc. Sistemul de operare MSDOS ine evidena a dou valori: disc implicit i director curent, care pot fi modificate cu ajutorul comenzilor MS-DOS, i care nlocuiesc primele dou cmpuri din identificatorul complet de fiier, atunci cnd acestea nu sunt specificate. Directorul curent este directorul unde MS-DOS caut fiierele al cror identificator de fiier a fost introdus fr specificarea directorului n care se gsesc fiierele respective. Analog, discul implicit este reprezentat de numele discului flexibil sau al discului fix (partiiei logice, dac discul fix este partiionat n mai multe partiii logice) pe care MS-DOS caut fiierele, atunci cnd unitatea de disc nu este specificat n identificatorul de fiier. Exemple: A:\DOS\FORMAT.EXE - specific fiierul FORMAT.EXE din subdirectorul DOS al directorului rdcin, de pe discul A. C:\USERS\VLAD\TEXT.TXT - specific fiierul TEXT.TXT din subdirectorul VLAD al subdirectorului USERS, al directorului rdcin de pe discul fix C. B:PROGRAM.COM - specific fiierul PROGRAM.COM din directorul rdcin al discului B. \DOS\FORMAT.EXE - specific fiierul FORMAT.EXE din subdirectorul DOS al directorului rdcin, de pe discul implicit. PROG1.COM - specific fiierul PROG1.COM din directorul curent al discului implicit. n afar de nume, extensie, mrime fiier, data i ora ultimei modificri, informaii de regsire a fiierului pe disc etc., n intrarea din director corespunztoare unui fiier se memoreaz i atributele fiierului (codificate n octetul numrul 11 din intrare), care pot fi: - R - Read only - ce specific faptul c fiierul nu poate fi dect citit, i nu poate fi modificat sau ters. - A - Archive - utilizat de comenzile BACKUP, RESTORE, XCOPY, pentru a marca dac fiierul a fost sau nu procesat de ctre o comand anterioar. - S - System - precizeaz faptul c fiierul aparine sistemului de operare, i nu trebuie utilizat n operaii curente. - H - Hidden - determin neafiarea numelui fiierului la comanda DIR, i face ca fiierul s nu fie disponibil la comenzile COPY, DEL etc. Modificarea atributelor unui fiier se poate face cu comanda ATTRIB, care poate modifica numai primele dou atribute, precum i cu ajutorul interfeelor grafice utilizator NORTON COMMANDER, XTG, PCSHELL, DOSSHELL. MS-DOS simplific operaiile de intrare/ieire cu diferite echipamente periferice, asignnd un nume de fiier rezervat fiecrui echipament de intrare/ieire. Deci, fiecare echipament de intrare/ieire este "vzut" ca un fiier cu un nume special. De exemplu, fiierul cu numele CON reprezint consola sistemului (ansamblul tastatur - ecran), fiind posibil

143

afiarea unui text pe ecran prin scrierea textului respectiv n fiierul text CON, n acelai fel n care se scrie un text n oricare alt fiier text. Aceste nume rezervate nu pot fi folosite ca nume de fiier obinuit, ele avnd un neles special pentru sistemul de operare, care rezerv identificatorii respectivi echipamentele de intrare/ieire. Acestea sunt : - CON - pentru consola sistemului; - AUX sau COM1 - pentru interfaa serial de comunicaie numrul 1; - COM2, COM3, COM4 - pentru interfeele seriale 2, 3, 4; - PRN sau LPT1 - pentru prima imprimant (interfa) paralel; - LPT2, LPT3, LPT4 - pentru interfeele paralele 2, 3, 4; - NUL - pentru un echipament inexistent (fictiv), folosit de obicei pentru testarea programelor. Numele de echipamente de mai sus pot fi folosite n locul unui nume de fiier, n cadrul unei comenzi DOS. pentru

7.2.2. Lansarea sistemului de operare


La punerea sub tensiune, se execut instruciunea de la adresa fizic FFFF0H, pentru sistemele cu microprocesor I8086 (FFFFF0H la I80286, i FFFFFFF0H la I80386 i I80486), unde se gsete un salt necondiionat n ROM-BIOS-ul calculatorului; acea parte din BIOS-ul sistemului de operare rezident n memoria ROM a calculatorului. Programul din aceast memorie efectueaz urmtoarele actiuni: - scrie i citete toat memoria RAM pentru depistarea eventualelor erori; - testeaz componentele principale ale sistemului: discurile, tastatura etc.; - citete microcomutatoarele (switch-urile) la calculatoarele IBM PC/XT, sau memoria CMOS la celelalte variante de calculatoare IBM, pentru a determina configuraia curent: dimensiunea memoriei RAM existente n sistem, numrul i tipul unittilor de disc, tipul interfeei grafice etc. Dup toate aceste operaii, programul din ROM-BIOS ncarc programul ncrctor al sistemului de operare (secvena BOOT), din sectorul 0, pista 0, fata 0 a primei uniti de disc flexibil, dac exist un disc sistem n aceast unitate, dac nu ncarcarea secvenei BOOT realizndu-se din sectorul logic 0 al partiiei DOS active, de pe discul fix. Un disc sistem este un disc care conine secvena BOOT, mpreun cu cele 3 fiiere care compun sistemul de operare. n continuare se d controlul programului ncrctor, care ncarc fiierele IO.SYS i MSDOS.SYS de pe discul sistem. Fiierele IO.SYS i MSDOS.SYS sunt invizibile (au atributul hidden) i nu pot fi copiate, terse sau manipulate prin comenzi uzuale.

144

BIOS-ul sistemului de operare este o interfa ntre hardware-ul calculatorului i restul sistemului de operare (implicit ntre hardware-ul calculatorului i programele de aplicaie), asigurnd un caracter de universalitate celorlalte pri ale sistemului de operare i programelor de aplicaie scrise sub MS-DOS. O dischet sistem poate fi folosit pe orice calculator personal compatibil IBM, indiferent de configuraia hardware a acestuia. Ceea ce se schimb este numai BIOS-ul sistemului de operare rezident n memoria ROM. De asemenea, un program care execut toate operaiile prin intermediul BIOS-ului, se poate executa pe orice main MS-DOS, indiferent de configuratia hardware a acesteia. Deci funciile BIOS-ului nu se rezum numai la etapa de iniializare a sistemului de operare, BIOSul controlnd direct toate operaiile echipamentelor calculatorului: tastatur, ecran, imprimant, discuri etc. Cea de-a doua parte a sistemului de operare, rezident n fiierul MSDOS.SYS, conine proceduri pentru tratarea din punct de vedere logic (la un nivel superior nivelului fizic, de baz) a operaiilor i resurselor sistemului. Aceste proceduri apeleaz la rndul lor proceduri BIOS, configuraia hardware concret fiind transparent la acest nivel. Interpretorul de comenzi, coninut n fiierul COMMAND.COM, citete comenzi de la tastatur sau dintr-un fiier de comenzi, dup care, dac comanda este o comand extern (neconinut n fiierul COMMAND.COM, cum ar fi comenzile: DIR, ERA, TYPE etc.), ncarc de pe disc un fiier cu acelai nume ca i numele comenzii, i cu extensia COM, EXE sau BAT. Dac fiierul este COM sau EXE, se d controlul programului respectiv, dac fiierul are extensia BAT, deci este un fiier de comenzi MS-DOS, se execut rnd pe rnd comenzile din fiier. La iniializarea sistemului de operare, dup ncrcarea primelor dou fiiere, se caut pe discul din care a fost ncrcat sistemul, n directorul rdcin, un fiier de configurare numit CONFIG.SYS. Dac este gsit, acesta va fi citit, i comenzile coninute n acest fiier vor fi interpretate, configurnd sistemul de operare cu anumii parametri. Dac CONFIG.SYS nu este gsit, sistemul de operare este configurat cu valorile implicite ale comenzilor de configurare. Dup configurarea sistemului este ncrcat cel de-al treilea fiier - COMMAND.COM, care preia controlul i, n primul rnd, ncearc ncrcarea (din directorul rdcin al discului sistem) i execuia unui fiier de comenzi numit AUTOEXEC.BAT. Dac fiierul este gsit, sunt executate rnd pe rnd comenzile din AUTOEXEC.BAT, dup care se afieaz prompter-ul sistem (de exemplu C: ) i se ateapt introducerea unei comenzi de la tastatur. Deci, fiierul AUTOEXEC.BAT ne permite s lansm programe, sau s executm anumite comenzi automat, ori de cte ori se ncarc sistemul de operare.

7.2.3. Configurarea sistemului de operare

145

Fiierul CONFIG.SYS este un fiier text, care conine comenzi de configurare a sistemului de operare MS-DOS cu anumii parametri, comenzile adugate sau modificate n fiierul CONFIG.SYS devenind active la urmtoarea lansare a sistemului de operare. Principalele comenzi de configurare sunt urmtoarele: 7.2.3.1 Comanda BREAK Sintaxa: BREAK = ON|OFF Implicit BREAK = OFF Cu ajutorul opiunii OFF se poate abandona programul n execuie, prin apsarea simultan a tastelor CTRL i BREAK, numai n momentul cnd acesta execut o operaie cu tastatura, ecranul, imprimanta standard (PRN) sau adaptorul de comunicaie COM1. Opiunea ON determin abandonarea programului prin CTRL-BREAK, la urmtorul apel de funcie sistem dup CTRL-BREAK, nu neaprat la o funcie sistem ce folosete dispozitivele de mai sus. Funciile sistem sunt uniti program coninute n sistemul de operare, i care sunt apelate de programele din sistem pentru realizarea operaiilor de intrare/ieire sau a altor operaii de baz. 7.2.3.2 Comanda BUFFERS Sintaxa: BUFFERS = n [,m] [/x] n - este un numr ntre 1 i 99, ce reprezint numrul buffer-elor ce vor fi deschise de sistem la lansarea acestuia; m - este un numr, ce reprezint numrul maxim de sectoare ce pot fi citite/scrise ntrun acces la discul magnetic (implicit m este1); /x - specific faptul c buffer-ele sunt plasate n memoria expandat. Un buffer de disc este o zon de memorie pe care sistemul de operare o utilizeaz n operaiile de citire/scriere cu discul. Sistemul de operare MS-DOS lucreaz cu discul magnetic la nivel de sector, adic scrie sau citete sectoare pe sau de pe disc. Dac, de exemplu, un program dorete s scrie sau s citeasc un numr de octei care nu este un multiplu al dimensiunii sectorului (512), sistemul de operare verific dac sectorul ce trebuie accesat se afl ntr-unul din buffer-ele din memorie. Dac da, se efectueaz citirea sau scrierea din sau n buffer. Dac sectorul nu se gsete ntr-unul din buffer-e, acesta va fi citit i adus ntr-un buffer, dup care se face transferul n sau din buffer. Numrul de buffer-e deschise simultan n memorie influeneaz timpul de lucru cu discul magnetic, i deci viteza de execuie a aplicaiilor. Pentru un program care utilizeaz frecvent discul n operaii de citire/scriere este indicat un numr ct mai mare de buffer-e deschise n memorie. Dar, trebuie avut n vedere c, mai multe buffer-e deschise, vor ocupa mai mult memorie ( n x 512 ) i, de asemenea, crescnd numrul de buffer-e, crete timpul de cutare n buffer-e i acesta poate deveni comparabil cu timpul de acces la disc. Deci nu exist un numr standard de buffer-e care s satisfac toate aplicaiile, acesta se determin prin ncercri, n funcie de aplicaie i de dimensiunea memoriei RAM disponibile.

146

7.2.3.3 Comanda COUNTRY Sintaxa: COUNTRY = xxx [, [yyy] [, [ d: ]filename]] xxx - codul rii yyy - pagina de cod (vezi comanda KEYB) filename - numele fiierului care conine informaii despre ara xxx. Prin aceast comand se specific sistemului de operare setul de caractere pe care dorim s-l utilizm. Dac n fiierul CONFIG.SYS nu se folosete comanda COUNTRY, se consider implicit setul de caractere folosit n SUA. Dac nu se specific nici un nume de fiier prin filename, se vor lua informaiile despre ara xxx din fiierul COUNTRY.SYS. 7.2.3.4 Comanda FILES Sintaxa: FILES = X unde X - este un numr ntre 8 i 255. Implicit X este 8. Prin aceast comand se specific numrul maxim de fiiere ce pot fi deschise simultan. nainte de orice operaie cu un fiier, sistemul de operare trebuie s deschid acel fiier. La deschiderea fiierului, MS-DOS construiete blocul de parametri pentru acel fiier, n zona proprie de memorie rezervat la lansarea sistemului de operare. Deci, numrul de fiiere ce pot fi deschise simultan depinde de dimensiunea acestei zone, care depinde de valoarea specificat prin comanda FILES. 7.2.3.5 Comanda SHELL Sintaxa: SHELL = [d:][path]filename[params] Prin aceast comand se poate folosi un interpretor de comenzi diferit de COMMAND.COM, i care va fi ncrcat i plasat n memorie n locul lui COMMAND.COM. filename - numele fiierului care conine interpretorul de comenzi; params - parametrii (linia de comand) necesari noului interpretor de comenzi. De exemplu, prin comanda SHELL = C:\DOS\XTG se specific folosirea interfeei utilizator XTG, n locul interpretorului de comenzi COMMAND.COM. 7.2.3.6 Comanda DEVICE Sintaxa: DEVICE = [d:][path]filename[params] Comanda permite specificarea unui nume de fiier ce conine un driver de intrare/ieire, care va fi ncrcat n memorie odat cu sistemul de operare. Un driver este un program care controleaz toate operaiile cu un dispozitiv de intrare/ieire. Toate celelalte programe care doresc s lucreze cu dispozitivul de intrare/ieire respectiv , vor apela driver-ul de intrare/ieire corespunztor. filename - specific fiierul ce conine driver-ul de intrare/ieire, params - parametrii (sau opiunile) acceptai de driver-ul de intrare/ieire. La ncrcarea sistemului de operare, se ncarc automat i driver-ele pentru ecran, tastatur, imprimant, disc magnetic i ceas. Deci, nu trebuie specificat nici o comand DEVICE care s ncarce aceste driver-e. Atunci cnd avem un nou dispozitiv (scaner, mouse

147

etc.) sau cnd vrem s schimbm driver-ele standard ncrcate automat la lansarea sistemului de operare, va trebui s specificm, printr-o comand DEVICE, fiierul ce conine noul driver, precum i directorul n care se afl. Tot n mod automat sunt ncarcate i driver-ele COUNTRY.SYS i KEYBOARD.SYS, la lansarea sistemului de operare. Drivere nestandard: ANSY.SYS - permite instalarea driver-elor cu funcii extinse pentru ecran i tastatur. Prin intermediul unor secvene de caractere, care ncep cu caracterul ESC, sunt disponibile funcii pentru mutarea cursorului, redefinirea caracterelor de pe tastatur, stabilirea culorilor de fond i pentru scriere etc. DISPLAY.SYS - permite schimbarea paginii de cod pentru consola sistemului. DRIVER.SYS - permite crearea unor echipamente logice de tip disc flexibil, asociate unor uniti de disc flexibil conectate la controlerul de disc flexibil. PRINTER.SYS - permite schimbarea paginii de cod pentru imprimantele paralele cuplate la porturile paralele LPT1 (PRN), LPT2, LPT3, LPT4. RAMDRIVE.SYS (VDISK.SYS) - permite crearea unui disc virtual n memoria RAM (sau RAM-disc). Deci, sistemul de operare va scrie/citi n/din zona de memorie alocat pentru RAM-disc, ca i cnd ar lucra cu un disc magnetic. Viteza de acces la date va fi mult mai mare, sistemul accesnd informaiile de pe disc la aceeai vitez ca i datele din memoria intern, dar exist riscul pierderii coninutului discului virtual n cazul unei blocri a sistemului. SMARTDRIVE.SYS - permite accelerarea transferului de date ntre memoria RAM i discul magnetic, fiind util n aplicaiile care lucreaz cu multe fiiere, i ducnd la o cretere a vitezei de execuie a acestor aplicaii de pn la 10 ori. Nu poate fi utilizat mpreun cu RAMDRIVE.SYS. XMAEM.SYS - emuleaz memoria expandat n memoria extins a sistemului. Se utilizeaz numai mpreun cu XMA2EM.SYS i nu mpreun cu HIMEM.SYS. XMA2EM.SYS - driver care permite instalarea unei memorii expandate cu specificaiile stabilite de firmele LOTUS, INTEL, MICROSOFT. HIMEM. SYS - driver care permite instalarea unei memorii extinse standard, i care nu poate fi folosit mpreun cu driver-ele XMAEM.SYS i XMA2EM.SYS. EMM386.SYS - emuleaz memoria expandat n memoria extins, atunci cnd se folosete driver-ul de memorie extins HIMEM.SYS. SERPRN.SYS - driver de comunicaie serial care utilizeaz protocolul XON|XOFF. Pentru o mai bun nelegere, este necesar lmurirea unor noiuni folosite n sistemul de operare MS-DOS, cum ar fi tipurile de memorie existente sub MS-DOS. Sistemul de operare MS-DOS este limitat din punctul de vedere al accesului la memoria intern a calculatorului, datorit faptului c a fost proiectat pentru calculatoare care funcionau pe baza

148

microprocesoarelor 8086/8088, ce utilizau 1Mb de RAM. ns, datorit avansului tehnologic, memoria fizic disponibil n PC-urile actuale a crescut simitor, iar sistemul de operare MSDOS nu a evoluat odat cu calculatoarele. Astfel, au aprut secvene suplimentare de software, pentru a permite sistemului de operare i aplicaiilor rulate pe el, accesul la memoria peste limita de 640Kb. Aceste drivere de memorie se numesc memory managers. Exist urmtoarele tipuri de zone de memorie sub sistemul MS-DOS: - Memoria convenional - este zona de memorie cuprins ntre adresele 0Kb i 640Kb, pe care sistemul de operare o utilizeaz n operaiile obinuite. Zona de memorie cu adrese ntre 640Kb i 1Mb este rezervat de sistemul de operare, pentru funcii primitive ale adaptorului video, controlerului de disc, scanner, funcii ROM-BIOS etc. (vezi figura 7.2.2). - Memoria expandat - este o zon de memorie situat n afara memoriei convenionale, ntre 640Kb i 1Mb, coninnd ferestre de memorie din aceast zon neocupate de sistemul de operare (BIOS), i n care se translateaz pagini din memoria extins. Odat cu apariia procesoarelor 80286, memoria fizic adresabil a crescut la 16Mb. Deoarece MS-DOS nu permitea accesul dect la primii 640Kb, o idee (copiat de la CP/M) a fost de a folosi o poriune (de obicei de 64Kb) din memoria situat peste 640Kb, ca o zon de memorie tampon pentru accesul la un volum mai mare de memorie. Prin intermediul unui driver de memorie expandat, acesta fiind numele acestei tehnici de mrire a spaiului de memorie, se poate comuta ntre mai multe blocuri de memorie. Sistemul poate accesa astfel o cantitate mai mare de memorie, vizibil ns prin fereastra de 64Kb. Acest standard a cptat numele LIM EMS, i multe programe l pot folosi (Lotus 123, Quattro Pro, Borland C++ etc.). Uneori aceast memorie extern poate exista n calculatoare prin intermediul unor plci speciale de extensie. Deci, memoria expandat reprezint memoria adresabil printr-o asociere dintre un driver de memorie extins i un adaptor hardware pentru memoria expandat. Aceasta nu se ncadreaz ntr-un interval fix de adrese, putnd ocupa zona dintre 640Kb i 1Mb, neocupat de componentele sistemului de operare ce se gsesc n aceast zon (vezi figura 7.2.3). Principiul de funcionare este reprezentat de o zon de memorie variabil neocupat, din spaiul 640Kb - 1Mb, n care se translateaz succesiv pagini din memoria ataat fizic suplimentar. Memoria extins - este zona de memorie situat dincolo de 1Mb, i pe care MS-DOS o folosete pentru anumite scopuri precise, cum ar fi: instalarea unui RAM-disc, operaii BIOS etc. Aceast memorie este folosit n modul protejat al procesoarelor x86 sub sistemele Windows i OS/2.

149

MEMORIA CONVENIONAL 0 640KB

Memorie liber COMMAND.COM Drivere pentru periferice MS-DOS

ROM BIOS Interfa disc dur Video color Video monocrom

Figura 7.2.2. Memoria convenional

MEMORIA EXPANDAT 0 640KB

memorie MS-DOS Bloc de 64KB ROM BIOS

Figura 7.2.3. Memoria expandat

150

MEMORIA EXTINS 0 640KB 1MB

16MB 286 4GB 386/386

memorie MS-DOS

memorie extins

Figura 7.2.4. Memoria extins n calculatoarele mai vechi, memoria de baz era de 1Mb, primii 640Kb fiind folosii de MS-DOS, restul fiind folosit de diverse dispozitive periferice i ca memorie extins. La apariia procesoarelor 286, 386 i 486, au fost concepute i o serie de cipuri complexe, care permiteau gestiunea i manipularea unui volum fizic mai mare de memorie pe placa de baz. Acestea au fost numite AT Chip Set, acum comune n majoritatea PC-urilor, i care permit accesul la spaiul de memorie peste limita de 1Mb. Acest aspect a complicat accesul la zonele libere de memorie ntre 640Kb i 1Mb. Ct spaiu este disponibil n aceast zon, variaz de la calculator la calculator, n funcie de numrul i tipul dispozitivelor periferice existente. Aceast zon are ntre 8Kb i 128Kb i este denumit Upper Memory Area. De la versiunea MS-DOS 5.0 n sus, aceste blocuri de memorie au devenit integrate n gestiunea memoriei sistemului de operare, via un software special (EMM386.EXE), care poate deplasa n acea zon n special drivere de dispozitive periferice, pentru a elibera mai mult memorie convenional. La apariia interfeei Microsoft Windows 3.0, s-a constatat c 64Kb, n plus fa de normal, erau disponibili pentru aplicaii. Aceasta se datora unor greeli n proiectarea procesoarelor 286 i superioare, descoperindu-se c primii 64Kb de memorie extins, peste limita de 1Mb, puteau fi accesai, aceast zon fiind cunoscut ca High Memory Area. Astfel, shell-ul sistemului de operare putea fi ncrcat n aceast zon.

7.2.4. Crearea fiierelor de comenzi. Fiierul AUTOEXEC.BAT.


Un fiier lot de lucrri (fiier batch) este un fiier text ce conine una sau mai multe comenzi DOS, care se execut mpreun. Aceste fiiere de tip batch trebuie s aib extensia BAT. Pentru executia fiierului batch, se introduce de la tastatur numai numele fiierului, fr extensie. De fiecare dat cnd este lansat sistemul de operare, dup ce se ncarc fiierul COMMAND.COM, acesta preia controlul i ncearc ncrcarea unui fiier de comenzi, numit AUTOEXEC.BAT, din directorul rdcin de pe discul din care a fost ncrcat sistemul, fiier care conine comenzile ce se doresc a fi executate automat, de fiecare dat la lansarea sistemului de operare.
151

De exemplu, fiierul AUTOEXEC.BAT poate conine urmtoarele comenzi: CLS DEL *.BAK XTG Deci, de fiecare dat cnd se lanseaz sistemul de operare, se terge ecranul, se terg toate fiierele cu extensia BAK, dup care se lanseaz n execuie interfaa utilizator XTG. n interiorul unui fiier de lucrri se pot include i parametri fictivi, care vor fi nlocuii cu valorile introduse n linia de comand, prin care se lanseaz n executie fiierul de comenzi respectiv. De exemplu, dac avem un fiier de comenzi numit LOT.BAT, i care conine urmtoarele comenzi: COPY %1.PAS %2.PAS TYPE %2.PAS DEL parametrii fictivi %1.PAS %0, %1, %2 vor fi nlocuii, n ordine, de parametrii din linia de TYPE %0.BAT comand prin care se execut fiierul de comenzi. Pot fi specificati 10 parametri fictivi n interiorul unui fiier de comenzi ( %0 - %9 ). Parametrul %0 este nlocuit cu numele fiierului de comenzi. Se poate executa fiierul LOT.BAT prin urmtoarea comand: LOT A:PROG1 C:PROG2 Efectul acestei comenzi este execuia succesiv a urmtoarelor comenzi: COPY A:PROG1.PAS C:PROG2.PAS TYPE C:PROG2.PAS DEL A:PROG1.PAS TYPE LOT.BAT Dac se introduce comanda LOT OLD NEW, parametrii %0, %1, %2 vor fi nlocuii, n ordine cu: LOT, OLD, NEW. Un fiier de comenzi poate fi ntrerupt apsnd simultan tastele CTRL i BREAK, la care sistemul rspunde cu ntrebarea: TERMINATE BATCH JOB (Y/N)? Dac se rspunde cu Y, restul comenzilor din fiier sunt ignorate; dac se rspunde cu N, este abandonat numai comanda aflat n execuie, dup care se continu cu urmtoarele comenzi din fiier. n mod obinuit, comenzile citite din fiierul de comenzi sunt afiate pe ecran n ordinea execuiei. Dac ns fiierul de comenzi conine o comand ECHO OFF, acestea nu vor mai fi afiate pe ecran. ECHO ON permite afiarea tuturor comenzilor n ordinea execuiei lor. ECHO este activ (ON) dup fiecare ncrcare a sistemului de operare. Comanda ECHO nu are efect asupra mesajelor produse de execuia comenzilor, care sunt afiate pe ecran indiferent dac ECHO este ON sau OFF.

152

7.2.5. Procesorul de comenzi


Procesorul de comenzi COMMAND.COM asigur interfaa ntre utilizator i sistemul de operare, prelund de la tastatur o linie de comand terminat cu caracterul ENTER, pe care o depune ntr-un buffer intern, n vederea analizei i execuiei comenzii respective. Primul cuvnt din linia de comand reprezint numele comenzii, i trebuie s fie numele unei comenzi interne sau numele unui fiier cu extensia EXE, COM sau BAT, urmtoarele cuvinte din linia de comand fiind parametrii comenzii respective. Procesorul de comenzi accept, ca parametri n linia de comand, nume generice de fiier. Un nume generic de fiier este un identificator de fiier care conine caracterele ? i *. Caracterul ? se echivaleaz cu un singur caracter, n timp ce caracterul * se echivaleaz cu un ir de caractere. Aceste caractere pot fi folosite numai n cadrul numelui de fiier (filename) i al extensiei de fiier. Exemple: PROG*.* - specific toate fiierele din directorul curent de pe discul implicit, al cror nume de fiier ncepe cu irul de caractere PROG, se continu cu orice ir de caractere, i au orice extensie. A:\USERS\*.PAS - specific toate fiierele cu extensia PAS din subdirectorul USERS al directorului rdcin, de pe discul A. B:FYLE?.ASM - specific toate fiierele din directorul rdcin al discului B, al cror nume ncepe cu FYLE, se continu cu orice caracter (dar numai un singur caracter), i care au extensia ASM. Caracterele de control acceptate de COMMAND.COM sunt urmtoarele: CTRL-C sau CTRL-BREAK - ncheie execuia comenzii curente, CTRL-ALT-DEL - rencarc (relanseaz) sistemul de operare, CTRL-P - determin trimiterea informaiilor afiate pe ecran i la imprimant, pn cnd este tastat urmtorul caracter CTRL-P, F3 - scoate din buffer linia de comand sau restul liniei de comand anterioare, F1 - scoate din buffer urmtorul caracter al liniei de comand executate anterior, F2C - scoate din buffer caracterele liniei de comand anterioare, pn la ntlnirea caracterului C. Ultimele trei caractere de control sunt utile atunci cnd s-a greit o comand, nefiind necesar tastarea din nou a ntregii comenzi. Tot n cadrul liniei de comand, se mai pot folosi i urmtoarele caractere speciale: redirecteaz ieirea unui program de la ecran coninut. (CON) ctre un fiier sau alt dispozitiv de intrare/ieire. Dac fiierul exista anterior, se va pierde vechiul

153

- redirecteaz ieirea unui program de la ecran ctre un fiier sau un alt dispozitiv de intrare/ieire. Dac fiierul exist, noile informaii sunt adugate la sfritul fiierului. - redirecteaz intrarea unui program la un fiier sau alt dispozitiv de intrare/ieire, n locul tastaturii (CON), programul prelund datele de intrare dintr-un fiier (care poate fi un nume rezervat pentru un echipament de intrare/ieire) i nu de la tastatur. | - cupleaz ieirea unui program cu intrarea altui program. Exemple: DIR A: FILE - listeaz coninutul directorului rdcin al discului A, dar nu pe ecran, ci n fiierul text FILE, care poate fi vizualizat ulterior, de exemplu cu comanda TYPE. Vechiul coninut al fiierului FILE se pierde, dac fiierul FILE exista anterior pe disc. DIR FILE - listeaz coninutul directorului curent de pe discul implicit, adugnd informaiile la sfritul fiierului FILE, dac acesta exista anterior pe disc. TYPE FILE.DAT | PROG - programul PROG va prelucra informaiile de ieire ale comenzii TYPE FILE.DAT, respectiv coninutul fiierului text FILE.DAT va reprezenta intrarea programului PROG. PROG FILE - programul PROG va prelua datele de intrare din fiierul FILE, i nu de la tastatur. n prezent, majoritatea utilizatorilor sistemului de operare MS-DOS prefer ca n locul introducerii comenzilor MS-DOS printr-o linie de comand, s foloseasc interfaa grafic DOS Shell sau o alt interfa grafic utilizator: NORTON COMMANDER, PCSHELL, XTGOLD, cu ajutorul crora, printr-un sistem de meniuri adecvat, se poate "naviga" prin structura de directoare a discului i, n general, se pot executa majoritatea comenzilor MSDOS ntr-o manier mult mai facil.

7.2.6. Comenzi interne


7.2.6.1 Comanda BREAK Sintaxa: BREAK ON|OFF Parametrul ON determin verificarea introducerii caracterului CTRL-BREAK la fiecare apel de funcie sistem, ceea ce permite i ntreruperea unui program care efectueaz puine operaii cu echipamentele standard de intrare/ieire. Parametrul OFF determin verificarea caracterului CTRL-BREAK numai la operaiile de intrare/ieire cu echipamentele standard. Comanda BREAK fr nici un parametru determin afiarea strii curente: ON sau OFF. 7.2.6.2 Comanda CHCP Sintaxa: CHCP [nnn] , unde nnn este un cod numeric zecimal pe 3 cifre.
154

Dac se introduce comanda CHCP fr parametrul nnn, se afieaz pagina de cod activ i paginile de cod pregtite pentru sistem. Dac se introduce parametrul nnn, acesta trebuie s desemneze una din paginile de cod pregtite prin comanda COUNTRY n CONFIG.SYS. 7.2.6.3 Comanda CHDIR (CD) Sintaxa: CD [d:][path] CHDIR [d: ][path] Comanda determin schimbarea directorului curent de pe discul specificat sau de pe discul implicit. Directorul poate fi specificat absolut, indicndu-se ntreaga cale ncepnd din directorul rdcin, sau relativ, cnd se specific numai subcalea ce ncepe din directorul curent. Dac n comand nu se specific calea prin path, se va afia directorul curent de pe discul d, sau discul implicit dac nu este specificat nici discul. Exemple: D: CD D:\USERS - D:\USERS va deveni directorul curent D:\USERS CD VLAD\PROG D:\USERS\VLAD\PROG CD .. D:\USERS\VLAD CD D:\ D: n cea de-a doua comand, directorul care va deveni director curent a fost specificat relativ, acelai efect obinndu-se prin comanda CD D:\USERS\VLAD\PROG. Prin comanda CD .., directorul printe al directorului curent va deveni noul director curent. 7.2.6.4 Comanda CLS Sintaxa: CLS Comanda CLS determin tergerea ecranului. 7.2.6.5 Comanda COPY Sintaxa: COPY [/a][/b] [d:][path]filename[.ext] [/a][/b] [d:][path][filename[.ext]] [/a][/b][/v] sau COPY [/a][/b] [d:][path]filename[.ext] [/a][/b] [ + [/a][/b] [d:][path]filename[.ext][/a][/b]...] [d:][path][filename[.ext]] [/a][/b][/v] Comanda COPY copie unul sau mai multe fiiere. Cu cea de-a doua form se face concatenarea a dou sau mai multe fiiere surs, desprite de caracterul "+". /a - ASCII - copierea are loc pn la detectarea caracterului CTRL-Z (orice fiier text se termin cu caracterul CTRL-Z). /b - binary - determin o copiere binar, lungimea fiierului fiind specificat n intrarea din director corespunztoare fiierului respectiv. Orice opiune /a sau /b rmne activ pentru toate fiierele ce urmeaz n linia de comand, pn la ntlnirea unei alte opiuni /a sau /b.

155

/v - verify - determin Exemple: COPY

verificarea corectitudinii copierii, comparnd fiierul (sau

fiierele) surs cu fiierul destinaie. C:\USERS\PROG1.PAS A: - copie fiierul PROG1.PAS din directorul

USERS de pe discul C, ntr-un fiier cu acelai nume i aceeai extensie, n directorul rdcin al discului A. COPY *.PAS A:\USERS\*.TXT - copie toate fiierele cu extensia PAS din directorul curent de pe discul implicit, n directorul USERS al discului A, numele fiierelor rmnnd neschimbate, n schimb extensia fiierelor schimbndu-se din PAS n TXT. COPY FILE.TXT CON - determin copierea fiierului FILE.TXT la consol (afiarea fiierului FILE.TXT pe ecran, obinndu-se acelai efect ca n urma execuiei comenzii TYPE FILE.TXT). Obs: Dac se omite numele fiierului destinaie, se pstreaz numele fiierului surs. La concatenare opiunea implicit este /a, la o copiere obinuit fiind /b. 7.2.6.6 Comanda DATE Sintaxa: DATE [mm-dd-yy] Permite modificarea sau vizualizarea datei curente. Data se introduce n formatul lun / zi / an. Ca delimitatori se pot folosi numai caracterele "/", ".", "-". Formatul precizat anterior poate fi modificat, utiliznd comanda COUNTRY sau alte pagini de cod. 7.2.6.7 Comanda DEL Sintaxa: DEL ERASE Comanda terge fiierul specificat, sau fiierele specificate dac se folosete un nume generic de fiier. /p - determin cererea confirmrii din partea operatorului pentru tergerea fiecrui fiier, atunci cnd se folosete un nume generic de fiier. Fiierele cu atributele read-only, hidden, system nu pot fi terse. 7.2.6.8 Comanda DIR Sintaxa: DIR [d:][path][filename][.ext][/p][/w] Afieaz tot coninutul unui director, sau numai acele fiiere specificate prin filename.ext. /p - determin suspendarea listrii coninutului unui director atunci cnd s-a umplut ecranul. Pentru reluarea listrii trebuie apsat o tast. /w - determin afiarea numai a numelui i extensiei fiierelor dintr-un director, fr alte informaii despre fiiere, cum ar fi: data i ora crerii sau ultimei modificri, dimensiune etc. 7.2.6.9 Comanda EXIT [d:][path]filename.ext[/p]

156

Sintaxa: EXIT Determin ncheierea execuiei procesorului de comenzi COMMAND.COM i revenirea n programul din care a fost apelat COMMAND.COM, dac acesta exist. Dac nu, se rmne n COMMAND.COM. 7.2.6.10 Comanda MKDIR (MD) Sintaxa: MKDIR [d:]path MD Creaz un nou director. Dac nu se specific unitatea de disc, se consider unitatea de disc implicit. Directorul poate fi specificat absolut sau relativ. 7.2.6.11 Comanda PATH Sintaxa: PATH [d:][path][; [d:][path]...] Prin aceast comand se specific una sau mai multe ci de cutare ale fiierelor executabile. Dac o comand nu este gsit n directorul curent, atunci aceasta este cutat n ordine n toate cile introduse prin comanda PATH. Comanda PATH, fr parametri, determin afiarea cilor de cutare introduse printr-o comand PATH anterioar. Comanda "PATH ;" determin tergerea tuturor cilor de cutare. 7.2.6.12 Comanda PROMPT Sintaxa: PROMPT [text] Se definete un nou prompter al procesorului de comenzi COMMAND.COM. Prompter-ul este mesajul care apare afiat, atunci cnd procesorul de comenzi ateapt introducerea unei comenzi. text poate fi orice ir de caractere alfanumerice, care poate conine i specificatori de tipul $C, unde C poate fi: p - ce se nlocuiete cu directorul curent de pe discul implicit, n - ce se nlocuiete cu numele discului implicit, g - se nlocuiete cu caracterul " ", l - se nlocuiete cu caracterul " ", etc. Dac nu se specific nici un text dup comanda PROMPT, MS-DOS va reface prompter-ul normal (numele discului implicit, urmat de calea curent i caracterul "" ). Exemple: D: PROMPT NICU$G NICU PROMPT $N$G - reface mesajul sistem obinuit D: _ 7.2.6.13 Comanda RENAME (REN) Sintaxa: REN[AME] [d:][path]filename[.ext] filename[.ext] Schimb numele fiierului specificat de primul parametru cu numele specificat de cel de-al doilea parametru. Se pot utiliza nume generice de fiier.

157

Exemple: REN *.PAS *.TXT - schimb extensia tuturor fiirelor cu extensia PAS, din directorul curent de pe discul implicit, la noua extensie TXT. 7.2.6.14 Comanda RMDIR Sintaxa: RMDIR [d:]path RD terge subdirectorul specificat prin path de pe discul d, sau discul implicit cnd nu se specific nici o unitate de disc. Directorul se poate specifica absolut sau relativ. Pentru a fi ters, un director trebuie s fie gol, deci nu trebuie s conin fiiere. Directorul curent i directorul rdcin nu pot fi terse. Exemplu: RD A:\USERS\VLAD 7.2.6.15 Comanda SET Sintaxa: SET [nume = [parametru]] Prin aceast comand se echivaleaz irul de caractere desemnat prin nume, cu irul de caractere desemnat prin parametru. Interpretorul de comenzi conine o zon de memorie numit zon context (environment), n care se gsesc toate echivalrile de iruri de caractere introduse prin comanda SET. Aceste echivalri sunt folosite de programele din sistem. Dimensiunea zonei context se poate specifica n CONFIG.SYS prin comanda: SHELL = COMMAND.COM /E:xxx , unde xxx reprezint dimensiunea n octei a zonei context. Dac se introduce comanda SET fr nume, se vor afia echivalrile curente din zona context; dac se introduce SET cu nume dar fr parametru, se terge din zona context echivalarea irului de caractere desemnat prin nume. Exemple: SET TEMP = C:\USERS\TMP - Programele de aplicaie pot folosi variabila TEMP, pentru a salva fiierele temporare n subdirectorul C:\USERS\TMP. SET TEMP = - terge din zona context echivalarea anterioar pentru variabila TEMP. 7.2.6.16 Comanda TIME Sintaxa: TIME [hh:mm[:ss[.xx]]] Permite introducerea sau modificarea orei curente. Dac se introduce TIME fr parametru, se afieaz ora curent, dup care se ateapt modificarea orei curente. hh - specific ora (un numr ntre 0 i 23) mm - specific minutele ( un numr ntre 0 i 59) ss - specific secundele ( un numr ntre 0 i 59) xx - specific sutimile de secund (un numr ntre 0 i 99) 7.2.6.17 Comanda TYPE

158

Sintaxa: TYPE [d:][path]filename[.ext] Afieaz coninutul fiierului specificat la consol. Nu se pot folosi nume generice de fiier. Fiierul specificat trebuie s fie un fiier text. 7.2.6.18 Comanda VERIFY Sintaxa: VERIFY [ON|OFF] VERIFY ON determin sistemul s verifice corectitudinea operaiilor de scriere pe disc. Implicit VERIFY este OFF. Dac se introduce VERIFY fr parametru, se va afia starea curent (ON sau OFF) a opiunii de verificare. 7.2.6.19 Comanda VOL Sintaxa: VOL [d:] Afieaz eticheta volumului de disc din unitatea specificat, sau din unitatea implicit dac nu se specific nici un parametru.

7.2.7 Comenzi externe


Comenzile externe sunt fiiere executabile, deci cu extensia EXE sau COM, aflate de regul n subdirectorul \DOS al discului sistem (de obicei C:\DOS). Prin extensie, orice program utilizator poate fi considerat o comand extern. 7.2.7.1 Comanda APPEND - permite cutarea fiierelor care nu sunt gsite n directorul curent, dar nu neaprat cele cu extensia EXE, COM sau BAT, ca n cazul comenzii PATH. Sintaxa: APPEND [d:][path][ ;[d:][path]...][/x:ON|OFF] [/path:ON|OFF] APPEND [/x][/e] Cile de cutare sunt separate prin caracterul ";". Dac se introduce "APPEND ;" se terg toate cile de cutare. Comanda APPEND fr nici un parametru determin afiarea cilor de cutare introduse printr-o comand APPEND anterioar. /e - determin pstrarea cilor de cutare n zona context a interpretorului de comenzi, ceea ce face posibil modificarea i vizualizarea cilor de cutare i cu comanda SET. /x sau /x:ON - determin adugarea cii specificate n lista cilor de cutare pentru programele executabile i permite folosirea numelor generice de fiiere. /x : OFF - anuleaz opiunea /x:ON /path:OFF - anuleaz temporar calea (specificat n comand) de cutare a altor fiiere dect cele executabile. /path:ON - anuleaz opiunea /path:OFF (opiunea implicit este /path:ON) Exemple: APPEND C:\USERS\321A / x:ON/path:ON

159

APPEND /x:ON/path:OFF APPEND /x:OFF 7.2.7.2 Comanda ASSIGN Sintaxa: ASSIGN [ X [ = ] Y [...] ] Reorienteaz toate cererile pentru unitatea de disc X ctre unitatea Y. Comanda ASSIGN fr parametru determin anularea tuturor reorientrilor anterioare. Exemple: ASSIGN A=B - n urma acestei comenzi, o comand DIR A: va avea ca efect afiarea directorului rdcin al discului B. ASSIGN A=B D=C 7.2.7.3 Comanda BACKUP Sintaxa: BACKUP d:[path][filename[.ext]] d: [/s][/m][/a][/d:date][/t:time][/f:size] [/l[:[d:][path]filename[.ext]]] Salveaz fiiere de pe un disc pe altul. Se pot folosi nume generice de fiier. /s - determin salvarea tuturor subdirectoarelor inferioare directorului specificat, pe lng fiierele din directorul respectiv. /m - determin salvarea numai a fiierelor modificate dup ultima utilizare a comenzii BACKUP. /a - determin adugarea (i nu nlocuirea) fiierelor salvate la fiierele de pe discul destinaie. /d:date - determin salvarea fiierelor care au fost modificate dup o anumit dat. /t:time - determin salvarea numai a fiierelor care au fost modificate dup o anumit or. /f:size - determin formatarea discului destinaie nainte de a face salvarea propriu-zis (size poate fi 160, 180, 320, 360, 720, 1200, 1440, 1.2, 1.44). /l - determin crearea unui fiier catalog, cu extensia LOG. Dac nu se specific numele fiierului catalog, se consider fiierul BACKUP.LOG de pe discul surs, din directorul rdcin. n fiierul catalog sunt trecute numele i calea tuturor fiierelor salvate, mpreun cu numrul n secven al discului pe care a fost salvat fiierul. Prima nregistrare a fiierului catalog conine data i ora salvrii. Exemplu: BACKUP C:\USERS\*.PAS A: /s/d:10-09-93/f:1200 - determin salvarea pe discul A a tuturor fiierelor cu extensia PAS din subdirectorul C:\USERS de pe discul C, precum i din subdirectoarele inferioare subdirectorului C:\USERS, dar numai acele fiiere care au fost modificate dup data 10-09-93, formatndu-se n prealabil discul la o capacitate de 1,2Mb. 7.2.7.4 Comanda CHKDSK Sintaxa: CHKDSK [d:][path][filename[.ext]][/f][/v]

160

Verific structura de directoare i tabela de alocare a discului implicit sau cel specificat n comand, i afieaz un raport al strii discului. Dac se specific un nume de fiier, se va afia i numrul zonelor necontigue ocupate de fiier (sau fiiere, dac s-a utilizat un nume generic de fiier). /f - determin executarea coreciilor n director sau tabela de alocare. Fr opiunea /f se pot analiza rezultatele coreciilor fr scrierea lor efectiv pe disc (coreciile sunt simulate). /v - determin afiarea detaliat a informaiilor i erorilor ntlnite. 7.2.7.5 Comanda EXE2BIN Sintaxa: EXE2BIN [d:][path]filename[.ext] [d:][path][filename[.ext]] Convertete un fiier din format EXE n format imagine memorie (COM). Dac nu se specific extensia celui de-al doilea fiier, se consider implicit extensia BIN. Extensia implicit a primului parametru este EXE. Fiierele n format EXE sunt fiiere relocabile, fiind posibil rularea lor de la diferite adrese de ncrcare. Fiierele EXE conin informaii de relocare, care ajut sistemul de operare s execute relocarea programului respectiv atunci cnd acesta este ncrcat n memorie. Fiierele COM sunt fiiere imagine memorie, fiind ncrcate i rulate numai n zona de memorie pentru care sunt generate adresele din fiier. n schimb, fiierele COM sunt de dimensiune mai mic, deoarece nu conin informaii de relocare, i sunt ncrcate mai rapid n memorie de ctre procesorul de comenzi, care nu mai execut relocarea adreselor programului respectiv. 7.2.7.6 Comanda FDISK Sintaxa: FDISK Partiioneaz un disc hard. Comanda pune la dispozitie un sistem de menu-ri adecvat, care ajut utilizatorul n operaiile de gestiune a partiiilor. Dimensiunea maxim a unei partiii este de 2Goctei. Partiia activ este acea partiie din care se ncarc sistemul de operare. Dup partiionare, fiecare partiie trebuie formatat cu ajutorul comenzii FORMAT. 7.2.7.7 Comanda FORMAT Sintaxa: FORMAT d: [/1][/4][/8][/n:sectors][/t:tracks][/v:[label]][/s] FORMAT d: [/1][/b][/n:sectors][/t:tracks] FORMAT d: [/v][/f:size][/s] Comanda creaz directorul rdcin, tabela de alocare a fiierelor, scrie pe disc programul ncrctor al sistemului de operare, i verific discul marcnd cluster-ele defecte n FAT, prevenind n acest fel utilizarea lor ulterioar. n cazul discurilor flexibile, creaz i structura fizic a discului (structura de sectoare, piste, cilindri ), prin scrierea informaiilor utilizate de ctre controlerul de floppy disk. La discurile fixe, structura fizic este creat cu ajutorul unor programe ca HDINIT sau FDISK, comanda FORMAT iniializnd numai structura logic a discului. Parametrii comenzii sunt urmtorii: /1 - formatare simpl fa

161

/4 - formatare simpl sau dubl fa n unitti de 1,2Mocteti (numai pentru discuri de 5,25") /8 - formatare cu 8 sectoare pe pist /b - bootable - creeaz spaiu pe disc pentru fiierele sistem IO.SYS i MSDOS.SYS, fr a le plasa pe disc /s - system - copie fiierele sistem ale cror nume sunt gsite n fiierul FORMATS.TBL de pe discul implicit. Discul formatat trebuie s aib o capacitate mai mare de 1,2Moctei /t:tracks - specific numrul de piste al discului ce se formateaz /n:sectors - specific numrul de sectoare pe pist al discului ce se formateaz /v:label - specific eticheta (numele discului) de volum a discului /f:size - specific dimensiunea discului ce se formateaz. Nu se utilizeaz n acelai timp cu opiunile /n i /t. Valorile posibile ale parametrului size sunt : 160, 180, 320, 360, 1200, 1.2, 720, 1440, 1.44. Practic, n prezent, marea majoritate a utilizatorilor de calculatoare utilizeaz numai discuri flexibile de 3,25", cu capacitatea de 1,44Moctei. Exemple: FORMAT A: /T:80/N:18/S - formateaz discul din unitatea A, cu 18 piste i 80 de sectoare pe pist, copiind fiierele sistem pe noul disc. FORMAT B: /f:1.44/v:VOL1 - formateaz discul din unitatea B la capacitatea de 1,44Moctei, specificnd o etichet pentru discul respectiv. 7.2.7.8 Comanda GRAPHICS Sintaxa: GRAPHICS [type][profile][/r][/b][/lcd] Permite tiprirea ecranului grafic la imprimant, atunci cnd se apas simultan tastele SHIFT i PRTSC. type - specific tipul imprimantei: COLOR1 pentru imprimant IBM cu band tuat neagr i 4 nuane de gri, COLOR4 pentru imprimante IBM cu band RGB (Red-Green-Blue-black) etc. profile - specific numele fiierului ce conine informaii despre imprimantele suportate de sistem. Implicit se folosesc informaiile din fiierul GRAPHICS.PRO. /r - reverse - dac nu se folosete aceast optiune, se tiprete alb n loc de negru i negru n loc de alb. /b - background - determin tiprirea culorii de fond (numai pentru COLOR4 i COLOR8) /lcd - determin tiprirea imaginii de pe ecran la imprimant, n cazul unui display IBM cu cristale lichide. 7.2.7.9 Comanda KEYB Sintaxa: KEYB [ xx, [yyy], [[d:][path]filename][/ID:zzz]

162

MS-DOS permite schimbarea modului de afiare a datei i orei curente, a monedelor naionale precum i schimbarea seturilor de caractere, prin comanda COUNTRY din CONFIG.SYS. De asemenea, se pot schimba seturile de caractere i amplasarea tastelor pe tastatur, utiliznd comanda KEYB. MS-DOS poate afia pe ecran sau tipri la imprimant la un moment dat maximum 256 de caractere, care formeaz pagina de cod activ. Calculatoarele IBM, ca i imprimantele, vin cu o pagin de cod implicit, sau pagin de cod hardware. Dac caracterele dorite nu se afl n pagina de cod hardware, utilizatorul va trebui s utilizeze paginile de cod preparate, care sunt stocate pe disc n fiiere cu extensia .CPI. Pentru fiecare ar suportat de MS-DOS, exist cte dou pagini de cod pregtite, astfel nct utilizatorul va trebui s selecteze codul uneia din paginile de cod pregtite pentru ara respectiv. n totalitate MS-DOS are 6 pagini de cod preparate, care au urmtoarele coduri: 863 - Canadian-French (conine caractere ale limbilor englez i francez din Canada) 850 - Latin (conine caractere pentru majoritatea limbilor latine) 865 - Nordic (conine caractere englezeti, daneze i norvegiene) 860 - Portugese (conine caractere englezeti i portugheze) 437 - United States (conine caractere englezeti i ale majoritii limbilor europene) 852 - Slavic (conine caractere pentru limbile slave cu alfabet latin) n fiecare pagin de cod preparat, primele 128 de caractere sunt caracterele standard ASCII, numai ultimele 128 de caractere fiind caracterele specifice limbilor naionale. Pentru a utiliza o pagin de cod preparat, mai nti trebuie ncrcate driver-ele DISPLAY i PRINTER prin CONFIG.SYS, care pregtesc ecranul i imprimanta s accepte alte pagini de cod, apoi trebuie ncrcat n memorie pagina de cod ce se dorete a fi utilizat, prin comanda MODE (care poate fi plasat n AUTOEXEC.BAT), dup care se schimb pagina de cod activ cu ajutorul comenzii CHCP. Parametrii care intervin n sintaxa comenzii KEYB sunt: xx - un cod pe dou litere ce specific ara yyy- codul uneia din paginile de cod pregtite pentru ara xx [[d:][path]filename] specific fiierul ce definete tastatura (implicit KEYBOARD.SYS) /ID:zzz - specific tipul tastaturii utilizate. Comanda KEYB ncarc un program pentru tastatur, ce rmne rezident n memorie. Dac nu se introduce nici un parametru, se afieaz tastatura curent. CTRL-ALT-F1 determin revenirea la tastatura implicit (SUA), CTRL-ALT-F2 determin revenirea la tastatura specificat printr-o comand KEYB anterioar. n tabelul urmtor sunt date codurile ctorva ri, mpreun cu paginile de cod pregtite pentru rile respective.
Cod tastatur ara ID Pagini de cod

gr

GERMANIA

129

437,850

163

us fr df Exemplu: Sintaxa:

SUA FRANA DANEMARCA KEYB fr/120

103 120/189 159

437,850 437,850 865,850

7.2.7.9 Comanda MEM MEM [/prog] - afieaz programele ncrcate n memorie. MEM [/debug] - afieaz 7.2.7.10 Comanda MODE Cel mai adesea comanda MODE este utilizat pentru redirectarea imprimantei paralele ctre un port serial. n acest mod se poate efectua o tiprire pe o imprimant serial, la fel ca pe o imprimant paralel, fr nici o alt modificare n software. Sintaxa: MODE LPTn := COMm Redirecteaz imprimanta paralel LPTn ctre portul serial COMm (n,m = 1, 2, 3, 4 i reprezint numrul portului paralel sau serial). Comanda MODE mai poate fi folosit i pentru: - stabilirea modului de lucru pentru un port serial: vitez de transmisie, numr bii de stop, dac se folosete sau nu un bit de paritate etc.; - configurarea unei imprimante paralele: numr caractere pe linie, numr linii pe inch etc.; - stabilirea modului de lucru pentru ecran: numr linii pe ecran, dac ecranul este color sau alb/negru etc. 7.2.7.11 Comanda RECOVER Sintaxa: RECOVER [d:][path]filename[.ext] RECOVER d: Prima form recupereaz toate cluster-ele nedistruse ale fiierului specificat i marcheaz cluster-ele defecte n FAT, pentru a preveni alocarea ulterioar a acestora. Exemplu: RECOVER FIIER.PAS Cea de-a doua form este folosit cnd a fost distrus informaia din directorul rdcin, i se dorete recuperarea tuturor fiierelor de pe disc. Se investigheaz toate lanurile de cluster-e din FAT, i se creaz cte un fiier cu numele FILEnnnn.REC pentru fiecare lan de alocare gsit (nnnn este un numr n secven ncepnd cu 0001). 7.2.7.12 Comanda RESTORE Sintaxa: RESTORE d: [d:][path][filename[.ext]] [/s][/p][/b:date][/a:date][/m] [/n][/l:time][/e:time] Este comanda invers comenzii BACKUP, i restaureaz unul sau mai multe fiiere pornind de la o arhiv realizat cu comanda BACKUP, pe unul sau mai multe discuri flexibile. programele, driver-ele, mpreun cu alte informaii, precum i zonele rmase libere.

164

Primul parametru (d:) specific unitatea de pe care se face restaurarea. Al doilea parametru reprezint unitatea pe care se face restaurarea i eventual fiierele care se restaureaz. /s - se vor restaura i fiierele din subdirectoarele inferioare directorului specificat. /p - determin cererea confirmrii din partea utilizatorului, atunci cnd se restaureaz un fiier care a fost modificat de la ultima salvare sau care este read-only. /b:date - determin restaurarea tuturor fiierelor modificate naintea datei specificate. /a:date - determin restaurarea tuturor fiierelor modificate dup data specificat /m - determin restaurarea numai a fiierelor terse sau modificate dup ultima salvare. /n - determin restaurarea numai a fiierelor care nu mai exist pe discul destinaie. /l:time - determin restaurarea fiierelor modificate dup ora specificat. /e:time - determin restaurarea fiierelor modificate nainte de ora specificat. Exemplu: RESTORE A: C:\ /m/p - determin restaurarea numai a fiierelor modificate din unitatea de disc A, pe unitatea C, cerndu-se confirmarea la fiecare fiier modificat ce se restaureaz. RESTORE A: C:\USERS\*.TXT - se restaureaz din unitatea A numai fiierele provenite din subdirectorul C:\USERS i care au extensia TXT. 7.2.7.13 Comanda SYS Sintaxa: SYS d: Determin copierea fiierelor sistem IO.SYS i MSDOS.SYS de pe unitatea implicit, pe cea specificat n comand. Aceste fiiere nu pot fi copiate cu ajutorul comenzilor COPY i XCOPY, la fel ca orice fiier obisnuit. 7.2.7.14 Comanda TREE Sintaxa: TREE [d:][path] [/f][/a] Se listeaz cile arborelui de directoare de pe discul specificat i, opional, numele fiierelor din fiecare subdirector. /f - listeaz i numele fiierelor din subdirectoare /a - se vor utiliza n afiare caracterele semigrafice disponibile n paginile de cod. 7.2.7.15 Alte comenzi externe: - ATTRIB - modific sau afieaz atributele fiierelor (numai read-only i archive). - COMP - compar coninutul a dou fiiere. - COMMAND - pune n funciune un nou procesor de comenzi. - DISKCOMP - compar coninutul a dou discuri flexibile. - DISKCOPY - copiaz ntreg coninutul unui disc flexibil pe un alt disc flexibil. - FASTOPEN - permite localizarea mai rapid a fiierelor, crescnd viteza aplicaiilor ce lucreaz cu multe fiiere.

165

- JOIN - conecteaz o unitate de disc la o cale specificat de pe o alt unitate, crenduse o singur structur de directoare pentru cele dou uniti. Unitile nu vor mai fi denumite astfel prin litere distincte. - LABEL - creaz, modific sau terge eticheta de volum. - PRINT - tiprete fiiere text la imprimant, n timp ce se execut alte comenzi. - SHARE - permite partajarea fiierelor ntre mai muli utilizatori, atunci cnd se lucreaz n reea.

166

7.3. MICROSOFT Windows 95


Windows95 poate fi instalat de pe dischete, CD-ROM, sau prin intermediul suportului de reea. Pentru instalare, sistemul folosete un asistent inteligent sau wizard (vrjitor n limba englez), ce este un program cu interfa grafic, proiectat pentru a conduce instalarea sistemului pe calculator. Acest wizard realizeaz majoritatea operaiunilor de detecie a diverselor dispozitive periferice (plci video, plci de sunet, uniti CD-ROM, modemuri etc.) prezente n calculator sau conectate, respectiv construiete i aranjeaz directoarele necesare sistemului. Prin intermediul unui dialog permanent cu utilizatorul, programul de instalare l ghideaz pe acesta prin diversele opiuni, pe care Windows-ul 95 le propune n momentul instalrii. La final wizard-ul propune repornirea calculatorului, sistemul de operare care va demara fiind Windows 95. Durata instalrii este dependent de opiunile alese n cadrul wizard-ului. Trebuie inut cont de faptul c asistentul de instalare al Windows-ului 95 nu este capabil s creeze partiii, i s formateze eventualele partiii existente. Aceast operaiune, dac se dovedete a fi necesar, trebuie efectuat nainte de a ncepe instalarea efectiv a sistemului.

7.3.1. Elemente Windows 95


Windows 95 ofer o interfa grafic prietenoas ale crei elemente principale vor fi descrise n continuare. Pe lng faptul c ecranul oferit de Windows 95 este n mod grafic, ceea ce face sistemul mai uor de utilizat i neles, ntreaga interfa poate fi controlat cu ajutorul mouse-ului. Indicatorul (sau cursorul) este o pictogram prezent pe ecran, n general de forma unei sgei, i indic prezena unui dispozitiv de poziionare (mouse, trackball, etc.). Este folosit pentru a selecta elemente i pentru a alege comenzi. Se folosesc cteva metode de lucru cu mouse-ul, dup cum urmeaz: - clic simplu reprezint o apsare simpl a butonului din stnga al mouse-ului, folosit pentru selectarea unui element grafic pe ecran, alegerea unei opiuni dintr-un meniu, apsarea unui buton ntr-o fereastr sau altele. - dublu clic reprezint apsarea de dou ori, rapid, a butonului din stnga al mouse-ului, i are de cele mai multe ori ca rol executarea unei comenzi. - drag & drop reprezint apsarea butonului stnga al mouse-ului deasupra unui element grafic, deplasarea mouse-ului fr a elibera butonul apsat, poziionarea cursorului ntr-o zon aleas ca destinaie i eliberarea butonului; aceast tehnic este folosit la

167

deplasarea unor entiti grafice pe ecran, desenarea unor forme n editoarele grafice, efectuarea unor selecii prin ncadrare i altele. Se mai folosete i efectuarea unui clic dreapta, apsarea butonului din dreapta al mouse-ului efectund accesarea unor meniuri de comenzi rapide, sau deschiderea unor meniuri de comenzi locale, n funcie de aplicaia folosit. 7.3.1.1. Ferestre Marea majoritatea a aplicaiilor Windows95 sunt rulate ntr-o fereastr. n continuare, va fi detaliat structura grafic a acestor ferestre. Butonul meniului Control Bara de titlu Bara de meniuri Butonul de nchidere Butonul de maximizare

Butonul de minimizare Bara de instrumente

Dosar

Fiier

Colul ferestrei

Bara de stare

Bare de derulare Chenarul ferestrei

168

O fereastr este o zon dreptunghiular n care se pot vizualiza fiiere, dosare, sau poate avea un coninut specific aplicaiei creia i corespunde (de exemplu, pentru un program de prelucrare a textelor, textul ce poate fi editat). O fereastr poate fi nchis, redus sau redimensionat. Se pot deschide mai multe ferestre n acelai timp, i unele aplicaii permit deschiderea mai multor ferestre n interiorul uneia principale. Elementele (active) comune ale ferestrelor sunt: - Bara de titlu: conine numele ferestrei, butoanele de control al meniului, de minimizare, de maximizare sau refacere, i de nchidere; - Bara cu meniuri: conine meniuri avnd comenzi i opiuni specifice aplicaiei pornite n fereastra respectiv; - Butonul de control al meniului: conine comenzi referitoare la fereastr; - Butonul de minimizare: reduce fereastra la un buton n bara de task-uri; - Butonul de maximizare: mrete fereastra pentru a ocupa tot ecranul; - Butonul de nchidere: nchide fereastra i aplicaia care ruleaz n fereastra respectiv; - Chenarul ferestrei: permite redimensionarea ferestrei; - Colurile ferestrei: permit i ele redimensionarea ferestrei. O fereastr Windows mai poate conine i urmtoarele elemente: - Bara de instrumente (toolbar): conine butoane avnd desenate instrumente care reprezint comenzi rapide. Afiarea ei este opional. - Bara de stare (status bar): este o bar aezat orizontal, care descrie cteva proprieti ale coninutului ferestrei. Afiarea ei este opional de cele mai multe ori. - Bara de derulare (scroll bar): poate fi orizontal sau vertical i permite vizualizarea prilor ascunse de limitele ferestrei. Ele apar automat atunci cnd fereastra conine informaie ce nu poate fi afiat n chenarul curent. 7.3.1.2. Meniuri Meniul reprezint o list de comenzi nrudite, folosite pentru a executa anumite aciuni n cadrul aplicaiilor Windows. Comenzile din meniuri sunt organizate pe grupuri logice. Pentru a executa o comand dintr-un meniu derulant, se execut un clic stnga pe titlul meniului, pentru a-l deschide, i apoi se execut un clic stnga pe opiunea aleas. Pentru a face meniul s dispar se poate executa un clic n afara meniului. Meniurile pot fi accesate i cu ajutorul tastaturii. Pentru a activa bara de meniuri se

169

apas tasta Alt, primul meniu fiind selectat automat. Se pot folosi n continuare tastele cu sgei pentru a selecta comanda dorit, dup care se apas Enter pentru activarea comenzii. Opiunea ce se dorete a fi selectat se poate activa i apsnd tasta corespunztoare literei subliniate din titlul comenzii, dac exist. n meniuri, lng titlul comenzii este afiat uneori i comanda rapid care permite accesul direct la comand. Comenzile rapide permit selecia unei comenzi fr ajutorul meniurilor, i acestea se execut, de cele mai multe ori, prin combinaii ale tastelor speciale Alt, Shift sau Ctrl. Att Windows 95, ct i multe aplicaii pentru Windows 95, ofer o varietate de meniuri scurttur (shortcuts), ce conin comenzile uzuale. Aceste meniuri scurttur se afieaz la executarea unui clic dreapta, deasupra unui obiect sau a suprafeei de lucru.

7.3.1.3.Casete de dialog Sistemul Windows 95 i aplicaiile Windows folosesc casete de dialog, pentru a schimba informaii cu utilizatorul. Casetele de dialog cer, de cele mai multe ori, informaiile necesare, pentru ca programul folosit sau sistemul s poat executa operaia respectiv. Windows 95 afieaz, de asemenea, casete de dialog i pentru a oferi informaii despre rezultatul executrii unei comenzi. Casetele de dialog variaz n complexitate, depinznd de programul care le genereaz sau de procedura folosit. Unele cer o simpl confirmare a unei aciuni care trebuie executat, altele ofer posibilitatea alegerii ntre numeroase opiuni. Componentele ntlnite ntr-o caset de dialog sunt urmtoarele: - Caset text: ofer posibilitatea introducerii unor caractere de la tastatur (de exemplu, nume de fiier, calea spre un fiier, etc.)

170

Caset text

Caset cu list derulant

Caset de validare Buton de comand

Caset cu list: prezint opiunile ce pot fi alese; de cele mai multe ori se ntlnesc pe ele i bare de derulare; selecia poate fi simpl sau multipl, adic se poate selecta fie numai un element din list, fie mai multe. Caseta cu list derulant: este o caset cu o list de o singur linie, avnd un buton de derulare la dreapta; la executarea unui clic stnga pe buton, o caset cu o list derulant se deschide pentru afiarea listei de opiuni; nu permite dect o singur selecie. Butoanele cu opiuni: prezint un grup de elemente nrudite din care poate fi ales numai unul; un clic pe una din opiuni le deselecteaz pe celelalte. Caseta de validare: permite selectarea sau deselectarea unei opiuni; n cazul validrii, un semn apare n dreptul csuei; ntr-un grup de astfel de casete se pot selecta oricte opiuni, sau nici una. Butonul de comand: ndeplinete funcia care este afiat pe el. (Open, Help, Quit, Cancel, etc.); dac lng numele afiat pe buton se gsete o elips (), apsarea lui duce la deschiderea unei noi casete de dialog. Etichete: reprezint seciuni sau pagini multiple ale unei casete de dialog; la un moment dat numai o singur etichet este afiat, fiecare etichet coninnd opiuni nrudite; alegerea unei etichete schimb opiunile ce apar n caseta de dialog. Sunt deseori numite i Tab-uri.

171

Etichete

Butoane cu opiuni

Caset cu list

Caset de validare

7.3.1.4. Desktop Desktop-ul (suprafaa de lucru) este o poriune dreptunghiular din suprafaa ecranului, care este cel mai ndeprtat strat din ceea ce este afiat pe ecran.

Desktop-ul poate conine pictograme (denumite i iconie) i are ca principale proprieti: - culoarea fundalului, care poate fi o singur culoare uniform sau o imagine; - setarea unui tipar, care poate fi suprapus peste culoarea fundalului;
172

spaierea pictogramelor. Proprietile desktop-ului pot fi setate executnd un clic din dreapta pe suprafaa sa. Pictogramele aezate pe suprafaa de lucru reprezint directoare sau dosare (numite folder-e), fiiere i aplicaii. Principalele pictograme standard sunt: My Computer reprezint coninutul calculatorului, incluznd discurile fixe, unitile de dischet i de CD-ROM. Sunt incluse de asemenea i imprimantele care pot fi accesate de calculator (locale sau de reea), dosarul cu aplicaiile de configurare a sistemului Windows 95 i dosarul ce permite configurarea modemului, dac suportul pentru modem a fost instalat. Network Neighborhood afieaz celelate calculatoare aflate n reeaua local, din reele de tip Microsoft (Windows NT sau Windows for Workgroups) sau de alte alte tipuri (Novell). Aceast iconi nu apare dect dac a fost instalat n Windows 95 i suportul pentru reea. Recycle Bin, sau coul de gunoi, reprezint un dosar (folder) special ce conine toate obiectele (fiierele i directoarele) care sunt terse din sistem, permind recuperarea lor pn la o golire explicit a acestuia. Unele variante de Windows 95 sunt livrate mpreun cu pachete de programe pentru comunicaie n reea i pentru Internet. n acest caz apar noi pictograme pe fundal: Inbox este o component a programului Microsoft Exchange, care permite trimiterea i primirea de fax-uri sau mesaje e-mail.

Internet Explorer este navigatorul Internet furnizat de firma Microsoft, pentru accesarea de pagini html n Internet. Peste fundal se afl, de obicei n partea de jos a ecranului, bara de aplicaii (sau bara de task-uri, din eng. taskbar). Aceasta conine butonul Start, care afieaz un meniu din care se poate alege o aplicaie ce poate fi lansat, un document pentru a fi prelucrat, se poate obine asisten software, i se pot cuta fiiere pe disc sau se poate nchide sistemul Windows 95.

173

Bara de aplicaii mai conine n partea din dreapta o zon special denumit system tray, n care este afiat ora sistemului mpreun cu iconie pentru anumite tipuri de programe, numite rezidente. Acestea se ncarc de obicei la pornirea sistemului Windows 95, i ruleaz permanent pe durata unei sesiuni. Spaiul dintre tray i butonul Start este ocupat de butoane care apar n momentul n care o aplicaie este pornit. Aceste butoane se autodimensioneaz i se pot aranja i pe mai multe rnduri, n momentul n care sunt prea multe butoane ce trebuie afiate.

Prin efectuarea unui clic din dreapta asupra unui buton din bara de aplicaii, se deschide un meniu local corespunztor aplicaiei, similar de cele mai multe ori cu meniul butonului de control din bara de titlu a aplicaiei. Meniul Start este afiat n momentul efecturii unui clic stnga peste butonul cu acelai nume din bara de aplicaii. Deplasnd cursorul de-a lungul meniului se pot apela comenzi directe pentru sistem sau se pot lansa aplicaii, fiind folosit pentru a avea acces la programe i documente, la sistemul de asisten software (help) i la alte componente ale sistemului Windows 95. n structura sa se gsesc urmtoarele: Programs afieaz lista de programe instalate n sistem i aplicaiile ce vin cu Windows 95, unele grupate n meniul Accessories, altele accesibile direct (de exemplu Command Prompt). Documents afieaz cele mai recente documente deschise (15); pentru a le accesa repede i uor, lansnd aplicaia cu care au fost editate, se execut un clic pe numele documentului. Settings afieaz dosarele Control Panel, Printers i Bara de taskuri pentru personalizarea configurrii Windows 95. Find permite cutarea de fiiere, directoare i/sau calculatoare n reeaua local. Help afieaz informaii despre executarea taskurilor i a procedurilor, i despre folosirea sistemului Windows 95. Run permite introducerea unei linii de comand pentru a rula un program de pe hard disc sau dischet.

174

Shut Down afieaz caseta de dialog Shut Down prin care se pregtete oprirea calculatorului, sau se realizeaz deconectarea utilizatorului curent, n vederea unei alte sesiuni de lucru, fr a opri calculatorul.

7.3.2. Windows Explorer


Programul Windows Explorer este folosit pentru a organiza informaia coninut pe discurile disponibile n sistem, permind lucrul cu fiiere: este posibil schimbare numelui, copierea, mutarea, tergerea fiierelor i directoarelor etc. De obicei, Windows Explorer poate fi gsit n meniul Programs al butonului Start. Windows Explorer este compus n principal din dou panouri. Implicit, panoul din stnga afieaz structura arborescent de pe discurile locale, mpreun cu cteva directoare speciale. Panoul din dreapta afieaz lista cu fiierele i directoarele, din directorul selectat n panoul din stnga, sau coninutul unui director special, dac acesta este selectat. Elementele ferestrei Windows Explorer: - Bara de titlu: conine numele ferestrei (Exploring), numele unitii de disc i eventual calea pn la directorul selectat n panoul din stnga, butonul meniului de control i butoanele de minimizare, maximizare/refacere i de nchidere a ferestrei. - Bara de meniuri: afieaz meniuri legate de operaiile cu uniti de disc, dosare, fiiere sau reea. - Fereastra cu calea unitii de disc: afieaz calea selectat n momentul respectiv n panoul din stnga.

175

- Bara de instrumente: ofer diferite instrumente pentru a naviga prin Explorer precum i accesul la principalele funcii de lucru cu fiiere. - Panoul de dosare i programe: afieaz directorul rdcin sau unitatea de disc sau orice alt director selectat. - Panoul de fiiere i subdosare: afieaz coninutul dosarului selectat n panoul din stnga. - Bara de stare: afieaz date statistice, cum ar fi: spaiul liber pe unitatea de disc selectat, numrul de fiiere din director sau numrul elementelor selectate etc.
Fereastra unitii de disc Bara de meniuri Bara de titlu Bara de instrumente

Panoul stnga al dosarelor Bara de stare Panoul dreapta al subdosarelor i programelor

Pentru a vizualiza coninutul unui director, se poate executa un clic simplu pe semnul plus care precede numele dosarului, sau un dublu clic pe numele acestuia sau pe icoana corespunztoare. Pentru a i ascunde coninutul se execut un clic pe semnul minus din faa numelui sau un dublu clic pe zona de ecran ocupat de nume. n afara numelor fiierelor, se pot vizualiza n panoul din dreapta i diferite detalii despre fiiere sau directoare. Pentru aceasta se pot folosi butoanele de pe bara de instrumente sau meniul View (Details, de exemplu). Pentru aranjarea coninutului panoului din dreapta n

176

funcie de nume, tip (extensie), dimensiune sau dat, se poate apela la butoanele care constituie capul tabelului afiat. O alt modalitate este selectarea meniului View -> Arrange Icons i alegerea tipului de sortare dorit. Pentru crearea unui nou director (dosar) se poate proceda n mai multe feluri. Mai nti se poziioneaz cursorul de selecie pe directorul care va fi printe. Se poate alege apoi din meniul File -> New -> Folder, sau se efectueaz un clic dreapta ntr-o zon liber din panoul din dreapta, selectnd din meniul de comenzi rapide aprut opiunea New -> Folder. Selectarea mai multor fiiere, contigue sau nu n lista afiat, se face cu ajutorul mouseului. Pentru a selecta o list de fiiere sau directoare contigue, se selecteaz primul element din list i innd apsat tasta Shift se execut un clic pe ultimul element din list. Pentru a selecta mai multe elemente, se ine apsat tasta Ctrl i apoi se execut un clic stnga cu mouse-ul asupra fiecrui element ce se dorete a fi selectat. Pentru a selecta secvene contigue de fiiere i directoare, i elemente necontigue, se combin cele dou tehnici descrise. Observaie: Nu se pot selecta elemente din mai multe directoare simultan. Pentru a lucra cu fiiere (directoare) din mai multe directoare acestea trebuiesc tratate pe rnd. tergerea fiierelor i a directoarelor n Windows 95 presupune mutarea fiierelor ntrun dosar special, numit Recycle Bin, (coul de gunoi). Dup efectuarea seleciei asupra elementelor ce trebuie s fie terse, se poate apsa butonul de tergere din bara de instrumente , se poate alege opiunea Delete din meniul File, sau se poate activa meniul de comenzi rapide prin efectuarea unui clic dreapta asupra zonei selectate, alegnd din acest meniu Delete sau, o a treia variant pentru tergere, se poate apsa tasta Delete. Fiierele i directoarele terse pot fi recuperate din Recycle Bin poziionnd selecia n Windows Explorer asupra icoanei specifice, efectund apoi un clic dreapta asupra elementelor selectate, i alegnd opiunea Restore din meniul de comenzi rapide aprut, sau accesnd aceeai comand din meniul File. Elemente stocate n Recycle Bin exist pn la golirea explicit a acestuia din meniurile normale sau din cele de comenzi rapide; n cazul n care se depete dimensiunea alocat Recycle Bin-ului, sunt terse automat cele mai vechi intrri, cele mai vechi elemente terse. Pentru a copia sau deplasa fiiere sau directoare ntre dou zone de hard disc sau ntre partiii diferite se folosete Clipboard-ul. Acesta reprezint o zon temporar de stocare a informaiilor, n vederea deplasrii lor. Pentru copiere se efectueaz selecia elementelor ce trebuiesc deplasate, se alege comanda Copy din meniul Edit, sau se apas butonul corespunztor din bara de instrumente , ceea ce are ca efect plasarea informaiilor necesare copierii n Clipboard. Se selecteaz apoi directorul destinaie i se alege opiunea Paste din meniul Edit, sau se apas butonul Paste din bara de instrumente . Dac se dorete redenumirea unui director sau a unui fiier, se selecteaz numele corespunztor din list, i se alege, din meniul File sau din meniul de comenzi rapide,
177

opiunea Rename. Se introduce apoi direct n list numele nou al fiierului, sau al directorului, n caseta text editabil aprut. Copierea i mutarea fiierelor se mai poate realiza folosind tehnica Drag & Drop cu ajutorul mouse-ului. Se selecteaz elemente ce trebuiesc deplasate, i apoi se trage toat selecia fcut deasupra directorului destinaie, indiferent de panoul n care se afl acesta. Dac n timpul deplasrii se menine apsat tasta Ctrl, se realizeaz copierea elementelor selectate. Dac elementele selectate sunt deplasate deasupra directorului special Recycle Bin, acestea vor fi terse - mutate de fapt n Recycle Bin. Windows-ul 95 permite crearea de scurtturi (shortcuts - numite i comenzi rapide) spre fiiere (de orice natur) sau directoare. Acestea reprezint doar o legtur spre fiierul original i permite accesul rapid la directorul sau fiierul respectiv. O legtur spre un fiier sau director se recunoate imediat prin sgeata mic din colul din stnga jos alturat pictogramei originale. Putem considera c aceste comenzi rapide sunt echivalente cu un buton care permite accesul direct la fiierul, directorul sau la aplicaia respectiv, care poate fi situat oriunde pe discul fix sau chiar pe Desktop. La efectuarea unui dublu clic asupra pictogramei comenzii rapide, i se spune de fapt Windows-ului s identifice fiierul int i s l deschid.

7.3.3. Control Panel


Control Panel reprezint centrul de control al Windows-ului. De aici se pot configura cea mai mare parte a aspectului i funcionalitii interfeei grafice, mergnd pn la posibilitatea configurrii unor dispozitive periferice. Apare sub forma unei ferestre n care se gsesc mai multe pictograme, fiecare lansnd o aplicaie asociat cu tipul ajustrilor dorite. Acestea vor fi descrise n linii mari n continuare. Control Panel-ul poate fi accesat n mai multe feluri: - efectund un clic n opiunea Settings a meniului Start; - efectund un dublu clic n Windows Explorer sau n My Computer; - executnd, printr-un dublu clic asupra icoanei corespunztoare n Windows Explorer, programul control.exe. Icoanele (i implicit aplicaiile) pot fi diferite de la calculator la calculator, existnd unele aplicaii care i adaug icoane proprii n Control Panel. Acestea sunt: Accessibility ofer accesul la configurarea interfeei Windows, pentru persoanele cu handicap fizic. Nu face parte din instalarea standard a Windows-ului i aadar poate lipsi din anumite calculatoare; se pot configura sunete pentru anumite aciuni ale sistemului, se poate stabili folosirea tastelor direcionale, i a unor taste din segmentul de taste numerice, pentru direcionarea cursorului pe ecran, etc.

178

Add New Hardware folosete la configurarea sistemului, atunci cnd se dorete adugarea unor noi dispozitive periferice. Majoritatea calculatoarelor noi posed funcii de Plug & Play (de obicei inserate n BIOS), care permit Windows-ului s detecteze i s configureze automat noile dispozitive introduse n sistem. n acest caz, asistentul oferit prin aceast pictogram n Control Panel nu este folosit, sistemul cernd utilizatorului s introduc discurile cu driver-ele necesare. Asistentul este folosit n dou cazuri de excepie: primul, n cazul n care calculatorul nu are opiuni de Plug & Play sau acestea nu sunt activate, i al doilea n cazul n care dispozitivul introdus nu respect standardele de autodetecie. n aceste situaii, asistentul Add New Hardware va cuta dispozitivul adugat, ncercnd o configurare a acestuia, dac exist un driver n kit-ul standard de Windows 95, dac nu sugernd dispozitive similare. Add/Remove Programs ce permite instalarea/ dezinstalarea unor aplicaii sau pachete de aplicaii n sistem, i adugarea/scoaterea aplicaiilor standard Windows 95; ofer 3 taburi separate. Primul tab, prin butonul Install, lanseaz un program care supravegheaz instalarea unor aplicaii noi n sistem, n vederea crerii unei liste cu fiierele adugate (pentru dezinstalarea ulterioar). Este prezentat i o list cu toate aplicaiile instalate n sistem de unde se permite dezinstalarea fiecrei aplicaii. Al doilea tab ofer o list a aplicaiilor care vin standard n Windows 95, permind adugarea sau dezinstalarea lor folosind kit-ul de instalare al sistemului. Al treilea tab pune la dipoziie utilizatorului posibilitatea de a crea o dischet sistem. Discheta astfel creat permite pornirea (boot-area) calculatorului, n cazul n care sistemul nu mai pornete n mod normal de pe discul fix, i include majoritatea aplicaiilor din linia de comand

179

necesare pentru aranjarea partiiilor i formatarea discurilor. Date/Time permite setarea ceasului calculatorului i a datei acestuia. Asistentul poate fi accesat i executnd un dublu clic asupra zonei din bara de aplicaii n care este afiat ora. Se poate ajusta i zona geografic n care este plasat calculatorul. Display conine mai multe tab-uri care permit ajustarea aspectului interfeei Windows 95 pe ecran. Toate aceste tab-uri conin o mic zon grafic n care este afiat o vizualizare a noului aspect, care ar rezulta n urma modificrilor efectuate. Background permite schimbarea imaginii de pe fundalul desktopului, iar din tab-ul Screen-Saver se poate schimba economizorul de ecran folosit (un program care intr n funciune dup o anumit perioad de inactivitate a tastaturii i mouse-ului, n scopul de a produce o animaie pe ecran, pentru a nu solicita inutil luminoforii tubului catodic al monitorului). Tab-ul Settings conine principalele elemente necesare pentru controlul ecranului; se poate schimba rezoluia plcii grafice i profunzimea de culoare (numrul maxim de culori afiabile) de pe ecran. Trebuie gsit un compromis ntre aceste dou caracteristici, n funcie de performanele plcii grafice din calculator i a monitorului. Este de asemenea posibil schimbarea driver-ului plcii grafice, n cazul schimbrii acesteia din urm. Tab-ul Appearance permite schimbarea culorilor interfeei Windows, modificarea mrimii i tipului caracterelor folosite pentru afiarea ferestrelor i altele. ntreg aspectul interfeei poate fi personalizat de ctre fiecare utilizator, sau se pot alege scheme standard de culori i stiluri din lista predefint din Windows. Fonts deschide o fereastr ce afieaz coninutul dosarului n care sistemul i ine tipurile de caractere (font-uri) care pot fi folosite. Efectund un dublu clic asupra unui font se poate obine o fereastr care s afieze tipul respectiv de caracter n mai multe mrimi. Meniurile ferestrei permit gestiunea fonturilor instalate n sistem, cum ar fi de exemplu adugarea unui nou tip de caracter.
180

Internet n cazul n care Microsoft Internet Explorer este instalat pe calculator, din acest asistent se pot ajusta configurrile referitoare la aplicaie n sine, precum i tipul de conexiune existent n reeaua respectiv. Joystick dac exist un joystick legat la calculator, din aceast icoan se obine asistentul care permite configurarea dispozitivului. Keyboard folosete la configurarea tastaturii, referitor la viteza de repetiie a unei taste meninut apsat. Tab-ul Language permite adugarea (sau schimbarea) unei noi limbi pentru tastatur, n cazul n care este nevoie. Tab-ul General este folosit la schimbarea tipului de tastatur legat la calculator i implicit a driver-ului aferent. Modems permite adugarea unui modem n sistem i configurarea acestuia. Din acest asistent se seteaz, de exemplu, toate datele necesare conectrii prin Dial-Up la Internet. Mouse ofer diverse opiuni referitoare la ajustarea parametrilor de funcionare ai mouse-ului. Se poate modifica sensibilitatea acestuia, viteza de reacie, i modul de poziionare n jurul tastaturii (n partea dreapt sau n partea stng). Tab-ul Pointers permite modificarea tipului de cursoare grafice afiate. Tab-ul General este folositor atunci cnd se dorete schimbarea driver-ul pentru mouse. Multimedia acceseaz asistentul folosit pentru ajustarea parametrilor audio i video ai sistemului Windows 95. Tab-ul Audio permite setarea volumului de ieire al plcii audio (dac aceasta exist) i se poate opta pentru afiarea unei icoane de forma unui difuzor n System Tray, pe bara de aplicaii de unde se poate controla volumul; se poate ajusta i nivelul de intrare al microfonului. Tab-ul Video ofer cteva opiuni referitoare la secvenele de animaie care pot fi vizionate pe ecran. Tab-ul Midi particularizeaz instrumentele folosite de sistem pentru nregistrri audio numerice de tip MIDI (Musical Instrument Digital Interface). Tab-ul CD Music se refer la volumul redrii CD-urilor audio, via placa de sunet inserat n calculator. Tab-ul Advanced permite ajustarea unor opiuni particulare plcii de sunet i a parametrilor funcionali ai acesteia. Network configureaz parametrii plcii de reea, dac acesta exist n calculator, precum i protocolul de reea folosit. Passwords conine dou Taburi, care faciliteaz configurarea sistemului pentru a permite mai multor utilizatori s foloseasc acelai calculator cu interfaa personalizat pentru fiecare. Primul Tab, Change Passwords ofer o caset de dialog ce permite fiecrui utilizator s i modifice parola de autentificare pe lng sistem, sau pe lng sistemele din reea ce ofer acest serviciu (de autentificare), dac este cazul. Tab-ul User Profiles este cel de unde se poate seta configurarea sistemului, pentru a permite folosirea lui
181

de ctre mai muli utilizatori. n cazul n care se alege opiunea un singur desktop pentru toi utilizatorii, fereastra de autentificare de nceput de sesiune nu va mai fi afiat. Power ofer un asistent pentru configurarea modului de economie al energiei, opiune util n cazul n care calculatorul este portabil sau dac hardware-ul calculatorului are module pentru aceast opiune. Se poate vizualiza nivelul de ncrcare al acumulatorilor n cazul unui calculator portabil, de exemplu. Dac este prezent n sistem facilitatea de gestiune a energiei (Power Management), se poate afia din acest asistent o intrare suplimentar n meniul Start, numit Suspend, care are ca scop trecerea calculatorului n regim de economie de energie. Printers deschide dosarul ce permite configurarea imprimantelor instalate n sistem, acelai cu dosarul obinut din meniul Start ->Settings. Regional Settings ofer posibilitatea configurrii sistemului n funcie de zona geografic unde este plasat calculatorul, referitor la afiarea datelor, numerelor i a monedei. Sounds Windows 95 are posibilitatea asignrii unor sunete anumitor operaiuni din cadrul interfeei (minimizarea, maximizarea sau nchiderea unei ferestre, golirea Recycle Bin-ului, etc.). Din aceasta caset de dialog se pot personaliza aceste sunete. System este probabil cea mai important aplicaie de asisten din cadrul Control Panel-ului. Prin intermediul casetelor de dialog prezentate, se pot soluiona conflicte hardware aprute (din punct de vedere al partajrii resurselor, de exemplu), poziionarea parametrilor n mod neadecvat n aceast zon putnd conduce la blocarea sistemului. Tab-ul General ofer informaii generale despre sistemul Windows 95 instalat i despre memoria i procesorul din calculator. Tab-ul Device Manager este folositor pentru a identifica dispozitivele periferice ce au anumite probleme n funcionare. Principalul element este lista arborescent prezentat i n figur n care apar toate dispozitivele din calculator, fiind uor de observat care sunt cele care au eventuale probleme. Se poate selecta un anumit element din list i apoi pot fi afiate proprietile caracteristice acelui dispozitiv la nivel hardware (adrese de memorie, numerele ntreruperilor folosite). Printr-o tergere a unui dispozitiv din aceast list se poate nltura din sistem drive-ele aferente dispozitivului respectiv. Dac se selecteaz icoana din rdcina listei (Computer) i se apas butonul Properties se afieaz o fereastr ce conine informaii despre toate resursele hardware ale calculatorului i cui sunt ele alocate. Aceste informaii pot fi foarte utile n momentul n care se dorete adugarea unui dispozitiv n sistem, care are nevoie de specificaiile anumitor resurse libere n calculator. Selectnd un element din list i apsnd butonul Properties (sau un dublu clic asupra elementului direct n list) se afieaz o caset de dialog ce ofer informaii despre configuraia dispozitivului ales.

182

Tab-ul General afieaz informaii generale despre dispozitiv. Tab-ul Drivers furnizeaz lista cu fiierele existente n sistem care sunt folosite de acel dispozitiv (driverele dispozitivului), iar butonul Change Driver permite schimbarea driver-elor, de exemplu n cazul actualizrii fiierelor la ultimele versiuni existente, sau atunci cnd, datorit unor probleme, n baza de date a Windows-ului (Registry) nu se mai afl informaiile corecte referitoare la dispozitivul ales. Tab-ul Resources permite afiarea resurselor folosite de dispozitivul respectiv i poate fi util atunci cnd apare o problem n sistem, semnalnd eventualele conflicte ntre dispozitivul selectat i celelalte. Dac asistentul Device Manager nu este capabil s ofere o soluie viabil spre rezolvarea conflictului, n ceea ce privete alocare de resurse, se poate alege opiunea Use automatic settings, la o repornire a sistemului, Windows 95 ncercnd s aloce automat resursele ntre dispozitive. Tab-ul Hardware Profiles este util n momentul n care se folosesc mai multe configuraii hardware pentru calculator. Dac exist mai multe configuraii hardware setate pe sistemul respectiv (de exemplu cu suport de reea instalat sau nu), atunci la pornire sistemul va afia un meniu, din care se va cere alegerea configuraiei hardware n care se dorete funcionarea calculatorului. Tab-ul Performance ofer posibilitatea modificrii unor parametri legai de viteza de funcionare a sistemului. n general, Windows 95 seteaz aceti parametri n mod automat i ei nu ar trebui modificai fr o nevoie explicit.

183

7.4. Linux
Sistemul Linux este un sistem de operare din categoria Unix-urilor, proiectat iniial pentru platformele x86. Linux-ul este freeware, adic nu este un sistem de operare comercial. A fost dezvoltat iniial de Linus Torvalds la Universitatea din Helsinki, n Finlanda, i a fost anunat public pentru prima dat n noiembrie 1991. Datorit rspndirii pe care a cptat-o n ultimul deceniu, au aprut firme comerciale care vnd totui variante ale acestui produs, Linux-ul devenind el nsui o familie, la ora actual existnd mai multe variante de Linux. Cele mai des ntlnite (i cele mai importante) variante de Linux sunt urmtoarele: - Red Hat Linux - Slackware Linux - OpenLinux al firmei Caldera - SuSE Linux (Germania) - Debian Linux Datorit compatibilitii sale cu sistemele Unix majore, pe aceast platform de operare se pot gsi majoritatea aplicaiilor care ruleaz i pe Unix-urile de firm, portarea aplicaiilor de la un sistem la altul nefiind foarte dificil. Cele mai importante caracteristici ale Linux-ului sunt urmtoarele: - Multitasking veritabil i funcionare pe 32 de bii, folosind modul protejat al procesoarelor 386 i superioare; - Posibilitatea conectrii mai multor utilizatori simultan pe acelai calculator; - Sistemul grafic X Windows interfaa grafic standard pentru sistemele Unix; - Suport pentru protocolul de reea TCP/IP ncorporat n sistem; - Existena memoriei virtuale i a bibliotecilor de funcii partajate; - Prezena celor mai multe faciliti ale sistemelor Unix.

7.4.1. Structura sistemului Linux


Pentru a nelege funcionarea unui sistem Linux, este nevoie mai nti de o familiarizare cu structurile de fiiere i organizarea acestora. Se poate face o clasificare a fiierelor Linux, n funcie de nite considerente generale, astfel: - fiiere obinuite: conin informaiile pe care le creaz i le prelucreaz sistemul sau utilizatorii. Pot fi n mod text sau binar, sau pot fi fiiere speciale create de anumite aplicaii, fiiere ce conin cod executabil. - fiiere speciale: acestea sunt nite fiiere ale sistemului de operare prin intermediul crora acesta execut operaiile cu dispozitivele periferice din calculator; se mpart n dou categorii: fiiere ce comunic la nivel caracter, respectiv la nivel de blocuri. Mai
184

exist un tip special de fiiere, numit pipe, ce reprezint canale de comunicaie constituite n memorie ntre dou procese. - fiiere de legtur (links): reprezint o legtur n directorul n care sunt create, spre un alt fiier sau director aflat n alt zon a sistemului de fiiere. Aceasta poate fi o metod de a da un nume nou unui fiier, fr a-l schimba pe cel original. Exist dou tipuri de astfel de fiiere: - hard links: numele original i cel al legturii indic acelai bloc de date de pe discul fix. Exist dou limitri pentru acest tip de legturi: un director nu poate fi legat astfel, i o legtur de acest tip nu se poate extinde ntre dou partiii. - symbolic (soft) links: sunt de fapt dou fiiere: cel original i legtura care conine numele originalului. Dezavantajul acestui tip de legtur este c, n cazul n care este ters fiierul original, nu mai exist datele efective pe discul fix, legtura devenind inutil. Toate fiierele i directoarele din sistemul Linux au un proprietar i drepturi. Acestea se refer la cine a creat fiierul sau directorul respectiv, i cine are permisiunea de a-l citi sau modifica. Pentru a nelege structurarea acestor drepturi asupra fiierelor, trebuie, n prealabil, parcurse structurile folosite de sistem n gestiunea utilizatorilor. Accesul n sistemul Linux este permis pe baza unui cont (account). Fiecare cont este creat de administrator, cu excepia contului de administrator (root), care este creat la instalarea sistemului. Un cont presupune un identificator (un ir de caractere) asignat unui utilizator, prin care acesta este recunoscut de ctre sistem, i o parol cunoscut numai de ctre utilizator. Fiecare cont capt, n momentul crerii, un numr numit UID (User ID), care este folosit pentru identificarea posesiunii asupra fiierelor, directoarelor i proceselor, n acelai timp fiind asignat i directorul care va reprezenta directorul de baz pentru utilizator. Mai muli utilizatori sunt adunai, din punct de vedere al administrrii conturilor, n grupuri. Astfel, un grup sub Linux reprezint o apartenen la o anumit categorie de utilizatori, categoriile fiind create n prealabil de administrator. La fel ca i n cazul unui cont, un grup capt la creare un GID (Group ID), care este folosit pentru diversificarea drepturilor de acces asupra directoarelor i fiierelor sistemului. Un utilizator poate aparine mai multor grupuri, ns aparine unui grup primar (primary group), n ceea ce privete drepturile de acces la datele din sistemul de fiiere. Datele despre conturile existente ntr-un sistem sunt stocate ntr-un fiier text, /etc/passwd, iar cele despre grupuri n /etc/group. n funcie de tehnica de securizare a sistemului aleas de ctre administrator, parolele utilizatorilor sunt criptate i stocate n acelai fiier passwd, sau n altele. Tot n fiierul passwd, vital pentru sistem, mai sunt cuprinse i informaii referitoare la numele real al utilizatorului, i la shell-ul (sau un alt program) pe care l va oferi sistemul de operare utilizatorului n momentul conectrii.
185

Orice fiier sau director aparine unui singur utilizator i unui grup, utilizatorul numindu-se posesorul (proprietarul) fiierului sau al directorului. Drepturile de citire i scriere (tergere) asupra unui fiier sau director sunt n funcie de posesorul su i de grupul cruia aparine. Permisiunile (drepturile asupra unui fiier) sunt structurate n trei categorii: - permisiuni pentru posesor (owner): acestea identific operaiile permise asupra fiierului n funcie de utilizator; - permisiuni pentru grup (group): identific operaiile permise asupra fiierului, n funcie de apartenena la grup a utilizatorului; - permisiuni pentru ceilali utilizatori (world): identific operaiile permise asupra fiierului de ceilali utilizatori din sistem. Exist trei drepturi de acces la fiiere: - read (r) citire; - write (w) scriere; - execute (x) execuie. Rezult astfel 9 poziii pentru precizarea complet a drepturilor de acces la un director sau fiier, fiecare poziie fiind precizat de un bit. Se pot constitui astfel secvene binare prin care se identific drepturile asupra unui fiier. n Linux, numele de fiiere i de directoare pot avea pn la 256 caractere, i nu pot conine caracterele *, ?, \, /, spaiu, , i alte caractere folosite de shell-ul sistemului. Sistemul Linux este case-sensitive, adic face diferena ntre literele mari i literele mici, aceasta referindu-se la numele de fiiere i directoare, i la comenzile sistemului. Separatorul folosit ntre numele de directoare i numele de fiiere este /. Structura folosit este, ca i n cazul MS-DOS-ului, una arborescent ierarhic, iar rdcina ei este notat cu /. Datorit faptului c sistemul este multi-user, permind conectarea mai multor utilizatori simultan, care s aib acces la resursele calculatorului, este introdus conceptul de director de baz (home directory) al fiecrui utilizator. Acesta reprezint un director unic pentru fiecare utilizator, n care posesorul acestuia are drepturi depline privind crearea i modificarea fiierelor (i evident a directoarelor) incluse. Poziia acestor directoare n structura de fiiere de pe discurile fixe din sistem este specificat de administrator, i nu poate fi schimbat de utilizatorul normal. Adresarea fiierelor sau a directoarelor n Linux se face n dou moduri, absolut i relativ, similar cu sistemul MS-DOS, pstrnd ns convenia de nume i caractere speciale folosit de Linux. Pentru a adresa absolut un fiier, se scrie toat calea pn la acesta, plecnd de la rdcina sistemului de fiiere, de exemplu: /usr/doc/HOWTO/otherformats/html/mini/README. Pentru a specifica o cale relativ, aceasta se face pornind de la directorul luat n considerare, pn la locaia precis a fiierului sau directorului specificat. De exemplu, dac se ia ca director de pornire n adresare directorul /usr/doc/HOWTO, fiierul desemnat mai nainte are calea other-formats/html/mini/README.
186

n fiecare director exist dou fiiere speciale, care sunt create odat cu directorul: . i ... Primul semnific ntotdeauna directorul nsui, n care se lucreaz la un moment dat, iar al doilea reprezint printele directorului luat n considerare. Caracterul ~ are o semnificaie special, el desemnnd directorul de baz al fiecrui utilizator. Aceste simboluri pot fi folosite n adresarea relativ a fiierelor i directoarelor, de exemplu: ../fis1.txt reprezentnd fiierul fis1.txt din directorul printe al directorului curent. Dac se dorete adresarea unui fiier din directorul de baz, se poate astfel folosi: ~/dir1/fisier1.txt (calea indic fiierul fisier1.txt din directorul dir1 creat n directorul de baz al utilizatorului curent). Directoare speciale din structura de fiiere: - / - rdcina sistemului de fiiere. - /bin conine majoritatea fiierelor executabile de baz din sistemul de operare (comenzile de exemplu). - /boot conine de obicei informaii referitoare la pornirea sistemului. - /dev datorit faptului c Linux-ul (n urma asemnrii cu sistemele Unix) trateaz mai toate fluxurile de date din sistem prin intermediul fiierelor, acest director este creat pentru a conine aceste fiiere speciale, care i permit sistemului s funcioneze. - /etc conine fiierele de configuraie ale sistemului. - /home de obicei acest director conine directoarele de baz ale utilizatorilor din sistem. - /lib director ce conine bibliotecile partajate din sistem. - /sbin conine executabile destinate administrrii sistemului i funcionrii serviciilor instalate. - /tmp un director n care toi utilizatori i pot depune fiiere temporare. - /usr n acest director sunt organizate marea majoritate a aplicaiilor i fiierelor de interes general din sistem. Tot n acest director este stocat sistemul X-Windows i bibliotecile aferente (X11R6), documentaia sistemului Linux (doc), paginile de manual (man). - /var director destinat stocrii datelor tranzitorii prin sistem, n urma serviciilor sau a aplicaiilor ce ruleaz pe calculatorul respectiv. n acest director, sistemul colecteaz date despre activitatea sistemului de operare n general (monitorizare). Structura unui sistem de fiiere Linux: Sistemul comunic cu partiiile create pe discurile fixe existente n sistem, folosind anumite fiiere speciale de tip bloc. Ele sunt stocate n directorul /dev i, n cazul unui sistem Linux, sunt de forma urmtoare: Pentru discuri IDE:

187

/dev/hda1, /dev/hda2, /dev/hda3, etc., acestea fiind partiiile de pe primul disc (master pe primary IDE). Pentru celelalte discuri (sau uniti de CD) se schimb litera a, n ordine, cu b, c, d. Pentru discurile SCSI: /dev/sda1, /dev/sda2, etc., reprezentnd partiiile de pe primul disc (ID=0) de pe magistrala SCSI (discul fiind numit /dev/sda). La fel ca i la discurile IDE, celelalte discuri au nume similare, nlocuindu-se litera a cu b, c, etc. Partiiile, numite i volume, se ataeaz sistemului de fiiere sub form de directoare. Aadar rdcina sistemului de fiiere este situat pe o partiie, iar anumite directoare din arbore sunt, de fapt, legate pe alte partiii de pe discurile din calculator.

/dev/hda boot etc var usr /dev/hda1

/dev/hda2 /dev/hdb

home

/dev/hdb1 swap /dev/hdb2

n figura precedent, este prezentat o structur cu dou discuri fixe: /dev/hda care are dou partiii (/dev/hda1 i /dev/hda2) i /dev/hdb care are i el dou partiii (/dev/hdb1 i /dev/hdb2). Pe primul volum, /dev/hda1, este aezat rdcina i cu toate directoarele sistemului de operare, mai puin dou directoare: /usr de care este ataat partiia /dev/hda2,
188

i /home de care este ataat partiia /dev/hdb1. A patra partiie /dev/hdb2 constituie spaiul swap, memoria virtual a sistemului. Aceasta reprezint o zon special din discul fix, n care sistemul de operare descarc din memorie spaiul folosit de anumite procese, n momentul n care memoria fizic nu mai este suficient, urmnd ca, la terminarea unor procese active n memorie, s rencarce imaginea proceselor depus n zona de memorie virtual respectiv.

7.4.2. Instalarea sistemului Linux


Instalarea sistemului Linux se realizeaz, ca i n majoritatea celorlalte sisteme de operare, pe baza unui asistent de instalare. Acesta difer de la o variant de Linux la alta, ns paii principali sunt respectai de majoritatea programelor de instalare existente. n cele ce urmeaz, vor fi descrii paii principali din instalarea variantei Red Hat Linux 6.0: 1. Pornirea asistentului de instalare. Aceasta se poate face plecnd de la una sau dou dischete (n funcie de varianta de Linux), care sunt create folosind utilitarul rawrite.exe cuprins n distribuia de Linux. Acesta reconstituie dischetele de pornire a calculatorului, plecnd de la imaginile existente pe CD i presupunnd c distribuia de Linux este disponibil pe acest tip de suport. Instalarea poate fi fcut i extrgnd fiierele necesare dintr-un alt calculator, folosind un suport de reea pentru transmiterea datelor, caz n care trebuie aleas imaginea de dischet potrivit pentru aceast operaie. Indicaii referitoare la coninutul imaginilor se gsesc ntotdeauna n directorul care conine imaginile, ntr-un fiier text. Dup crearea dischetelor se pornete calculatorul folosind dischetele obinute. Programul de instalare mai poate fi pornit, n funcie de calculator, prin intermediul CDului, dac acesta este boot-abil (adic permite startarea sistemului de operare de pe CD), i dac BIOS-ul calculatorului recunoate CD-ul ca fiind o posibil unitate de stocare de pe care s demareze un sistem de operare. Majoritatea calculatoarelor la ora actual au aceast opiune prevzut n BIOS. 2. Specificarea sursei de instalare. Dup ce programul de instalare a fost pornit, se cere specificarea sursei de unde acesta va copia fiierele ce vor fi instalate pe discul fix local. n cazul instalrii de pe CD-ROM, se specific unitatea de CD, i programul va cuta singur fiierele necesare. n cazul n care se instaleaz plecnd de la un calculator din reea, va trebui configurat placa de reea existent n calculator (prin introducerea datelor de configurare a adresei locale a calculatorului i prin specificarea tipului de protocol folosit pentru transferul datelor n reea: NFS sau FTP), i vor trebui furnizate date despre adresa sau numele calculatorului surs din reea, ct i directorul de pe calculatorul respectiv, unde se gsesc fiierele necesare. Se mai poate alege ca surs de instalare un director de pe o partiie existent pe un disc fix local. 3. Partiionarea discului fix. Programul de instalare lanseaz un utilitar sistem pentru crearea i aranjarea partiiilor. Vor fi create n aceast faz partiiile, care vor conine sistemul de

189

operare i directoarele n care se monteaz aceste partiii. Trebuie avut n vedere c, tot n aceast etap, se creeaz i partiia (partiiile) pentru memoria virtual (swap) a sistemului. 4. Specificarea spaiului pentru memoria virtual. Asistentul de instalare cere specificare partiiilor ce vor fi folosite ca memorie virtual a sistemului. 5. Formatarea partiiilor din sistem. Se realizeaz formatarea (sau nu, dac se alege o alt opiune) a partiiilor pe care le va folosi sistemul. Se creeaz n continuare structura necesar funcionrii sistemului, care s primeasc sistemul de fiiere. 6. Copierea fiierelor indicate n noul sistem de fiiere. Prin intermediul unor casete de dialog, afiate n mod text, se permite selectarea pachetelor de aplicaii ce vor fi instalate n sistem. Se copiaz apoi, din sursa indicat la paii precedeni, toate fiierele sistemului de operare i a aplicaiilor selectate. 7. Detecia i configurarea mouse-ului disponibil n sistem. Se permite selectarea tipului de mouse folosit, i asignarea lui pe portul (de cele mai multe ori serial) ocupat de acesta. 8. Configurarea reelei. Dac n calculator este prevzut o plac de reea, se cere configurarea acesteia (sau pstrarea configuraiei fcute n cazul instalrilor din reea). n caz contrar, poate fi aleas configurarea unei conexiuni prin modem (Dial-Up). 9. Selectarea serviciilor de sistem. Printr-o caset de dialog, asistentul de instalare cere specificarea serviciilor ce vor fi pornite la demararea sistemului. 10. Instalarea imprimantei. Asistentul de instalare cere instalarea unei imprimante n sistem. 11. Parola de administrator. n aceast etap se introduce parola pentru administrator (utilizatorul root). 12. Configurarea programului de ncrcare al sistemului. Sistemul de operare poate fi pornit n dou moduri principale. Primul este folosirea programului de ncrcare special numit LILO (LInux LOader), care se instaleaz n sectorul de boot al discului fix boot-abil din calculator, sau pe primele sectoare ale primei partiii. Acesta poate fi configurat ulterior din sistemul Linux. O a doua variant este folosirea unui program special pentru DOS, numit loadlin.exe i disponibil n distribuia de LINUX, care are ns nevoie de un nucleu al sistemului instalat, prezent n afara partiiei rdcin din LINUX, pe partiia de tip DOS unde se afl executabilul. Este posibil i crearea unei dischete pe baza creia s fie pornit sistemul, n cazul n care nu se alege nici una din variantele anterioare. n aceast etap se alege tipul de pornire pentru sistemul instalat. 13. Sistemul X Windows. Programul de asisten al instalrii ncearc detecia tipului de plac grafic folosit n calculator, i cere specificarea tipului de monitor folosit, dup care testeaz configuraia aleas, oferind posibilitatea alegerii rezoluiei i profunzimii de culoare ce vor fi utilizate n funcionare. 14. Repornirea sistemului. n aceast faz sistemul este instalat, i va fi repornit pentru ca toate setrile efectuate s intre n vigoare.

190

BIBLIOGRAFIE

1. C.S. French, "Computer Science", 4th Edition, D.P. Publications Ltd. - UK 1992. 2. Al. Valachi, M. Brsan, "Tehnici numerice i automate", Editura Junimea 1988. 3. Stephen P. Morse, Douglas J. Albert, "The 80286 Architecture", John Wiley and Sons Inc. 1986. 4. Chris H.Pappas, William H. Murray, "80386 Microprocessor Handbook", Osborne McGraw-Hill 1986. 5. Edmund Strauss, "80386 Tehnical Reference", Brady Books - UK 1987. 6. Hans Peter Messmer, "The Indispensable PC Hardware Book", Addisson Wesley Publishers 1994. 7. T. J. Buyers, "IBM PS/2 - A Reference Guide" , Multiscience Press-USA 1989. 8. Richard Dalton, Scott Mueller, "IBM PS/2 - Hanbook" , Que Corporation-USA 1988. 9. Kai Hwang, Faye A. Briggs, "Computer Architecture and Parallel Processing", McGraw - Hill Book Company 1986. 10. Barry Wilkinson, "Computer Architecture , Design and Performance", Prentice Hall International (UK) Ltd. 1991. 11. R.W. Hockney, C.R. Jesshope, "Parallel Computers", IOP Publishing (UK) Ltd. 1988. 12. Vlad epelea, "MS-DOS 4.01", Editura Teora 1991. 13. Jack Nimersheim, "The first Book of MS-DOS 5", SAMS 1991. 14. "Disk Operating System - User's Guide and Reference Version 5.02", IBM 1991. 15. "Manual de referin 80486 i Pentium", Intel 1997. 16. Scott Mueller, "PC Depanare i Modernizare", Editura Teora 1995. 17. Brookshear J.G., "Introducere n informatic", Editura Teora 1999. 18. Steve Oualline, "Descoperii sistemul Linux", Editura Teora 1997. 19. Radu Mranu, "Sistemele de operare MS DOS i UNIX", Editura Tehnic 1995. 20. Jennifer Fulton, "Windows 98", Editura Teora 1999. 21. Gini Courter, Annette Marquis, "Ghidul dvs. n lumea calculatoarelor", Editura ALL EDUCATIONAL, 1998. 22. Sharon Crawford, N. Salkind, "Windows 98", Editura Teora 1999. 23. Irina Athanasiu, Al. Pnoiu, "Microprocesoarele 8086, 286, 386", Editura Teora 1991. 24. Gh. Musc, "Programarea n limbaj de asamblare", Editura Teora 1995. 25. Vasile Palade, "Elemente de arhitectura calculatoarelor i sisteme de operare", curs universitar, Universitatea "Dunrea de Jos" din Galai, 1994.

191

You might also like