Initiere operare pc

191
1 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 informaţiei. ............................................................ 10 2.1. Reprezentarea numerelor într-un sistem de numeraţie. ............................... 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 secvenţială. ............................................................. 19 3.1. Elemente de logică booleană. Funcţii logice. ............................................. 19 3.2. Implementarea funcţiilor logice. Minimizarea funcţiilor logice. .................. 21 3.3. Materializarea funcţiilor logice. Circuite logice. ........................................ 23 3.4. Structuri logice combinaţionale. ................................................................ 26 3.5. Sisteme logice secvenţiale. ........................................................................ 28 3.5.1. Tipuri de bistabile. ....................................................................... 29 3.5.2. Registre şi numărătoare. .............................................................. 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. Operaţiile 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 protecţia 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. Generalităţi. ...........................................................................................76

description

 

Transcript of Initiere operare pc

Page 1: Initiere operare pc

1

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 informaţiei. ............................................................ 10 2.1. Reprezentarea numerelor într-un sistem de numeraţie. ............................... 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 secvenţială. ............................................................. 19 3.1. Elemente de logică booleană. Funcţii logice. ............................................. 19 3.2. Implementarea funcţiilor logice. Minimizarea funcţiilor logice. .................. 21 3.3. Materializarea funcţiilor logice. Circuite logice. ........................................ 23 3.4. Structuri logice combinaţionale. ................................................................ 26 3.5. Sisteme logice secvenţiale. ........................................................................ 28 3.5.1. Tipuri de bistabile. ....................................................................... 29 3.5.2. Registre şi numărătoare. .............................................................. 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. Operaţiile 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 protecţia 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. Generalităţi. ...........................................................................................… 76

Page 2: Initiere operare pc

2

5.2. Calculatoarele IBM PS/2. ......................................................................... 78 5.3. Arhitectura Microchannel. ........................................................................ 81 5.4. Interfaţarea calculatoarelor IBM. Comunicaţia 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. Unităti de memorie externă. ..................................................................... 99 5.9.1. Discuri magnetice. ...……………................................................. 101 5.9.2. Discuri optice. ............................................................................. 105 5.10. Alte dispozitive de intrare/ieşire. ......................................….................. 106 6. Arhitecturi paralele de calculatoare. ........................................................... 108 6.1. Evoluţia 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 fără memorie partajată. Transputere. .................... 121 6.8. Sisteme multiprocesor orientate pe flux de date. ...................................... 125 7. Sisteme de operare. ....................................................................................... 130 7.1. Generalităţi. .......................... .................................................................. 130 7.1.1. Interfeţe text şi interfeţe grafice. .................................................. 132 7.1.2. Partiţionarea şi formatarea discurilor. ........................................... 136 7.2. Sistemul de operare MS-DOS. .................................………................... 138 7.2.1. Sistemul de fişiere. 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 fişierelor de comenzi. Fişierul 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

Page 3: Initiere operare pc

3

1. STRUCTURA UNUI CALCULATOR PERSONAL

1.1. Ce este un calculator personal ? Un sistem de calcul, sau un calculator, este destinat prelucrării informaţiei, acceptând,

memorând şi prelucrând datele sau informaţiile de intrare, pentru a produce informaţiile de ieşire sau rezultatele prelucrării, fiind compus din două părţi principale: hardware şi software. Hardware este un termen general, utilizat pentru a desemna partea fizică a unui calculator, alcătuită din componente electronice şi mecanice, împreună cu totalitatea dispozitivelor folosite de calculator în prelucrarea informaţiei. Software este tot un termen general, care desemnează totalitatea programelor folosite de un calculator, pentru a transforma informaţiile sau datele de intrare, în informaţii de ieşire sau rezultate.

Structura hard-soft a unui calculator poate fi reprezentată ca o serie de cercuri sau nivele concentrice, fiecare nivel exterior implicând existenţa nivelelor interioare, aşa cum este arătat î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ă interfaţa între hardware-ul calculatorului şi restul software-ului, toate celelalte programe utilizând hardware-ul calculatorului prin intermediul sistemului de operare.

Software-ul utilitar pune la dispoziţia utilizatorului o multitudine de instrumente software necesare dezvoltării propriilor programe, sau programe de aplicaţie şi, de asemenea, instrumente software cu ajutorul cărora se poate menţine buna funcţionare a sistemului de calcul. Programele din cea de-a doua categorie sunt uneori direct invocate de către sistemul de operare, aşa că pot fi considerate şi componente ale sistemului de operare.

Dacă, până în anii '80, se făcea o distincţie netă între calculatoare mari, calculatoare medii sau microcalculatoare, în principal pe baza dimensiunii memoriei şi vitezei de prelucrare a datelor, odată cu apariţia calculatoarelor personale comerciale în 1976, când Steven Jobs şi Steve Wozniak au fondat firma APPLE, şi odată cu creşterea gradului de integrare a componentelor electronice, noţiunile de calculatoare mici, medii sau mari nu mai sunt atât de clare. Astăzi, un calculator personal care poate intra în dotarea oricărei familii, dar care poate fi folosit cu succes în majoritatea aplicaţiilor întâlnite în practică, are o capacitate de memorare şi o viteză de prelucrare mult superioară capacităţii de memorare şi vitezei de prelucrare de la calculatoarele mari din anii '70.

Page 4: Initiere operare pc

4

Figura 1.1. Structura hard-soft a unui calculator

Calculatoarele personale pot fi întâlnite astăzi în birouri, în şcoli, în întreprinderi, la domiciliu. Întrucât 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 când IBM a produs primul său 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 înţelege orice calculator monoutilizator cu destinaţie generală.

Calculatoarele cu destinaţie generală sunt acele calculatoare capabile să rezolve o mare varietate de probleme, adaptabilitatea la fiecare tip de problemă realizându-se prin intermediul programelor. Nu toate calculatoarele sunt calculatoare cu destinaţie generală. Astăzi sunt produse o gamă largă de calculatoare dedicate, destinate rezolvării unor probleme specifice, un calculator dedicat fiind capabil să ruleze numai programele necesare rezolvării tipului respectiv de probleme pentru care este dedicat calculatorul. Calculatoare dedicate pot fi întâlnite în ceasurile electronice, camerele video, pompele de benzină, sistemele de ghidare ale rachetelor, sistemele de control ale roboţilor industriali etc.

Până acum câţiva ani, termenii de calculator personal (Personal Computer) şi calculator de birou (Desktop Computer) desemnau unul şi acelaşi lucru. Astăzi, noţiunea 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 întâlnite în mod uzual în birouri, şi care sunt destinate rezolvării problemelor curente dintr-un birou: procesări de texte, baze de date, dezvoltări de programe etc.

Page 5: Initiere operare pc

5

Un calculator "lap-top" este un calculator personal portabil, suficient de mic şi uşor (cântărind numai 4-5 kg) astfel încât să încapă într-un geamantan de mici dimensiuni. Calculatoarele "lap-top" sunt prevăzute cu hard disk, ecran plat realizat pe bază de cristale lichide (LCD - Liquid Cristal Display), fiind alimentate cu energie electrică de la o baterie reîncărcabilă. Calculatoarele "lap-top" mai sunt desemnate şi prin termenul de "notebook computer".

Un alt termen controversat este cel de staţie de lucru ( "workstation" ). O staţie de lucru este un calculator de birou performant, fiind mai puternic decât calculatoarele personale uzuale (calculatoarele IBM), şi care este folosit, în principal, de cercetători ştiinţifici, ingineri, creatori de desene animate şi alţii, care necesită prelucrări intensive de date. Întrucât staţiile 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 staţie de lucru şi cele mai puternice calculatoare personale.

În afara tipurilor de calculatoare descrise mai sus, şi care sunt în esenţă calculatoare monoutilizator, deşi pot fi folosite şi ca sisteme multiutilizator, mai pot fi întâlnite astăzi calculatoare şi mai puternice, care sunt destinate din start lucrului cu mai mulţi utilizatori în acelaşi timp, în vederea rezolvării 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 agenţilor companiei aeriene dintr-o ţară, să facă rezervări folosind acelaşi calculator şi aceleaşi informaţii, în acelaşi timp. Agentul companiei aeriene comunicã cu calculatorul "mainframe" prin intermediul unui terminal, ce este un ansamblu format din tastatură şi ecran, şi care transferă informaţiile către şi de la calculatorul "mainframe". Calculatorul "mainframe" se poate afla într-o cameră alăturată sau într-o altă ţară. Un alt exemplu de calculator "mainframe" este calculatorul dintr-o bancă, care este implicat în tranzacţii financiare cu diferiţi clienţi.

Rămânând în cadrul definiţiei extensive a calculatorului personal, ca fiind un calculator monoutilizator cu destinaţie generală, cuprinzând aici şi calculatoarele de birou, calculatoarele portabile şi chiar staţiile 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 informaţiei, a cărui unitate centrală de prelucrare este realizată pe baza unui microprocesor. În general, orice calculator, şi nu neapărat un calculator personal, are trei elemente constitutive principale:

- unitatea centrală de prelucrare sau UCP ( Central Processing Unit - CPU ) - memoria ( memory )

Page 6: Initiere operare pc

6

- sistemul de intrare / ieşire sau porturi ( Input / Output System or ports )

Figura 1.2. Reprezentarea simplificată a hardware-ului unui calculator

personal

Unitatea centrală de prelucrare realizează prelucrările sau procesările numerice în conformitate cu o secvenţă de operaţii elementare, sau instrucţiuni, numită program. Deci, o unitate centrală de prelucrare poate executa un set limitat de operaţii elementare, care compun repertoriul de instrucţiuni al UCP-ului respectiv. La calculatoarele din generaţiile anterioare, UCP-ul era compus, din punct de vedere constructiv, din foarte multe componente. Datorită creşterii 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 numeşte microprocesor.

Programele care sunt executate de microprocesor sunt stocate în memoria internă a calculatorului personal. Datele procesate de către 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 unităţile 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ă secvenţe de instrucţiuni din memoria internă.

Page 7: Initiere operare pc

7

Pentru a "conversa" cu utilizatorul, un calculator dispune de următoarele dispozitive periferice de bază: tastatura pentru introducerea programelor sau datelor de prelucrat, display-ul sau ecranul pentru afişarea informaţiilor din calculator, care pot fi în particular rezultatele prelucrării, şi imprimanta, pentru tipărirea pe hârtie a acestor informaţii. Unitatea centrală de prelucrare preia date de la dispozitivele de intrare prin intermediul porturilor de intrare, şi trimite date către dispozitivele de ieşire, prin intermediul porturilor de ieşire. Totalitatea porturilor de intrare / ieşire formează sistemul de intrare / ieşire al calculatorului.

UCP este conectată la memorie şi porturile de I/E prin intermediul unor linii paralele, care alcătuiesc magistrala de comunicaţie a calculatorului. Deci, ca element constitutiv principal al unui calculator personal, este şi această conectare a tuturor resurselor sale prin intermediul unei magistrale de comunicaţie.

Această magistrală are 3 secţiuni : • magistrala de date (Data Bus), pe care microprocesorul citeşte date din memorie sau

porturile de intrare, sau scrie date în memorie sau porturile de ieşire. Datele citite din memorie pot fi, în particular, instrucţiuni.

• magistrala de adrese (Address Bus), UCP-ul folosind aceste linii pentru a selecta locaţia de memorie sau portul de I/E, din care se vrea o dată pentru a fi citită, sau în care se doreşte înscrierea unei date.

• magistrala de control (Control Bus), formată din linii specifice utilizate de microprocesor pentru controlul transferurilor de date pe magistrală. De exemplu, printr-o linie se poate specifica dacă microprocesorul citeşte sau scrie date (dacă microprocesorul ţine linia respectivă în "0", aceasta înseamnă cã procesorul citeşte date din memorie sau porturile de intrare; dacă microprocesorul pune "1" pe această linie, se va efectua o scriere în memorie sau porturile de ieşire), prin altă linie dacă se face o operaţie 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 cuvânt (1cuvânt = 2 octeţi), se spune că avem un calculator pe 16 biţi, dacă magistrala de date are 32 linii avem un calculator pe 32 biţi etc.

În mod obişnuit, 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 efectuând în acest timp alte operaţii, care duc la creşterea gradului de paralelism şi implicit la creşterea vitezei de calcul. Când transferul DMA s-a terminat, dispozitivul DMA anunţă

Page 8: Initiere operare pc

8

microprocesorul, printr-o linie a magistralei, că poate prelua controlul magistralei, şi deci poate efectua transferuri de date pe magistrală.

Cele mai frecvent întâlnite 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 biţi), 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 biţi, magistrala de adrese de 16 biţi, magistrala de control de 8 biţi, iar microprocesorul I8086 are magistrala de date de 16 biţi, magistrala de adrese de 20 de biţi şi magistrala de control de 8 biţi. Celelalte microprocesoare Intel vor fi tratate pe larg în secţiunile următoare.

Un microprocesor poate adresa în mod direct un spaţiu de memorie de 2na locaţii de memorie, unde na este numărul 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 puţin octeţi. 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 atât pe octet cât şi pe cuvânt (1 cuvânt = 2 octeti = 16 biţi). La microprocesoarele I80386 şi I80486, care au magistrala de date de 32 de biţi, se pot face transferuri pe octet, pe cuvânt sau pe dublu-cuvânt (1 dublu-cuvânt = 2 cuvinte = 32 de biţi ).

Totalitatea adreselor fizice de memorie pe care le poate forma un microprocesor, formează spaţiul de adrese de memorie. De exemplu, la I8086 spaţiul de adrese de memorie este 0 -- 220-1, adică un spaţiu de adrese de memorie de 1Moctet; microprocesoarele I80386, I80486 şi Pentium, cu 32 de linii de adresă, având un spaţiu de adrese de memorie de 232, adică 4Gocteţi. Spaţiul de adrese de memorie se măsoară în octeţi, cu următorii multipli: 1Koctet sau 1Kb(yte) = 210 octeţi (1024 octeţi), 1Moctet sau 1Mb = 210 Kb, 1Goctet sau 1Gb = 210 Mb.

Analog locaţiilor de memorie, fiecare port de intrare/ieşire are asociată o adresă de intrare/ieşire. Totalitatea adreselor de I/E formează spaţiul de I/E al unui microprocesor. La microprocesorul I8086, porturile pot fi pe 8 sau 16 biţi, după cum microprocesorul poate citi sau scrie date din/în porturile respective (pe octet sau pe cuvânt). Procesoarele din familia Intel 80x86 pot adresa un spaţiu de I/E de 64Kporturi de 8biţi, sau 32Kporturi de 16 biţi.

Fiecare microprocesor are o intrare de ceas, semnalul de la această intrare fiind folosit pentru sincronizarea operaţiilor sale interne. Frecvenţa semnalului de ceas determină viteza cu care microprocesorul procesează datele, şi este important ca această frecvenţă să fie cât mai mare. De exemplu, dacă microprocesorul Z80 funcţiona la o frecvenţă de 2,5 sau 4MHz, s-a ajuns ca un procesor Pentium III să poată funcţiona la o frecvenţă de 600MHz.

Page 9: Initiere operare pc

9

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 căror conţinut nu se pierde la întreruperea alimentării 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. Conţinutul memoriilor de tip ROM poate fi şters cu ajutorul unui fascicul de raze ultraviolete (memorii EPROM – Erasable Programmable ROM), existând şi variante mai moderne (memoriile EEPROM – Electrical Erasable Programmable ROM), al căror conţinut poate fi şters şi rescris cu ajutorul unui program special.

• RAM - Random Access Memory - ce sunt memorii la care microprocesorul poate atât citi cât şi scrie date, şi al căror conţinut se pierde la întreruperea alimentării. Sunt folosite pentru stocarea temporară a informaţiei.

Din punctul de vedere al tehnologiei de realizare, memoriile de tip RAM sunt de două feluri:

• memorii statice (SRAM – Static RAM), care menţin informaţia atât timp cât există tensiune de alimentare, fără a mai fi necesară reîmprospătarea (refresh-ul) sau rescrierea informaţiei. Sunt memorii rapide, dar sunt scumpe.

• memorii dinamice (DRAM – Dynamic RAM), la care informaţia se volatilizează în timp, şi de aceea este necesară reîmprospătarea periodică a acesteia, cu ajutorul unui circuit specializat. Memoriile dinamice sunt mai lente decât 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 acelaşi timp în care se termină citirea anterioară, rezultând o creştere a vitezei de acces la aceste memorii.

- SDRAM (Synchronous DRAM) – procesorul accesând aceste memorii la o viteză sincronă cu viteza de lucru a magistralei calculatorului (plăcii de bază), mergând până la 100 MHz. Memoriile ESDRAM (Enhanced SDRAM) sunt variantele mai recente şi îmbunătăţite ale memoriilor SDRAM.

Circuitele de memorie sunt încapsulate în aşa 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 biţi, respectiv cu 72 de pini, şi care permit un acces la date pe dublu-cuvânt.

• 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 conţinute pe 64 de biţi.

Page 10: Initiere operare pc

10

2. REPREZENTAREA INTERNĂ A INFORMAŢIEI

Este dificil de găsit o definiţie adecvată a noţiunii de informaţie, ea având multe

înţelesuri. Totuşi, în teoria informaţiei, sau mai precis în teoria transmiterii informaţiei, termenul de informaţie se aplică acelor lucruri care pot fi comunicate, fie că au sau nu o valoare. Astfel, cuvintele, numerele, imaginile de pe o foaie de hârtie sunt simboluri ce reprezintă o informaţie .

Un calculator nu poate înţelege cuvinte, imagini sau chiar litere, şi nu poate procesa informaţie fără să o dividă în unităţi mai mici de informaţie, la fel cum un copil, pentru a înţelege un cuvânt, trebuie să audă sunetele care compun cuvântul respectiv.

Bitul este unitatea cea mai mică de informaţie. Un bit poate distinge între doua stări, deci poate avea două valori: 0 sau 1, sau cu alte cuvinte "da" sau "nu", "alb" sau "negru". Un calculator poate procesa cantităţi mai mari de informaţie, tratând grupurile de biţi ca unităţi de informaţie. Astfel, o colecţie de 8 biţi numită octet sau "byte", unde fiecare bit poate fi 0 sau 1, poate distinge între 256 de stări diferite ( 28=256 ), deci dacă am vrea să comunicăm cu cineva folosind un octet, am putea transmite cel mult 256 de mesaje diferite, fiecare mesaj fiind asociat cu o combinaţie de 0 şi 1 a celor 8 biţi. Celelalte unităţi de masură a informaţiei, multipli ai octetului, au fost introduse în capitolul precedent.

Ce înseamnă pentru un calculator un şir de biţi de genul 10011010 ?. Un asemenea şir de biţi poate fi un număr, o literă a alfabetului, o instrucţiune a unui program sau orice alt lucru. Deoarece calculatoarele reduc orice informaţie la o combinaţie de 0 şi 1, numerele din calculator sunt reprezentate folosind numai combinaţii ale celor două cifre sau simboluri.

Astăzi, calculatoarele nu lucrează numai cu numere, ci la fel de mult sunt folosite şi caracterele, calculatorul procesând cuvinte, propoziţii etc. Pentru aceasta, este necesar ca fiecare caracter să fie reprezentat în mod unic ca o secvenţă de biţi, făcând 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 fiecărui caracter alfanumeric îi corespunde un cod unic pe 7 biţi, sau pe 8 biţi în cazul codului ASCII extins. Întrucât codul ASCII este intens folosit de către utilizatori, este necesară menţionarea codurilor ASCII ale celor mai utilizate caractere :

A - 65 a - 97 0 - 48 ' ' - 32 ( blanc )

Page 11: Initiere operare pc

11

B - 66 b - 98 1 - 49 CR - 13 ( Carriage Return ) C - 67 c - 99 2 - 50 LF - 10 (Line Feed ) D - 68 d - 100 3 - 51 ş.a.m.d ş.a.m.d. ş.a.m.d. De asemenea, instrucţiunile programelor sunt codificate folosind secvenţe de biţi. De

exemplu, secvenţa 10101001 poate determina calculatorul să adune 2 numere, în timp ce altă secvenţă poate determina calculatorul să execute o altă operaţie.

2.1. Reprezentarea numerelor într-un sistem de numeraţie. Se numeşte sistem de numeraţie, o mulţime finită de simboluri (sau cifre) şi de reguli

folosite pentru reprezentarea unui număr. Un sistem de numeraţie poziţional este un sistem de numeraţie la care aportul unei cifre în valoarea totală a unui număr depinde atât de valoarea cifrei, cât şi de locul ocupat de cifră în reprezentarea numărului respectiv. Sistemul de numeraţie arab este un sistem de numeraţie poziţional, spre deosebire de sistemul de numeraţie roman care nu este un sistem poziţional.

Teorema:

Fie p∈N, p > 1. Atunci (∀) N∈Z, (∃) m∈N astfel încât să avem în mod unic

egalitatea : N = xmpm + xm-1pm-1 +.......+ x1p + x0 (1) unde 0 ≤ xi ≤ p-1 (∀) i = 0,1,...,m şi xm≠0

D e m o s t r a ţ i e :

Se poate presupune că N∈Z+ (dacă N∈Z- demonstraţia se va face identic pentru

numărul -N ∈ Z+ ). Împărţind succesiv la p, obţinem egalităţile :

N = N1p + x0, x0 ⟨ p N1 = N2p + x1, x1 ⟨ p . (2) . Nm-1 = Nmp + xm-1, xm-1 ⟨ p Nm = 0*p + xm , xm ⟨ p

Page 12: Initiere operare pc

12

Deoarece N1 ⟩ N2 ⟩ N3 ⟩ ... ≥ 0, se va ajunge inevitabil după un număr de paşi - m - la un cât egal cu zero.

Înmulţind cu p0 prima relaţie, cu p1 a doua relaţie ş.a.m.d cu pm ultima relaţie, adunând membru cu membru şi simplificând, obţinem egalitatea (1). Unicitatea descompunerii numărului N, într-o sumă ca cea de mai sus, rezultă din unicitatea obţinerii câtului şi restului în relaţiile (2), conform teoremei de împărţire cu rest a două numere întregi.

Definiţie : Se numeşte reprezentarea în baza p a numărului întreg N, succesiunea de cifre xmxm-1 ... x1x0, unde xi verifică relaţiile :

a) 0 ≤ xi ≤ p-1 (∀) i = 0,1,...,m şi xm≠0 (3) b) N = xmpm + xm-1pm-1 +.......+ x1p + x0

Conform teoremei precedente, reprezentarea (3) este unică.

Definiţie : Se numeşte reprezentarea în baza p a numărului real r, succesiunea de cifre xmxm-1 ... x1x0,x-1x-2x-3..., unde xi verifică relaţiile :

a) 0 ≤ xi ≤ p-1 (∀) i = ... -2,-1,0,1,...,m şi xm≠0

b) r = xmpm + xm-1pm-1 +.......+ x1p + x0 + x-1p-1 + x-2p-2 + .... Se demonstrează că reprezentarea de mai sus este unică. Numărul real r se poate scrie sub forma : r = ri + rl unde ri = [r] - partea întreagă a lui r rl = {r} - partea fracţionară a lui r Conform teoremei demonstrate anterior, numărul î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 xm≠0

Înmulţind rl cu p şi reţinând partea întreagă, după care continuând înmulţirea părţilor fracţionare cu p obţinem :

rl *p = x-1 + rl1

rl1*p = x-2 + rl2 , x-i - partea întreagă (4) rl2*p = x-3 + rl3 , rli - partea fracţionară ş.a.m.d.

Înmulţind relaţiile (4) cu p-1, p-2, p-3 ... şi adunând membru cu membru, după

simplificare obţinem: 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 înmulţirea cu p, a părţii fracţionare obţinute într-una din relaţiile (4), obţinem

rezultatul 0, numărul real r are un număr finit de cifre zecimale, altfel va avea un număr infinit de cifre zecimale.

Page 13: Initiere operare pc

13

În concluzie, conform celor relatate anterior, pentru reprezentarea oricărui număr î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 numărul întreg N scris în baza p. Pentru a obţine echivalentul lui în baza q, scris N(q), va trebui să obţinem 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; ym≠0. Pentru aceasta, se împarte numărul N(p) la q şi apoi succesiv câturile obţinute, până

când se obţine câtul zero. Cifrele reprezentării în baza q sunt resturile împărţirilor succesive luate în ordinea inversă obţinerii lor.

N(p) = N1(p)*q + y0

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

. 0 ≤ yi ≤ q-1, i = 0,1,2,..,m . Nm-1(p) = Nm(p)*q + ym-1 Nm(p) = 0*q + ym

În acest mod se face conversia unui număr întreg, din baza p în baza q, calculele fiind efectuate în baza p.

Fie r(p) un număr real scris în baza p. Deci, r(p) se descompune într-o parte întreagă şi o parte fracţionară astfel : r(p) = ri(p) +rl(p).

Numărul ri(p) fiind un număr întreg, se converteşte în baza q conform procedurii date mai sus, obţinându-se o reprezentare de forma ymym-1 ... y1y0. Pentru conversia părţii fracţionare, se înmulţeşte rl(p) cu q, se separă partea întreagă de partea fracţionară, apoi se continuă înmulţirea părţii fracţionare cu q, repetându-se procedeul până când partea fracţionară devine zero, sau până când se obţin cifrele părţii fracţionare î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 + ... ,

Page 14: Initiere operare pc

14

ymym-1 ... y1y0,y-1y-2... fiind reprezentarea în baza q a numărului real r De asemenea, calculele sunt efectuate în baza p. Se pot evidenţia 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 următoare, transformând numere din baza 2, 8, 16 în baza 10, calculele fiind efectuate în baza 10.

Sistemele de numeraţie folosite de către utilizatorii de calculatoare, în afară de sistemul zecimal, sunt: sistemul binar, sistemul octal şi sistemul hexazecimal. Sistemul binar este sistemul de numeraţie în care lucrează calculatoarele electronice, datorită faptului că nu are decât două cifre, ceea ce duce la o implementare uşoară a calculelor în hardware. Sistemele de numeraţie octal şi hexazecimal sunt folosite deoarece comprimă şirurile lungi de biţi din reprezentarea unui număr în baza 2, iar conversia din baza 2 in baza 8 sau 16, şi invers, se face foarte uşor, fără 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 :

Page 15: Initiere operare pc

15

Deci 418(10) = 1A2(16)

Exemple de conversie din baza 2,8,16 în baza 10:

Fie ymym-1 ... y1y0,y-1y-2... un număr real reprezentat în baza p. Pentru a obţine reprezentarea acestui număr în baza q, calculele fiind efectuate în baza q, va trebui să

calculăm următoarea sumă: ∑ yix pi (în baza q). În cazul numerelor întregi, se calculează o

sumă asemănătoare, dar din care lipsesc termenii corespunzători 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 număr 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, utilizând tabela din figura 2.1.

Pentru a realiza conversia unui număr întreg din baza 2 în baza 16, se împarte numărul binar în grupe de câte 4 cifre binare, începând de la cifra cea mai puţin semnificativă, înlocuindu-se apoi fiecare grupă de 4 cifre binare cu cifra hexazecimală corespondentă din tabela de mai jos. În cazul numerelor reale, împărţirea în grupe de câte 4 cifre binare se face începând de la virgula zecimală spre cele două capete. Pentru conversia inversă, din baza 16 în baza 2, se înlocuieşte fiecare cifră hexazecimală cu grupul corespondent de 4 cifre binare din tabelă. Zerourile din faţa numărului 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)

Page 16: Initiere operare pc

16

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

baza 10 baza 16 baza 2

0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111

Figura 2.1. Tabela de conversie a cifrelor hexazecimale în baza 2

Într-un mod asemănător, se poate face conversia din baza 2 în baza 8 şi invers, utilizând o tabelă similară, ce asociază fiecărei cifre octale numărul binar echivalent scris pe 3 biţi. Împărţirea numărului binar se face, în acest caz, pe grupe de câte 3 cifre.

2.3. Reprezentarea numerelor în calculator. Coduri de reprezentare.

Ţinând cont de reprezentarea internă a semnului numerelor binare, distingem

următoarele trei coduri de reprezentare: a) codul direct - în care numărul binar este reprezentat prin modulul numărului

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ă numărul este pozitiv,

se reprezintă în cod invers la fel ca şi în cod direct, deci precedat de un bit 0. Dacă numărul x

Page 17: Initiere operare pc

17

este negativ (x < 0), se inversează cifrele reprezentării binare în cod direct a numărului -x, care este un număr pozitiv.

Exemple: x = +1101 → xi = 01101 y = -1101,011 → yi = 10010,100 c) codul complementar faţă de 2 - În cazul numerelor pozitive, reprezentarea este

aceeaşi ca şi în codul direct. Pentru numerele negative, codul în complement faţă de 2 se obţine din codul invers, la care se adaugă 1 în rangul cel mai puţin 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 număr binar, nu se poate face abstracţie de numărul de

biţi pe care se reprezintă numărul binar. Dacă se doreşte reprezentarea numărului binar pe un număr mai mare de biţi, se face extensia bitului de semn în cei mai semnificativi biţi. De exemplu, fie numărul zecimal -7, a cărui 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 până la octet ). Reprezentat în cod complementar faţă de 2 pe un cuvânt, -7 va fi 1111111111111001 (de exemplu, în urma execuţiei instrucţiunii MOV AX,-7 registrul AX va conţine 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 număr real reprezentat în virgulă fixă este o succesiune de cifre împărţite de o marcă

zecimală, într-o parte întreagă şi una fracţionară. Astfel, formatul de reprezentare în virgulă fixă conţine un bit de semn, un câmp format dintr-un număr oarecare de biţi pentru reprezentarea părţii întregi a numărului real şi un câmp pentru reprezentarea părţii fracţionare. Aceste câmpuri sunt de lungime constantă.

Exemplu de format în virgulă fixă:

Page 18: Initiere operare pc

18

Reprezentarea în virgulă fixă limitează gama numerelor ce pot fi reprezentate. Astfel,

dacă i este numărul de biţi rezervaţi pentru partea întreagă, f numărul de biţi rezervaţi pentru

partea fracţionară, numărul real maxim ce poate fi reprezentat este rmax = 011.. 1,111...1, ce conţine i biţi 1 în faţa virgulei zecimale şi f biţi 1 după virgula zecimală.

Dacă în cazul reprezentării în virgulă fixă a numerelor reale, sarcina evidenţei mărcii zecimale revine programatorului, în cazul reprezentării în virgulă mobilă, această sarcină

revine calculatorului. Pentru a reprezenta un număr real r în virgulă mobilă sau flotantă, acesta se scrie sub forma :

r = + M* bE ; b∈N, b ≥ 2 şi E∈Z M se numeşte mantisă, E exponent, iar b este baza de reprezentare a numărului.

Reprezentarea numărului real r de mai sus este unică, dacă 1/b ⟨ ⏐M⏐ ⟨ 1. Operaţia prin care se modifică mantisa pentru a îndeplini această condiţie, ajustând corespunzător exponentul, se numeşte normalizare a mantisei. De exemplu, adunând 0,785x101 (7,85) cu 0,625x101 (6,25), obţinem 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 secţiunea de faţă. Formatul de virgulă mobilă prezentat mai sus este formatul IEEE pentru numere reale scurte (pe 32 de biţi). Operaţiile cu numere în virgulă fixă sunt executate mai repede decât aceleaşi operaţii 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ă uşurează munca programatorului. Procesoarele din familia Intel 80x86 nu au instrucţiuni 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.

Page 19: Initiere operare pc

19

3. LOGICĂ COMBINATORICĂ ŞI SECVENŢIALĂ

3.1. Elemente de logică booleană. Funcţii 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 până în prezent în

calculatoare, este algebra Boole. Algebra Boole operează pe o mulţime B formată din două

valori: "0" şi "1" (deci B = {0,1}), pe care se definesc trei legi de compoziţie : negaţia, disjuncţia şi conjuncţia.

Complementarea logică sau negaţia (operatorul NOT) este definită prin următorul tabel de adevăr :

Simbolul grafic cel mai utilizat pentru reprezentarea operatorului negaţie este următorul:

Disjuncţia logică sau suma logică (operatorul SAU,OR) şi conjuncţia logică sau

produsul logic (operatorul ŞI, AND ) sunt definite de următoarele tabele de adevăr:

Simbolurile grafice utilizate pentru reprezentarea celor două operaţii logice sunt:

Page 20: Initiere operare pc

20

Elementele mulţimii B satisfac următoarele proprietăţi, (∀) X,Y,Z ∈B: 1. idempotenţa: X+X = X ; X*X = X

2. comutativitate: X+Y = Y+X ; X*Y =Y*X

3. asociativitate: X+(Y+Z) = (X+Y)+Z ; X*(Y*Z) = (X*Y)*Z

4. distributivitate: X*(Y+Z) = X*Y+X*Z ; X+Y*Z = (X+Y)*(X+Z)

5. existenţa elementului neutru: X+0 = X ; X*1 = X

6. existenţa complementului: X+X = 1 ; X*X = 0

7. dubla negaţie: X = X

8. legile lui De Morgan: X*Y = X+Y ; X+Y = X*Y

9. absorbţia: X*(X+Y) = X ; X+X*Y = X

Formulele lui De Morgan ne permit să scriem orice relaţie logică folosind numai doi din cei trei operatori definiţi anterior; sau numai NOT şi OR, sau numai NOT şi AND. Dacă combinăm cei doi operatori din fiecare pereche de operatori dată mai sus, obţinem încă doi noi operatori, cu tabelele de adevăr şi simbolurile următoare:

operatorul NOR (SAU-NU) operatorul NAND (ŞI-NU)

Orice relaţie logică se poate scrie utilizând numai unul din operatorii NAND sau NOR. O altă operaţie logică, des utilizată, este operaţia sau relaţia logică SAU EXCLUSIV

(XOR), al cărei tabel de adevăr şi simbol grafic sunt date mai jos.

Page 21: Initiere operare pc

21

O funcţie booleană de n variabile este o funcţie f : Bn→B, unde Bn = BxBx....xB de n ori. Valorile unei funcţii booleene pot fi prezentate într-un tabel, cu 2n linii şi n+1 coloane, numit tabel de adevăr al funcţiei. În primele n coloane se trec cele 2n combinaţii de valori ale variabilelor funcţiei, iar în coloana n+1 se trec valorile funcţiei corespunzătoare fiecărei combinaţii.

Exemplu: f(X,Y,Z) = XYZ + YZ +XZ

O funcţie booleană, sau o expresie booleană, este în forma canonică disjunctivă, dacă se scrie ca o disjuncţie de mintermeni, şi este în forma canonică conjunctivă, dacă se scrie ca o conjuncţie de maxtermeni. Un mintermen este un produs logic, conţinând fiecare variabilă o dată şi numai o dată, fie variabila fie negaţia ei. Un maxtermen este o sumă logică, ce conţine fiecare variabilă o dată şi numai o dată, fie variabila fie negaţia ei.

Exemple: f(X,Y,Z) = XYZ +XYZ +XYZ

f(X1,X2,X3) = (X1+X2+X3)(X1+X2+X3)(X1+X2+X3)

Funcţia logică al cărei tabel de adevăr 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 puţin utilizată în practică decât forma canonică disjunctivă.

3.2. Implementarea şi minimizarea funcţiilor logice Porţile logice sunt circuitele care implementează funcţiile logice de bază: NOT,AND,

OR, NAND, NOR, XOR. Prin implementarea unei funcţii logice, se înţelege realizarea ei cu ajutorul circuitelor fundamentale sau porţilor logice. Costul unei funcţii logice este egal cu numărul de intrări în circuitele logice elementare ce realizează funcţia dată.

Exemple: 1. Să se implementeze funcţia f(X,Y,Z) = XYZ + XY + XYZ

Page 22: Initiere operare pc

22

2. Să se implementeze funcţia f(X,Y) = XY + X utilizând întâi porţi AND, OR, NOT, şi apoi utilizând numai porţi NAND.

Numărul de niveluri al unei structuri sau implementări logice este egal cu numărul maxim de circuite pe care le parcurge un semnal de la intrare la ieşire. În primul exemplu, funcţia este implementată pe 3 niveluri logice, în cel de-al doilea exemplu fiind implementată pe 2 niveluri logice.

Prin minimizarea unei funcţii logice se înţelege metodologia obţinerii unei expresii logice echivalente cu cost minim, pentru un număr dat de niveluri logice. Funcţia 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 funcţiei după minimizare este C(f) = 7, spre deosebire de prima implementare, în care costul funcţiei este C(f) = 13.

Metoda Veitch - Karnaugh de minimizare a unei functii logice:

Se consideră o funcţie de n variabile logice, în forma normală disjunctivă. Se împart cele n variabile în 2 mulţimi de k şi p elemente, k + p = n. Vom forma o matrice cu 2k linii şi

Page 23: Initiere operare pc

23

2p coloane, fiecare element al matricii indicând valoarea funcţiei corespunzătoare valorilor variabilelor ce poziţionează elementul în matrice. În general, putem grupa 21, 22, 23,..., 2p termeni vecini cu valori 1 ale funcţiei , eliminându-se din termenul rezultant 1,2,3,...,p variabile, pentru care echivalenţii binari îşi schimbă valoarea în rangurile corespunzătoare acestor variabile. Pentru ordonarea coloanelor şi liniilor matricei Veitch-Karnaugh, se folosesc combinaţiile posibile ale valorilor variabilelor de intrare, două coloane sau linii alăturate schimbând doar un singur bit.

Exemplul 1: Să se minimizeze următoarea funcţie de 4 variabile : f(X1,X2,X3,X4) = X1X2X3X4+ X1X2X3X4+

+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4+ X1X2X3X4

Exemplul 2: Să se minimizeze următoarea funcţie de 3 variabile : f(X1,X2,X3) = X1X2X3+ X1X2X3+

+ X1X2X3+ X1X2X3+ X1X2X3+ X1X2X3

3.3. Materializarea funcţiilor logice. Circuite logice. Orice poartă logică definită pentru 2 intrări, şi care implementează una din funcţiile

logice de bază descrise mai sus, poate fi gândită şi utilizată cu un număr mai mare de intrări. Astfel, există porţi logice OR, AND, NAND etc. cu 3, 4 sau chiar 8 intrări. Pe o capsulă de circuit integrat pot fi implementate una sau mai multe porţi, depinzând de dimensiunea capsulei (numărul de pini al capsulei) precum şi de numărul de intrări ale porţilor logice. De

Page 24: Initiere operare pc

24

exemplu, pe o capsulă cu 14 pini pot să încapă 6 inversoare, 4 porţi AND cu 2 intrări, 1 poartă NAND cu 8 intrări etc.

Circuitul 7404, reprezentat mai sus, este o capsulă de 14 pini în tehnologie TTL, care

conţine 6 inversoare; circuitul 7400 conţine 4 porţi NAND cu 2 intrări ; circuitul 7432 conţine 4 porţi OR cu 2 intrări etc. Capsulele sunt alimentate la o tensiune de +5Vcc.

În funcţie 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 măsurat în nsec. Este timpul scurs între momentul

modificării unei variabile la intrare şi momentul când răspunsul este furnizat la ieşirea circuitului.

- puterea disipată, notată cu P şi măsurată în mW. - Fan-out, ce reprezintă numărul maxim de intrări ce pot fi conectate la ieşirea unui

circuit logic. La ieşirea unui circuit nu pot fi conectate un număr prea mare de intrări. Astfel, pentru circuitele TTL, Fan-out = 10, ceea ce înseamnă că la ieşirea unei porţi logice TTL, din cele prezentate în acest capitol, pot fi conectate maximum 10 intrări ale altor porţi logice.

- valorile tipice ale tensiunilor de intrare şi ieşire. De exemplu, pentru familia de circuite logice TTL, tensiunea de ieşire minimă garantată în starea "high" (atunci când la

Page 25: Initiere operare pc

25

ieşire trebuie să fie "1" logic) este VOH = 2,4V, iar tensiunea de ieşire maximă în starea "low" (atunci când la ieşire trebuie să fie "0" logic) este VOL = 0,4V.

În mod obişnuit, ieşirile circuitelor date mai sus nu pot fi conectate împreună. În unele situaţii, cum este conectarea la magistrală, apare necesitatea conectării împreună a ieşirilor mai multor circuite logice. În acest caz devin utile circuitele "tri-state", ieşirea circuitului având trei stări posibile : nivel ridicat ("1"), nivel coborât ("0"), şi deconectat sau starea de mare impedanţă. Dacă circuitul "tri-state" este activat, ieşirea circuitului va fi în starea "high" sau "low" în funcţie de intrările circuitului. Dacă circuitul este dezactivat, ieşirea circuitului va fi deconectată de la magistrală, magistrala sau linia comună fiind controlată de ieşirea altui circuit logic.

Exemple:

Poartă ŞI-NU cu 2 intrări de date şi o intrare de activare Obs: Semnalele active pe nivel coborât sunt marcate pe desen printr-un cerculeţ,

denumirea semnalului fiind supraliniată. Mai jos este prezentat un circuit buffer sau circuit tampon, a cărui ieşire Z va fi egală cu

intrarea X dacă intrarea de activare E este 1, altfel ieşirea Z va fi în starea de mare impedanţă.

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

Page 26: Initiere operare pc

26

3.4. Structuri logice combinaţionale O structură logică combinaţională, sau un circuit logic combinaţional, este un circuit cu

n intrări şi m ieşiri, la care ieşirile pot fi exprimate ca funcţii numai de intrările circuitului.

Decodorul este circuitul logic combinaţional cu n variabile de intrare şi cel mult 2n

variabile de ieşire, la care numai o singură ieşire este activă (de regulă în starea "low") la un moment dat, celelalte ieşiri fiind inactive. Va fi activă ieşirea yk, k=0,1, ...2n-1, unde k reprezintă corespondentul zecimal al numărului binar XnXn-1...X2X1 existent pe cele n linii de intrare. Circuitul decodor poate avea una sau mai multe intrări de activare.

Exemple: Circuitul 7442 este un decodor zecimal, cel mult una din cele 10 ieşiri fiind activă la un

moment dat. Astfel, dacă la intrare avem combinaţia DCBA = 0111, toate ieşirile vor fi în "1" logic, cu excepţia ieşirii 7 care va fi în "0" logic.

Circuitul 74138 este un decodor octal cu 3 intrări de activare. Circuitul va fi activ dacă

E1=E2=0 şi E3=1. Altfel, toate ieşirile sunt inactive (în starea "high") indiferent de combinaţia de pe liniile C,B,A. Dacă circuitul este activ, acesta va funcţiona conform următoarei tabele de adevăr :

Page 27: Initiere operare pc

27

Circuitul multiplexor este unul din principalele circuite combinaţionale, fiind denumit uneori şi circuit "selector", deoarece este utilizat ca un comutator de selectare a anumitor intrări. De exemplu, un multiplexor cu 8 intrări selectează şi trimite la ieşire una din cele 8 intrări, în funcţie de un cod de selecţie pe 3 biţi, aflat pe cele 3 intrări de selecţie.

În cazul general, cu ajutorul celor n intrări de selecţie, se selectează una din cele 2n intrări de date, intrare care este cuplată la ieşire. Uneori, circuitele multiplexoare sunt prevăzute cu intrări de activare. Un exemplu concret de circuit multiplexor este circuitul 74151, care implementează următoarea funcţie logică:

Y = S(CBAI0+CBAI1+CBAI2+CBAI3+CBAI4+CBAI5+CBAI6+CBAI7) Dacă S=1 circuitul este inactiv, deci Y=0 indiferent de intrările C,B,A, I0-I7. Circuitul

este activ, funcţionând ca un comutator comandat de intrările de selecţie, numai dacă S=0. Un alt circuit logic combinaţional este sumatorul, care realizează suma a două numere

binare. De exemplu, circuitul sumator CDB483 adună două numere binare pe 4 biţi astfel : C4∑3∑2∑1∑0 = X3X2X1X0 +Y3Y2Y1Y0 + C0

Page 28: Initiere operare pc

28

Pentru a aduna două numere pe n biţi, se conectează mai multe circuite CDB483 în

cascadă, ca în figura de mai jos. De regulă, se preferă n = 4k.

Tot circuite combinaţionale sunt şi unităţile aritmetico-logice, care pot efectua diferite

operaţii aritmetice şi logice. De exemplu, ALU74181 este o unitate aritmetico-logică pe 4 biţi, care poate realiza 16 operaţii logice şi 16 operaţii aritmetice asupra operanzilor pe 4 biţi. Circuitul are 4 intrări de selecţie a operaţiei şi o intrare de control a modului. Dacă intrarea de control a modului este "0", circuitul realizează o operaţie aritmetică asupra operanzilor: adunare, scădere etc., operaţie selectată de cele 4 intrări de selecţie a operaţiei. Dacă intrarea de control este "1", circuitul va realiza una din cele 16 operaţii logice (produs logic, sumă logică etc.) selectate de intrările de selecţie a operaţiei. Pentru a realiza operaţii logice sau aritmetice pe mai mulţi biţi, se conectează mai multe circuite ALU74181 în cascadă. O asemenea unitate aritmetico-logică, dar mult mai performantă, se găseşte în interiorul oricărui microprocesor.

3.5. Sisteme logice secvenţiale Capacitatea de a memora este foarte utilă în soluţionarea unor probleme. Nu toate

problemele pot fi rezolvate într-o manieră pur combinaţională. Funcţia de memorare ne permite să reţinem datele până în momentul când este necesară prelucrarea lor, împreună cu alte date de intrare. Dispozitivele secvenţiale sau dispozitivele cu memorie, au o intrare de ceas (sau intrare de tact), starea lor schimbându-se numai ca urmare a tranziţiei acestui semnal de ceas.

Page 29: Initiere operare pc

29

Un sistem logic pur combinaţional nu posedă memorie, ieşirile la un moment dat fiind complet definite de intrări. La un sistem secvenţial, relaţia dintre ieşiri şi intrări este determinată şi de evoluţia anterioară a intrărilor şi ieşirilor. Un sistem logic secvenţial poate fi divizat într-un circuit pur combinaţional şi un circuit cu memorie astfel:

Dacă poarta logică este elementul combinaţional de bază al structurilor combinaţionale,

bistabilul este elementul secvenţial de bază al sistemelor secvenţiale. Elementele de memorare, şi în particular bistabilii, îşi modifică ieşirea în funcţie de intrări numai ca urmare a tranziţiei semnalului de ceas.

3.5.1. Tipuri de bistabile Bistabilul de tip D - este elementul fundamental de memorare.

Ieşirea Q la momentul n+1 (la a n+1-a tranziţie a semnalului de ceas) este egală cu

intrarea D la momentul n (intrarea anterioară tranziţiei n+1 a semnalului de ceas). Mai clar, funcţionarea bistabilului de tip D rezultă din următoarea diagramă de semnale:

Page 30: Initiere operare pc

30

Bistabilul de tip R-S

Intrarea R, numită şi intrare de Reset, aduce ieşirea Q a bistabilului în zero la următorul

front activ al semnalului de ceas, sau altfel spus, resetează ieşirea bistabilului. Dacă intrarea S, numită şi intrare de Set, este 1, ieşirea bistabilului va trece în 1 la următorul front activ al ceasului. Dacă R=S=0, ieşirea bistabilului rămâne nemodificată după a n+1-a tranziţie a semnalului de ceas. R=S=1 determină trecerea bistabilului într-o stare nedeterminată (ieşirea poate fi atât 0 cât şi 1), fiind necesară evitarea acestei combinaţii. Pot exista bistabile R-S fără 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, tranziţia ieşirii bistabilului este determinată de nivelul semnalului de ceas, spre deosebire de bistabilele active pe front, la care tranziţia ieşirii este determinată de frontul crescător sau descrescător al semnalului de ceas. Bistabilul de tip D prezentat anterior este un bistabil activ pe frontul crescător al semnalului de ceas.

Bistabilul de tip J-K

Spre deosebire de bistabilul R-S, în cazul bistabilului J-K, dacă J=K=1, ieşirea Q a

bistabilului la momentul n+1 va fi egală cu ieşirea Q la momentul anterior tranziţiei n+1 a semnalului de ceas, inversată.

Page 31: Initiere operare pc

31

Bistabilele integrate care pot fi întâlnite pe piaţă sunt puţin mai complicate decât cele prezentate anterior. Astfel, circuitul 7474 (sau echivalentul său CDB474) conţine 2 bistabile de tip D pe capsulă, care arată ca în figura 3.1. R şi S sunt intrări asincrone active pe nivel coborât, care resetează, respectiv setează ieşirea Q a bistabilului, indiferent de semnalul de ceas. De asemenea, fiecare bistabil mai este prevăzut cu o ieşire Q, ce reprezintă ieşirea Q inversată. Ceasul este activ pe front crescător. Capsula 7473 (sau CDB473) conţine 2 bistabile J-K active pe frontul descrecător al semnalului de ceas, cu intrări asincrone de set şi reset.

Figura 3.1. Bistabilele integrate 7474 şi 7473

3.5.2. Registre şi numărătoare Mai multe bistabile pot fi grupate în configuraţii de registre sau numărătoare. Registrele

folosesc, de obicei, ca dispozitiv de memorare a datelor. Spre deosebire de bistabile, care memorează o informaţie de un bit, registrele sunt dispozitive care pot stoca cuvinte (mai mulţi biţi), deci registrele sunt realizate prin alăturare de bistabile, fiecare bistabil memorând un singur bit. Registrele pot fi cu acces paralel sau cu acces serie. La registrele cu acces paralel, operaţia de încărcare 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, încărcarea bistabilelor registrului se face serial, de la

o intrare serială. Exemplu de registru serie, implementat cu bistabile de tip D:

Page 32: Initiere operare pc

32

La fiecare front activ al semnalului de ceas SI→Q1, Q1→Q2, Q2→Q3, Q3→Q4. Un exemplu concret de registru integrat este circuitul 7495 (sau CDB495) prezentat în

figura 3.2, şi care este un registru de 4 biţi, cu posibilitate de operare sincronă serie sau paralelă. Funcţionarea circuitului 7495 este următoarea: Dacă S=1, este permisă operarea paralelă, şi se vor încărca în registru, în paralel, datele de la D0-D3, la o tranziţie din 1 în 0 a intrării de tact CP2 (ceas activ pe front descrescător). Dacă S=0, este permisă operarea serie, şi la o tranziţie din 1 în 0 a intrării de ceas CP1, se realizează deplasarea serie dreapta a informaţiei din registru: DS→Q0, Q0→Q1, Q1→Q2, Q2→Q3.

Figura 3.2. Circuitele 7495 şi 74193

De asemenea, mai multe bistabile pot forma o configuraţie de numărător, o asemenea

configuraţie numărând impulsurile de la intrarea de ceas a bistabilelor. Ieşirile bistabilelor sunt interpretate, în acest caz, ca un număr binar ce reprezintă starea numărătorului, sau cu alte cuvinte, ieşirile bistabilelor reprezintă numărul de impulsuri de ceas apărute la intrarea de tact a bistabilelor. Astăzi nu se mai realizează practic numărătoare cu circuite bistabile individuale, existând numeroase numărătoare integrate.

Astfel, circuitul 74193 este un numărător binar reversibil de 4 biţi (sau numărător modulo 16). Circuitul are două intrări de ceas active pe front pozitiv: Cu - pentru incrementarea numărătorului şi Cd - pentru decrementarea numărătorului. Numărătorul poate fi resetat (Y3=Y2=Y1=Y0=0), dacă intrarea R=1. PL este o intrare de comandă a încărcării paralele, deci dacă PL efectuează o tranziţie din "1" în "0", se realizează încărcarea paralelă: D0→Y0, D1→Y1, D2→Y2, D3→Y3. Numărarea este posibilă dacă PL=1 şi R=0. Circuitul

Page 33: Initiere operare pc

33

incrementează (adună 1) numărul binar Y3Y2Y1Y0 la fiecare front crescător al intrării Cu, şi decrementează (scade 1) numărul Y3Y2Y1Y0 la fiecare front crescător al intrării Cd. Ieşirile TCD şi TCU sunt "low" la trecerea prin zero a numărătorului când se numără înapoi, respectiv la trecerea prin 15 când se numără înainte. Funcţiile logice realizate de cele două ieşiri sunt:

TCU = Y3Y2Y1Y0Cu

TCD = Y3Y2Y1Y0Cd

Aceste două ieşiri sunt necesare pentru cuplarea mai multor numărătoare 74193 în cascadă, în vederea implementării unor numărătoare pe mai mulţi biţi.

Funcţionarea ca numărător înainte rezultă din următoarea diagramă de semnale:

O diagramă asemănătoare poate fi trasată şi în cazul numărării înapoi.

Page 34: Initiere operare pc

34

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, aparţinând familiei IAPX, ce cuprinde microprocesoarele I8088, I8086, I80286, I80386, I80486, Pentium. I80286 poate funcţiona până 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 instrucţiuni al microprocesorului I8086 a fost lărgit cu instrucţiuni specifice modului de lucru protejat, ce oferă suportul necesar implementării unor sisteme de operare multitasking, cum este OS/2. Într-un asemenea sistem de operare, unitatea centrală de prelucrare serveşte pe rând mai multe taskuri, sau programe, astfel încât utilizatorul are impresia că sunt rulează mai multe programe simultan.

I80286 are magistrala de date de 16 biţi la fel ca şi I8086, dar în schimb are magistrala de adrese de 24 de biţi, cu care poate adresa în mod direct un spaţiu de memorie de 16Mocteţi. De asemenea, are în compunere o unitate de gestiune a memoriei, prin intermediul căreia poate adresa o memorie virtuală de 1Goctet. La fel ca şi I8086, poate adresa un spaţiu de I/E de 64 Kporturi de 8 biţi sau 32 Kporturi de 16 biţi.

I80286 lucrează în conjuncţie cu coprocesorul matematic I80287, care, spre deosebire de I8087, poate asigura asistenţă microprocesorului I80286, în ce priveşte efectuarea calculelor matematice, şi în modul protejat.

Microprocesorul I80286 este microprocesorul în jurul căruia 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ă pătrată, cu pini numai pe cele 4 laturi ale capsulei, sau într-o capsulă pătrată ce conţine o matrice de pini - Pin Grid Array.

4.1.2. Arhitectura internă a microprocesorului I80286

Microprocesorul I80286 este compus din 4 unităţi independente care lucrează în paralel: - unitatea de interfaţă cu magistrala - BU (Bus Unit); - unitatea instrucţiunilor - IU (Instrucţion Unit); - unitatea de execuţie - EU (Execution Unit); - unitatea de adresare - AU (Adress Unit).

Page 35: Initiere operare pc

35

Unitatea de interfaţă cu magistrala controlează toate operaţiile pe care microprocesorul le efectuează pe magistrală, generând adresele, datele şi semnalele de control pentru memorie şi porturile de I/E. BU transferă date între memorie sau porturi, şi microprocesor, la cererea unităţii de execuţie. Dacă BU nu are o astfel de cerere din partea unităţii de execuţie, va aduce din memorie următoarea instrucţiune în secvenţă, pe care o plasează într-o coadă de instrucţiuni. Aceasta presupune că instrucţiunile se execută în secvenţă, una după alta, în ordinea în care apar în memorie. Dacă survine o ruptură în secvenţă (de exemplu o instrucţiune de salt), coada de instrucţiuni este resetată şi se reîncepe citirea instrucţiunilor cu anticipaţie de la noua adresă. Coada de instrucţiuni este o memorie internă de 6 octeţi, care memorează codurile instrucţiunilor înainte de a fi utilizate de unitatea instrucţiunilor. Acest mecanism de citire cu anticipaţie a instrucţiunilor permite eliminarea timpilor morţi de citire din memorie a instrucţiunii următoare.

Figura 4.1.1. Schema bloc internă a microprocesorului I80286 Unitatea instrucţiunilor primeşte instrucţiuni din coada de instrucţiuni, le decodifică, şi

le plasează într-o altă coadă, cu lungimea de 3 octeţi, numită coada instrucţiunilor decodificate.

Unitatea de execuţie execută instrucţiunile preluate din coada de instrucţiuni 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 execuţie conţine o unitate aritmetico-logică - Arithmetical Logical Unit, destinată efectuării calculelor aritmetice şi logice care intervin în execuţia instrucţiunilor. UAL efectuează calculele manevrând regiştrii generali şi

Page 36: Initiere operare pc

36

operanzii instrucţiunilor, şi totodată gestionează indicatorii de condiţie şi stare conţinuţi în registrul indicatorilor de condiţie şi stare F.

Unitatea de adresare asigură gestiunea memoriei, mecanismele de protecţie 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 unităţi lucrând în paralel, astfel că, spre exemplu, în timp ce unitatea de execuţie este ocupată cu execuţia instrucţiunii curente, unitatea de interfaţă cu magistrala încarcă instrucţiunea următoare, sau transferă în memorie rezultatul instrucţiunii executate anterior. În acelaşi timp, unitatea instrucţiunilor decodifică următoarea instrucţiune de executat, pe care o pune în coada de instrucţiuni decodificate, pentru a fi preluată de unitatea de execuţie.

4.1.3. Registrele microprocesorului I80286 Microprocesorul I80286 conţine 15 registre interne de 16 biţi. Aceste registre pot fi grupate în 5 categorii astfel:

- registre generale - registre indicatoare de adresă şi index - registre de segment - registrul pointerului de instrucţiuni - registre de control şi stare

Figura 4.1.2. Registrele microprocesorului I80286 Registrele generale AX, BX, CX, DX sunt utilizate în majoritatea instrucţiunilor

aritmetice şi logice, şi pot fi folosite atât ca registre pe 16 biţi, cât şi ca registre pe 8 biţi. De exemplu, registrul AX, registru pe 16 biţi, este compus din registrul AH ce conţine cei 8 biţi

Page 37: Initiere operare pc

37

mai semnificativi din AX, şi din registrul AL, ce conţine cei mai puţin semnificativi 8 biţi din AX.

Registrele SP şi BP sunt denumite registre indicatoare de adresă (sau pointer) şi sunt folosite numai ca registre pe 16 biţi. Registrul SP conţine deplasamentul în octeţi al vârfului stivei, faţă de începutul segmentului de stivă curent. De cele mai multe ori, şi registrul BP conţine un deplasament în segmentul de stivă curent. Registrele BX şi BP mai sunt denumite uneori şi registre bază, fiind desemnate să conţină 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 biţi, şi conţin de regulă un index, care se incrementează sau se decrementează pe măsură ce se examinează o structură de date. Sunt folosite în special de instrucţiunile de prelucrare a şirurilor de caractere.

Spaţiul de memorie adresabil de 80286 este împărţit î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 biţi. Registrele de segment pot fi modificate prin

program. Conţinutul registrelor de segment este interpretat diferit în funcţie de modul de lucru al microprocesorului: real sau virtual.

În modul de lucru real, care este modul de lucru compatibil I8086, registrele de segment conţin cei mai semnificativi 16 biţi 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 doreşte a fi accesată (adresa primului octet din segment), precum şi adresa relativă în segment a datei respective, sau un deplasament, ce reprezintă distanţa în octeţi faţă de începutul segmentului.

Astfel, în modul real, CS conţine cei mai semnificativi 16 biţi ai adresei de bază a segmentului de cod curent, DS conţine cei mai semnificativi 16 biţi ai adresei de bază a segmentului de date curent ş.a.m.d.

Segmentele de cod ale unui program conţin instrucţiunile programului, segmentele de date (referite de DS şi ES) conţin date sau variabile pentru programul ce se execută, segmentele de stivă, referite prin intermediul registrului de segment SS, conţin zone de memorie organizate pe principiul stivei.

Page 38: Initiere operare pc

38

În modul de lucru protejat, registrele de segment conţin un index într-o tabelă de descriptori a segmentelor. O intrare în această tabelă conţine 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 găseşte adresa de bază a segmentului în care se doreşte 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 instrucţiuni - IP - este un registru de 16 biţi, care conţine adresa relativă în raport cu începutul segmentului de cod curent, a următoarei instrucţiuni ce trebuie executată. Registrul IP este transparent la nivelul programatorului, el fiind actualizat automat după citirea instrucţiunii curente, astfel încât să indice deplasamentul următoarei instrucţiuni de executat.

Registrul indicatorilor de stare şi control - F - conţine indicatorii de stare şi control ai microprocesorului. Indicatorii de stare, în număr de 6, sunt poziţionati de unitatea aritmetico-logică în urma execuţiei unei instrucţiuni, şi reflectă anumite stări ale rezultatului unei operaţii aritmetice sau logice. Unele instrucţiuni ale microprocesorului testează aceşti indicatori şi, în funcţie de cum sunt poziţionaţi (în 0 sau în 1), se execută anumite acţiuni specifice.

Indicatorii de stare sunt următorii: - indicatorul de transport - CF (Carry Flag ) - este unu dacă a apărut transport din

bitul cel mai semnificativ în exterior, sau s-a făcut împrumut în exterior din bitul cel mai semnificativ al rezultatului. Indicatorul CF este afectat şi de instrucţiunile de rotire şi deplasare.

- indicatorul de paritate -PF (Parity Flag) - este poziţionat (este pus în 1 logic) dacă rezultatul execuţiei instrucţiunii are octetul cel mai puţin semnificativ cu un număr par de biţi unu. În caz contrar PF este poziţionat în zero.

- indicatorul de transport auxiliar - AF (Auxiliary Carry Flag) - este unu dacă la execuţia instrucţiunii a apărut un transport între rangul 3 şi rangul 4 al rezultatului. De exemplu, presupunând că în registrul AH avem valoarea 58H şi în registrul BH valoarea 29H, în urma execuţiei instrucţiunii ADD AH,BH, care adună conţinutul 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 ⎯⎯⎯⎯

Page 39: Initiere operare pc

39

AH = 10010001 - indicatorul de zero - ZF (Zero Flag) - este poziţionat în unu dacă rezultatul

instrucţiunii executate anterior a fost zero. - indicatorul de semn - SF (Sign Flag) - este unu dacă s-a obţinut un rezultat negativ

(strict mai mic decât 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 depăşire - OF (Overflow Flag) - este unu dacă la execuţia instrucţiunii anterioare a apărut o depăşire, adică dimensiunea rezultatului depăşeşte capacitatea locaţiei de destinaţie.

Indicatorii de control pot fi poziţionati în unu sau în zero prin program, asigurând prin aceasta controlul prin program al unor operaţii ale procesorului. Indicatorii de control sunt următorii:

- indicatorul de direcţie - DF (Direction Flag) - Dacă DF este poziţionat în unu, atunci şirurile de caractere vor fi prelucrate de la adrese mari spre adrese mici de memorie, sau de la dreapta la stânga. Ştergând DF (poziţionând în zero), şirurile vor fi prelucrate de la stânga la dreapta.

- indicatorul de întrerupere - IF (Interrupt Flag) - Dacă IF este poziţionat în unu prin program, microprocesorul va recunoaşte cererile de întrerupere externă. Ştergând acest indicator, întreruperile externe vor fi invalidate.

- indicatorul de urmărire - TF (Trap Flag) - Dacă TF este poziţionat în unu, procesorul intră în modul de execuţie pas cu pas, pentru depanare. În acest mod, după execuţia unei instrucţiuni se generează o întrerupere internă, ceea ce dă posibilitatea investigării rezultatului execuţiei fiecărei instrucţiuni dintr-un program.

Indicatorii de stare şi control prezentaţi mai sus sunt aceeaşi cu indicatorii de condiţie şi stare ai microprocesorului I8086. De fapt, toate registrele prezentate anterior pot fi întâlnite şi la I8086. În plus faţă de I8086, I80286 mai conţine în registrul indicatorilor de condiţie şi stare, trei biţi, care sunt folosiţi numai în modul protejat, fiind ignoraţi în modul de lucru real. Aceştia sunt:

- indicatorul NT (Nested Task) - ce indică dacă instrucţiunea curentă evoluează în cadrul aceluiaşi task, sau ea provoacă o schimbare de task.

- câmpul IOPL (I/O Priviledge Level) - format din 2 biţi, şi care reprezintă nivelul de privilegiu cel mai slab, pentru care nivelul taskului în curs de execuţie trebuie să fie superior sau egal, pentru a putea executa instrucţiuni de I/E. Un nivel de privilegiu este mai slab, dacă numeric este mai mare. De exemplu, nivelul 3 este mai slab decât nivelul 2.

Registrul indicatorilor de condiţie şi stare are următoarea configuraţie :

Page 40: Initiere operare pc

40

Un registru care nu poate fi întâlnit la I8086, este registrul sau cuvântul de stare masină -MSW (Machine Status Word), cu următoarea configuraţie:

Microprocesorul I80286 nu foloseşte decât cei mai puţin semnificativi 4 biţi ai acestui

registru de 16 biţi, ceilalţi biţi fiind rezervaţi pentru 80386. Semnificaţia biţilor este următoarea:

- PE (Protected mode Enable) - Dacă acest bit este poziţionat în unu prin program, I80286 va intra în modul protejat. Odată poziţionat în unu, numai prin resetarea microprocesorului acest bit poate fi adus în zero, determinând intrarea microprocesorului 80286 în modul de lucru real. La microprocesorul 80386, acest bit poate fi poziţionat în zero prin program.

- MP (Monitor Processor extension) - Dacă MP=1 se indică prezenţa unui coprocesor matematic.

- EM (Coprocessor EMulation) - Dacă EM este setat, toate funcţiile 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 instrucţiuni 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 instrucţiune a taskului precedent, sau este pregătit pentru un nou task. Deoarece anumite instrucţiuni ale coprocesorului 80287 necesită până la 1000 de perioade de ceas, este posibil ca I80286 să servească alt task în acest timp, reîntorcându-se la taskul precedent atunci când coprocesorul a terminat de executat instrucţiunea.

4.1.4. Operaţiile 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 sfârşitului ciclului de magistrală precedent, datele citite sau scrise fiind valide pe magistrala de date şi la începutul ciclului de magistrală următor. 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 următoarele noţiuni:

- Ciclul de ceas sistem - este timpul scurs între două fronturi crescătoare ale semnalului de ceas de la intrarea CLK a microprocesorului (perioada ceasului extern).

Page 41: Initiere operare pc

41

- Ciclul procesor - este format din doi cicli de ceas sistem. Microprocesorul foloseşte 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 cuvânt din memorie sau porturile de intrare, sau scrierea unui cuvânt în memorie sau porturile de ieşire ).

- Ciclul instrucţiune - este timpul necesar execuţiei unei instrucţiuni, şi este format din cicli de magistrală şi din cicli interni ai microprocesorului.

În general, orice microprocesor execută un program prin execuţia repetată a următorilor paşi:

- aducerea (citirea) instrucţiunii următoare din memorie; - aducerea sau citirea operanzilor din memorie, dacă instrucţiunea citită anterior

necesită operanzi din memorie; - efectuarea prelucrărilor numerice asupra operanzilor; - transferul (scrierea) rezultatului în memorie, dacă instrucţiunea prevede acest lucru. Ciclul instrucţiune este de fapt timpul de execuţie al celor două mari etape care intervin

în execuţia unei instrucţiuni: citirea instrucţiunii din memorie, şi execuţia propriu-zisă a instrucţiunii, ce cuprinde citirea operanzilor, efectuarea calculelor şi scrierea rezultatului.

Există patru tipuri de cicli procesor, numite şi stări, fiecare stare fiind caracterizată printr-o anumită activitate pe magistrală. Cele 4 stări 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 stările 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 controlând magistrala ca "master", dar neefectuând transferuri de date pe magistrală.

Starea activă TS este semnalizată prin trecerea pe nivel coborât a liniilor de stare S0 şi/sau S1, care indică tipul operaţiei 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 operaţie în curs de execuţie 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

Page 42: Initiere operare pc

42

fiind deconectat de la magistrală (toate semnalele de la pinii procesorului sunt în starea de mare impedanţă).

Microprocesorul poate să execute următoarele operaţii pe magistrală : - citire / scriere memorie; - citire / scriere porturi de I / E; - recunoaştere întrerupere; - HALT sau blocare ("shutdown").

Figura 4.1.3. Ciclul de citire

În cea de-a doua perioadă de ceas sistem a stării 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 operaţie 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 coborât, pentru a indica un ciclu de citire.

Semnalul M/IO permite distincţia între un acces la memorie şi un acces la porturile de I/E astfel:

M/IO = 1 - indică o operaţie cu memoria M/IO = 0 - indică o operaţie cu porturile de I/E Semnalul COD/INTA, combinat cu semnalul M/IO, permite distincţia între citirea unui

operand din memorie şi citirea codului unei instrucţiuni când M/IO = 1, sau permite distincţia între o operaţie de recunoaştere a întreruperii şi o operaţie de citire/scriere port de I/E, astfel :

M/IO = 1 COD/INTA = 1 - citire cod instrucţiune din memorie COD/INTA = 0 - citire operand / scriere rezultat din/în memorie M/IO = 0 COD/INTA = 1 - citire/scriere port de I/E COD/INTA = 0 - recunoaştere întrerupere

Page 43: Initiere operare pc

43

Semnalele S0 şi S1 de pe magistrala de control disting între o operaţie de citire, scriere sau recunoaştere întrerupere astfel:

S1 S0

0 0 - recunoaştere întrerupere 0 1 - citire port sau memorie 1 0 - scriere port sau memorie 1 1 - neutilizată

În intervalul de timp scurs între furnizarea adreselor pe magistrala de adrese, la sfârşitul ciclului de magistrală precedent, şi cea de-a doua jumătate a stării TC a ciclului de citire, memoria sau portul adresat trebuie să furnizeze pe magistrala de date conţinutul locaţiei de memorie adresate sau conţinutul portului adresat, în vederea citirii de către procesor. Dacă memoria sau portul nu sunt atât de rapide, se vor lansa alţi cicli TC, până când datele sunt disponibile pe magistrala de date.

La sfârşitul stării 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 (preluând) 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 sfârşitul căreia 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 activând corespunzător A0-A23, M/IO, COD/INTA la sfârşitul ciclului de magistrală precedent, după care, în starea TS a ciclului de magistrală curent, pune S1 pe 1, S0 pe 0, indicând o operaţie de scriere, şi pe magistrala de date pune datele în vederea scrierii în memorie sau portul adresat. Dacă memoria sau portul nu reuşesc să efectueze operaţia de scriere în timp util, vor ţine semnalul READY pe 1, ceea ce determină procesorul să prelungească ciclul de magistrală curent cu stări TC suplimentare.

Page 44: Initiere operare pc

44

Figura 4.1.4. Ciclul de scrire Ciclii de recunoaştere întrerupere apar în urma apariţiei unei întreruperi externe, când

procesorul execută recunoaşterea întreruperii, pentru a afla adresa rutinei de tratare a întreruperii unde va transfera controlul.

Ciclii de HALT şi blocare apar fie ca efect al execuţiei instrucţiunii HALT (ce opreşte procesorul din execuţia normală a instrucţiunilor), fie datorită apariţiei excepţiilor multiple la execuţia unei instrucţiuni. 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 iniţializarea procesorului, se face prin aplicarea unui "1" logic pe intrarea RESET a procesorului. După reset I80286 intră în modul real, registrul MSW fiind încărcat cu valoarea FFF0H, cele mai semnificative linii de adresă, A20-A23, fiind tinute în "1" logic, astfel încât prima instrucţiune executată va fi instrucţiunea de la adresa fizică FFFFF0H, care, de regulă, este o instrucţiune de salt în zona de memorie de până la 1Mb. Această instrucţiune de salt determină dezactivarea liniilor A20-A23, care vor trece în zero, procesorul I80286 lucrând î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, asigurând posibilitatea rulării 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 biţi, format din două componente:

Page 45: Initiere operare pc

45

- un selector de segment de 16 biţi, care indică segmentul de memorie dorit, aflat într- un din registrele de segment, şi

- un deplasament (offset) de 16 biţi, 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 ignorând liniile A20-A23, care sunt ţinute în zero. Memoria de 1Mb este împărţită în mai multe segmente logice, un segment logic fiind format din locaţii adiacente de memorie, şi având dimensiunea maximă de 64Kb. Fiecărui segment îi corespunde o adresă de bază, care este adresa locaţiei de început a segmentului. Toate segmentele încep la o adresă multiplu de 16. Segmentele pot fi adiacente, disjuncte, parţial sau total suprapuse. O locaţie fizică poate să aparţină unuia sau mai multor segmente.

Adresa fizică pe 20 de biţi a unei locaţii de memorie se calculează înmulţind selectorul de segment, aflat într-unul din registrele de segment, cu 16 (ceea ce înseamnă de fapt deplasarea cu 4 poziţii spre stânga), la care se adună deplasamentul. Deci, conţinutul registrului de segment este interpretat ca fiind cei mai semnificativi 16 biţi ai adresei de bază a segmentului.

Figura 4.1.5. Calculul adresei fizice în modul real

Adresarea instrucţiunilor, stivei şi datelor în modul real:

Instrucţiunile unui program se găsesc într-unul din segmentele de cod ale programului. Adresa fizică a instrucţiunii care urmează să se execute, se obţine folosind registrul CS, ce conţine 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 instrucţiunilor şi stivei în modul real

Page 46: Initiere operare pc

46

Stiva este o zonă de memorie de tip LIFO (Last In First Output), la care adăugarea unui element se face prin plasarea lui în vârful stivei, scoaterea unui element din stivă realizându-se prin extragerea lui din vârful stivei. Un program poate să conţină una sau mai multe stive, fiecare stivă fiind conţinută într-unul din segmentele de stivă ale programului. Pentru implementarea mecanismului de tip stivă, I80286 foloseşte registrul SS ca registru de bază, ce conţine adresa de bază a segmentului de stivă curent, şi registrul SP - Stack Pointer - ce conţine deplasamentul vârfului stivei faţă de baza segmentului de stivă pointat de SS.

Stiva creşte de la adrese mari de memorie spre adrese mici de memorie. Să luăm o stivă de lungime 100H, în care s-au introdus 6 octeţi, şi să presupunem că registrul SS conţine valoarea 1F20H. Valoarea iniţială a registrului SP este 0100H. După introducerea în stivă a celor 6 octeţi, SP devine 0100H - 6 = 00FAH. Deci, când se introduc elemente în stivă SP se decrementează, când se scot elemente din stivă SP se incrementează, cu numărul respectiv de octeţi introduşi sau scoşi din stivă.

Dacă în acest moment se execută o instrucţiune 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 vârful stivei. Dacă se efectuează o instrucţiune de scoatere din stivă, de exemplu POP CX, se execută următoarele acţiuni :

CL <- octet de la adresa SS:SP CH <- octet de la adresa SS:SP+1 SP <- SP+2 După execuţia acţiunilor de mai sus, stiva se va găsi în situaţia anterioară execuţiei

instrucţiunii PUSH BX.

Page 47: Initiere operare pc

47

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 protecţie a memoriei, şi un set de instrucţiuni asociate, microprocesorul I80286 lucrând în acest mod la întreaga sa capacitate. Pentru a intra în modul de lucru protejat, trebuie setat bitul PE din registrul MSW, utilizând instrucţiunea LMSW. Revenirea în modul real se face numai prin iniţializarea procesorului.

În modul de lucru protejat se poate adresa un spaţiu de memorie de 16Mb, utilizând liniile de adresă A0-A23, utilizatorul având la dispoziţie şi un spaţiu de memorie virtual de 1Gb/task. La fel ca şi în modul real, pentru adresarea memoriei, se foloseşte un pointer de 32 de biţi, constituit dintr-un selector de 16 biţi şi un offset de 16 biţi. Selectorul reprezintă însă un index (deplasament) într-o tabelă, de unde se obţine adresa de bază, pe 24 de biţi, a segmentului. La această adresă de bază se adună offset-ul, obţinându-se adresa fizică pe 24 de biţi. Mai multe amănunte legate de modul de lucru protejat sunt prezentate în secţiunea 4.1.7.

4.1.6. Adresarea datelor. Moduri de adresare. Operanzii instrucţiunilor pot fi conţinuti în registre, în memorie, în instrucţiune, sau în

porturile de I/E. Instrucţiunile care au ca operanzi numai registre sunt rapide, deoarece instrucţiunea se execută numai în interiorul microprocesorului, nemaifiind necesare transferuri de date pe magistrală. Registrele pot fi atât operanzi sursă cât şi operanzi destinaţie. De exemplu, în instrucţiunea ADD CX,BX care adună conţinutul registrului BX la CX (CX <- CX+BX), registrul CX este atât operand sursă cât şi operand destinaţie.

Operanzii conţinuti în instrucţiune se mai numesc şi operanzi imediaţi, şi sunt constante pe 8 sau 16 biţi, care sunt citite odată cu codul instrucţiunii. Operanzii imediaţi pot fi numai operanzi sursă. Exemplu: MOV CX, 6 ; încarcă valoarea 6 în registrul CX (CX <- 6).

Pentru operanzii aflaţi în memorie, microprocesorul face un calcul prealabil al adresei operanzilor, mai precis al adresei locaţiilor 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 conjuncţie cu unul din registrele de segment, şi în funcţie de modul de lucru al procesorului (real sau protejat) va da adresa fizică pe 20 de biţi în modul real, sau pe 24 de biţi în modul protejat, a operandului. După calculul adresei fizice, microprocesorul citeşte operandul din memorie, dacă este un operand sursă, sau scrie operandul în memorie, dacă este un operand destinaţie.

Adresa efectivă se calculează însumând trei componente: - un deplasament conţinut în instrucţiune, - un registru de bază ( BX sau BP),

Page 48: Initiere operare pc

48

- un registru index ( SI sau DI ). În funcţie de modul în care se face această sumă, se disting mai multe moduri de

adresare a operanzilor conţinuţi în memorie: a) adresare directă - caz în care adresa efectivă este preluată din instrucţiune. Deci,

AE este un deplasament conţinut în coada instrucţiunii, care este citit odată cu codul instrucţiunii. Î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 instrucţiunii. Adresarea bazată se foloseşte în cazul structurilor de date, cum ar fi de exemplu înregistrările. Registrul de bază va conţine adresa de bază a structurii, iar deplasamentul va da distanţa în octeţi fată de baza structurii. În cazul în care nu se specifică un deplasament în instrucţiune, AE este egală numai cu conţinutul unuia din registrele bază, acest mod de adresare numindu-se adresare bazată implicită.

Exemple : MOV AX, [BX+2] ; mută în AX cuvântul de la adresa fizică cu deplasa - ;-mentul BX+2, din segmentul pointat de registrul de ;segment DS (se obişnuieşte să se scrie condensat ;DS:BX+2 ).

MOV AX, [BX] ; mută în AX cuvântul de la adresa fizică DS:BX. Notă: Dacă nu este specificat explicit în instrucţiune 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 cuvânt de la adresa fizică SS:BX MOV AX, [BP] ; mută în AX cuvânt de la adresa SS:BP MOV AX, DS:[BP] ; mută în AX cuvânt de la adresa DS:BP c) adresare indexată - AE este suma dintre un registru index (SI sau DI) şi un

deplasament din coada instrucţiunii. În cazul în care nu se specifică un deplasament în instrucţiune, adresa efectivă se calculează doar pe baza registrului index, modul de adresare numindu-se adresare indexată implicită. Acest tip de adresare se foloseşte în cazul tablourilor, deplasamentul indicând începutul tabloului, valoarea din registrul index selectând un element al tabloului.

Exemplu: MOV AX, ADR[SI] ; mută în AX cuvânt 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 foloseşte în calculul adresei fizice, dacă acesta nu este specificat explicit în instrucţiune. Adresarea bazată şi indexată se foloseşte în cazul unor structuri de date complexe, cum ar fi un tablou de înregistrări.

Exemple : MOV AL, ADR[BX][ŞI] ; mută în AL octet de la adresa ; DS:offset ADR+BX+SI

Page 49: Initiere operare pc

49

MOV AX, SS:[BX+DI+offset ADR] ; mută în AX cuvânt de la adresa ; fizică SS:BX+DI+offset ADR

e) adresarea şirurilor - În cazul instrucţiunilor ce prelucrează şiruri de caractere, microprocesorul foloseşte un mod specific de adresare. Astfel, registrul SI va da deplasamentul pentru şirul sursă, iar registrul DI va da deplasamentul pentru şirul destinaţie. Registrul de segment folosit în cazul şirului sursă este DS, fiind posibilă şi utilizarea unui alt registru de segment, dacă este specificat în instrucţiune acest lucru. Şirul destinaţie 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ă cuvânt 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 operaţie de citire sau scriere este un operand imediat pe 8 biţi, conţinut în instrucţiune. 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 conţinută în registrul DX. Se pot adresa astfel porturile cu adresa cuprinsă între 0 şi 65535.

Exemple: IN AL, 40H ; citeşte în AL octet din portul de adresă 40H IN AX, 80H ; citeşte în AX cuvânt din portul 80H OUT 8EH, AL ; trimite conţinutul registrului AL în portul 8EH OUT DX, AX ; scrie conţinutul registrului AX în portul a cărui adresă se ; găseşte în DX.

4.1.7. Gestiunea şi protecţia memoriei la microprocesorul I80286. Conceptul de memorie virtuală.

În modul de lucru protejat, programatorii folosesc acelaşi set de instrucţiuni (mai puţin

câteva instrucţiuni specifice modului protejat), moduri de adresare şi tipuri de date ca şi în modul real. Ceea ce deosebeşte fundamental modul protejat de modul real sunt facilităţile legate de managementul memoriei, protecţie şi multitasking, care constituie suportul dezvoltării şi implementării 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 "văzută" ca fiind organizată pe două nivele: memorie principală sau memorie internă, şi memorie secundară sau memorie externă.

Page 50: Initiere operare pc

50

Întreaga memorie a calculatorului este organizată astfel pe un singur nivel, spaţiul de adresă al fiecărui utilizator fiind compus din adrese formate ca o combinaţie de adrese în memoria principală şi în memoria secundară.

Programatorul foloseşte pentru adresarea memoriei adrese virtuale, o adresă virtuală specificând o locaţie din memoria virtuală. Memoria virtuală este formată din ansamblul memorie principală - memorie secundară. Deci, o adresă virtuală poate specifica o locaţie din memoria principală sau o locaţie din memoria secundară. Totalitatea adreselor virtuale formează spaţiul de adrese virtual. Spaţiul de adrese virtual este împărţit în segmente de lungime variabilă. Pentru a adresa o locaţie în spaţiul de adresă virtual, se folosesc două componente: o componentă care specifică segmentul din memoria virtuală, şi o componentă care specifică deplasamentul în segment al locaţiei respective.

Dacă segmentul referit nu se află în memoria principală, se generează o întrerupere a activităţii, şi se va aduce segmentul respectiv din memoria secundară în memoria principală, după care se revine din întrerupere, accesând 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 având la dispoziţie un spaţiu de adresă virtual mult mai mare decât spaţiul adreselor fizice (dimensiunea memoriei principale), dar cu care poate lucra la fel ca şi când ar dispune de o memorie principală foarte mare. Pentru a ţine evidenţa segmentelor, se construieşte o tabelă a segmentelor în memoria principală, în care sunt trecute toate informaţiile despre fiecare segment din memoria virtuală: adresa de bază, dimensiunea segmentului, dacă este sau nu rezident în memoria principală, drepturi de acces etc.

Încărcarea 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 puţin recent utilizat, sau o altă strategie poate propune scoaterea segmentului cel mai puţin utilizat (cu numărul cel mai mic de accese la segment).

Notiunea de protecţie a memoriei desemnează totalitatea controalelor efectuate de sistemul de operare în scopul asigurării utilizării corecte a informatiei, împiedecând propagarea erorilor de programare, ce pot duce la alterarea, distrugerea sau pierderea informaţiei. Pentru implementarea mecanismelor de protecţie, fiecare task se execută cu un anumit nivel de privilegiu. Microprocesorul 80286 recunoaşte 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, uşurând dezvoltarea şi menţinerea programelor.

Page 51: Initiere operare pc

51

Conceptul de task este de asemenea important în gestiunea memoriei. Task-ul se defineşte la nivel de execuţie, reprezentând execuţia unui program legată de contextul fiecărui utilizator. De exemplu, dacă mai mulţi utilizatori din sistem utilizează acelaşi program de editare, se va crea pentru fiecare utilizator un task separat, fiecare task cu propriul său context. Fiecărui task i se ataşează un spaţiu de adresare, numit spaţiu de adresare local. În acelaşi timp, toate taskurile trebuie să poată avea acces la seviciile sistemului de operare, la biblioteci etc. Se defineşte astfel un spaţiu de adresare global, care este partajabil de către toate taskurile. În modul de lucru protejat, taskurile lucrează numai cu adrese virtuale, neavând acces la adresele fizice generate de microprocesor.

O adresă care apare într-un program are două componente: un selector de segment de 16 biţi şi un deplasament de 16 biţi. Această adresă (sau pointer) de 32 de biţi se transformă diferit în adresă fizică în funcţie de modul de lucru al procesorului; real sau protejat. În modul de lucru protejat selectorul de segment are următoare structură :

Câmpul RPL - Requested Priviledge Level - specifică nivelul de prioritate al

selectorului. Bitul TI specifică spaţiul de adresare local dacă TI=1, sau spaţiul de adresare global dacă TI=0. Biţii 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 . Ţinând 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 găseşte adresa de bază pe 24 de biţi a segmentului în care se doreşte accesul.

Corespunzător celor prezentate anterior, există două tipuri de tabele cu descriptori: - tabela cu descriptori globali - GDT (Global Descriptor Table), care descrie spaţiul de

adresare global şi - tabele cu descriptori locali - LDT (Local Descriptor Tables), fiecare tabelă locală

descriind spaţiul de adresare local al unui task. Fiecare tabelă conţine maximum 8192 de puncte de intrare în tabelă, fiecare intrare în

tabelă, compusă din 8 octeţi, cuprinde un descriptor de segment ce conţine, în principal, adresa de bază a segmentului, limita segmentului, drepturile de acces etc.

Pentru a accesa în memorie tabelele de descriptori, microprocesorul I80286 este prevăzut 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, câte una pentru fiecare task, aceste tabele locale sunt privite ca segmente de memorie speciale, numite segmente de sistem, şi care sunt

Page 52: Initiere operare pc

52

descrise prin intermediul descriptorilor de sistem. Deci registrul LDTR se va schimba la fiecare comutare de task, registrul LDTR conţinând selectorul de segment (pe lângă baza şi limita tabelei locale curente), care indică segmentul sistem ce conţine tabela locală a taskului respectiv. Mai precis, registrul GDTR este încărcat cu adresa de bază şi limita tabelei globale utilizând instrucţiunea LGDT, registrul LDTR fiind încărcat cu instrucţiunea LLDT reg16 sau LLDT mem16, unde reg16 şi mem16 sunt valori pe 16 biţi, conţinute într-un registru sau în memorie, care selectează intrarea în tabela globală de descriptori, ce conţine descriptorul sistem pentru tabela locală ce se doreşte a fi accesată. Din descriptorul respectiv, procesorul va încărca în LDTR adresa de bază şi limita tabelei locale curente.

Deci, în plus faţă de registrele prezentate în figura 4.2, microprocesorul I80286 mai conţine 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 căruia se accesează tabela descriptorilor de întrerupere (vezi secţiunea 4.1.8).

În concluzie, tabelele de descriptori pot conţine descriptori de segment sau descriptori de sistem. Descriptorii de segment pot fi descriptori de segment de cod, care referă segmente ce conţin instrucţiuni, şi descriptori de segment de date, care fac referinţă la segmentele ce conţin date sau zone de stivă.

Un descriptor de segment de date are următoarea structură :

Ultimul cuvânt din descriptor este rezervat de firma INTEL pentru dezvoltări ulterioare,

fiind de fapt folosit de 80386. La 80286 acest cuvânt trebuie iniţializat cu zero. Câmpurile octetului ce cuprinde drepturile de acces au următoarele semnificaţii: P - bit de prezenţă - este poziţionat î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 generând o excepţie, care va realiza încărcarea segmentului din memoria externă în memoria internă.

Page 53: Initiere operare pc

53

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 decât limita segmentului şi mai mare decât zero. Dacă ED=1, deplasamentul trebuie să fie mai mare decât limita segmentului specificată în descriptor şi mai mic decât FFFFH.

W - Writable - dacă W=1 segmentul este accesibil atât în citire cât şi în scriere (Read-Write), 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 conţin cei 24 de biţi ai adresei de bază a segmentului. Se poate astfel modifica amplasamentul segmentelor în memorie, modificând numai adresa de bază a segmentelor, ceea ce constituie suportul relocatabilităţii programelor. Un program este relocabil dacă poate fi rulat independent de adresa de încărcare a programului în memorie.

Limita reprezintă un cuvânt sau octet din segment, ce specifică limita superioară sau inferioară a segmentului, în funcţie de bitul ED.

Ceea ce se modifică în descriptorul de segment de cod, faţă de descriptorul de segment de date, este numai octetul ce conţine drepturile de acces. Astfel, bitul E=1, bitul ED devine C (Conforming) şi bitul W devine R (Readable). Dacă R=0, conţinutul segmentului nu poate fi decât executat, dacă R=1 segmentul este accesibil atât în execuţie cât şi în citire. Când C=0 procedura apelată din segmentul de cod respectiv se execută cu nivelul de privilegiu specificat de DPL în descriptorul de segment, când C=1 procedura apelată se execută cu nivelul de privilegiu al programului apelant (segment cu conformare).

Mecanismul de protecţie, implementat hard pe cip, poate localiza, izola şi preveni un număr mare de erori de program, atât în timpul proiectării cât şi în timpul utilizării unui program. Toate testele referitoare la protecţie se realizează în paralel cu execuţia programului, ceea ce nu afectează performanţele sistemului. Se poate păstra astfel funcţionarea corectă a sistemului, atunci când anumite programe încearcă să efectueze unele operaţii interzise.

Principalele tipuri de protecţie implementate de 80286 sunt : - izolarea software-ului de sistem de software-ul de aplicaţie al utilizatorului, - izolarea utilizatorilor între ei, - verificarea accesului la fiecare din obiectele definite în mod protejat (segmente,

nivele, taskuri, etc.).

Page 54: Initiere operare pc

54

Primul tip de protecţie se realizează prin utilizarea a 4 niveluri de prioritate, nucleul sistemului de operare şi programele de sistem executându-se pe cele mai prioritare niveluri, în timp ce programele utilizatorilor se vor executa pe nivelurile mai puţin prioritare. O eroare de program a unui utilizator nu va afecta, astfel, sistemul de operare.

Prin izolarea utilizatorilor între ei, se previne situaţia când o eroare a unui program utilizator poate afecta buna funcţionare a altui program utilizator, erori care sunt greu de depistat.

În ce priveşte al treilea tip de protecţie, microprocesorul I80286 face o verificare a folosirii corespunzătoare a obiectelor la fiecare acces la memorie. De exemplu, segmentele de date nu pot fi executate, segmentele de cod nu pot fi modificate etc.

Informaţia utilizată de mecanismul de protecţie se referă la: - tipul segmentului, - atributele segmentului (sau drepturile de acces), - nivelul de prioritate, - limita segmentului. Mecanismul de protecţie acţionează de două ori: - la încărcarea registrului de segment care va selecta un segment, şi - la fiecare acces în segmentul selectat. La încărcarea 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 încărca registrul SS cu un index către 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 depăşit limita segmentului şi dacă accesul corespunde tipului de segment. De exemplu, într-un segment de date cu atributul citeşte-numai sau în segmentele de cod nu este permisă scrierea.

Orice violare a unei protecţii va determina apariţia unei excepţii. Excepţiile, ca şi întreruperile, sunt modalităţi de transfer al controlului, dar care apar ca rezultat direct al execuţiei instrucţiunilor programului, spre deosebire de întreruperi care apar independent de execuţia normală sau anormală a programului curent. O excepţie apare în condiţiile în care execuţia unei instrucţiuni nu se poate termina normal. Deşi cauzele lor diferă, întreruperile şi excepţiile utilizează acelaşi mod de transfer al controlului. Se obişnuieşte ca excepţiile să fie numite tot întreruperi.

Tot o manifestare a mecanismului de protecţie este şi separarea spaţiilor de adresă între utilizatori. Fiecare task utilizator are o tabelă locală cu descriptori - LDT, conţinutul tabelei locale curente fiind schimbat la fiecare comutare de task.

Page 55: Initiere operare pc

55

În ce priveşte 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 puţin prioritar nivel. Pentru manevrarea nivelelor de prioritate se definesc următoarele noţiuni:

- 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 biţi 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 găseşte în biţii 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 biţi 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 căror nivel de prioritate (DPL) este

acelaşi sau mai mare decât 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

acelaşi nivel de prioritate. Deci, în cazul unei instrucţiuni 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 destinaţie).

- se poate accesa un segment de cod mai privilegiat prin intermediul porţilor. - segmentele cu conformare sunt tratate după reguli speciale. Poarta este un tip special de descriptor, cu lungimea de 4 cuvinte, cu o structură

oarecum asemănătoare cu cea a descriptorilor de sistem, utilizat pentru a redirecta transferul controlului către segmente de cod de pe niveluri diferite de prioritate. În afara porţilor de apel (call gates), prin intermediul cărora se accesează un segment de cod destinaţie cu un nivel de privilegiu diferit de nivelul de privilegiu al segmentului de cod sursă (de unde se face transferul controlului), există porţi de întrerupere (interrupt gates sau trap gates), folosite pentru a activa rutinele de întrerupere la apariţia unor întreruperi hardware sau software. Descriptorii porţilor de apel sunt stocaţi în GDT, ceilalţi sunt stocaţi în IDT (Interrupt Descriptor Table).

4.1.8. Întreruperile microprocesorului I80286 Întreruperile sunt modalităţi de transfer al controlului. La apariţia unei întreruperi,

procesorul întrerupe execuţia programului curent, şi execută în continuare rutina de tratare a întreruperii respective, până când întâlneşte instrucţiunea IRET, care este instrucţiunea de

Page 56: Initiere operare pc

56

revenire din întrerupere. După execuţia instrucţiunii IRET, procesorul reia execuţia programului întrerupt de la instrucţiunea imediat următoare instrucţiunii ce se executa în momentul apariţiei întreruperii.

Fiecare rutină de întrerupere are asociată o adresă, care este adresa primei instrucţiuni din cadrul rutinei de tratare a întreruperii. Orice rutină de întrerupere se termină cu instrucţiunea IRET.

Adresele tuturor rutinelor de tratare a întreruperilor sunt trecute într-o tabelă din memorie. În modul real sunt rezervaţi pentru această tabelă primii 1024 de octeţi din memorie (de la 00000H la 003FFH ), ce memorează o tabelă cu 256 de intrări, numită tabela vectorilor de întrerupere. Deci, în modul real sunt disponibile 256 de întreruperi, fiecare intrare în tabelă (de 4 octeţi) conţinând adresa rutinei de tratare a întreruperii corespondente, în formatul segment:offset. Cuvântul de la adresa mai mică din fiecare intrare în tabelă conţine deplasamentul în segment al primei instrucţiuni a rutinei de tratare a întreruperii, cuvântul de la adresa mai mare conţinând cei mai semnificativi 16 biţi 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 porţilor. 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 conţine adresa de bază şi limita tabelei IDT. Fiecare intrare în tabela IDT va conţine 8 octeţi, câţi sunt necesari pentru un descriptor de poartă, dimensiunea tabelei fiind ajustată cu ajutorul câmpului Limită din IDTR. Înainte de a intra în modul protejat, programul de iniţializare, lucrând în modul real, va trebui să completeze IDT şi GDT, şi să încarce baza şi limita tabelelor respective în IDTR şi GDTR.

În cazul apariţiei unei întreruperi în modul real, procesorul întrerupe programul curent, salvează registrele în stivă, serveşte întreruperea, după care restaurează registrele din stivă, continuând programul întrerupt. În modul protejat, nu este suficient să se salveze numai registrele, ci se salvează întreaga stare a taskului (registrele plus alte informaţii ) î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 condiţie şi stare, CS-ul şi IP-ul instrucţiunii următoare, în această ordine;

- se încarcă IP cu cuvântul de la adresa 0000:n*4 şi CS cu cuvântul de la adresa 0000:n*4+2, unde n este numărul întreruperii (un număr întreg între 0 şi 255);

- şterge IF şi TF; - se execută instrucţiunile din rutina de întrerupere, până când se întâlneşte

instrucţiunea IRET;

Page 57: Initiere operare pc

57

- la întâlnirea instrucţiunii IRET se revine din întrerupere, restaurând din stivă IP, CS şi registrul indicatorilor de condiţie şi stare.

Stiva trebuie să se găsească în aceeaşi stare ca la apariţia întreruperii. Este indicat ca la începutul unei rutine de întrerupere să se salveze registrele microprocesorului în stivă, urmând a fi restaurate înainte de execuţia instrucţiunii IRET. Atunci când 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 instrucţiune STI, aceasta numai dacă rutina de întrerupere nu conţine secvenţe critice care nu pot fi întrerupte. Pe durata execuţiei secvenţelor critice se invalidează IF.

Microprocesorul I80286 are trei tipuri de întreruperi: - întreruperi hardware, - întreruperi software, - excepţii. Întreruperile hardware se mai numesc şi întreruperi externe, întreruperile software şi

excepţiile fiind numite şi întreruperi interne. Întreruperile hardware sunt generate de dispozitive hardware, şi pot fi la rândul 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 condiţie şi stare este 1. Dacă IF=0, procesorul continuă nestingherit execuţia programului curent. Indicatorul IF poate fi poziţionat în 0 sau 1 prin program. Prin invalidarea întreruperilor externe mascabile, poziţionând IF în zero, se previne întreruperea unor secvenţe critice de program, care nu pot fi întrerupte.

Dacă întreruperile externe sunt validate, după execuţia instrucţiunii curente, microprocesorul va efectua recunoaşterea î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 când este apăsată o tastă, în rutina de întrerupere corespunzătoare tastaturii, procesorul preluând codul tastei apăsate, după care continuă programul întrerupt. Deoarece există mai multe dispozitive hardware care pot genera întreruperi în acelaşi timp, este necesară existenţa unui dispozitiv, numit dispozitiv controler de întreruperi, care permite dispozitivelor hardware să întrerupă microprocesorul conform unei ordine de prioritate. Dacă există cel puţin o cerere de întrerupere activă, din partea unui dispozitiv hardware ce poate genera întreruperi, dispozitivul controler de întreruperi va pune 1 pe linia INTR, întrerupând procesorul, după care, atunci când procesorul efectuează recunoaşterea întreruperii, în cadrul

Page 58: Initiere operare pc

58

unor cicli de recunoaştere a întreruperii, va pune pe magistrala de date vectorul de întrerupere (un număr î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 corespunzătoare dispozitivului hardware ce a generat întreruperea (intrarea în tabelă va avea numărul 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 apariţia unor evenimente deosebite, cum ar fi căderea tensiunii de alimentare, când procesorul trebuie să execute anumite acţiuni de urgenţă. Aceste întreruperi sunt tratate imediat ce apar, nefiind posibilă invalidarea lor. Adresa rutinei de tratere a întreruperilor nemascabile se află în intrarea numărul 2 din tabela vectorilor de întrerupere (sau IDT), procesorul transferând automat controlul la această rutină, imediat ce recepţionează un 1 logic pe intrarea NMI.

Întreruperile software sunt generate prin execuţia unei instrucţiuni INT n, unde n este un număr întreg cuprins între 0 şi 255. După execuţia acestei instrucţiuni, procesorul va transfera controlul la rutina de întrerupere a cărei adresă se găseşte în intrarea cu numărul n, din tabela vectorilor de întrerupere sau tabela descriptorilor de întrerupere. De exemplu, instrucţiunea INT 2 va executa aceeaşi rutină de întrerupere care se execută şi în cazul apariţiei unei întreruperi externe nemascabile.

Excepţiile sunt întreruperi generate de către procesor însuşi. În tratarea excepţiilor, microprocesorul nu face distincţie între o excepţie şi o întrerupere software cu numărul egal cu cel al excepţiei respective.

Exemple de exceptii: - division by zero - procesorul generează automat o întrerupere cu numărul 0 (deci la

fel ca şi instrucţiunea INT 0), atunci când instrucţiunile de împărţire DIV şi IDIV încearcă să efectueze o împărţire la zero.

- overflow detection - dacă indicatorul OF este setat în urma unei instrucţiuni, procesorul execută o întrerupere cu numărul 4.

- single step - procesorul execută întreruperea numărul 1, după fiecare instrucţiune executată, dacă indicatorul TF este setat.

- coprocessor not prezent - procesorul execută automat o întrerupere cu numărul 7, dacă unitatea instrucţiunilor detectează o instrucţiune pentru coprocesorul matematic şi acesta nu este prezent.

4.2. Microprocesorul I80386 4.2.1. Caracteristici generale

Page 59: Initiere operare pc

59

Creşterea remarcabilă a vitezei de calcul a microprocesorului 80386, faţă de predecesorul său 80286, se datorează în principal lucrului pe 32 de biţi. I80386 are o magistrală de date de 32 de biţi, o magistrală de adrese de 32 de biţi, cu care poate adresa, în mod direct, o memorie de 4Gb şi o memorie virtuală de 64Tb pe task. Spaţiul de intrare / ieşire este limitat totuşi la 64 Kporturi, la fel ca la 80286, în schimb pe lângă porturi de 8 sau 16 biţi, I386 poate accesa şi porturi de 32 de biţi.

Microprocesorul I80386 are 3 moduri de lucru: real, protejat şi virtual 8086. În modul real, 80386 poate adresa o memorie de 1Mb, lucrând ca un 8086 mult mai rapid. Modul protejat I80386 este compatibil cu modul protejat 80286, dar din cauza spaţiului de memorie mult mai mare (4Gb în loc de 16Mb), descriptorii de segmente şi porţi au fost puţin modificaţi, păstrându-se compatibilitatea. Spaţiul de adresă virtual, de 64Tb, este împărţit î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 facilităţile de management şi protecţie oferite de I386.

I80386 este livrat într-o capsulă de formă pătrată, cu 132 de pini, de forma următoare:

Figura 4.2.1. Capsula microprocesorului I386

Pe lângă extensia registrelor interne la 32 de biţi, în plus faţă de 80286, I386 implementează o unitate de paginare a memoriei, este prevăzut cu facilităţi hardware pentru depanarea programelor, şi cu posibilitatea de efectuare a unui autotest al componentelor interne ale microprocesorului, la punerea sub tensiune.

Setul de instrucţiuni al microprocesorului I386 este un superset al instrucţiunilor microprocesoarelor 8086, 80286, majoritatea instrucţiunilor fiind identice cu cele de la 80286, excluzând instrucţiunile care exersează caracteristicile suplimentare ale microprocesorului I80386 faţă de 80286. Instrucţiunile procesorului I80386 sunt capabile, însă, să manipuleze date pe 32 de biţi.

Iniţializarea sau resetarea procesorului I386 se face prin aplicarea unui "1" logic pe pinul RESET al procesorului. I386 va intra în modul real, prima instrucţiune executată fiind

Page 60: Initiere operare pc

60

cea de la adresa FFFFFFF0h. După prima instrucţiune, care de regulă este o instrucţiune JMP sau CALL, pe liniile de adresă A0-A31 vom găsi numai adrese sub 1Moctet, caracteristice modului real. După resetare, procesorul poate fi forţat să execute un autotest, prin ţinerea semnalului BUSY de la unul din pinii procesorului, pe nivel coborât, pe durata a cel puţin 8 perioade de ceas sistem după căderea 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 conţine valoarea 0. Orice altă valoare diferită de 0 indică un defect în interiorul cipului.

I80386 este prevăzut cu un coprocesor matematic – I80387 - mult mai performant decât 80287.

4.2.2. Registrele microprocesorului I80386

Figura 4.2.2. Registrele microprocesorului I80386

Page 61: Initiere operare pc

61

Registrele generale EAX, EBX, ECX, EDX pot fi folosite atât ca registre pe 32 de biţi,

cât şi ca registre pe 16 sau 8 biţi. De exemplu, EAX este un registru pe 32 de biţi, AX conţine cei mai puţin semnificativi 16 biţi ai registrului EAX, AH cei mai semnificativi 8 biţi ai registrului AX, iar AL cei mai puţin semnificativi biţi ai registrului EAX sau AX. De fapt, pentru toate registrele pe 32 de biţi, care reprezintă extensii ale registrelor microprocesorului 80286, partea mai puţin semnificativă a acestora poate fi accesată cu acelaşi nume ca şi la 80286 sau 8086. Registrele de segment sunt registre pe 16 biţi, şi sunt folosite în acelaşi 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 păstrată, biţii rezervaţi la 80286 fiind folosiţi acum, şi reflectând modul de lucru cu adrese pe 32 de biţi a microprocesorului I80386.

Figura 4.2.3. Structura descriptorului de segment la I80386

Octetul cel mai semnificativ al descriptorului de segment conţine biţii 24-31 ai adresei

de bază a segmentului de memorie. Daca bitul G - Granularity - este 0, câmpurile Limită 15-0 şi Limită 19-16 indică lungimea segmentului în octeti; dacă G este 1, aceste câmpuri indică lungimea segmentului în pagini, fiecare pagină de memorie având o dimensiune fixă de 4Kb (4096 de octeţi). Cu bitul G setat, spaţiul de adrese logice (sau spaţiul de adrese virtuale) are o dimensiune de 64Tb. Bitul DB - Default / Big - egal cu 0 forţează I386 să folosească operanzi sau date pe 16 biţi, pentru a păstra 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 porţi au fost schimbaţi, de asemenea pentru a reflecta noua arhitectură pe 32 de biţi, păstrând însă compatibilitatea.

Registrul indicatorilor de condiţie şi stare a fost extins pe 32 de biţi, adăugându-se încă doi noi biţi: VM - Virtual Mode - ce trebuie setat prin program, pentru ca I386 să intre în modul virtual 8086, lucru posibil utilizând 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 acelaşi registru cu partea mai puţin semnificativă, de 16 biţi, a registrului CR0.

Page 62: Initiere operare pc

62

Bitul PG activează (PG=1) sau dezactivează (PG=0) unitatea de paginare a unităţii de management a memoriei. Bitul r este un bit rezervat, şi nu trebuie schimbat atunci când se încarcă registrul MSW cu instrucţiunea LMSW.

Figura 4.2.4. Registrele de control ale microprocesorului I80386

Registrele de management a memoriei: TR, LDTR, GDTR, IDTR sunt identice şi

îndeplinesc aceleaşi funcţii 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 căror execuţie nu trebuie afectată de alterarea registrelor, puncte de întrerupere ("breakpoints") sau alte efecte ale depanării programului respectiv. I386 face posibilă depanarea eficientă a programelor şi în modul protejat şi virtual 8086, introducând 8 registre de depanare DR0-DR7, care conţin (în DR0- DR3) adresa fizică a maximum 4 puncte de întrerupere ale programului, plus informaţii de stare şi control a depanării.

4.2.3. Paginarea memoriei Cu registre de segment de 16 biţi şi deplasamente în segment de 32 de biţi, spaţiul de

adresă virtual sau logic al microprocesorului I80386 este de 64Tocteţi / task, dimensiunea maximă a unui segment de memorie fiind de 4Gocteţi, 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 decât capacitatea memoriei interne, cea mai mare parte a spaţiului de adresă virtual rămânând nefolosită (aproximativ 99.9% din spaţiul de adresă virtual, ce reprezintă raportul dintre 4Mb şi 4Gb). În concluzie, a fost propusă o nouă metodă de gestiune a memoriei: paginarea.

Page 63: Initiere operare pc

63

Se numeste adresă liniară, adresa obţinută prin combinarea adresei de bază a segmentului cu un deplasament în segment. Spaţiul de adresă obţinut se numeşte spaţiu de adresă liniar, de dimensiune 4Gb (dimensiunea teoretică maximă a memoriei interne). Acest spaţiu liniar este împărţit într-un milion de pagini de câte 4Kb fiecare, numai anumitor pagini corespunzându-le adrese fizice de memorie, în spaţiul de memorie fizic existent (de regulă 4Mb). Astfel, segmentele de memorie de 4Gb, şi care pot fi de dimensiune variabilă, sunt împărţite în pagini de memorie de lungime fixă, de 4Kb fiecare, gestiunea memoriei făcându-se 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 excepţii "page not prezent".

Figura 4.2.5. Structura adresei liniare cu paginare

Corespondenţa între adresele liniare şi adresele fizice se realizează astfel: dacă

paginarea este activă, cei mai semnificativi 10 biţi ai adresei liniare indică numărul tabelei conţinută în directorul de tabele, următorii 10 biţi indică numărul paginii în cadrul tabelei selectate anterior, ultimii 12 biţi indicând deplasamentul în cadrul paginii respective de 4Kb ( 212 ).

Această organizare pe două nivele a tabelelor de pagini este necesară, deoarece organizând 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, conţine 4 octeti, numai directorul de tabele (4Kb) fiind reţinut tot timpul în memoria internă. Adresa sa de bază este memorată în CR3.

Figura 4.2.6. Structura intrării î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 biţi ai intrării - page frame address - înmulţiţi cu 4096 vor da adresa de bază pe 32 de biţi a paginii, la care se va adăuga offset-ul din adresa liniară prezentată în figura 4.2.5, rezultând adresa fizică pe 32 de biţi a obiectului de memorie ce se doreşte 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

Page 64: Initiere operare pc

64

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, decât segmentele, în cazul gestiunii bazate numai pe segmente.

Deşi, datorită introducerii paginării, sunt necesare calcule suplimentare, pentru a afla adresa fizică, aceasta nu duce neapărat la întârzieri, deoarece I80386 conţine o memorie cache rapidă unde sunt memorate tabelele de pagini, numită "translation lookaside buffer" - TLB.

Ceilalţi biţi dintr-o intrare în tabelă au următoarele semnificaţii: D - Dirty - dacă D=0 pagina nu a fost modificată de la ultima încărcare din memoria

secundară în memoria principală, aşa că, la eliberarea zonei de memorie respective, această pagină nu e necesar sa fie transferată pe disc. D=1 indică o pagină cu conţinutul modificat.

A - Accessed - este setat când procesorul accesează o pagină, şi ajută sistemul de operare să determine care pagini de memorie sunt mai puţin folosite, pentru a fi înlocuite eventual când va fi cazul.

U/S - User/Supervisor - nu există decât două niveluri de protecţie 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 următoarei 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, însuşi sistemul de operare MS-DOS fiind un sistem de operare ce utilizează numai modul real.

Modul virtual 8086 permite execuţia programelor scrise pentru microprocesorul 8086, în context de multitasking, deşi programele respective nu au fost proiectate să lucreze în modul protejat. Software-ul ce rulează pe I386 şi permite acest lucru, se numeşte monitor de maşină virtuală. Hardware-ul cu care este prevăzut I80386 pentru a lucra în modul virtual, împreună cu monitorul de maşină virtuală, alcătuiesc ceea ce se cheamă o maşină virtuală 8086. Un program, rulând pe o maşină virtuală, are impresia că lucrează pe un microprocesor 8086 fizic, deşi este numai un membru într-un context multiutilizator.

Se pot genera mai multe astfel de maşini virtuale, hard disk -ul calculatorului fiind împărţit în mai multe secţiuni, câte una pentru fiecare maşină virtuală, care dispune şi de propriul său spaţiu de intrare/ieşire, precum şi de propria sa tabelă de vectori de întrerupere.

Page 65: Initiere operare pc

65

Fiecare maşină virtuală este servită de către 80386 numai pentru un interval scurt de timp, realizându-se astfel o rulare a mai multor taskuri în acelaşi timp.

Figura 4.2.7. Translatarea adreselor cu segmentare şi paginare Sistemul de operare OS/2 este un sistem monoutilizator dar multitasking, acelaşi

utilizator rulând mai multe programe simultan. Sistemul UNIX, în diverse implementări, care poate fi întâlnit pe calculatoare cu 80386, este un sistem multiutilizator, ce permite lucrul mai multor utilizatori în acelaşi timp, pe acelaşi calculator, fiecare utilizator având în schimb impresia că este singurul utilizator al sistemului. Folosind aceste maşini 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 lucrând 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ă preţului de cost scăzut 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

Page 66: Initiere operare pc

66

SRAMs - Static RAM) sunt mai rapide, având un timp de acces de 12-25ns, dar sunt mult mai scumpe. În ultimul timp au apărut ş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 decât 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, îmbunătăţindu-se considerabil viteza de

lucru, datorită proprietăţii de localitate a programelor, accesele succesive la memorie făcându-se de regulă local, într-un spaţiu relativ restrâns de memorie.

Controlerul de memorie cache determină dacă data, ce se doreşte a fi citită de microprocesor, se află în memoria SRAM sau nu. În caz afirmativ, data este furnizată imediat fără ca acesta să fie nevoit să aştepte, ca în cazul unei citiri directe din memoria DRAM. Dacă data dorită nu se află în memoria cache, controlerul va determina procesorul să aştepte până când transferă o zonă de memorie de câţiva octeţi, 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 către 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 găsite în memoria cache; sau

Page 67: Initiere operare pc

67

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ă neapărat 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 când în când toată memoria cache în memoria principală (aşa numitul "cache flush" ). Liniile cache reprezintă echivalentul paginilor de memorie, atunci când se transferă date între memoria principală şi memoria secundară, dar o linie cache este de dimensiune mult mai mică decât o pagină de memorie (tipic o linie cache are o dimensiune de ordinul zecilor de octeţi ).

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

frecvenţe de până 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 lucrând în exterior pe o magistrală de adrese de 24 de biţi şi o magistrală de date de 16 biţi, la fel ca 80286. În plus, I386SX nu poate lucra decât până la o frecvenţă de 25MHz.

Figura 4.2.8. Structura internă a circuitelor I386SL şi I82360SL

Page 68: Initiere operare pc

68

O tendinţă majoră în etapa actuală este integrarea mai multor componente pe un acelaşi cip. Astfel, Intel a dezvoltat I386SL, care integrează pe un acelaşi 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 comportându-se ca un I386SX.

Un alt circuit superintegrat este I82360SL, care conţine un ceas de timp real, o memorie CMOS, o interfaţă paralelă bidirecţională, o interfaţă pentru tastatură, un controler de disc flexibil, două interfeţe seriale UART 16450, două numărătoare sau timere 8254, cu trei canale de numărare fiecare, două controlere DMA 8237A, două controlere de întreruperi 8259A.

În plus, I82360 este prevăzut cu un controler al tensiunii de alimentare (Power Management), care reduce semnificativ consumul componentelor electronice.

Cu un I386SL, un I82360SL, câteva 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 acelaşi cip un microprocesor I80386 evoluat,

un coprocesor matematic I80387 mult mai puternic, şi o memorie cache de 8Kocteţi. Poate lucra la o frecvenţă a ceasului între 25 şi 50 MHz. I80486 execută multe instrucţiuni ale microprocesorului 80386 într-o singură perioadă a ceasului, fiind de trei ori mai rapid decât un 80386 lucrând la aceeaşi frecvenţă.

I80486 este complet compatibil cu I80386 şi extensia acestuia I80387, lucrând cu aceleaşi instrucţiuni, tipuri de date, şi având aceleaşi moduri de lucru: real, protejat şi virtual 8086. Deoarece I387 este pe acelaşi cip cu I386, transferul de date între cele două procesoare se face mult mai rapid, I486 fiind un candidat ideal pentru aplicaţii matematice şi grafice pretenţioase.

Microprocesorul I80486 este împachetat într-o capsulă de formă patrată cu 168 de pini, necesitând o tensiune de alimentare de +5Vcc.

Conectarea microprocesorului I80486 la lumea exterioară se face prin intermediul unei interfeţe de magistrală, care poate manipula date şi adrese pe 32 de biţi. Memoria cache, de 8Kb, este conectată direct la interfaţa de magistrală, şi conţine date, pe care le livrează unităţii aritmetico-logice, registrelor sau unităţii de virgulă mobilă, sau instrucţiuni pe care le livrează, pe rând, în coada de instrucţiuni (Prefetcher). Orice acces la memoria cache de pe

Page 69: Initiere operare pc

69

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. Deşi memoria cache este mică, aceasta duce la o creştere semnificativă a vitezei de execuţie a instrucţiunilor.

Figura 4.3.1. Structura internă a microprocesorului I80486

Pe lângă memoria cache de pe cip, plăcile 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 condiţia 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. Totuşi, dacă controlerul de memorie cache, sau dacă memoria principală poate realiza acest lucru, memoria cache de pe cip se va umple întotdeauna utilizând cicluri de magistrală comprimate sau "burst cycles".

Pentru transferarea unor cantitaţi 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 transferaţi până la 16 octeţi consecutivi din acelaşi paragraf de memorie. Un paragraf este o zonă de memorie de 16 octeţi, 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ă.

Page 70: Initiere operare pc

70

Din memoria cache instrucţiunile sunt transferate în coada de instrucţiuni - Prefetcher, care este o memorie de 32 de octeţi (faţă de 16 octeţi la I386), ce separă operanzii imediaţi sau deplasamentele de codul propriu-zis al instrucţiunii, trimiţându-le către ALU, registre sau unitatea de segmentare, unde vor fi prelucrate. Unitatea de decodificare decodifică instrucţiunile, aceste instrucţiuni decodificate fiind folosite apoi de unitatea de control, pentru a comanda registrele, ALU, unitaţile de segmentare şi de virgulă mobilă. Nu toate instrucţiunile trebuie decodificate, ca la celelalte procesoare anterioare din familia I80x86, unele instrucţiuni pot fi executate direct, microprocesorul I80486 fiind primul din familie care foloseşte anumite concepte şi tehnologii RISC. Comunicaţia cu unitatea de virgulă mobilă, ce corespunde coprocesorului I80387, se face pe o magistrală internă de 64 de biţi, ceea ce duce la o viteză mult mai mare de execuţie a calculelor matematice faţă de cazul în care se foloseşte o pereche I386/I387, care comunică între ele pe o magistrală externă de 32 de biţi.

Unitatea de segmentare este responsabilă de protecţia şi gestiunea memoriei. În plus, I80486 are patru buffere interne pentru scriere, procesorul transferând datele de ieşire în aceste buffere, în ordine, numai atunci când magistrala este ocupată, după care procesorul poate executa o altă activitate, aceste buffere fiind responsabile de livrarea datelor pe magistrală, atunci când aceasta devine disponibilă. I80386 nu este prevăzut cu aceste buffere de ieşire.

4.3.2. Arhitecturi CISC şi RISC Unităţile centrale de prelucrare sau microprocesoarele de tip CISC - Complex

Instruction Set Computer - sunt caracterizate printr-un set larg de instrucţiuni masină, de regulă mai mult de 300 de instrucţiuni, de mecanisme complexe de adresare a datelor şi de microcodificarea instrucţiunilor procesorului. Cele mai des intâlnite 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 instrucţiuni şi nu folosesc conceptul de microprogramare.

Instrucţiunile microprocesoarelor CISC nu sunt executate imediat, fiecare instrucţiune fiind decodificată sau "tradusă" într-o secvenţă de microoperaţii elementare, numită microprogram, microoperaţii care pot fi executate de către componentele electronice ale microprocesorului: registre, UAL etc. Microprogramele corespunzătoare tuturor instrucţiunilor maşină ale microprocesorului sunt stocate într-o memorie ROM din interiorul procesorului. Unitatea de control a procesorului preia codurile microoperaţiilor, în secvenţă, dintr-o coadă de instrucţiuni decodificate, ce este de fapt o coadă de microoperaţii, şi

Page 71: Initiere operare pc

71

comandă registrele , UAL etc., în vederea execuţiei instrucţiunilor programului. Unitatea de decodificare preia urmatoarea instrucţiune din coada de instrucţiuni -Prefetch Queue, după care pune microprogramul din memoria ROM corespunzător instrucţiunii respective, în coada de microoperaţii, aceasta în timp ce unitatea de control este ocupată cu execuţia instrucţiunii anterioare. Coada de instrucţiuni va fi resetată după o instrucţiune de transfer al controlului.

Figura 4.3.2. Microprocesor CISC

Figura 4.3.3. Microprocesor RISC Deşi microprocesoarele I80386 sau Motorola 68000 folosesc o structură de tip bandă de

asamblare (sau "pipe-line"), la care citirea instrucţiunii următoare din memorie, decodificarea instrucţiunii curente şi execuţia instrucţiunii anterioare se fac în paralel, totuşi datorită folosirii conceptului de microprogramare moştenit de la calculatoarele anterioare apariţiei microprocesorului, în cazul unei instrucţiuni complexe, decodificarea şi execuţia acesteia poate dura mai mult decât execuţia unei secvenţe de câteva instrucţiuni simple care face acelaşi lucru.

La microprocesoarele RISC, care au renunţat complet la conceptul de microprogramare, instrucţiunile sunt executate direct, printr-o logică cablată (implementată în componentele electronice de pe cip), nemaifiind necesară intervenţia unui microprogram pentru aceasta. I80486 este o combinaţie de procesor CISC cu unul RISC, cele mai uzuale instrucţiuni fiind

Page 72: Initiere operare pc

72

cablate şi executate direct într-o singura perioadă a ceasului sistem, în timp ce instrucţiunile mai complexe şi mai puţin frecvente sunt microcodificate, invocându-se un microprogram pentru execuţia acestora.

Caracteristicile comune ale procesoarelor RISC sunt următoarele: - set redus de instrucţiuni; - execuţia simultană a mai multor instrucţiuni pe baza conceptului de bandă de asamblare

sau "pipe-line"; - arhitectură load-store, numai instrucţiunile de citire şi scriere accesând memoria, toate

celelalte instrucţiuni lucrând 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 instrucţiuni care simplifică munca de compilare şi creşte viteza de execuţie. Până la apariţia procesoarelor RISC, dialogul între procesor şi software se realiza printr-o interfaţă alcătuită din setul de instrucţiuni al procesorului respectiv, atât software-ul, cât şi procesorul, fiind dezvoltate separat unul de celălat, de echipe diferite de specialişti.

4.3.3. Variante de realizare ale microprocesorului I80486. Conceptul de "upgrade". Intel a continuat seria SX, dezvoltând microprocesorul I486SX, care conţine toate

componentele ce caracterizează un I486, mai puţin unitatea de virgulă mobilă. În aplicaţiile obişnuite, un asemenea procesor lucrează la fel de bine ca şi un I486. În aplicaţiile matematice, pentru menţinerea parităţii cu I80486, este necesară adăugarea "coprocesorului" I487, care nu este un coprocesor matematic propriu-zis ca ceilalţi membri ai familiei I80x87. Începând cu I487SX, Intel a introdus conceptul de "upgrade".

Microprocesoarele I80x86 anterioare microprocesorului I486 priveau coprocesorul matematic ca o extensie, lucrând în conjuncţie 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ă prezenţa microprocesorului I486SX pe placa de bază, I487SX informează procesorul I486SX, printr-un semnal, de prezenţa sa, ca urmare I486SX încetând orice activitate. Nu este absolut obligatorie scoaterea efectivă a microprocesorului I486 de pe placa de bază.

Diferenţă majoră între I486SX şi I486DX este frecvenţa mai mică a ceasului la care poate lucra I486SX, cel mult 25MHz.

Pe lângă alte variante, Intel produce I486DX2, care dublează în interior frecvenţa ceasului sistem de la pinul CLK al procesorului. S-a ajuns la această soluţie datorită faptului că, atunci când se creşte frecvenţa ceasului sistem, apar probleme serioase. Astfel, un I80386 lucrând la 80MHz ar produce perturbaţii electromagnetice intense, făcând imposibilă, de

Page 73: Initiere operare pc

73

exemplu, utilizarea radioului. Pe de altă parte, componentele interne ale calculatorului, altele decât microprocesorul, nu pot lucra la o asemenea frecvenţă. Totuşi, prin perfecţionarea tehnologiilor de ecranare, s-a ajuns în prezent ca plăcile de bază ale PC-urilor actuale, bazate pe Pentium, să lucreze la o frecvenţă a ceasului sistem (frecvenţa externă) de 100MHz.

Un I486DX2, cu un ceas extern de 33MHz, va efectua toate operaţiile interne la o frecvenţă a ceasului de 66MHz, numai operaţiile pe magistrală derulându-se în continuare la 33MHz. Frecvenţa care este trecută pe cip indică frecvenţa ceasului intern, I486DX2 fiind livrat la o frecvenţă a ceasului intern între 50 şi 66MHz.

Principalul avantaj al dublării interne a frecvenţei ceasului, şi care ne conduce direct la conceptul de "upgrade", este faptul că schimbând numai procesorul de pe placa de bază, fără nici o altă modificare, se poate lucra la o viteză mai mare de execuţie. Practic, nu se execută nici o schimbare a procesorului de pe placa de bază, I486DX2 introducându-se într-un conector de "upgrade" şi dezactivând pentru totdeauna vechiul procesor, de exemplu un I486DX. În mod obişnuit, creşterea frecvenţei peste o anumită limită, implică şi schimbarea componentelor de pe placa de bază, fiecare componentă lucrând până la anumite frecvenţe ale ceasului sistem.

Exemple de variante disponibile pe piată sunt: I486DX la 50MHz şi I486DX2 la 50MHz, primul fiind ceva mai rapid decât cel de-al doilea, deoarece foloseşte un ceas extern de 50MHz şi nu unul intern ca I486DX2. I486DX4 (disponibil la 100 sau 120MHz) multiplică intern cu 4 frecvenţa 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ă instrucţiuni în acelaşi timp. Practic, Pentium reprezintă două procesoare 80486 în aceeaşi capsulă. Cele două canale pentru executarea instrucţiunilor sunt numite canalele u şi v. Canalul u este canalul principal.

Nu toate părţile unui program se pretează, însă, la execuţia în paralel a două instrucţiuni secvenţiale. Atunci când nu este posibil acest lucru, se utilizează doar canalul u. Pentru mărirea eficienţei se poate recompila software-ul, pentru a permite o astfel de procesare paralelă. De aceea, deşi toate programele dezvoltate pe 386 şi 486 se rulează mult mai rapid pe Pentium, mulţi utilizatori recompilează aplicaţiile pentru a folosi întreaga putere a acestui procesor, folosind compilatoarele noi puse la dispoziţie de firma Intel.

Pentium are magistrala de date de 64 de biţi şi magistrala de adrese de 32 de biţi. În interior, registrele sunt însă de 32 de biţi, perfect compatibile cu cele ale procesorului 80486, deşi transferurile de date pe magistrala externă se pot face pe 64 de biţi. De asemenea,

Page 74: Initiere operare pc

74

Pentium mai conţine şi două memorii cache interne, separate, de 8 Kocteţi fiecare, corespunzătoare celor două procesoare 486 de pe cip. În plus, variantele ulterioare de Pentium (Pentium II, Pentium III) conţin o memorie cache suplimentară, de dimensiune mai mare, integrând practic pe cip memoria cache de pe placa de baza de la variantele anterioare. De exemplu, Pentium II Klamath conţine o memorie cache integrată pe cip, de 512 Kb. Procesoarele Pentium au circuite de multiplicare a ceasului, pentru ca procesorul să funcţioneze cu viteză mai mare decât magistrala. Tehnologia actuală (oct. 1999) de realizare a procesoarelor Pentium permite funcţionarea până la o frecvenţă de 600 MHz.

De la apariţia procesorului Pentium cu facilităţi 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 staţii de lucru; - Pentium II Xeon pentru servere puternice şi staţii 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 staţii de lucru; - Pentium III Xeon, pentru servere de nivel mediu şi superior, şi staţii de lucru.

Tehnologia MMX îmbunătăţeşte procesele de intrare/ieşire, compresia/ decompresia video, manipularea imaginilor, toate aceste procese intervenind în aplicaţiile actuale de birotică, multimedia şi Internet. În comparaţie cu procesoarele precedente din serie, Pentium cu facilităţi MMX are trei îmbunătăţiri esenţiale:

- un set adiţional de instrucţiuni pentru a procesa eficient informaţii video şi audio;

- capabilităţi SIMD (Single Instruction Multiple Data) – fiind posibil ca o instrucţiune a procesorului să fie executată asupra mai multor date, în acelaşi timp, operaţie utilă în cazul proceselor grafice, de animaţie, video sau audio, şi care duce la creşterea vitezei de execuţie a acestor procese;

- dublarea memoriei cache de pe cip (32 Kb comparativ cu 16 Kb la Pentium), reducând timpul de acces la informaţia din memorie.

Pentium II încorporează tehnologia MMX, care reprezintă de fapt cea mai

semnificativă îmbunătăţire a arhitecturilor Intel din ultimii 10 ani, dar tehnologia MMX PENTIUM II, deşi este compatibilă cu cea de la PENTIUM MMX, este adaptată arhitecturii de bază a procesorului Pentium II. În plus faţă de Pentium cu facilităţi MMX, Pentium II adaugă 57 de noi instrucţiuni orientate pe calcul paralel, necesare în operaţiile multimedia.

Page 75: Initiere operare pc

75

Pentru a răspunde necesităţilor de ordin practic, ridicate de problema limitării frecvenţei de lucru externe (plăcii 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 răspândită odată cu Pentium II. Având 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ă secvenţială ca la sistemele cu o singură magistrală. Cele două magistrale sunt: magistrala de memorie cache L2 şi magistrala sistem, aceasta din urmă legând 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 decât un procesor Pentium. Această arhitectură poate suporta magistrale sistem peste 100 Mhz, care este frecvenţa tipică a plăcilor de bază ale platformelor PC actuale.

Pentium III poate funcţiona la o frecvenţă de 450, 500, 533, 550, 600 MHz, are, în plus faţă de Pentium II, un set de 70 de noi instrucţiuni, frecvenţa magistralei sistem fiind de 100 sau 133 MHz, iar memoria cache de nivel secundar de 512 Kb.

Page 76: Initiere operare pc

76

5. STRUCTURA CALCULATOARELOR PERSONALE IBM

5.1. Generalităţi Calculatoarele personale IBM actuale, sau compatibile IBM, sunt desemnate în general

prin termenul de PC-uri, indiferent de familia sau seria de fabricaţie 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/ieşire, de 8 sau 16 biţi. Sistemele IBM PS/* au fost proiectate cu magistrale mai avansate de intrare/ieşire: 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 puţin 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 uşor 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ă până la 32M sau 64M.

Linia de calculatoare IBM PS/Value Point a apărut în noiembrie 1992, şi sunt în mare parte identice cu modelele PS/1, oferind însă mai multe posibilităţi de extensie, şi performanţe mai ridicate la un preţ relativ scăzut. Raportul performanţă/preţ al acestor calculatoare este comparabil cu al calculatoarelor compatibile IBM, produse de alte firme, aşa numitele calculatoare copiate. În mod obişnuit, aceste calculatoare copiate erau mai ieftine decât calculatoarele IBM, aceasta fiind motivaţia principală a introducerii calculatoarelor PS/1 şi PS/Value Point de către IBM. Începând 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 biţi, sau PCI pe 32 de biţi, şi conţine magistrala locală VESA VLB pe 64

Page 77: Initiere operare pc

77

de biţi. Memoria video poate fi extinsă de la 1M la 2 M, şi acceptă o rezoluţie maximă de 1280 x 1024 pixeli. Un fund de sertar, denumit riser, permite conectarea plăcilor de extensie pentru cele două tipuri de magistrale. Versiunea VLB a acestui fund de sertar detaşabil are un conector VLB şi patru conectori ISA. Versiunea PCI permite conectarea a două plăci PCI şi a două plăci ISA. Sistemele Performance Series, proiectate în mod obişnuit cu procesor 486, au fost îmbunătăţite 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, conţine o memorie cache externă de 256K, 8 sau 16M de memorie, extensibilă până la 128M prin folosirea unor module de memorie SIMM RAM cu 72 de pini, placa de bază conţine un circuit video SVGA PCI cu memorie video de 1M, extensibilă opţional la 2M.

Din punct de vedere constructiv, calculatoarele din liniile de fabricaţie PS/x au fost proiectate pornind de la necesităţile de asamblare automată. Astfel, utilizatorii pot demonta şi reinstala cea mai mare parte a componentelor, fără să utilizeze instrumente. Principalele diferenţe 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 câţiva conectori ISA. Majoritatea sistemelor PS/1 au conectori de extensie ISA cu VLB integrat. Începând cu sistemele Value Point, IBM a introdus posibilitatea selecţiei tipului de magistrală. Astfel, la aceste sisteme, deşi placa de bază utilizează magistrala locală VESA, prin introducerea acelui fund de sertar detaşabil (riser), în care se pot instala plăci de extensie, se permite utilizarea atât a unor plăci VESA, cât şi a a unor plăci PCI, rezolvând astfel dilema dintre PCI şi VLB.

În ce priveşte 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 biţi nu mai pot fi utilizate. În ideea eliminării erorilor făcute la instalarea plăcilor adaptoare, architecura MCA introduce opţiunea POS (Programmable Option Selection). Sistemele MCA au o ecranare mai bună, fapt ce le face mult mai puţin sensibile la zgomote datorate transmisiilor radio sau oricăror perturbaţii electrice, fiind mai sigure în funcţionare decât sistemele ISA. Multe evaluări de performanţă au evidenţiat avantaje ale sistemelor MCA faţă de cele ISA, deşi multe sisteme IBM utilizează, în continuare, standardul mai vechi ISA.

Magistralele de intrare/ieşire utilizate în calculatoarele personale IBM actuale sunt următoarele:

Page 78: Initiere operare pc

78

- Industry Standard Architecture (ISA) – este cel mai răspândit standard, fiind prezent în aproape toate calculatoarele personale. Funcţionează pe 8 sau 16 biţi, obţinând viteze de transfer de 0.625Mb/sec., respectiv 2Mb/sec.

- Enhanced Industry Standard Architecture (EISA) – o extensie a magistralei ISA, permiţându-i funcţionarea până la 32 de biţi.

- Micro Channel Architecture (MCA) – un standard de magistrală creat de IBM şi întâlnit majoritar în PC-urile fabricate de IBM. Este asemănător standardului ISA, funcţionând pe 32 de biţi.

- Video Electronics Standard Association (VESA) – standard dezvoltat special pentru plăcile video care necesitau un trafic intens pe magistrale, ajungând până la 132 Mb/sec.

- Peripheral Interconnect Bus (PCI) – un standard rapid, dezvoltat de Intel, ce lucrează la 33MHz pe 32 de biţi. Magistrala poate să se autoconfigureze în funcţie de plăcile de extensie aflate pe ea, facilitate numită Plug-And-Play.

- Personal Computer Memory Card International Association (PCMCIA) – stabileşte standarde pentru plăcile de extensie de dimensiuni reduse, care se potrivesc în conectorii mici ai sistemelor laptop şi notebook, suportând deconectarea acestora în timpul funcţionării. 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, plăcuţe 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 comunicaţia 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 (interfeţele seriale sau paralele, de exemplu). Plăcile de extensie comunică cu microprocesorul prin întreruperi, porturi de intrare/ieşire, canale DMA (Direct Memory Acces).

5.2. Calculatoarele IBM PS/2 În această secţiune sunt trecute în revistă principalele caracteristici ale calculatoarelor

IBM PS/2, una din seriile importante de calculatoare dezvoltate de IBM de-a lungul timpului. Deşi în prezent acestea nu se mai fabrică, la momentul respectiv (1987) au constituit un boom pe piaţa calculatoarelor personale, prin faptul că reprezentau un salt tehnologic faţă de situaţia existentă, majoritatea caracteristicilor nou introduse regăsindu-se în PC-urile actuale.

Page 79: Initiere operare pc

79

Calculatoarele IBM PS/2 sunt proiectate fie ca unităţi "desktop", cum ar fi modelele 25, 30 şi 50, precum şi în configuraţii "floor-standing" cum ar fi modelele 60 şi 80. Principalele caracteristici arhitecturale noi, introduse de familia IBM PS/2 sunt:

- un nou sistem de plăci de bază; - arhitectură Micro Channel; - caracteristici grafice suplimentare preluate în hardware; - posibilitate de lucru multitasking; - noi dispozitive adăugate la configuraţia de bază. Pe placa de bază au fost integrate porturile de comunicaţie paralelă şi serială, interfaţa

pentru mouse, controlerul de disc şi adaptorul grafic. Conectorii de extensie de pe placa de bază rămân, astfel, disponibili pentru alte extensii decât 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 biţi.

Adaptoarele grafice MCGA, pe modelele 25 şi 30, şi VGA, pe celelalte modele, dotează membrii familiei PS/2 cu o rezoluţie grafică mult mai bună decât calculatoarele precedente, precum şi cu un număr 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 aplicaţii grafice pretenţioase.

Modelele 50, 60, 80 sunt prevăzute 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 îmbunătăţit prin apariţia interfeţei grafice utilizator Microsoft Windows, care poate lucra de asemenea în regim de multitasking, exploatând astfel toate posibilităţile 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 recunoaştere a vorbirii etc., absolut toate modelele familiei fiind prevăzute cu un port dedicat pentru mouse, în vederea utilizării sistemului de operare OS/2 şi a interfeţei 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, dispunând de toate posibilităţile suplimentare ale microprocesorului 80286 faţă de 8086, pe baza căruia este construit modelulul 30, şi care poate lucra numai până la 8MHz. La fel ca şi modelul 30, modelul 30/286 poate fi găsit în două variante: una cu hard disk, caz în care controlerul de hard disk este conţinut chiar în unitatea de hard disk, nefiind necesară o placă suplimentară; a doua variantă, fără hard disk, fiind destinată în principal lucrului într-o reţea de calculatoare. Ambele variante conţin o unitate de floppy disk de 1.44Mb. La fel ca şi modelul 30, este prevăzut cu 3 conectori de extensie montaţi orizontal pe placa de bază. Modelul 30/286 este

Page 80: Initiere operare pc

80

primul membru din familie care încorporează adaptorul grafic VGA - Video Graphic Adaptor, şi poate fi găsit cu o memorie de 512Kb, 1Mb, 2Mb, 4Mb.

Modelul 80/386 este produs în trei variante, cu frecvenţa ceasului între 16 şi 20 MHz, şi cu diferite combinaţii de hard disk şi memorie. Modelul 80/386 suportă o memorie internă de 32 de biţi, cu capacitatea maximă de 4Mb. În configuraţie 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 prevăzut şi cu o unitate floppy disk de 5 1/4 ". Pe placa de bază este prevăzut cu 8 conectori de extensie, trei dintre ei fiind de 32 de biţi.

Placa de bază a calculatoarelor din familia IBM PS/2

Numărul de circuite individuale (sau cipuri) a fost dramatic redus, circuitele cu un grad redus de integrare fiind integrate în mai puţine 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, reducând numărul de componente şi numărul de interconexiuni necesare, ceea ce a dus implicit la creşterea fiabilităţii. În plus, toate circuitele sunt montate folosind tehnologia lipirii pe suprafaţă (surface mounted technology), care duce de asemenea la creşterea fiabilităţii. Deoarece placa de bază conţine majoritatea dispozitivelor de intrare/ieşire: interfaţă paralelă bidirecţională, 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ă unităţi de disc flexibil de 3 1/2", aceasta nu mai este prevăzută cu un număr mare de conectori de extensie.

Placa de bază mai conţine 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 conţinutul la întreruperea alimentării), şi care conţine programe ce sunt activate imediat după punerea sub tensiune (de fapt conţine o parte din BIOS-ul sistemului de operare), ocupă un spaţiu de adresă de o anumită dimensiune, în spaţiul 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 găseşte 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 conţinutul la întreruperea alimentării. Datorită consumului mic, este posibilă alimentarea memoriei CMOS de la o baterie de 6V, ce menţine intact conţinutul memoriei pentru aproximativ 2 ani, fără nici o alimentare a calculatorului la reţeaua de 220Vca. Memoria CMOS conţine acele valori care sunt folosite de programul ce se rulează la alimentarea calculatorului, şi care configurează sistemul cu anumiţi parametri, cum ar fi: data şi ora curentă, dimensiunea memoriei instalată în sistem, numărul şi tipul unităţilor de floppy disk şi hard disk, tipul adaptorului video etc.

Page 81: Initiere operare pc

81

Placa de bază poate fi prevăzută cu următoarele extensii: - plăci de comunicaţie, - porturi seriale adiţionale, - plăci grafice, - plăci de memorie adiţională, - coprocesor matematic. Plăcile de comunicaţie folosesc pentru cuplarea unui calculator cu un alt calculator, sau

cu mai multe, cum ar fi spre exemplu o reţea de calculatoare, folosind pentru aceasta plăcile de comunicaţie respective, cabluri speciale, protocoale, software adecvat etc.

Porturile seriale adiţionale se folosesc pentru a conecta imprimante seriale, sau un număr 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. Comunicaţiile seriale se realizează folosind, în exclusivitate, protocolul RS-232C.

De asemenea, circuitele VGA sau MCGA de pe placa de bază pot lucra în cooperare cu plăci grafice adiţionale, ceea ce duce la îmbunătăţirea calităţilor grafice ale membrilor familiei IBM PS/2.

Plăcile de memorie adiţionale 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 plăci adiţionale pot fi implantate în conectorii de extensie disponibili pe placa de bază.

Un coprocesor matematic este un cip specializat, care lucrează în conjuncţie cu procesorul principal, mărindu-i acestuia din urmă viteza de efectuare a calculelor transcedente (algoritmi, exponenţi, tangente etc.) şi în virgulă mobilă. Calculatoarele IBM PS/2 nu sunt livrate implicit cu coprocesoare matematice, datorită faptului că acestea sunt foarte scumpe, rămânând la latitudinea utilizatorului dacă să cumpere sau nu un coprocesor matematic. Coprocesorul matematic este folosit de aplicaţii care necesită calcule matematice intensive, cum ar fi spreadsheets-urile, aplicaţii grafice, ştiinţifice, statistice etc., mărind considerabil viteza de execuţie a aplicaţiilor respective. Soclul pe care poate fi montat coprocesorul matematic se află situat chiar lângă procesorul principal, pe placa de bază. Fiecare procesor din familia I80x86 este prevăzut cu propriul său coprocesor matematic I80x87 (de exemplu I8086 cu I8087, I80286 cu I80287, I80386 cu I80387).

5.3. Arhitectura MICROCHANNEL

Page 82: Initiere operare pc

82

Arhitectura Microchannel introdusă odată cu modelele 50, 60, 80 realizează o îmbunătăţire substanţială în ce priveşte viteza de transfer a unui volum mare de date, utilizând căi mai largi de transfer pentru date (de 32 de biţi) şi până 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 foloseşte magistrala Microchannel nu numai la seria PS/2, ci şi la staţiile de lucru mult mai puternice RISC System /6000, bazate pe procesoare RISC.

Arhitectura Microchannel este prevăzută cu maximum 16 nivele de prioritate pe magistrală între diferitele dispozitive ce pot controla magistrala, astfel încât funcţiile mai importante sunt tratate imediat, magistrala fiind alocată acestor dispozitive sau procese care îndeplinesc funcţiile respective, în timp ce dispozitivele care îndeplinesc funcţii mai puţin importante aşteaptă eliberarea magistralei de catre dispozitivele mai prioritare. Această caracteristică este necesară în sistemele multitasking, asigurând astfel rularea taskurilor mai prioritare şi care e necesar să fie rulate la un moment dat, în detrimentul taskurilor mai puţin prioritare, caracteristică care nu poate fi întâlnită la arhitecturile anterioare ale familiei IBM PC sau PS/2.

Arhitectura Microchannel suportă până 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 plăci de comunicaţie, adaptoare de imprimantă, controlere de disc, coprocesoare etc., şi sunt dispozitive ce conţin procesoare, care pot accesa memoria principală independent de procesorul principal al sistemului de calcul. Dispozitivele master pot controla magistrala în aceeaşi 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 plăci din sistem, pentru a face acces la memorie fără intervenţia 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 plăci de bază Microchannel sunt reduse, conectorii de extensie sunt mai mici şi conţin mai mulţi pini, viteza de transfer a datelor este mai mare întrucât pot fi transferaţi la un moment dat pe magistrală 32 de biţi, faţă de 16 biţi la arhitecturile anterioare etc.

O altă caracteristică importantă introdusă de arhitectura Microchannel este posibilitatea de selectare a opţiunilor prin program (sau POS - Programmable Option Select). La calculatoarele anterioare, când un utilizator dorea să adauge o nouă placă la configuraţia de bază, acesta trebuia să selecteze anumite opţiuni, prin poziţionarea unor microcomutatoare

Page 83: Initiere operare pc

83

sau switches- uri, de pe noua placă sau de pe placa de bază. În locul acestor comutatoare mecanice, arhitectura Microchannel foloseşte nişte comutatoare electronice, astfel încât tot ce are de făcut 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 poziţiona corespunzător comutatoarele electronice. Odată selectate opţiunile printr-un sistem de meniuri adecvat, acestea vor fi salvate în memoria CMOS de pe placa de bază, astfel încât la următoarea realimentare a sistemului de calcul, sistemul se va configura cu opţiunile din CMOS, nefiind necesară rularea programului de configurare de fiecare dată când se realimenteaza calculatorul.

Într-o arhitectura Microchannel este mai usor să foloseşti un număr mai mare de procesoare. Astfel, într-un IBM PS/2 bazat pe o arhitectura Microchannel găsim un procesor în controlerul de hard disk, un procesor care controlează intrările şi ieşirile de date prin portul paralel, serial şi portul de mouse, un procesor în adaptorul grafic etc. Arhitectura Microchannel permite, aşa cum s-a menţionat anterior, existenţa mai multor procesoare master în acelaşi sistem, o schemă internă de arbitrare prevenind monopolizarea magistralei de către un singur master de magistrală.

Magistrala Microchannel conţine linii separate pentru semnale audio şi video. Pe linia audio se pot efectua transferuri de semnale audio de la o placă la alta, astfel încât toate plăcile din sistem au acces la dispozitivul audio, respectiv difuzorul, nefiind obligatoriu ca fiecare placă să aibă propriul sau difuzor. Calculatoarele IBM PS/2 pot conţine adaptoare de recunoaştere a vorbirii, adaptoare telefonice (phone answering adapters), plăci 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 adăugarea unor plăci 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), permiţând 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, astăzi se folosesc aşa numitele memorii RAM dinamice (DRAM memory), care sunt mai lente decât memoriile RAM statice, şi care sunt totuşi utilizate în cazul realizării 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 conţinutul în timp, dacă informaţia nu este reîmprospătată periodic. Este sarcina procesorului principal, sau al altui dispozitiv, să reîmprospăteze

Page 84: Initiere operare pc

84

memoria dinamică. Ambele tipuri de memorii RAM îşi pierd conţinutul când calculatorul este deconectat de la reţeaua de 220Vca.

Deoarece CPU de pe placa de bază, logica de refresh (logica de reîmprospătare 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 următoarea: -2 - refresh memorie -1 - 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 reîmprospătare a memoriei, imediat ce o cerere de refresh este activă. Următoarea prioritate o are o cerere NMI, care apare atunci când există o eroare majoră în sistem. Cererile NMI sunt servite de către procesorul de pe placa de bază, dar pentru aceasta CPU trebuie să aibă controlul magistralei. Cea mai mică

Page 85: Initiere operare pc

85

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 îmbunătăţit. 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, nepermiţându-se accesul la acestea.

Controlerul DMA a fost armonizat cu noua arhitectură, realizând transferuri DMA pe 32 de biţi, pentru întreg spaţiul 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 măsurarii unor intervale de timp. Dispozitivele care fac acest lucru se numesc timer-e. La o arhitectură Microchannel întâlnim 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 frecvenţe cu acest canal), iar ultimul este un aşa zis "watchdog timer", care va genera o întrerupere NMI, dacă vreunul din master-ele externe de magistrală ţine ocupată magistrala un timp îndelungat, blocând astfel refresh-ul memoriei. În plus, calculatoarele IBM PS/2, şi deci şi cele bazate pe o arhitectură Microchannel, conţin un ceas de timp real - RTC (Real -Time Clock) - alimentat de la aceeaşi baterie ca şi memoria CMOS, ceea ce permite măsurarea timpului şi actualizarea datei şi timpului curent, chiar şi atunci când 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 iniţializare din ROM-BIOS, care stabileşte configuraţia 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.

Unităţile integrate pe placa de bază, cum ar fi: adaptorul VGA, controlerul de disc, interfaţa paralelă şi serială etc., sunt accesate prin intermediul unei magistrale, numită Local Channel sau Peripheral Standard Bus.

În concluzie, scopul magistralei Microchannel în jurul căreia se construieşte aşa numita arhitectură Microchannel, este de a asigura transferul eficient de date între procesorul central al calculatorului şi celelalte părţi ale sistemului de calcul (memorie, dispozitive periferice: discul, display-ul, tastatura etc.), îndeplinind aceeaşi funcţie pe care o îndeplineşte sistemul nervos al unui animal, legând organele de simţ cu creierul.

5.4. Interfaţarea calculatoarelor IBM. Comunicaţia paralelă şi serială.

Page 86: Initiere operare pc

86

La modul general, orice dispozitiv care se conectează la un calculator, inclusiv

tastatura şi display-ul, poate fi considerat ca o interfaţă de comunicaţie. Calculatoarele comunică folosind impulsuri digitale, o tensiune de 5V indicând un "1"

binar, o tensiune de 0V indicând un "0" binar. Codul ASCII asociază fiecărui caracter un cod binar pe 8 biţi. Toţi aceşti biţi ai unui caracter pot fi transmişi simultan în cazul comunicatiei paralele, sau pot fi transmişi unul câte unul în cazul comunicaţiei seriale.

Deci, comunicaţia paralelă foloseşte fire separate pentru fiecare bit de date. Depinzând de tipul calculatorului, putem avea comunicaţie paralelă pe 8, 16 sau 32 de biţi. Comunicaţia paralelă este mai rapidă, întrucât putem transmite simultan mai multi biţi, dar nu poate fi folosită decât pe distanţe scurte, de ordinul metrilor, deoarece în cazul distanţelor mari apar erori datorate unor factori cum ar fi, spre exemplu, interferenţele electrice. Un alt factor restrictiv, în cazul comunicaţiei paralele, este costul firelor de legătură. Portul paralel de pe placa de bază, de regulă, este folosit pentru comunicaţia cu imprimanta paralelă. Dacă acest port nu este suficient, se pot instala alte porturi paralele, adăugând o placă de comunicaţie paralelă într-unul din conectorii de extensie.

Pe distanţe lungi, se foloseşte aproape în exclusivitate comunicaţia serială, incluzând aici şi comunicaţiile prin radio sau satelit. În cazul comunicaţiei seriale, biţii fiecărui caracter sunt transmişi secvenţial unul după altul, necesitând la modul cel mai simplu numai două fire pentru interconectarea a două calculatoare: un fir pe care se transmit secvenţial biţii, şi un fir de masă sau fir de referinţă, faţă de care se măsoară tensiunea pe firul de date. Viteza comunicaţiei seriale este măsurată în biţi pe secundă (bps) sau bauds. Vitezele standard de transmisie serială sunt: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 … bps.

Page 87: Initiere operare pc

87

Figura 5.2. Comunicaţia serială între două calculatoare personale prin satelit

Comunicaţia serială asigură o protecţie mai bună împotriva erorilor, comparativ cu

comunicaţia paralelă. Comunicaţia serială poate fi sincronă sau asincronă. În cazul comunicaţiei seriale sincrone, pe lângă firul pe care se transmit biţii de date şi

firul de masă, vom avea un alt fir pe care se transmit impulsurile de ceas. Semnalul de ceas indică când este valid următorul bit pe linia de date.

Figura 5.3. Exemplu de comunicaţie serială sincronă. În cazul transmisiei seriale asincrone, biţii de date trebuie să conţină o informaţie

minimă de sincronizare, care să permită receptorului să folosească aceeaşi frecvenţă a ceasului cu care investighează firul de date, ca şi emiţătorul. Pentru sincronizarea ceasului emiţător cu ceasul receptor, se transmite un bit de start înaintea fiecărui caracter. Astfel, linia serială este în mod normal în "1". Atunci când se doreşte transmisia unui caracter, se transmite întâi un bit "0" - bitul de start, prin trecerea liniei seriale în "0". Acest lucru determină ceasul receptor să se sincronizeze cu ceasul emiţător. Este necesar acest lucru deoarece, în mod normal, frecvenţa ceasului cu care se transmit datele nu este perfect egală cu frecvenţa ceasului cu care se investighează linia serială la recepţie, dar după un bit de start, se poate admite că pe durata recepţiei unui caracter, datele vor fi preluate corect de receptor, chiar dacă cele două frecvenţe nu sunt absolut egale.

După bitul de start sunt transmişi unul după altul biţii de date ai caracterului, de regulă 8 biţi de date, după care sunt transmişi unul sau doi biţi de stop, prin trecerea liniei seriale în "1". Nu este exclusă folosirea unor caractere cu lungimea diferită de 8 biţi (5 biţi, 7 biţi etc.), un caracter fiind format dintr-un număr de biţi transmişi între bitul de start şi bitul (sau biţii) de stop, noţiunea de caracter folosită aici nefiind neapărat identică cu noţiunea de caracter ASCII.

Page 88: Initiere operare pc

88

Figura 5.4. Transmisia asincronă a 2 caractere de 8 biţi, cu un bit de start, 1 bit de paritate, 1 bit de stop la viteza de 2400 bauds.

Pentru a proteja biţii de date împotriva erorilor de comunicaţie, se transmite un bit de paritate între ultimul bit de date şi primul bit de stop. Astfel, de exemplu, dacă caracterul conţine un număr impar de biţi "1", bitul de paritate va fi "1", altfel va fi "0", sau invers . La recepţie se verifică paritatea. De fapt, în prezent, se folosesc proceduri de detecţie şi corecţie a erorilor mult mai sofisticate decât simpla verificare a parităţii.

În general, pentru comunicaţii seriale directe, calculatoarele IBM folosesc 3 fire: un fir pentru transmisie, un fir pentru recepţie şi un fir de masă faţă de care se măsoară tensiunea electrică pe cele două fire, utilizând conectori cu 9 sau 25 de pini.

Figura 5.5. Conectorii folosiţi de calculatoarele IBM pentru

comunicaţii seriale Comunicaţia serială directă între două calculatoare se realizează numai pe distanţe

relativ scurte, până la 1-2 Km. În cazul comunicaţiilor 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 reţeaua telefonică, dar poate fi orice pereche de 2 fire; sau cum este arătat în figura 5.2, cele două modemuri pot comunica prin satelit în cazul distanţelor foarte mari, de ordinul miilor de kilometri.

Modemul preia impulsurile digitale de la ieşirea serială a calculatorului, şi le foloseşte pentru a modula un semnal numit purtătoare, care este trimis către celălat modem, prin reţeaua telefonică, satelit etc. La recepţie, modemul corespondent demodulează purtătoarea, obţinând un tren de impulsuri digitale, pe care le trimite către calculator pe legătura serială.

25 pini 9 pini Semnal Denumire semnal 1 - - Protective ground 2 3 TD Transmitted Data 3 2 RD Received Data

Page 89: Initiere operare pc

89

4 7 RTS Request To Send 5 8 CTS Clear To Send 6 6 DSR Data Set Ready 7 5 - Ground (common) 8 1 DCD Data Carrier Detect 20 4 DTR Data Terminal Ready Figura 5.6. Standardul RS-232C pentru conectorii de 25 şi 9 pini Comunicaţia serială între modem şi calculator se realizează conform standardului RS-

232C. La transmisie, calculatorul activează semnalul Request to Send, care informează modemul de intenţia calculatorului de a trimite date, modemul răspunde activând semnalul Clear to Send de pe pinul corespunzător al conectorului. Datele pot fi acum transmise pe linia Transmitted Data. La recepţie, modemul activează linia Data Set Ready, care informează calculatorul că legătura cu modemul corespondent a fost stabilită, şi modemul are date de transmis. Calculatorul răspunde activând linia Data Terminal Ready, informând modemul că poate primi date. Datele sunt recepţionate pe linia Received Data.

Semnalul DCD este activat de modem când acesta detectează o purtătoare, şi este gata să stabilească legatura cu celălat modem. DCD rămâne activ pe toată durata legăturii seriale între cele două calculatoare.

Liniile (pinii conectorului RS-232C) Transmitted Data, Received Data şi Ground sunt folosite şi atunci când comunicaţia se face direct între calculatoare, neutilizând modemuri. În figura următoare, este arătată configuraţia conectorului de la capătul cablului cu 3 fire ce face legătura directă între cele două calculatoare, conector ce se introduce în conectorul adecvat disponibil în partea din spate a calculatorului. Legând împreună liniile RTS cu CTS, şi DSR cu DTR şi cu DCD, se simulează existenţa unui modem.

Figura 5.7. Legătura serială directă între două calculatoare,

utilizând conectori RS - 232C

5.5. Tastatura

Page 90: Initiere operare pc

90

Calculatoarele din familia IBM vin cu o tastatură detaşabilă, ce conţine trei zone

principale de taste: zona de taste obişnuită de la o maşină de scris, aranjată conform standardului QWERTY, o zonă de taste numerice şi o zonă de taste funcţionale. Mai sunt disponibile şi câteva taste de control, între zona de taste alfanumerice şi zona de taste numerice. Tastaturile IBM actuale au 101,102 sau104 taste.

Tastatura este ea însăşi un microcalculator, conţinând un microprocesor Motorola 6805. Comunicaţia cu controlerul de tastatură de pe placa de bază se face serial, microprocesorul 6805 scanând tastele şi trimitând către calculator un cod la apăsarea 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 conţine un buffer de 16 caractere ce permite stocarea codurilor a 16 taste, în situaţia în care procesorul central nu poate prelua codurile de pe legătura serială (când nu poate fi întrerupt). Comunicaţia între tastatură şi calculator este bidirecţională, acesta din urmă trimiţând instrucţiuni sau date catre tastatură, fiecare transmisie de date sau instrucţiuni către tastatura fiind urmată de un răspuns al tastaturii în maximum 20ms.

Figura 5.8. Schema bloc a tastaturii calculatoarelor personale IBM Microprocesorul tastaturii supraveghează aşa numita matrice de scanare a tastaturii. În

fiecare punct de intersecţie între liniile şi coloanele matricii este fixată o tastă, care atunci când este apasată realizează un contact între linia şi coloana corespunzătoare din matrice, ce

Page 91: Initiere operare pc

91

dă posibilitatea microprocesorului 6805 să determine coordonatele tastei apăsate, pe care le va trimite sub forma unui cod pe 8 biţi (numit "scan code" sau "make code"), via buffer, către interfaţa de tastatură de pe placa de bază. Astfel, CPU cunoaşte ce tastă este apăsată. Conversia din "scan code" în caracterul corespunzător este realizată de un program special, numit driver de tastatură (în cazul sistemului de operare MS-DOS, keyb.com). Astfel, se poate schimba tastatura obişnuită (tastatura americană) cu una germană, fără să fie nevoie să fie schimbat hardware-ul tastaturii şi în special matricea de scanare, schimbând numai tabela de conversie a codurilor de scanare în coduri ASCII. Totuşi 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, astăzi, este folosit aproape în exclusivitate codul ASCII, care asociază fiecărei taste de pe tastatură, sau unei combinaţii de taste ce implică tastele SHIFT, ALT, CTRL, CAPS, un cod binar unic pe 8 biţi. Acest cod este folosit mai departe de BIOS-ul sistemului de operare. Nu toate combinaţiile 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 întâi codul de scanare al tastei SHIFT sau al tastei de control, după care se transmite către 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 astăzi, pentru a introduce date în calculator

în locul tastaturii. Structura mouse-ului este foarte simplă. Acesta conţine o bilă din cauciuc sau plastic, care se roteşte atunci când este mişcat mouse-ul. Aceasta mişcare este transmisă la două role perpendiculare una pe alta, care convertesc mişcarea mouse-ului în plan în cele două direcţii, într-o rotaţie a două discuri cu găuri.

Discurile sunt montate la capătul axei rolelor, şi sunt prevăzute cu găuri localizate la o distanţă fixă una de alta şi la aceeaşi distanţă faţă de centrul discului, de o parte şi de alta a fiecărui disc găsindu-se un ansamblu fotosenzor emiţător - receptor. Când rolele se rotesc, discul întrerupe alternativ raza de lumină a ansamblului fotosenzor. Astfel, numărul de întreruperi ale celor două ansambluri fotosenzor ne indică exact deplasarea mouse-ului în direcţiile Ox şi Oy, numărul acestor întreruperi pe secundă indicând 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ă. Când mouse-ul este mişcat sau când este apăsat un buton, se trimite un pachet de date către interfaţa pentru mouse din

Page 92: Initiere operare pc

92

calculator, care la rândul ei provoacă o întrerupere unităţii centrale. Pentru manipularea acestor întreruperi este necesar un driver de mouse, care interceptează întreruperile de la interfaţa serială la care este legat mouse-ul, citeşte pachetul de date trimis de mouse şi actualizează anumite valori, cum ar fi de exemplu poziţia mouse-ului.

Există mouse-uri care nu sunt conectate cu un cablu la PC, şi care comunică cu calculatorul în infraroşu, într-un mod similar controlului de la distanţă al televizorului, transmiţând datele la un receptor conectat la o interfaţă serială, sau care poate fi o placă de extensie de sine stătătoare.

5.7. Imprimante Una din cele mai comune probleme de interfaţare 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 funcţionează pe acelaşi principiu ca şi o maşină de fotocopiat. Ambele folosesc un tambur acoperit cu un material fotosensibil ce nu dezvoltă o încărcare electrică când este iluminat, cerneala sau tonerul transferându-se pe tambur numai pe zonele încărcate, iar de aici pe hârtie, atunci când tamburul se roteşte peste foaia de hârtie. La fotocopiatoare, este folosită o lampă, a cărei lumină se reflectă de pe document pe tamburul fotosensibil. La imprimantele cu laser, se foloseşte un mic semiconductor laser, a cărui rază este scanată pe suprafaţa tamburului cu ajutorul unei oglinzi rotative, la o viteză de rotaţie mare. Raza laserului este întreruptă sau nu, în acord cu circuitul generator de caractere, formând o imagine latentă pe tambur (sau un tipar), în acelaşi fel în care fluxul de electroni formează o imagine pe display. Imaginea latentă de pe tambur este apoi transferată pe hârtie, prin rotaţia tamburului peste foaia de hârtie. Deoarece raza laser poate fi modelată oricum, imprimantele laser pot produce orice fel de imagine: text, grafică sau o combinaţie a celor două.

Imprimantele laser sunt rapide, nezgomotoase, dar sunt mai scumpe decât alte genuri de imprimante, ceea ce face ca, în mod normal, o imprimanta laser să fie folosită de mai multe calculatoare, de regulă reţelele locale de calculatoare fiind prevăzute cu o singură imprimantă laser. Din cauza partajării între mai multe calculatoare, imprimantele laser sunt echipate, de obicei, cu o interfaţă serială lucrând la o viteză de comunicaţie 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 atât texte cât şi grafice, pot schimba fonturile de caractere prin software, şi sunt destul de rapide pentru multe aplicaţii. Imprimantele cu matrice de puncte se numesc aşa, deoarece capul de tipărire este alcătuit dintr-o grupare de ace, aranjate sub formă de matrice cu un anumit număr de ace pe

Page 93: Initiere operare pc

93

orizontală şi un anumit număr 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ă preţului de cost scăzut, însă datorită spaţiului dintre ace, calitatea caracterelor lasă de dorit, nefiind comparabilă cu aceea obţinută 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, transferând prin lovire cerneala de pe ribon pe hârtie. Aceste imprimante folosesc un singur element circular (de regulă din plastic), pe care sunt plasate caracterele, la capătul unor "petale" radiind din acest element circular. Pentru a tipări un caracter , se roteşte elementul circular pe care sunt prinse petalele, până când petala corespunzătoare se află în poziţia de tipărire, după care se loveşte această petală, caracterul de pe petală lovind ribonul şi imprimându-se astfel pe hârtie. Imprimantele cu margaretă sunt zgomotoase, sunt lente (15-55 caractere/minut), nu pot produce grafice, însă calitatea imprimărilor alfanumerice este superioară celei obţinute 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 rând o conectare fizică a acesteia la calculator, care să producă semnalele electrice pe care imprimanta să le "înţeleagă". În cazul unei conectări seriale, imprimantele se conectează la calculator conform standardului RS-232C, în cazul conectării paralele utilizându-se standardul Centronics, care necesită conectori de 36 de pini, IBM folosind numai 25 de pini la ieşirea din calculator. În concluzie, cablul pentru o conectare paralelă are la capătul dinspre imprimantă un conector de 36 de pini, la celălalt capăt având un conector de 25 de pini. Lungimea acestui cablu nu trebuie să depăşească 5m, pentru a se evita erorile de comunicaţie. Pentru distanţe 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 instrucţiuni, şi nu ca şi caractere tipăribile. De exemplu, când se doreşte scrierea subliniată sau îngroşată a unui rând, programul ce face tipărirea va trimite către imprimantă, la începutul şi la sfârşitul rândului, caracterele de control respective, ce vor determina imprimanta să scrie subliniat sau îngroşat. Deci, trebuie să existe compatibilitate între software-ul ce face tipărirea şi imprimanta pe care se realizează tipărirea.

În afara celor trei tipuri de imprimante prezentate anterior, în ultimul timp sunt disponibile pe piaţă imprimante cu jet de cerneală, care sunt imprimante fără impact la fel ca şi imprimantele laser, dar mult mai ieftine. Imprimarea se face prin aruncarea unui jet de cerneală pe hârtie, fiind posibilă obţinerea unei rezoluţii de 300 de puncte/inch (dots/inch), o rezoluţie comparabilă cu cea a imprimantelor laser şi mai mare decât rezoluţia imprimantelor cu matrice de puncte, care au o rezoluţie tipică de 100 de puncte/ inch.

Page 94: Initiere operare pc

94

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 afişa atât grafice cât şi texte.

Monitorul (display-ul) – este perifericul de ieşire şi reprezintă dispozitivul cu ajutorul căruia un PC poate prezenta informaţii utilizatorului.

Caracteristici ale monitoarelor: - definiţia – imaginea pe monitor fiind constituită din puncte, dimensiunea (diametrul)

unui astfel de punct (pitch) reprezintând definiţia monitorului. Cu cât această valoare este mai mică, cu atât imaginea este mai clară, mai puţin 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 staţiile grafice).

Monitoarele, din punct de vedere constructiv, sunt de mai multe categorii: - CRT (Cathodic Ray Tube – cu tub catodic) – sunt identice ca funcţionare 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 foloseşte 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 informaţiile din calculator, a forma imaginile, şi a le trimite monitorului, ca acesta să le poată afişa. Caracteristica principală a unei plăci video este memoria (numită memorie video) pe care aceasta o conţine (1, 2 sau 4Mb, de exemplu). În funcţie de capacitatea de memorie a plăcii video şi de limitările monitorului, imaginea afisată are următoarele caracteristici:

- rezoluţia – reprezintă numărul maxim de puncte care pot fi afişate pe o linie a monitorului şi, separat, pe o coloană a monitorului (640x480, 720x480, 800x600, 1024x768). Cu cât rezoluţia este mai mare, cu atât sunt mai multe puncte afişate pe ecran, iar imaginea este mai mică, fiind astfel nevoie de monitoare de dimensiuni mai mari.

- numărul de culori – monocrome, 4 culori, 16 culori, 256 culori, 65536 culori, etc. Partea centrală a adaptorului grafic este cipul controler grafic, care controlează toate

operaţiile monitorului, afişând cursorul, controlând numărul de linii şi coloane, afişând graficele şi textele etc. Adaptorul grafic are două moduri de lucru: modul grafic şi modul text. În modul text, memoria RAM video conţine codurile caracterelor ce vor fi afişate pe

Page 95: Initiere operare pc

95

ecran. Generatorul de caractere are sarcina de a transforma aceste coduri într-o matrice de puncte (sau pixeli) echivalentă, astfel încât caracterele să poată fi afişate pe ecran de controlerul grafic. În modul grafic, conţinutul memoriei RAM video va fi trimis direct pe ecran, generatorul de caractere nemaifiind activat.

CPU pregăteşte conţinutul ecranului, scriind în memoria RAM video. De asemenea procesorul poate citi memoria RAM video. Pentru aceasta, adaptorul grafic este prevăzut 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 rezoluţie EGA şi VGA conţin propria lor memorie BIOS, reprezentată de o memorie ROM ce conţine 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 decât să apeleze rutina corespunzătoare 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 afişarea unui număr mai mare de culori pe ecran. La monitoarele RGB (Red-Green-Blue), cuplate printr-un conector RGB, se utilizau semnale digitale separate pentru fiecare

Page 96: Initiere operare pc

96

culoare fundamentală, plus un semnal separat pentru intensitate (high sau low), astfel încât se puteau afişa 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 rezoluţie de 640 x 480 de pixeli şi poate afişa simultan 256 de culori, dintr-o paletă de 218 = 262144 de nuanţe 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 rezoluţie de 1024 x 768 sau 1280 x 1024 de pixeli, cu 256 de culori afişate 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 rezoluţie de 640 x 350 de pixeli şi 16 culori simultane dintr-o paletă de 64 de culori, iar CGA permite o rezoluţie de 320 x 200 de pixeli, cu 4 culori simultane dintr-o paletă de 16 culori. Adaptorul MCGA are o rezoluţie de 320 x 200 de pixeli la fel ca adaptorul CGA, dar poate afişa 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 lângă operaţiile obişnuite ale controlerului grafic de la adaptoarele precedente, realizează şi unele operaţii 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 conţinut adecvat, astfel încât linia să apară trasată pe ecran. Organizarea şi managementul memoriei RAM video cade tot în sarcina procesorului grafic. Datorită frecvenţei mai mari a ceasului la care lucrează procesorul grafic, operaţiile grafice sunt realizate mult mai rapid, astfel încât ne putem aştepta la o triplare a vitezei de realizare a graficelor de mare rezoluţie, iar în cazul altor operaţii, cum ar fi umplerea unui dreptunghi, la o viteza de 10 ori mai mare decât î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 scăzut preţ de cost, transformă culorile în 64 de nuanţe de gri, fiind utilizat cu succes în aplicaţii de "word processing" sau "desktop publishing". Modelul 8514 este cel mai scump dintre toate, este un monitor color de 16 " destinat aplicaţiilor grafice intensive, fiind singurul monitor din cele de mai sus care poate afişa grafice de mare rezoluţie scoase de către adaptorul 8514/A.

Page 97: Initiere operare pc

97

Conţinutul ecranului este împărţit în mai multe rânduri, fiecare rând având o mulţime de puncte, numite pixeli sau elemente de imagine. Există două tipuri de ecrane video: ecrane text şi ecrane grafice.

În modul text, ecranul este împărţit în blocuri de pixeli, în fiecare bloc fiind posibilă afişarea unui caracter. Cea mai populară împărţire 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ă câte 2 octeţi asociaţi, primul indicând codul ASCII al caracterului ce va fi afişat în blocul respectiv, iar al doilea conţinând atributul caracterului, care defineşte culoarea caracterului, culoarea fondului pe care va fi afişat caracterul, dacă caracterul este sau nu afişat 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 conţinând pentru fiecare pixel de pe ecran informaţia de culoare asociată. Depinzând de adaptorul grafic şi de modul grafic în care lucrează adaptorul, fiecare adaptor grafic având 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 rezoluţie de 320 x 200 de pixeli cu 4 culori simultane, pentru fiecare pixel se asociază 2 biţi, ce codifică cele 4 culori, astfel încât un octet din memoria RAM poate codifica culorile a 4 pixeli astfel:

Figura 5.10. Conţinutul 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 rezoluţie, 640 x 200 dar cu 2 culori simultane pe

ecran, fiecare pixel va fi codificat numai pe un bit, astfel încât octetul nr. k va conţine codificarea culorilor pixelilor 4k - 4k+7.

În modurile grafice CGA, memoria RAM video începe de asemeni la adresa B800H:0000H, fiind împărţită în două zone de 8Kb. Dimensiunea totală a meoriei RAM video este de 16Kb. Prima zonă conţine codificarea culorilor pixelilor de pe liniile pare ale ecranului, a două zonă va conţine codificarea pixelilor de pe liniile impare.

Page 98: Initiere operare pc

98

Figura 5.11. Structura memoriei RAM video pentru modurile grafice CGA

În modurile grafice CGA nu există decât o singură pagină video, spre deosebire de modurile text, unde pot exista mai multe pagini video, numai una din acestea fiind afişată 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 afişate simultan pe ecran, cu 2 octeţi necesari pentru codificarea fiecărui caracter, rezultă un necesar de 2 x 2000 = 4000 octeţi pentru o pagină. Deci pot exista 4 pagini text în memoria RAM video de 16 Kb a adaptorului CGA.

Adaptorul EGA foloseşte pentru modurile specifice EGA o organizare diferită a memoriei. Adaptorul VGA foloseşte exact aceeaşi 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 biţi de culoare pentru fiecare pixel sunt distribuiţi pe 4 nivele paralele de memorie, pixelii fiind astfel înşiruiţi în mod continuu în memoria RAM video, aceasta nemaifiind divizată în 2 bancuri de memorie ca la adaptorul CGA.

Page 99: Initiere operare pc

99

Figura 5.12. Distribuţia biţilor de culoare pe mai multe nivele, la adaptoarele EGA şi VGA

Nivelul 0 de memorie va conţine primul bit de culoare pentru toţi pixelii de pe ecran,

nivelul 1 va conţine al doilea bit de culoare pentru toţi pixelii de pe ecran ş.a.m.d.

5.9. Unităţi de memorie externă Pentru ca informaţia să fie exploatabilă, ea trebuie sa fie inclusă pe un suport:

dispozitiv fizic capabil să înregistreze, să păstreze, să transmită şi să restituie informaţia. Dispozitivele cu ajutorul cărora se realizează conservarea datelor, într-un sistem de

prelucrare a informaţiei, 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 decât 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 răspândite la ora actuală sunt dispozitivele magnetice. Acestea au avantajul unui cost redus, raportat la capacitatea de stocare, în comparaţie cu memoriile electrice (de tip RAM, ROM), însă sunt mult mai lente din punct de vedere al timpului de acces la informaţiile stocate. Timpul de acces reprezintă intervalul de timp mediu scurs între momentul în care procesorul solicită o anumită informaţie 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 când un disc fix poate ajunge la 7-10 ms).

Suporturile magnetice sunt organizate sub formă de discuri, principiul de funcţionare fiind asemănător cu cel de la casetele audio sau video. Trebuie să se facă distincţie între

Page 100: Initiere operare pc

100

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, măsurată în Kb sau Mb; - viteza de acces la date - timpul de răspuns, scurs între momentul unei cereri de acces

şi momentul obţinerii datelor; - rata de transfer a datelor - cantitatea medie de date transferată în unitatea de timp, în

condiţiile accesării unui volum mare de date; - timpul de căutare (seek time) – este timpul necesar deplasării capetelor de

citire/scriere de la o pistă la alta. Se folosesc următoarele tipuri de discuri: - discurile flexibile, numite şi dischete sau floppy disk-uri. Acestea sunt constituite

dintr-un singur disc cu câte un strat magnetic pe fiecare faţă a discului, discul magnetic fiind închis într-un suport de plastic prevăzut cu o fantă pentru accesul capului de citire/scriere la mediu. Sunt medii magnetice mobile, standardele cele mai raspândite fiind de 5,25”(1,2Mb), 3,5”(1,44Mb) şi mai rar 2” (3Mb); vitezele de rotaţie ale acestor discuri sunt de 300-360 rotaţii pe minut şi pot asigura o rată de transfer a datelor de până la 100Kb/s. Există şi variante care folosesc un disc dur: discul Zip de 4” (100Mb) sau discul Jaz de 4,5” (1Gb), acestea având 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 braţe, care se deplasează în interstiţiile dintre discuri, asigurând citirea/scrierea de pe mai multe feţe 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 distanţe de ordinul micronilor. Vitezele de rotaţie ale acestor discuri sunt cuprinse între 3000 şi 10000 rotaţii pe minut, şi asigură rate de transfer ale datelor între 1-2 Mb/s pâna la 10-15Mb/s. Capacităţile de stocare ale discurilor hard actuale merg până la 10-20Gb. Discurile hard mai sunt caracterizate şi de tipul de interfaţă prin care se conectează la calculator; cele mai des întâlnite sunt discurile IDE sau EIDE (Enhanced Integrated Drive Electronics) şi discurile SCSI.

Pentru salvarea datelor, ca măsură preventivă împotriva deteriorării informaţiei de pe hard disk, calculatoarele IBM pot fi dotate cu unităţi de bandă magnetică (streamers), discurile flexibile nefiind adecvate acestui scop datorită capacităţii mici de memorare, uzual de 500-1000 de ori mai mică decât capacitatea unui hard disk. Benzile magnetice se manipulează uşor, fiind indroduse într-o casetă, au o capacitate de memorare mare (până la 250Mb) şi un preţ de cost scăzut. Unităţile de bandă magnetică simple pot fi conectate la un controler de floppy disk. Totuşi, unităţile de bandă magnetică performante, cu o rată de

Page 101: Initiere operare pc

101

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 puţin de 15 minute. Datorită faptului că sunt mai greu de manipulat, precum şi datorită apariţiei discurilor Zip şi Jaz, benzile magnetice sunt foarte rar folosite în prezent.

Mediile de stocare optice cele mai răspândite 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 informaţiilor se face cu un fascicul laser, ceea ce determină o uzură scăzută 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ă, capacităţile 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ă, atingând capacităţi de stocare de până la 9,4, respectiv 17 Gb.

5.9.1. Discuri magnetice Cele mai populare unităţi de memorie externă sunt unităţile magnetice, iar dintre

acestea floppy disk-urile şi hard disk-urile echipează toate calculatoarele personale IBM. Aşa cum s-a văzut în secţiunea 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 unităţi mobile de memorie, discul hard rămânând 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 legătura între CPU şi unităţile de floppy sau hard disk, fiind de fapt un mic şi independent calculator, ce conţine un microprocesor care rulează programe din memoria ROM de pe controler, şi care controlează toate operaţiile componentelor electronice din controler.

Discurile flexibile sunt de fapt nişte discuri din material plastic, acoperite cu un strat de material feromagnetic, de regulă pe ambele părţi. Primele variante de IBM PC foloseau şi discuri flexibile simplă faţă, acoperite cu material feromagnetic numai pe una din feţe. Timpul de acces maxim la date pentru discuri flexibile este de 200ms, deoarece în cel mai dezavantajos caz discul trebuie să execute o rotaţie completă, care se realizează în 170-200ms, şi capul de citire/scriere să execute o mişcare liniară de amplitudine maximă, ce se realizează în 200ms. Cele două operaţii se pot executa în paralel.

Page 102: Initiere operare pc

102

Figura 5.13. Schema simplificată a unei unităţi de floppy disk La calculatoarele IBM, întâlnim 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. Informaţia este scrisă pe disc de-a lungul unor cercuri concentrice numite piste, care

sunt împărţite la rândul lor în sectoare. Fiecare bit de date este scris prin magnetizarea unei zone de o anumită suprafaţă, de-a lungul unei piste, mărimea acestei zone influenţând capacitatea sau densitatea discului. Biţii unui octet de date sunt scrişi unul după altul, de-a lungul pistei. Între piste rămân zone înguste nemagnetizate, astfel încât 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 până la 2000 - 6000 de piste.

Atât la discurile flexibile, cât şi la discurile hard, care de obicei conţin mai multe discuri ce se rotesc solidar, sunt instalate mai multe capuri de citire/scriere; câte unul pentru fiecare faţă. Pistele corespondente de pe toate feţele, situate la aceeaşi rază, formează un cilindru. Pistele din cadrul unui cilindru sunt distinse prin numărul capului de citire/scriere ce accesează faţa pe care se află pista respectivă. Primul cap de citire/scriere are numărul 0. Sectoarele de pe pistă sunt numerotate începând de la 1.

Parametrii discurilor flexibile: Disc Piste Sectoare Lăţime pistă [mm] 5,25" 40 9 0,330 360K 5,25" 80 15 0,160 1,2M

Page 103: Initiere operare pc

103

3,5" 80 9 0,115 720K 3,5" 80 18 0,115 1,44M Începutul fiecărei piste este marcat la discurile de 5,25" printr-o gaură, la discurile de

3,5" printr-o crestătură în placa de metal centrală a discului, iar la discurile hard printr-un marcaj magnetic pe fiecare pistă, înaintea primului sector.

Fiecare sector conţine un câmp de adresă în care sunt înscrise numărul capului de citire/scriere, numărul pistei şi numărul sectorului respectiv, în cadrul pistei, urmat de un câmp de date în care sunt înscrise datele propriu-zise. Discurile flexibile au între 8 şi 18 sectoare pe pistă, discurile hard au până la 40 de sectoare pe pistă, sau chiar mai mult. Sub MS-DOS şi alte sisteme de operare folosite pe calculatoarele personale IBM, câmpul de date al fiecărui sector conţine 512 octeţi.

Împărţirea discului în piste, sectoare, cilindri, prin scrierea câmpurilor de adresă pentru fiecare sector şi a altor informaţii folosite de controler, se numeşte formatare fizică. Deci capacitatea unui disc neformatat este mai mare decât capacitatea discului formatat. Astfel, o dischetă de 5,25" are 1,6Mb neformatată, dar rămân valabili numai 1,2Mb după formatare, cei 400Kb fiind utilizaţi tocmai pentru crearea structurii fizice a discului.

În mod obişnuit, numai BIOS-ul sistemului de operare lucrează cu sectoare fizice. MS-DOS, ca şi alte sisteme de operare, foloseşte aşa numitele sectoare logice, atribuind fiecărui sector fizic câte un număr în secvenţă. Astfel, în cazul unui floppy disk de 3,5" de 1,44Mb, sectorul 1 de pe pista 0, faţa 0, va fi sectorul logic 0; sectorul 1 de pe pista 0, faţa 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ă înţelegere 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 octeţi 4eh SYNC : 12 octeţi 00h IAM : 4 octeţi c2h, c2h, c2h, fch GAP 1 : 50 octeţi 4eh sector SYNC : 12 octeţi 00h IDAM : 4 octeţi a1h,a1h, a1h, feh ID : 4 octeţi tr. hd. sc. sz. CRC : 2 octeţi cu valoare CRC GAP 2 : 22 octeţi 4eh SYNC : 12 octeţi 00h DAM : 4 octeţi a1h, a1h, a1h, fbh DATA : 512 octeţi de date

Page 104: Initiere operare pc

104

CRC : 2 octeţi cu valoare CRC GAP 3 : 80 octeţi 4eh end of track (EOT) GAP 4B : xx octeţi 4eh

Figura 5.14. Structura unei piste MFM O pistă începe întotdeauna cu o zonă goală de 80 de octeţi scrişi cu valoarea 4eh, ce

informează controlerul de începutul unei piste. Deşi 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 distanţa dintre 2 biţi succesivi este de ordinul a câtorva 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 informaţiei cu viteza de rotaţie a discului (care depinde de frecvenţa tensiunii de alimentare), controlerul utilizează nişte câmpuri de sincronizare - SYNC, de 12 octeţi, scrişi cu valoarea 00h. Câmpul IAM - Index Address Mark - informează controlerul că urmează zona cu sectoare de pe pistă.

Fiecare sector conţine 10 secţiuni, printre care câmpuri goale şi de sincronizare. Câmpul IDAM - IDentification Address Mark - indică controlerului începutul sectorului curent. Câmpul ID - IDentification - conţine un identificator de sector în formatul pistă-faţă-sector-dimensiune sector. La formatare, controlerul calculează o valoare CRC - Cyclic Redundancy Check - pentru cei 4 octeţi de identificare ai sectorului împreună cu câmpul IDAM, şi scrie această valoare CRC de 2 octeţi în câmpul corespunzător din formatul dat mai sus. Câmpul DAM - Data Address Mark - indică controlerului începutul zonei DATA, de 512 octeţi, în care vor fi scrise propriu-zis datele. La scrierea datelor într-un sector, controlerul calculează o valoare CRC pentru câmpul DATA, pe care o stochează în cei 2 octeţi CRC situaţi după câmpul 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 câmpul CRC de pe disc, situat după câmpul DATA. Folosirea câmpurilor CRC este o metodă mult mai puternică de verificare a corectitudinii informaţiei decât simpla verificare a parităţii.

După ultimul sector de pe pistă urmează un număr oarecare de octeţi liberi, până la marcajul de început de pistă. Această zonă se numeşte EOT, GAP 4B servind ca un buffer elastic între începutul şi sfârşitul pistei.

Principial nu sunt diferenţe între discurile flexibile şi discurile hard. Dimensiunile cele mai des întâlnite 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 decât discurile flexibile), şi reprezintă timpul necesar mutării capului pe o anumită pistă dintr-o poziţie oarecare, la care se adaugă

Page 105: Initiere operare pc

105

timpul necesar ca sectorul ce se doreşte a fi accesat să apară sub capul de citire/scriere, prin rotaţia discului.

Pentru a reduce timpul de acces la informaţia de pe hard disk, se folosesc memorii cache integrate pe drive sau în controler, care pot reţine mai multe sectoare individuale, sau chiar o pistă întreagă, înainte ca informaţia 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 secvenţiale, bineînţeles depinzând de aplicaţie, 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 informaţiei din memoria cache netransferată pe disc, în cazul unei blocări ("agăţări") a sistemului, ceea ce nu se întâmplă î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 acelaşi principiu de înregistrare a informaţiei ca şi discurile compacte audio (CD-players), sunt folosite în cazul în care se doreşte memorarea unei mari cantităţi 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 fără probleme în calculatoarele personale IBM actuale, discurile având o capacitate uzuală de 600-700Mb.

Principiul de funcţionare, folosit de fapt şi la discurile compacte audio, este următorul: În interiorul drive-ului de CD-ROM, un mic semiconductor laser emite o rază laser foarte îngustă, cu lungimea de undă de 850nm. Informaţia este scrisă pe disc sub forma unor mici denivelări. Raza laser este scanată foarte precis pe toată suprafaţa discului, cu ajutorul unei oglinzi rotative. Un senzor din interiorul drive-ului detectează intensitatea razei reflectate de suprafaţa discului, intensitate care variază în funcţie de adâncimea denivelărilor, şi care este transformată ulterior într-un şir de biţi.

Spre deosebire de discurile magnetice, informaţia nu este scrisă de-a lungul unor piste concentrice, ci de-a lungul unei spirale care începe din centrul discului.

Page 106: Initiere operare pc

106

Principalul dezavantaj al CD-ROM-urilor este faptul că informaţia nu poate fi modificată. Următorul pas în dezvoltarea tehnologiilor optice de memorare a informaţiei a fost apariţia discurilor WORM - Write Once Read Many, ce permit scrierea informaţiei pe disc de către utilizator, dar numai o singură dată, după care informaţia poate fi citită de un număr nelimitat de ori. Dacă vrem să modificăm o înregistrare de date de pe disc, înregistrarea modificată va trebui scrisă într-o zonă liberă a discului, vechea înregistrare rămânând în continuare pe disc. Discurile WORM au aceeaşi capacitate ca şi CD-ROM-urile, dar capacitatea mare de memorare se plăteşte printr-o rată de transfer a datelor mică, de 150 Kbytes/s, şi un timp de acces mediu de 50ms. Pentru comparaţie, un floppy disk de 1,2Mb are o rată de transfer a datelor de 85Kbytes/s.

Discurile optice sunt unităţi mobile de memorie, un disc CD-ROM sau CD-WR cu capacitatea dată mai sus fiind ceva mai mare decât un floppy disk. Discurile optice nu au înlocuit discurile magnetice, atât datorită faptului că discurile optice sunt lente şi practic chiar şi discurile CD-RW nu sunt discuri read-write propriu-zise, cât şi datorită creşterii continue a capacităţii de stocare a hard disk-urilor.

Altă categorie de discuri optice sunt discurile DVD (Digital Versatile Disc), capacităţile de stocare ale acestor discuri fiind date la începutul secţiunii 5.9.

5.10. Alte dispozitive de intrare/ieşire Pe lângă dispozitivele de intrare/ieşire descrise în subcapitolele anterioare, la PC-urile

actuale mai pot fi conectate, prin intermediul unor plăci "plug-in board" introduse în conectorii de extensie de pe placa de bază, următoarele dispozitive externe: scanere, unităţi optice de recunoaştere a caracterelor, plăci de achiziţie şi prelucrare a imaginilor, plăci de comunicaţie prin FAX, sintetizatoare muzicale, plăci de recunoaştere şi sinteză a vorbirii, adaptoare pentru conectarea la o reţea 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 afişate pe ecran, fiind utile în special în aplicaţii de "desktop publishing". Unităţile optice de recunoaştere a caracterelor sunt, de fapt, scanere specializate pentru citirea şi conversia în coduri ASCII a caracterelor de pe documentul scanat.

Plăcile de achiziţie ş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 plăci permite atât prelucrarea detaliată a acestor imagini, cât şi transmiterea acestor imagini prin modem către un alt calculator.

Page 107: Initiere operare pc

107

Plăcile de comunicaţie prin FAX permit transmiterea/recepţionarea documentelor text sau grafice către/de la un aparat FAX, sau un calculator echipat cu o placă de comunicaţie prin FAX. Mai precis, aceste plăci împreună cu software-ul adiacent pot prelua documente text sau imagini grafice, pe care le pot transforma într-o formă recunoscută de către un receptor FAX, după care pot memora pe hard disk sau transmite aceste documente.

Reţelele locale de calculatoare permit partajarea resurselor între utilizatorii reţelei, servicii de poştă electronică şi, în general, o comunicaţie de mare viteză între calculatoare. Cele mai uzuale adaptoare pentru o reţea locală de calculatoare sunt adaptoarele pentru reţelele IBM Token-Ring şi Ethernet, pentru acesta din urmă fiind dezvoltat sistemul de operare Novell Netware.

În special în aplicaţiile de conducere cu calculatorul a proceselor industriale, ne aflăm în situaţia când trebuie să "manipulăm" sau să lucrăm cu mărimi care nu sunt numerice sau digitale. De fapt, lumea exterioară este în esenţă continuă sau de natură analogică, şi nu discretă sau digitală. Mărimile analogice, care de cele mai multe ori sunt nişte tensiuni electrice variind între anumite limite, trebuie convertite în mărimi 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, măsoară tensiunea analogică de la intrare şi transformă această mărime într-un număr binar echivalent, pe un anumit număr de biţi. Cu cât este mai mare acest număr de biţi, cu atât vom avea mai multe nivele discrete de tensiune care să corespundă marimii analogice de la intrare. Numărul de biţi pe care se face conversia analog-digitală este, de fapt, un indicator de performanţă al convertoarelor analog-digitale. Bineînţeles că este necesar şi un dispozitiv care să realizeze conversia inversă, din mărimi numerice în mărimi analogice, acest dispozitiv numindu-se convertor digital-analogic.

Page 108: Initiere operare pc

108

6. ARHITECTURI PARALELE DE CALCULATOARE

6.1. Evoluţia sistemelor de calcul. Calculatorul de tip von Neumann.

Elementul principal, care a marcat decisiv generaţiile de calculatoare, a fost tehnologia de realizare a dispozitivelor şi circuitelor care au stat la baza acestor calculatoare. Alte elemente luate în calcul, atunci când se face o împărţire a calculatoarelor în generaţii, pot fi tipurile de arhitecturi folosite în construcţia sistemelor de calcul, limbajele de programare folosite, sistemele de operare utilizate etc.

Prima generaţie de calculatoare (1938-1953), care începe odată cu apariţia primului calculator analogic, în 1938, şi al cărei principal reprezentant este primul calculator digital - ENIAC, construit în 1946, este marcată de folosirea releelor electromagnetice şi a tuburilor electronice. În această generaţie, programarea calculatorului se făcea numai în limbaj cod-masină.

A doua generaţie 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ă generaţie, 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 generaţie 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 porţile logice, multiplexoarele, decodificatoarele, registrele etc. Totodată sunt îmbunătăţite compilatoarele pentru limbajele de nivel înalt, apar sistemele de operare în timp real, sunt folosite conceptele de multiprogramare (execuţia mai multor programe în acelaşi timp, prin suprapunerea operaţiilor unităţii centrale cu operaţii de intrare/ieşire) şi memorie virtuală. Reprezentanţii acestei generaţii sunt calculatoarele IBM 360/91, Illiac IV, Cyber-175 etc.

A patra generaţie 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ă evoluţia software-ului utilizat pe calculatoarele din această generaţie, sunt dezvoltate calculatoarele vectoriale Cray-1 (1976) şi Cyber-205

Page 109: Initiere operare pc

109

(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 întâlnite la supercalculatoare, devenind din ce în ce mai puternice.

Multă vâlvă în lumea utilizatorilor de calculatoare a fost creată în 1981, când Ministerul Industriei şi Comerţului Exterior din Japonia, împreună cu cele mai mari firme electronice din aceeaşi ţ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 generaţia a patra la calculatoarele din generaţia a cincea. Aceste calculatoare din generaţia a cincea trebuiau să aibă ca aplicaţie principală sistemele expert, care să poată fi consultate de către cineva care necesită cunoştinţele unui expert uman, trebuiau să aibă o interfaţă om-masină îmbunătăţită 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 - număr de inferenţe logice pe secundă), în timp ce calculatoarele prezente aveau o viteză de 0,01MLIPS - 0,1MLIPS. Deşi în perioada de timp scursă de la lansarea acestui proiect până în prezent dezvoltarea tehnologică a continuat, în ce priveşte gradul de integrare şi viteza de lucru a componentelor electronice, şi de asemenea software-ul utilizat a fost perfecţionat, totuşi se poate spune că proiectul nu şi-a atins scopurile iniţiale mult prea ambiţioase.

În concluzie, mulţi autori evită un subiect atât de controversat ca această împărţire a calculatoarelor în generaţii de calculatoare, şi anume, dacă în prezent suntem încă în generaţia a patra, sau am trecut deja în generaţia a cincea de calculatoare. Ce se poate afirma cu certitudine este că există o foarte mare diferenţă între interfaţa om-maşină actuală, caracterizată de interfeţe grafice eficiente, sisteme multimedia, achiziţie şi prelucrare a imaginilor şi textelor folosind scanere şi camere de luat vederi, recunoaştere parţială a vorbirii etc., şi interfaţa om-maşină de la primele calculatoare ale generaţiei a patra, deşi încă nu se poate dialoga cu calculatorul în limbaj natural, neutilizând tastatura.

Calculatoarele comerciale uzuale, utilizate până în prezent, sunt calculatoare în care operaţiile 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 conţine: - o memorie pentru stocarea atât a instrucţiunilor cât şi a datelor supuse prelucrării; - o unitate de control pentru aducerea instrucţiunii următoare din memorie şi realizarea

operaţiilor de control; - o unitate aritmetico-logică pentru realizarea operaţiilor aritmetice şi logice;

Page 110: Initiere operare pc

110

- 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 instrucţiunilor 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 operaţiilor logice. Memoria principală conţine atăt instrucţiunile cât şi datele prelucrate de aceste instrucţiuni, fiind posibilă accesarea locaţiilor de memorie în orice ordine (conceptul de memorie RAM - Random Access Memory). Un calculator von Neumann conţine pe lângă 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 număr oarecare de registre interne folosite în operaţiile curente de prelucrare, adresare a memoriei sau operaţii de control. Registrul indicator de instrucţiuni - IP, denumit uneori şi registru numărător de instrucţiuni - PC (Program Counter), conţine adresa următoarei instrucţiuni de executat şi este actualizat automat după citirea fiecărei instrucţiuni, astfel încât să indice următoarea instrucţiune din program, care de regulă se află în următoarea locaţie de memorie.

În scrierea unui program care realizează o anumită prelucrare, programatorul selectează instrucţiunile dintr-un set de instrucţiuni pe care le poate executa unitatea centrală de prelucrare pe care se execută programul. O instrucţiune este specificată prin tipul operaţiei executate de instrucţiune (de exemplu adunare, scădere, salt etc.), precum şi prin operanzii asupra cărora se execută operaţia respectivă. Dacă operanzii sunt conţinuti în memorie şi nu în registrele interne, în instrucţiune vor trebui specificate adresele operanzilor, precum şi adresa rezultatului. Se preferă ca rezultatul să fie plasat în locul unuia din operanzi, astfel încât în instrucţiune se specifică cel mult adresele a doi operanzi. Majoritatea calculatoarelor nu au instrucţiuni cu mai mult de doi operanzi. Pentru adresarea operanzilor, unitatea centrală de prelucrare implementează mai multe mecanisme de adresare (vezi sectiunea 4.1.6). Instrucţiunile sunt realizate în două etape: citirea instrucţiunii din memorie (fetch cycle) şi execuţia instrucţiunii (execute cycle), această ultimă etapă incluzând citirea operanzilor din memorie şi transferul rezultatului. Pentru execuţia instrucţiunilor, UCP foloseşte conceptul de microprogramare, divizând fiecare instrucţiune într-un număr de paşi succesivi executaţi de unitatea de control, care comandă toate operaţiile unităţii aritmetico-logice.

Calculatoarele personale IBM sunt calculatoare de tip von Neumann perfecţionate, microprocesoarele INTEL de la baza acestor calculatoare implementând conceptul de "pipe-line", 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ă instrucţiunile într-o memorie internă, dar acestea nu sunt executate într-o secvenţă predefinită de un program (vezi sectiune 6.8), în timp ce

Page 111: Initiere operare pc

111

calculatoarele neuronale, realizate pe baza reţelelor neuronale (neural networks) şi care încearcă să imite creierul uman, au renunţat complet la conceptul de instrucţiune. Alte calculatoare pot să renunţe la sistemul binar şi logica booleană, implementând logici şi reprezentări polivalente. Sunt produse în prezent microcontrolere şi procesoare fuzzy bazate pe o logică fuzzy, ce este o logică continuă cu valori de adevăr cuprinse între 0 şi 1, logica bivalentă fiind un caz particular al acesteia. Totuşi, se poate spune că aceste tipuri de calculatoare neconvenţionale (ele nu sunt de fapt calculatoare von Neumann) rămân încă în sfera cercetării, nefiind deocamdată calculatoare comerciale de largă utilizare. De regulă, aceste tipuri de calculatoare neconvenţionale, ca şi calculatoarele paralele descrise în continuare, sunt realizate sub forma unor unităţi ataşate unui calculator gazdă von Neumann, care realizează operaţiile de I/E precum şi operaţiile generale de management şi control.

6.2. Paralelism în sistemele uniprocesor Toate calculatoarele uniprocesor au în principiu aceeaşi structură, fiind caracterizate

prin existenţa unei singure unităţi 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, deşi nu sunt calculatoare paralele propriu-zise. Aceste mecanisme sunt următoarele:

- Folosirea mai multor unităţi funcţionale - Un exemplu este calculatorul IBM 360/91 realizat în 1968, care are două unităţi de execuţie a calculelor, una pentru numere în virgulă fixă alta pentru numere în virgulă mobilă, aceasta din urmă fiind compusă la rândul ei din două unităţi care pot lucra în paralel: o unitate pentru adunarea şi scăderea numerelor în virgulă mobilă, cealaltă pentru înmulţirea şi împărţirea numerelor reprezentate în virgulă mobilă.

- Folosirea conceptului de bandă de asamblare, implementat şi la procesoarele din familia I80x86.

- Suprapunerea operaţiilor unităţii centrale cu operaţii de intrare/ieşire, prin folosirea procesoarelor de intrare/ieşire sau a canalelor DMA, care sunt responsabile de efectuarea operaţiilor de intrare/ieşire, în timp ce UCP execută alte operaţii. Canalele de acces direct la memorie DMA sunt folosite atunci când controlerul de I/E, care controlează direct operaţiile de intrare/ieşire 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 "văzută" 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 măsură ce urcăm treptele ierarhiei crescând viteza de acces la memorie, dar în acelaşi timp descrescând capacitatea memoriei (vezi figura 6.1).

Page 112: Initiere operare pc

112

Unele unităţi centrale de prelucrare, cum ar fi I80486 sau Pentium, au o memorie cache internă pe cip, pe lângă memoria cache externă obişnuită. De asemenea, registrele interne pot fi considerate ca fiind unităţi de memorie foarte rapidă. Memoria cache se foloseşte pentru a acoperi diferenţa de viteză dintre UCP şi memoria principală, în timp ce conceptul de memorie virtuală se foloseşte pentru a acoperi diferenţa de viteză dintre memoria principală şi memoria secundară.

Figura 6.1. Ierarhizarea memoriei într-un sistem uniprocesor.

- Multiprogramare şi time-sharing. Prin multiprogramare se înţelege existenţa mai multor procese (programe, task-uri) active în acelaşi timp în calculator, şi care concurează în vederea obţinerii 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 operaţii de I/E, asa încât cele două tipuri de programe pot fi rulate în paralel. Această suprapunere a execuţiei mai multor programe are dezavantajul că, uneori, un program cu o prioritate înaltă poate ocupa UCP-ul sau alte resurse, împiedecând execuţia celorlalte programe. Această problemă este rezolvată în sistemele de operare în timp real, prin alocarea unor unităţi 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 operaţia, resursa este eliberată şi alocată unui alt proces, dându-se în acest mod o şansă şi proceselor mai puţin prioritare.

6.3. Calculatoare pipe-line

În mod obişnuit, execuţia unei instrucţiuni într-un calculator digital implică execuţia următorilor paşi:

Page 113: Initiere operare pc

113

- citirea instrucţiunii din memorie (instruction fetch); - decodificarea instrucţiunii (instruction decoding); - citirea operanzilor (operand fetch); - execuţia instrucţiunii (execution); - memorarea rezultatului (store result). Într-un calculator pipe-line, mai multe instrucţiuni succesive sunt executate în paralel,

aşa cum este arătat în figura 6.2. Acesta este un exemplu în care procesorul are 5 faze pipe-line, astfel încât pot fi

executate în paralel 5 instrucţiuni; spre exemplu, la un moment dat se face citirea instrucţiunii I5, decodificarea instrucţiunii I4, citirea operanzilor instrucţiunii I3, execuţia instrucţiunii I2 şi memorarea rezultatului instrucţiunii I1, rezultând o viteză de prelucrare de cinci ori mai mare. În cazul general al unui procesor cu k faze pipe-line, rezultă o creştere a vitezei de execuţie a instrucţiunilor de k ori.

Figura 6.2. Execuţia suprapusă a instrucţiunilor într-un calculator pipe-line.

Conceptul de "pipe-line", din calculatoare, este similar conceptului de bandă de

asamblare dintr-o fabrică, care duce la creşterea producţiei în fabrica respectivă. Pentru a se materializa conceptul de paralelism temporal introdus mai sus, într-un calculator pipe-line orice proces sau activitate este împărţită în subactivităţi, fiecare din acestea fiind executată de un hardware specializat. Deci paralelismul este realizat nu prin multiplicarea unităţilor funcţionale (paralelism spaţial), ci prin execuţia suprapusă în timp a mai multor instrucţiuni sau activităţi.

Ceea ce s-a prezentat anterior se poate desemna prin termenul de "instruction pipelining", sau de execuţie simultană a mai multor instrucţiuni pe baza conceptului de bandă de asamblare. Aproape toate calculatoarele actuale implementează acest concept. Dar şi unitatea aritmetică poate fi compusă din mai multe unităţi separate care să lucreze în paralel şi care să execute mai multe operaţii înlănţuite, conform conceptului de bandă de asamblare.

Page 114: Initiere operare pc

114

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.

Operaţiile cu numere în virgulă mobilă , spre deosebire de cele cu numere în virgulă fixă, se pretează la o execuţie în paralel, fiind executate ca o secvenţă de paşi 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ă execuţia următorilor paşi:

1. calculul diferenţei e1-e2 2. dacă e1-e2 este negativ schimbă mantisele între ele şi schimbă semnul diferenţei e1-e2 3. deplasează mantisa m2 cu e1-e2 poziţii spre dreapta (se împarte cel de-al doilea număr

cu 2e1-e2) 4. adună mantisele şi pune rezultatul în m2. 5. normalizează mantisa: dacă mantisa rezultat este mai mare decât 1, deplasează

mantisa rezultatului cu o poziţie spre dreapta şi adună 1 la exponent; dacă mantisa rezultat este mai mică decât 1/2, deplasează mantisa rezultat cu o poziţie spre stânga şi scade 1 din exponent.

Cei 5 paşi care intervin în adunarea a două numere reprezentate în virgulă mobilă trebuie executaţi unul după altul, dar este posibilă execuţia simultană a cinci operaţii de adunare a două numere în virgulă mobilă, astfel încât, în timp ce se normalizează mantisa rezultatului la prima operaţie, se adună mantisele la cea de-a doua operaţie, se deplasează mantisa m2 la cea de-a treia operaţie etc., obţinându-se acelaşi efect ca şi când cei cinci paşi ce intervin în execuţia adunării a două numere în virgulă mobilă ar fi executaţi în paralel.

În funcţie de instrucţiunile şi tipurile de date pe care le pot manipula, procesoarele pipe-line pot fi clasificate în procesoare scalare şi procesoare vectoriale. Calculatoarele pipe-line vectoriale sunt prevăzute cu resurse hardware şi instrucţiuni, care pot opera asupra unor operanzi de tip vector. Într-un asemenea calculator se poate specifica, printr-o singură instrucţiune, o operaţie 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 unităţi care să fie ataşate unui calculator scalar, pentru a-i creşte acestuia din urmă viteza de execuţie a operaţiilor cu vectori. În mod normal, supercalculatoarele actuale sunt prevăzute cu facilităţi vectoriale. Calculatoarele vectoriale sunt o aplicaţie excelentă a conceptului de bandă de asamblare. Un procesor vectorial, ca orice procesor von Neumann, citeşte instrucţiunile vectoriale din memorie şi prelucrează unul sau mai mulţi vectori de intrare, pentru a produce un şir de elemente de ieşire sau vector rezultat. Majoritatea procesoarelor vectoriale folosesc un număr mare de registre interne pentru stocarea vectorilor, aşa cum se întâmplă la calculatoarele Cray, deşi alte calculatoare, cum ar fi Cyber-205, stochează vectorii în memorie.

Page 115: Initiere operare pc

115

Cele mai recente calculatoare vectoriale sunt calculatoarele Cray-1, Cray-2, Cray X-MP, 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 numărul de fluxuri de instrucţiuni şi de date dintr-un calculator. Conform acestei scheme, arhitecturile de calculatoare pot fi împărţite în trei mari grupe:

- Calculatoare SISD - Single Instruction stream Single Data stream - care cuprinde majoritatea calculatoarelor actuale şi la care instrucţiunile sunt executate secvenţial, dar pot fi suprapuse conform conceptului de bandă de asamblare. La aceste calculatoare SISD, un singur flux de instrucţiuni operează asupra unui singur flux de date. Deci calculatoarele pipe-line sunt tot calculatoare SISD, deoarece rămân în cadrul accepţiunii de calculator cu un singur flux de instrucţiuni şi un singur flux de date. Un calculator SISD poate avea totuşi mai mult de o unitate funcţională destinată îndeplinirii unei anumite funcţii. 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 aceeaşi instrucţiune către toate elementele de prelucrare, fiecare element de prelucrare operând pe un set diferit de date. Se formează astfel mai multe fluxuri de date, dar numai un singur flux de instrucţiuni. 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ă câte un flux de instrucţiuni pentru fiecare procesor în parte. Toate fluxurile de instrucţiuni şi date pentru toate procesoarele din calculator vin din aceeaşi memorie comună, ce este partajată de cele n procesoare care cooperează în rezolvarea unei probleme. Dacă fluxurile de instrucţiuni 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 înţelege printr-un calculator MIMD intrinsec. Un asemenea sistem multiprocesor fără memorie partajată este practic un ansamblu de sisteme SISD, care schimbă mesaje între ele printr-o reţea de interconectare. Unii autori preferă să numească sistemele multiprocesor fără memorie partajată tot sisteme MIMD. În lucrarea de faţă, vom utiliza noţiunea de sistem multiprocesor, care este mai largă decât noţiunea de calculator MIMD, incluzând aici şi sistemele

Page 116: Initiere operare pc

116

multiprocesor cu schimb de mesaje. De asemenea, prin sistem multiprocesor vom înţelege un sistem de calcul centralizat, cu toate resursele hardware şi software aflate într-un anumit centru, şi cu întârzieri de comunicaţie neglijabile între subsisteme. Reţelele de calculatoare şi sistemele distribuite nu fac obiectul acestei lucrări. 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 clasificării Flynn.

Cea de-a patra combinaţie posibilă în cadrul clasificării Flynn, calculatoarele MISD -

Multiple Instruction stream Single Data stream, practic nu există în realitate, deşi unii autori încearcă să introducă în această categorie calculatoarele pipe-line.

6.5. Calculatoare SIMD Într-un calculator SIMD, instrucţiunile unui program sunt citite din memorie de către o

singură unitate de control, în aceeaşi manieră ca şi la un calculator von Neumann obişnuit (calculator SISD), folosind un registru indicator de instrucţiuni.

Instrucţiunile uzuale care se întâlnesc la orice procesor, cum ar fi instrucţiunile de salt, instrucţiunile aritmetico-logice ce prelucrează scalari etc., sunt executate direct de unitatea de control. În schimb alte instrucţiuni, cum ar fi instrucţiunile vectoriale, sunt executate de către o matrice de elemente de prelucrare, sau elemente de procesare, unitatea de control distribuind o instrucţiune către toate elementele de procesare, care realizează aceeaşi operaţie, dar asupra unor date diferite. Elementele de prelucrare pot fi inhibate printr-un mecanism de mascare, astfel încât să nu realizeze o instrucţiune distribuită de unitatea de control.

Page 117: Initiere operare pc

117

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 reţea de interconectare (vezi figura 6.4).

Programele sunt stocate în memoria unităţii de control, care poate accesa şi memoriile locale ale elementelor de procesare în primul caz, sau modulele de memorie globală în cel de-al doilea caz, prin intermediul unei magistrale de date. De asemenea, reţeaua 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 unităţii de control.

Figura 6.4. Arhitecturi SIMD

Fiecare element de prelucrare are registre locale, şi poate realiza operaţii aritmetico-

logice asupra unor date, care de regulă sunt elementele unui vector sau ale unei matrici. De exemplu, la o operaţie de adunare a doi vectori A := A+B, unde A şi B sunt vectori de dimensiune n, elementul de procesare i execută operaţia 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 găsească în memoria locală a elementului de prelucare i, înainte de de execuţia instrucţiunii, dacă se foloseşte 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 foloseşte o matrice de elemente de procesare.

Deşi 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

Page 118: Initiere operare pc

118

producătorilor de calculatoare comerciale nu s-au arătat prea entuziasmaţi de această idee, preferând să construiască în continuare calculatoare SISD tradiţionale, cărora să le adauge capabilităţi vectoriale folosind conceptul de bandă de asamblare. Variantele recente ale procesorului Intel Pentium sunt prevăzute cu capabilităţi SIMD.

Aplicaţiile prevăzute să fie rezolvate de calculatoarele SIMD sunt: - operaţii cu matrici: adunări, înmulţiri, inversări, valori proprii etc.; - rezolvarea unor ecuaţii diferenţiale dificile; - probleme de programare liniară; - analiză Fourier; - procesare de imagini şi recunoaştere a formelor etc. Calculatoarele SIMD pot să conţină elemente de prelucrare care operează pe un singur

bit (aşa numitele calculatoare SIMD bit-slice), şi nu pe un cuvânt format din mai mulţi biţi (calculatoare word-slice). Aceste calculatoare SIMD bit-slice au ca aplicaţie principală prelucrarea de imagini, întrucât o imagine este reprezentată ca o matrice de pixeli şi, de multe ori, este necesară efectuarea aceleeaşi operaţii asupra fiecărui 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 prelucrării imaginilor preluate prin satelit. Acest calculator MPP conţine 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 operaţiile aritmetico-logice pe un singur bit, şi care este conectat la un anumit număr 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, cooperând în rezolvarea unei anumite probleme. Comunicaţia 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 legături directe între procesoare, caz în care fiecare procesor are propria lui memorie locală. În această secţiune 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 activităţile procesoarelor interne. Un exemplu de sistem multiprocesor cu memorie partajată este sistemul Denelcor's HEP.

Page 119: Initiere operare pc

119

Figura 6.5. Structura de principiu a unui sistem multiprocesor cu

memorie partajată

În sistemele multiprocesor cu partajare a memoriei, viteza de comunicaţie între procesoare este mare, egală cu viteza de acces la memoria comună, nefiind exclusă totuşi folosirea unei memorii cache locale fiecărui procesor, pentru a-i creşte 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 reţele de interconectare. Structura unui sistem multiprocesor cu memorie partajată este arătată în figura 6.5.

Au fost dezvoltate de-a lungul timpului mai multe modalităţi 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 reţele de comutatoare de conectare (cross-bar switch-based networks); - utilizarea unei memorii multiport.

Page 120: Initiere operare pc

120

Figura 6.6. Reţele de interconectare într-un sistem multiprocesor

cu memorie partajată Utilizarea unei singure magistrale de comunicaţie 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 numărul 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 căreia se accesează memoria globală şi resursele globale ale sistemului. Aceste tehnici sunt utilizate pe scară largă de producătorii 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 conectări pot fi făcute la un moment dat între procesoare şi memoria comună sau dispozitivele de I/E .

Page 121: Initiere operare pc

121

La sistemele ce folosesc o reţea de comutatoare de conectare sunt realizate legături 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ă foloseşte o memorie multiport pentru conectarea procesoarelor la memorie comună. O memorie multiport este o memorie la care pot fi accesate mai multe locaţii de memorie la un moment dat.

Reţelele de interconectare construite pe baza unei matrici de comutatoare sunt scumpe, fiind necesară efectuarea a N2 conectări simultane în cazul a N procesoare şi a N module de memorie, realizarea fiecărei legături implicând în mod obişnuit conectarea a zeci de semnale. Din această cauză au fost dezvoltate reţelele de interconectare multinivel (multistage networks), care au mai puţine comutatoare interne, realizarea unei legături între un procesor şi un modul de memorie implicând comutarea mai multor comutatoare electronice, situate pe diferite nivele. Nu se permite însă, de regulă, realizarea simultană a tuturor legăturilor posibile dintre procesoare şi modulele de memorie, şi, de cele mai multe ori, anumite legături nu pot fi realizate deloc. De fapt anumite legături sunt inutile şi nu are rost să fie realizate.

Figura 6.7. Reţea de interconectare cu trei nivele de celule

de comutare 2x2 De exemplu, în figura anterioară este prezentată o reţea cu trei nivele, în care fiecare

celulă de comutare a reţelei poate avea două stări: cu intrările cuplate direct la ieşiri, sau cu intrările cuplate încrucişat.

6.7. Sisteme multiprocesor fără 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 legături directe între procesoare. Aceste tipuri de sisteme nu vor înregistra un număr mare de conflicte de acces la memoria globală, aşa cum se întâmplă în sistemele multiprocesor cu memorie partajată, şi care reduc considerabil viteza de calcul a sistemelor respective. Structura generală a unui sistem multiprocesor fără memorie partajată este arătată în figura 6.8.

Page 122: Initiere operare pc

122

Un procesor împreună cu memoria locală şi interfeţele 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 executând numai un singur proces la un moment dat, ca în orice calculator clasic von Neumann. De asemenea, fiecare nod conţine, în memoria ROM proprie, un nucleu al unui sistem de operare, care programează procesele din nodul respectiv şi realizează operaţiile de transmitere şi recepţionare 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 câteva instrucţiuni, rezultă o creştere a numărului de mesaje schimbate între procesoare şi deci o aglomerare a mediului de comunicaţie, ducând la deteriorarea performanţelor sistemului. Procesele cu granularitate mare, ce conţin un număr mare de instrucţiuni, necesită memorii locale de ordinul megaocteţilor, în timp ce procesele cu granularitate fină necesită memorii locale de ordinul zecilor de kiloocteţi. Procesele cu granularitate fină pot fi găsite în sistemele multiprocesor orientate pe flux de date. Majoritatea sistemelor multiprocesor fără memorie partajată folosesc procese cu granularitate medie.

Pentru un număr mic de procesoare în sistem, se obţin performanţe mai bune dacă se utilizează o memorie comună partajată de procesoarele din sistem, sistemele multiprocesor fără memorie partajată fiind adecvate atunci când se doreşte un număr mare de procesoare în sistem, aceste sisteme fiind mai ieftine şi pretându-se la o implementare uşoară î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 fără memorie partajată trebuie să fie computaţional intensive şi nu orientate pe schimb de mesaje. Atât sistemele

Page 123: Initiere operare pc

123

multiprocesor cu memorie partajată, cât şi cele fără memorie partajată, pot realiza prelucrări SIMD, deşi ultimele sunt mult mai adecvate numai pentru prelucrări MIMD.

Există diferite scheme posibile de interconectare a procesoarelor dintr-un sistem multiprocesor fără memorie partajată. Reţelele de interconectare folosite în aceste sisteme sunt reţele statice de interconectare, care permit legături fixe directe între două noduri, şi nu sunt reţele dinamice de interconectare, aşa cum folosesc sistemele multiprocesor cu memorie partajată. O reţea de interconectare exhaustivă a n noduri va permite fiecărui nod să aibă o legătură directă către oricare alt nod din sistem. Totuşi, aceste reţele nu sunt economice, preferându-se limitarea posibilităţilor de conectare ale fiecărui nod numai la un anumit număr de noduri vecine.

De exemplu, fiecare nod poate fi legat numai la doi din vecinii săi, formându-se o reţea liniară de tip inel (fig 6.9a), sau la patru din vecinii săi, formându-se o reţea de tip tablou bidimensional (fig 6.9b), această structură pretându-se la o implementare uşoară în VLSI, etc. În cazul unei reţele organizate sub forma unui hipercub, fiecare nod are o anumită adresă, reprezentată sub forma unui număr binar pe un anumit număr de biţi. Se va forma un hipercub, dacă se conectează fiecare nod din sistem cu toate nodurile a căror adresă diferă doar printr-un bit de adresa nodului respectiv. În figura 6.9e este prezentat un hipercub tridimensional.

Figura 6.9. Reţele statice de interconectare a procesoarelor, într-un sistem multiprocesor fără memorie partajată.

Page 124: Initiere operare pc

124

Un exemplu de sistem multiprocesor comercial fără memorie partajată, cu o reţea de

interconectare de forma unui hipercub, este sistemul IPSC/1 - Intel Personal SuperComputer - dezvoltat la mijlocul anilor '80. Fiecare nod conţine un I80286, un I80287, 64 Kocteţi de memorie ROM şi o memorie RAM duală de 512 Kocteţi, care poate fi accesată atât de procesorul nodului, cât şi de calculatorul gazdă. Toate nodurile sunt controlate de un calculator gazdă, numit "cub manager", ce conţine 2 - 4 Mocteţi de memorie RAM, unităţi de disc flexibil şi de hard disk, şi care operează sub sistemul de operare XENIX. Fiecare nod conţine în memoria ROM proprie un mic sistem de operare numit NX. De asemenea, fiecare nod are 8 canale de comunicaţie, 7 dintre ele folosite pentru comunicarea cu alte 7 noduri din hipercub, şi un canal Ethernet folosit pentru comunicaţia cu calculatorul gazdă. Comunicaţia pe legăturile hipercubului este de 10 - 20 de ori mai rapidă decât comunicaţia cu calculatorul gazdă pe cablul Ethernet. Sistemul IPSC/2 are aceeaşi structură ca şi IPSC/1, numai că foloseşte procesoarele I80386 şi I80387, în locul perechii de procesoare I80286/I8027. În figura următoare 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

conţine un procesor pe 16 sau 32 de biţi ce implementează concepte RISC, o memorie internă pe cip, şi mai multe legături de comunicaţie externă către alte transputere, într-un sistem multiprocesor. În mod obişnuit, 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ă.

Page 125: Initiere operare pc

125

Primul transputer - T212, realizat în 1983, conţine un procesor aritmetic pe 16 biţi pentru operaţii cu numere întregi, transputerul T414, realizat în 1985, conţine un procesor aritmetic similar, dar pe 32 de biţi, în timp ce transputerul T800, realizat în 1988, conţine un procesor aritmetic pe 32 de biţi în virgulă mobilă. Primele transputere aveau 4 legături seriale la 10 Mbiţi/sec şi 2 Kocteţi de memorie RAM pe cip. Următoarele transputere conţin o memorie RAM mai mare şi legături externe mai rapide. Prin interfaţa de memorie din figura 6.10, transputerului i se poate ataşa o memorie externă.

Figura 6.11. Structura internă a unui transputer.

Informaţia transmisă sau recepţionată pe legăturile externe ale transputerului este

organizată în pachete, fiecare transmisie a unui pachet de date către un alt transputer fiind urmată de un răspuns al acestuia din urmă, care va trimite către primul transputer un pachet de recunoaştere.

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 instrucţiuni program, care pot să fie executate secvenţial sau în paralel. Pe fiecare transputer sunt executate în mod concurenţial unul sau mai multe procese.

6.8. Sisteme multiprocesor orientate pe flux de date

Page 126: Initiere operare pc

126

Calculatoarele descrise în secţiunile anterioare urmăresc într-o mai mică sau mai mare

măsură conceptele de bază ale unui calculator von Neumann. Într-un calculator orientat pe flux de instrucţiuni, datele sunt "pasate" de la o instrucţiune la alta prin intermediul unor locaţii de memorie, la care au acces toate instrucţiunile. O dată sau un operand al unei instrucţiuni este referit prin intermediul adresei locaţiei de memorie care conţine data sau operandul respectiv. Acesta este conceptul de variabilă utilizat în calculatoarele von Neumann. În aceste calculatoare, fluxul de instrucţiuni este implicit secvenţial, deşi pot fi folosiţi şi operatori care să specifice o prelucrare paralelă.

Într-un calculator orientat pe flux de date, o instrucţiune este executată atunci când operanzii ceruţi de instrucţiunea respectivă devin disponibili. De asemenea, nu există conceptul de locaţii de memorie partajate de instrucţiuni şi folosite pentru stocarea datelor, în accepţiunea tradiţională de variabilă. Secvenţa de instrucţiuni ce se execută depinde numai de disponibilitatea datelor pentru aceste instrucţiuni. În acest fel instrucţiunile sunt executate asincron, neexistând un program care să controleze secvenţa acestor instrucţiuni, fiind posibilă execuţia mai multor instrucţiuni simultan şi realizarea, în acest mod, al unui înalt grad de paralelism.

Operanzii sunt pasaţi unei instrucţiuni 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 instrucţiune la alta, şi nu prin intermediul unor adrese ale unor locaţii de memorie partajate de către instrucţiuni, în sistemele orientate pe flux de date nu pot apare efecte laterale.

Un sistem orientat pe flux de date operează cu două entităţi de bază : pachete de operaţii şi token-uri de date. Un pachet de operaţii conţine codul operaţiei care se execută, operanzii şi destinaţia rezultatului (instrucţiunea următoare). Un token este format dintr-o valoare rezultat, împreună cu destinaţia 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 aşa numit graf al fluxului de date. Nodurile grafului indică operaţiile ce se efectuează, arcele grafului indicând fluxul de date între noduri. Operaţia dintr-un nod se execută când toate informaţiile cerute de nodul respectiv sunt disponibile. Un nod necesită unul sau mai mulţi operanzi şi produce unul sau mai multe rezultate. Deîndată ce toţi operanzii sunt disponibili la intrările nodului, nodul respectiv este activat realizându-se operaţia din nod, după care se pasează rezultatele de-a lungul unor arce, către nodurile ce aşteaptă aceste rezultate. Procesul se repetă până când ultimul nod din graf a fost activat şi s-a obţinut rezultatul final. Aşa cum s-a menţionat anterior, mai multe operaţii pot fi executate simultan, prin activarea în acelaşi timp a mai multor noduri.

Page 127: Initiere operare pc

127

Graful pentru calculul expresiei E = A/B + B*C conţine pe lângă nodurile care realizează operaţiile de înmulţire, împărţire, 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 operaţia din nodul COPY, care nu necesită decât un singur operand (B), iar acesta este disponibil. După ce este executată operaţia din nodul COPY, se vor executa în paralel operaţiile din nodurile de înmulţire şi împărţire, iar după ce sunt încheiate operaţiile 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.

Bineînţeles că trebuie să existe şi noduri specializate pentru realizarea operaţiilor de decizie. Aceste noduri sunt prevăzute în plus cu o intrare booleană, în funcţie de care se realizează decizia. Într-un nod MERGE, dacă condiţia este adevărată, token-ul operandului A este pasat la ieşire, dacă intrarea de condiţie este falsă, se va pasa la ieşire token-ul variabilei B. În nodurile BRANCH, care au o singură intrare şi două ieşiri, dacă condiţia este adevărată, token-ul variabilei de intrare este pasat pe ieşirea din stânga, activând nodurile succesive arcului din stânga, dacă condiţia este falsă, token-ul este pasat pe ieşirea 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.

Page 128: Initiere operare pc

128

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. Operaţiile dintr-un nod se execută când toţi operanzii sunt prezenţi pe arcele de intrare. La arhitecturile dinamice este permisă existenţa mai multor token-uri pe un arc, fiecare token având 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. Atât maşinile statice, cât şi cele dinamice, au o arhitectură simplificată de tip inel (vezi

figura 6.12), ce conţine patru secţiuni principale. Secţiunea de memorie este folosită pentru a stoca pachetele de instrucţiuni. Unităţile de procesare permit execuţia în paralel a mai multor instrucţiuni activate. Reţeaua de dirijare pasează token-urile rezultat către instrucţiunile următoare, corespunzătoare nodurilor destinaţie ale arcelor de-a lungul cărora se pasează token-urile. Secţiunea de intrare/ieşire este o interfaţă între sistemul orientat pe flux de date şi lumea exterioară. Majoritatea maşinilor orientate pe flux de date sunt realizate sub forma unui procesor ataşat la un calculator gazdă, care realizează operaţiile de intrare/ieşire şi de

Page 129: Initiere operare pc

129

translatare a codului, şi s-ar părea că prelucrarea orientată pe flux de date va deveni o tehnică generalizată la fel ca şi conceptul de bandă de asamblare.

Totuşi se poate spune că sistemele orientate pe flux de date, ca şi limbajele orientate pe flux de date, deşi au atras atenţia multor cercetători cu mulţi ani în urmă, de-abia în ultima perioadă au fost dezvoltate câteva asemenea sisteme, cum ar fi maşina propusă de Jack Dennis la MIT (Massachusetts Institute of Technology), sistemul EDDY în Japonia, maşina Manchester în Anglia, sistemul francez LAU, maşina UTAH, maşina Newcastle etc.

Page 130: Initiere operare pc

130

7. SISTEME DE OPERARE

7.1. Generalităţi

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 secvenţe de instrucţiuni sunt stocate în BIOS (Basic Input Output System), într-o memorie ROM al cărui conţinut nu poate fi alterat. Versiunile mai noi de BIOS-uri au incluse funcţii suplimentare, cum ar fi detecţia automată a diverselor dispozitive periferice ce există în sistem (Plug And Play), autodetecţia tipului de hard-disk introdus în calculator etc. BIOS-ul reprezintă interfaţa î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, asigurând executarea lanţurilor de sarcini ale sistemului. Sistemul de operare furnizează şi un set de funcţii standard, care pot fi utilizate de aplicaţii pentru comunicarea cu BIOS-ul, şi deci implicit cu resursele hardware ale calculatorului. În cursul utilizării calculatorului, sistemul de operare are datoria de a informa despre buna (sau nu) funcţionare a dispozitivelor periferice. Sistemul de operare gestionează operaţiile de intrare şi ieşire, prin monitorizarea şi controlarea fluxului de date şi a programelor în execuţie. Tot el este responsabil de alocarea resurselor sistemului, atribuirea de resurse hardware diverselor programe şi funcţii, pentru a asigura funcţionarea eficientă a calculatorului.

Figura 7.1.1. Calculatorul privit prin prisma utilizatorului

Sistemul de operare este cel care determină numărul de utilizatori ce pot obţine acces la calculator şi la resursele sale, în acelaşi timp. După numărul de utilizatori ce pot lucra la un

Page 131: Initiere operare pc

131

moment dat pe sistem, se pot diferenţia sisteme de operare monoutilizator şi sisteme de operare multiutilizator. După numărul de task-uri, sau programe, pe care le poate rula un utilizator la un moment dat, sistemele de operare pot fi împărţite î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 funcţiona pe un PC compatibil IBM. Astfel, sistemele de operare sunt dedicate unei anume structuri hardware. Există şi sisteme de operare care funcţionează 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.)

Figura 7.1.2. Tipuri de software existente într-un calculator

Toate sistemele de operare conţin o interfaţă cu utilizatorul, ce reprezintă modalitatea

prin care utilizatorul introduce comenzi sau lansează aplicaţii. Partea exterioară (shell) a

Softwarede sistem

Sisteme deoperare

Programeutilitare

Drivere dedispozitivLimbaje de

programare

Softwarede

aplicatie

Softwarepentru

distractie

Baze de date

Software deproductie

Grafica

Comunicatii Tehnoredactarecomputerizata

Calcultabelar

Diverseutilitare

Softwareeducativ

Softwarepentru

administrare

Softwarepentruafaceri

Page 132: Initiere operare pc

132

sistemului de operare este cea care preia comenzile de la utilizator, şi le transferă către nucleul (kernel) sistemului de operare, care alocă în acel moment un loc în lanţul de execuţie al sarcinilor din sistem. În funcţie de sistemul de operare, interfaţa 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 mulţi utilizatori, atunci sistemul de operare se numeşte multitasking. Sistemul de operare, în aceste caz, comută sarcinile (task-urile) care trebuie executate pe procesor, îndeajuns de repede pentru a crea senzaţia de simultaneitate a execuţiei. În caz contrar, pe sistemele monotasking, nici un alt proces nu poate fi lansat până la terminarea celui aflat în curs de execuţie.

Exemple de sisteme de operare:

- MS-DOS – este produs de firma Microsoft, pentru platforme x86, este monotasking, monoutilizator, şi are interfaţa cu utilizatorul în mod text. Peste el se pot instala însă interfeţe 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ă conţinută î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. Interfaţa cu utilizatorul este la bază text, însă toate variantele sunt dotate şi cu sistem grafic. Există pentru mai toate platformele hardware, în funcţie de producător. 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 funcţionează datorită sistemului de operare instalat, şi

anume prin interacţiunea sa cu resursele hardware ale calculatorului. Peste acest strat software, al sistemului de operare, ce are rolul de a interfaţa utilizatorul cu resursele hardware, se instalează aplicaţiile 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. Interfeţe text şi interfeţe grafice.

În cadrul unei interfeţe bazate pe text, numită mediu alfanumeric, utilizatorul tastează comenzi pentru a da instrucţiuni calculatorului. Sistemele de operare ale calculatoarelor

Page 133: Initiere operare pc

133

personale utilizează interfeţe cu linii de comandă, care permit introducerea de la tastatură a unei comenzi la un moment dat. Linia de comandă conţine un prompter, care informează utilizatorul că sistemul este pregătit să primească comenzi sau instrucţiuni. După fiecare instrucţiune 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ă instrucţiunile pe baza unei biblioteci de instrucţiuni inclusă în sistemul de operare. În mod analog, se pot lansa în execuţie şi comenzile şi programele externe sistemului de operare. Există şi anumite programe de interfaţare 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 interfeţe în mod text, exemplul ales

fiind o linie de comandă MS-DOS. Interfeţele grafice au apărut ca urmare a cererii din partea utilizatorilor pentru un mediu

uşor de exploatat, şi care să aibă şi posibilitatea afişării 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 îmbunătăţiri până în prezent, dar a fost cel care a generat apariţia interfeţelor grafice în lumea PC-urilor. Interfaţa grafică iniţială 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 selecţii din meniuri, aflate într-o aplicaţie ce se substitue shell-ului sistemului de operare.

Figura 7.1.3. Exemplu de interfaţă în mod text

În 1985 a apărut sistemul Microsoft Windows, care nu era un sistem de operare, ci un

mediu grafic pentru MS-DOS. Un mediu grafic reprezintă mai puţin decât un sistem de operare, deoarece funcţionarea sa se bazează pe existenţa unui asemenea sistem. Windows

Page 134: Initiere operare pc

134

(3.xx, 95 sau 98), care în esenţă reprezintă un înveliş pentru MS-DOS, primeşte instrucţiuni 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 Windows-ul. Astfel s-a născut un nou sistem de operare, numit OS/2. Microsoft a lansat în 1990 Windows 3.0, şi apoi o versiune îmbunătăţită 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 decât un mediu de operare, incluzând şi funcţii 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 interfeţei grafice.

Figura 7.1.4. Interfaţa grafică Windows NT

Pentru sistemele Unix, care folosesc medii bazate pe text, au fost create diverse

interfeţe grafice care se instalează peste sistemul de operare. Există multe tipuri de interfeţe 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 aplicaţii sau comenzi pe un calculator aflat la distanţă şi obţinerea rezultatului grafic pe un terminal local. Un exemplu răspândit pentru Unix-urile de firmă (HP-UX, Ultrix, Solaris, etc.) este CDE. În figura 7.1.5, este prezentat un ecran al interfeţei grafice CDE pentru Solaris.

Page 135: Initiere operare pc

135

Figura 7.1.5. Ecran al interfeţei grafice CDE

Figura 7.1.6. Ecran al interfeţei grafice KDE

Page 136: Initiere operare pc

136

Pentru Linux, interfeţele grafice sunt numeroase, datorită aspectului academic şi “free

software” al acestui sistem de operare. Fiecare interfaţă are specificaţii proprii, şi nu sunt toate compatibile între ele. Cel mai răspândit sistem grafic este “fvwm” şi, în ultimii ani, KDE. Un ecran al interfeţei KDE este prezentat în figura 7.1.6.

7.1.2. Partiţionarea şi formatarea discurilor

Informaţiile sunt stocate pe discuri magnetice sub formă de fişiere, blocuri de

informaţie în format binar care capătă sens pentru aplicaţia care le foloseşte. Pentru a organiza fişierele, fiecare sistem de operare foloseşte un model de structurare a fişierelor, de cele mai multe ori de formă arborescentă, după cum se va vedea în continuare. Spaţiul disponibil pe un dispozitiv de stocare (în general hard-disk) se organizează sub formă de partiţii, fiecare partiţie fiind văzută ca o unitate de disc proprie. Acestea permite ca acelaşi disc să poată fi folosit de mai multe sisteme de operare, fiecare sistem folosind partiţiile într-un mod propriu. Pentru a structura spaţiul de memorare al unui disc, pe o anumită partiţie, se aplică o operaţiune de formatare. Formatarea discului poate fi de două feluri: - formatare de nivel inferior sau formatare fizică (low-level format): Prin această acţiune

pistele discului sunt împărţite într-un anume număr de sectoare, prin scrierea informaţiile de delimitare a sectoarelor pe pistă, informaţii 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 operaţie care se efectuează din sistemul de operare folosit, şi este prin urmare specifică acestuia. În cadrul formatării logice se scriu structurile necesare pentru gestionarea fişierelor şi a structurilor aferente (directoare). Spre deosebire de formatarea fizică, în cadrul căreia se scriu efectiv pistele şi sectoarele discului, formatarea logică constă, de fapt, în crearea unei tabele cu conţinutul util al discului, ce va fi folosită de sistemul de operare pentru a scrie şi apoi regăsi fişierele pe disc.

Prima operaţie care se efectuează asupra unui hard disk este formatarea fizică, aceasta

fiind independentă de sistemul de operare, şi caracteristică unităţii de disc. Urmează apoi partiţionarea, care este operaţiunea de segmentare a discului în mai multe regiuni, numite partiţii. Fiecărei partiţii i se atribuie şi un identificator (tipul partiţiei), specific sistemului de

Page 137: Initiere operare pc

137

operare care îşi va pune sistemul de fişiere pe partiţia respectivă. În timpul partiţionării, indiferent de sistemul de fişiere specificat, soft-ul de partiţionare scrie un program special folosit pentru iniţializarea calculatorului (Boot) şi o tabelă de partiţii, 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 partiţiile create pe un hard disk, una singură trebuie marcată ca fiind “activă”, adică reprezentând partiţia de pe care se va încărca sistemul de operare la pornirea calculatorului.

După crearea partiţiilor, care vor găzdui sistemele de fişiere, se formatează logic fiecare partiţie, în funcţie de sistemul de operare ales. Astfel, pe acelaşi 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 dispoziţie un utilitar de formatare. Acesta realizează atât formatarea fizică, cât şi cea logică.

Fiecare sistem de operare are specificaţiile proprii pentru atribuirea de identificatori

diverselor partiţii formatate: - MS-DOS-ul (şi sistemele din această categorie) atribuie fiecărui volum (partiţie) o adresă

logică notată cu o majusculă, începând cu litera C şi respectând ordinea alfabetică. Literele A şi B sunt rezervate pentru unităţile de disc flexibil.

- Windows NT procedează în mod asemănător, începând la fel cu litera C, însă permite schimbarea literelor asignate în timpul funcţionării.

- Linux-ul (şi familia sistemelorUnix) are nevoie de o partiţie principală numită “rădăcină” care este notată cu “/”, iar celelalte partiţii existente apar sub formă de directoare ale acestei rădăcini.

Se foloseşte de asemenea un tip de format logic propriu fiecărui sistem de operare, pentru

fiecare partiţie a unui hard disk, acesta numindu-se tipul partiţiei. Un sistem de operare poate citi date de pe mai multe tipuri de partiţii. Iată câteva tipuri de partiţii 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 informaţiei pe partiţie este diferit pentru fiecare tip de

partiţie. În subcapitolele următoare se va detalia modul de organizare logică a informaţiei pentru fiecare sistem de operare în parte.

Page 138: Initiere operare pc

138

7.2. Sistemul de operare MS-DOS

Sistemul de operare MS-DOS este o interfaţă simplă între utilizator şi hardware-ul calculatorului. Deşi 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, totuşi datorită simplităţii şi faptului că există o mare diversitate de programe scrise pentru acest sistem de operare, MS-DOS rămâne unul din cele mai populare sisteme de operare.

În dezvoltarea sa, proiectanţii sistemului de operare MS-DOS s-au inspirat din cele mai răspândite două sisteme de operare la momentul respectiv: CP/M, unanim acceptat pe microcalculatoarele pe 8 biţi ş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 independenţei faţă de echipament, realizată prin introducerea BIOS-ului (Basic Input Output System), numele unor comenzi (ERA, DIR, TYPE etc.), parţial modul de organizare a informaţiei pe disc etc.

De la UNIX s-a împrumutat structura arborescentă a sistemului de fişiere, înlănţuirea unităţilor de alocare pe disc ( "clusters") ale unui fişier, ideea folosirii propriului interpretor de comenzi ( Shell ) etc.

Caracteristicile principale ale sistemului de operare MS-DOS sunt : - lucrează cu un singur utilizator, rulând un singur program la un moment dat (sistem de

operare monouser - monotasking ); - proceduri avansate de detecţie a erorilor; - dispozitive de intrare / ieşire independente, MS-DOS asignând un nume de fişier

rezervat fiecărui echipament de intrare / ieşire; - realocabilitatea completă a programelor, fiind posibilă rularea aceluiaşi program de

la mai multe adrese de încărcare; - structură de fişiere eficientă şi rapidă; - contabilizarea datei şi timpului.

7.2.1. Sistemul de fişiere. Structura discului sub MS-DOS.

Sistemul de operare este programul care intră în funcţiune atunci când calculatorul este pus sub tensiune. Sistemul de operare MS-DOS are trei părţi componente:

- interpretorul de comenzi, conţinut în fişierul COMMAND.COM;

Page 139: Initiere operare pc

139

- fişierul DOS.COM, care mai poate fi găsit şi sub alte denumiri: MSDOS.SYS sau IBMDOS.COM depinzând de versiunea sistemului de operare;

- fişierul BIO.COM (sau IO.SYS, IBMBIO.COM), care conţine o parte a sistemului de intrări / ieşiri 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 atenţie a fost acordată organizării fişierelor pe aceste tipuri de dispozitive de memorie externă. Atât discurile flexibile cât şi discurile de mare capacitate ( hard disks ) au aceeaşi organizare sub MS-DOS.

Pe discul magnetic, informaţia (programe sau date necesare acestor programe) este stocată în fişiere. Fişierul reprezintă acelaşi lucru pentru discul magnetic, pe care îl reprezintă o carte pentru o bibliotecă.

Fiecare fişier are un identificator de fişier (sau nume) asociat, compus din două câmpuri:

- nume (filename) - format din 1..8 caractere alfanumerice, mai puţin caracterele . " \ / : | < > + = ;

- extensie (extension) - format din maximum 3 caractere alfanumerice, mai puţin caracterele date mai sus.

În cadrul identificatorului de fişier, cele două câmpuri sunt scrise împreună şi despărţite de caracterul "." (punct).

Câmpul extensie desemnează, de regulă, tipul fişierului. Există extensii standard recunoscute de MS-DOS, cum ar fi: COM, EXE pentru programe executabile, BAT pentru fişiere de comenzi, SYS pentru drivere sistem etc., şi extensii adoptate prin tradiţie de utilizatorii sistemului de operare MS-DOS, cum ar fi: PAS pentru fişiere sursă PASCAL, C pentru fişiere sursă C, ASM pentru fişiere sursă scrise în limbaj de asamblare, DOC pentru fişiere documentaţie etc.

Numele fişierului împreună cu toate informaţiile necesare accesului la fişier, cum ar fi: nume, extensie, data şi ora la care a fost creat fişierul, informaţii de regăsire a fişierului pe disc (numărul sectoarelor ocupate de fişier pe disc) etc., sunt conţinute într-un catalog sau director, la fel cum numele tuturor cărţilor dintr-o bibliotecă, împreună cu informaţiile de regăsire a acestora în bibliotecă, sunt conţinute într-un catalog sau index al bibliotecii respective.

Deci, mai multe fişiere pot fi reunite formând un director, care la rândul lui are un nume şi o extensie la fel ca orice fişier. Într-un director se pot găsi fişiere, precum şi unul sau mai multe directoare (subdirectoare), care la rândul lor pot să conţină alte fişiere sau subdirectoare ş.a.m.d. Aşadar, 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 rădăcină.

Page 140: Initiere operare pc

140

Un exemplu de organizare a discului sub forma unui arbore de subdirectoare este arătat î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 văzut ca o mulţime de fişiere grupate într-o

structură arborescentă de directoare, din punct de vedere fizic, informaţia este scrisă pe disc de-a lungul unor cercuri concentrice, numite piste, fiecare pistă fiind împărţită în sectoare cu dimensiunea de 512 octeţi. Capul de citire/scriere al unităţii de disc se mişcă de la o pistă la alta în timp ce discul se roteşte, permiţând astfel capului de citire/scriere să găsească locul din / în care trebuie să citească sau să scrie. Mai multe amănunte 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 partiţie hard) este "văzut" ca o secvenţă continuă de sectoare logice, începând cu sectorul logic 0. Aşa cum s-a arătat în capitolul precedent, discul fix (hard disk-ul) poate fi împărţit în mai multe partiţii logice, care pot fi utilizate ca discuri independente, ca şi cum am dispune de mai multe hard disk-uri de capacitate mai mică.

Orice fişier conţine unul sau mai multe sectoare. În sistemul de operare MS-DOS, nu este necesar ca un fişier să ocupe un spaţiu contiguu pe disc (sectoarele fişierului respectiv să fie situate unul după altul), gestiunea spaţiului pe disc făcându-se prin intermediul tabelei de alocare a fişierelor - FAT (File Allocation Table).

Din punct de vedere funcţional, un disc este împărtit în 4 zone: - BOOT - zonă în care se găseşte programul de încărcare al sistemului de operare,

localizată în sectorul logic 0 al discului flexibil, sau în sectorul logic 0 al partiţiei DOS active, în cazul discurilor hard.

- DIR - zonă în care se găseşte directorul rădăcină, organizată sub forma unui tabel, fiecare intrare în tabel (linie din tabel), de 32 de octeţi, conţinând toate informaţiile despre un fişier. De exemplu, în octeţii 0-7 ai intrării corespunzătoare unui fişier se găseşte numele (filename) fişierului, în octeţii 8-10 extensia fişierului, în octeţii 22-23 timpul la care a fost creat sau modificat ultima dată fişierul, în octeţii 24-25 data creării sau ultimei modificări a fişierului, în octeţii 26-27 numărul primului cluster al fişierului, în octeţii 28-31 dimensiunea

Page 141: Initiere operare pc

141

fişierului în octeţi etc. Directorul rădăcină are un număr limitat de intrări, depinzând 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 fişier care conţine o asemenea tabelă, cu structura dată mai sus,

numărul de intrări în tabelă nefiind limitat. - FAT - zonă în care se găseşte tabela de alocare a fişierelor. Pentru siguranţă, se

păstrează două copii ale tabelei de alocare a fişierelor, astfel încât atunci când una din tabele este distrusă, se poate folosi cealaltă tabelă, prevenindu-se pierderea informaţiei de pe tot discul, prin distrugerea informaţiei de alocare a discului din FAT.

- FILE - zonă în care vor fi plasate fişierele de pe disc. La începutul acestei zone se găsesc fişierele sistem IO.SYS şi MSDOS.SYS, care ocupă şi primele două poziţii în directorul rădăcină.

MS-DOS împarte spaţiul pe disc în unităţi de alocare sau cluster-e. Numărul de sectoare conţinute într-un cluster depinde de tipul şi capacitatea discului magnetic. Pentru discurile flexibile simplă faţă, un cluster conţine un singur sector; pentru discurile flexibile dublă faţă, un cluster conţine două sectoare etc. Cluster-ele sunt numerotate în funcţie de poziţia fizică ocupată de acestea pe disc. Primul cluster de pe disc va conţine primul sau primele sectoare situate după directorul rădăcină. În figura următoare 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 rădăcină sau într-un subdirector) conţine 32 de

octeţi. În octeţii 26 şi 27 ai intrării în director corespunzătoare unui fişier se găseşte numărul primului cluster ocupat de fişier pe disc. Numărul celui de-al doilea cluster al fişierului este găsit în intrarea din tabela de alocare a fişierelor, cu acelaşi număr ca şi numărul primului cluster; numărul celui de-al treilea cluster este găsit tot în FAT, în intrarea cu numărul egal cu numărul celui de-al doilea cluster al fişierului ş.a.m.d.

O intrare în FAT conţine 2 octeţi (FAT16) în cazul discurilor hard şi 1,5 octeţi în cazul discurilor flexibile. Proiectanţii sistemului de operare MS-DOS au decis să folosească numai 1,5 octeţi în cazul discurilor flexibile, deoarece pe 2 octeţi pot fi codificate 65536 de numere

Page 142: Initiere operare pc

142

care indică cluster-e pe disc şi, evident, un disc flexibil nu poate să conţină atât de multe cluster-e. Astfel, tabela de alocare a fişierelor va ocupa mai puţin spaţiu 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 biţi (FAT32).

Valorile conţinute de o intrare în FAT împreună cu semnificaţiile lor sunt date în următoarea tabelă:

Valoare Semnificaţie (0)000 Cluster disponibil (F)FF0-(F)FF6 Cluster rezervat (F)FF7 Cluster defect (F)FF8-(F)FFF Ultimul cluster al unui fişier (X)XXX Cluster ce aparţine unui lant

În concluzie, orice fişier de pe disc conţine unul sau mai multe cluster-e (fiecare cluster

fiind compus din unul sau mai multe sectoare), înlănţuite prin intermediul tabelei de alocare a fişierelor, numărul primului cluster din lanţ fiind conţinut în intrarea corespunzătoare din directorul în care se află fişierul respectiv. Intrarea din FAT cu numărul ultimului cluster al fişierului va conţine o valoare între FFF8H şi FFFFH pentru discurile hard, şi o valoare între FF8H şi FFFH în cazul discurilor flexibile, ceea ce specifică sfârşitul lanţului de cluster-e ale fişierului, această valoare nemaindicând un cluster de pe disc.

Pentru a specifica complet un fişier, identificatorul de fişier, format din nume şi extensie, trebuie completat cu numele unităţii de disc şi numele subdirectorului în care se află fişierul. De fapt se specifică o cale de acces (path), indicându-se modul de parcurgere al arborelui de subdirectoare, de la directorul rădăcină la subdirectorul în care se găseşte fişierul. Calea de acces se specifică prin scrierea numelor de subdirectoare în ordine, despărţite de caracterul "\". Directorul rădăcină se specifică tot prin caracterul "\".

Numele unităţii de disc, pe care se găseşte fişierul, poate fi A sau B în cazul discurilor flexibile, şi C sau o altă literă, pentru discul fix sau o partiţie logică pe discul fix.

Astfel, identificatorul complet al unui fişier este : [d:][path]filename[.ext]

unde: d - este numele unităţii de disc pe care se află fişierul, path - este calea de acces din directorul rădăcină în subdirectorul în care se află

fişierul, filename - este numele fişierului, ext - este extensia fişierului.

Page 143: Initiere operare pc

143

Elementele din paranteză sunt opţionale, deci pot să lipsească. Sistemul de operare MS-DOS ţine evidenţa a două valori: disc implicit şi director curent, care pot fi modificate cu ajutorul comenzilor MS-DOS, şi care înlocuiesc primele două câmpuri din identificatorul complet de fişier, atunci când acestea nu sunt specificate. Directorul curent este directorul unde MS-DOS caută fişierele al căror identificator de fişier a fost introdus fără specificarea directorului în care se găsesc fişierele respective. Analog, discul implicit este reprezentat de numele discului flexibil sau al discului fix (partiţiei logice, dacă discul fix este partiţionat în mai multe partiţii logice) pe care MS-DOS caută fişierele, atunci când unitatea de disc nu este specificată în identificatorul de fişier.

Exemple: A:\DOS\FORMAT.EXE - specifică fişierul FORMAT.EXE din subdirectorul DOS al

directorului rădăcină, de pe discul A. C:\USERS\VLAD\TEXT.TXT - specifică fişierul TEXT.TXT din subdirectorul VLAD

al subdirectorului USERS, al directorului rădăcină de pe discul fix C. B:PROGRAM.COM - specifică fişierul PROGRAM.COM din directorul rădăcină al

discului B. \DOS\FORMAT.EXE - specifică fişierul FORMAT.EXE din subdirectorul DOS al

directorului rădăcină, de pe discul implicit. PROG1.COM - specifică fişierul PROG1.COM din directorul curent al discului

implicit. În afară de nume, extensie, mărime fişier, data şi ora ultimei modificări, informaţii de

regăsire a fişierului pe disc etc., în intrarea din director corespunzătoare unui fişier se memorează şi atributele fişierului (codificate în octetul numărul 11 din intrare), care pot fi:

- R - Read only - ce specifică faptul că fişierul nu poate fi decât citit, şi nu poate fi modificat sau şters.

- A - Archive - utilizat de comenzile BACKUP, RESTORE, XCOPY, pentru a marca dacă fişierul a fost sau nu procesat de către o comandă anterioară.

- S - System - precizează faptul că fişierul aparţine sistemului de operare, şi nu trebuie utilizat în operaţii curente.

- H - Hidden - determină neafişarea numelui fişierului la comanda DIR, şi face ca fişierul să nu fie disponibil la comenzile COPY, DEL etc.

Modificarea atributelor unui fişier se poate face cu comanda ATTRIB, care poate modifica numai primele două atribute, precum şi cu ajutorul interfeţelor grafice utilizator NORTON COMMANDER, XTG, PCSHELL, DOSSHELL.

MS-DOS simplifică operaţiile de intrare/ieşire cu diferite echipamente periferice, asignând un nume de fişier rezervat fiecărui echipament de intrare/ieşire. Deci, fiecare echipament de intrare/ieşire este "văzut" ca un fişier cu un nume special. De exemplu, fişierul cu numele CON reprezintă consola sistemului (ansamblul tastatură - ecran), fiind posibilă

Page 144: Initiere operare pc

144

afişarea unui text pe ecran prin scrierea textului respectiv în fişierul text CON, în acelaşi fel în care se scrie un text în oricare alt fişier text.

Aceste nume rezervate nu pot fi folosite ca nume de fişier obişnuit, ele având un înţeles special pentru sistemul de operare, care rezervă identificatorii respectivi pentru echipamentele de intrare/ieşire.

Acestea sunt : - CON - pentru consola sistemului; - AUX sau COM1 - pentru interfaţa serială de comunicaţie numărul 1; - COM2, COM3, COM4 - pentru interfeţele seriale 2, 3, 4; - PRN sau LPT1 - pentru prima imprimantă (interfaţă) paralelă; - LPT2, LPT3, LPT4 - pentru interfeţele 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 fişier, în cadrul

unei comenzi DOS.

7.2.2. Lansarea sistemului de operare La punerea sub tensiune, se execută instrucţiunea de la adresa fizică FFFF0H, pentru

sistemele cu microprocesor I8086 (FFFFF0H la I80286, şi FFFFFFF0H la I80386 şi I80486), unde se găseşte un salt necondiţionat în ROM-BIOS-ul calculatorului; acea parte din BIOS-ul sistemului de operare rezidentă în memoria ROM a calculatorului. Programul din această memorie efectuează următoarele actiuni:

- scrie şi citeşte toată memoria RAM pentru depistarea eventualelor erori; - testează componentele principale ale sistemului: discurile, tastatura etc.; - citeşte microcomutatoarele (switch-urile) la calculatoarele IBM PC/XT, sau memoria

CMOS la celelalte variante de calculatoare IBM, pentru a determina configuraţia curentă: dimensiunea memoriei RAM existente în sistem, numărul şi tipul unitătilor de disc, tipul interfeţei grafice etc.

După toate aceste operaţii, programul din ROM-BIOS încarcă programul încărcător al sistemului de operare (secvenţa BOOT), din sectorul 0, pista 0, fata 0 a primei unităţi de disc flexibil, dacă există un disc sistem în această unitate, dacă nu încarcarea secvenţei BOOT realizându-se din sectorul logic 0 al partiţiei DOS active, de pe discul fix. Un disc sistem este un disc care conţine secvenţa BOOT, împreună cu cele 3 fişiere care compun sistemul de operare.

În continuare se dă controlul programului încărcător, care încarcă fişierele IO.SYS şi MSDOS.SYS de pe discul sistem. Fişierele IO.SYS şi MSDOS.SYS sunt invizibile (au atributul hidden) şi nu pot fi copiate, şterse sau manipulate prin comenzi uzuale.

Page 145: Initiere operare pc

145

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 aplicaţie), asigurând un caracter de universalitate celorlalte părţi ale sistemului de operare şi programelor de aplicaţie scrise sub MS-DOS. O dischetă sistem poate fi folosită pe orice calculator personal compatibil IBM, indiferent de configuraţia 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 operaţiile prin intermediul BIOS-ului, se poate executa pe orice maşină MS-DOS, indiferent de configuratia hardware a acesteia. Deci funcţiile BIOS-ului nu se rezumă numai la etapa de iniţializare a sistemului de operare, BIOS-ul controlând direct toate operaţiile echipamentelor calculatorului: tastatură, ecran, imprimantă, discuri etc.

Cea de-a doua parte a sistemului de operare, rezidentă în fişierul MSDOS.SYS, conţine proceduri pentru tratarea din punct de vedere logic (la un nivel superior nivelului fizic, de bază) a operaţiilor şi resurselor sistemului. Aceste proceduri apelează la rândul lor proceduri BIOS, configuraţia hardware concretă fiind transparentă la acest nivel.

Interpretorul de comenzi, conţinut în fişierul COMMAND.COM, citeşte comenzi de la tastatură sau dintr-un fişier de comenzi, după care, dacă comanda este o comandă externă (neconţinută în fişierul COMMAND.COM, cum ar fi comenzile: DIR, ERA, TYPE etc.), încarcă de pe disc un fişier cu acelaşi nume ca şi numele comenzii, şi cu extensia COM, EXE sau BAT. Dacă fişierul este COM sau EXE, se dă controlul programului respectiv, dacă fişierul are extensia BAT, deci este un fişier de comenzi MS-DOS, se execută rând pe rând comenzile din fişier.

La iniţializarea sistemului de operare, după încărcarea primelor două fişiere, se caută pe discul din care a fost încărcat sistemul, în directorul rădăcină, un fişier de configurare numit CONFIG.SYS. Dacă este găsit, acesta va fi citit, şi comenzile conţinute în acest fişier vor fi interpretate, configurând sistemul de operare cu anumiţi parametri. Dacă CONFIG.SYS nu este găsit, sistemul de operare este configurat cu valorile implicite ale comenzilor de configurare.

După configurarea sistemului este încărcat cel de-al treilea fişier - COMMAND.COM, care preia controlul şi, în primul rând, încearcă încărcarea (din directorul rădăcină al discului sistem) şi execuţia unui fişier de comenzi numit AUTOEXEC.BAT. Dacă fişierul este găsit, sunt executate rând pe rând comenzile din AUTOEXEC.BAT, după care se afişează prompter-ul sistem (de exemplu C:⟩ ) şi se aşteaptă introducerea unei comenzi de la tastatură. Deci, fişierul AUTOEXEC.BAT ne permite să lansăm programe, sau să executăm anumite comenzi automat, ori de câte ori se încarcă sistemul de operare.

7.2.3. Configurarea sistemului de operare

Page 146: Initiere operare pc

146

Fişierul CONFIG.SYS este un fişier text, care conţine comenzi de configurare a sistemului de operare MS-DOS cu anumiţi parametri, comenzile adăugate sau modificate în fişierul CONFIG.SYS devenind active la următoarea lansare a sistemului de operare.

Principalele comenzi de configurare sunt următoarele: 7.2.3.1 Comanda BREAK Sintaxa: BREAK = ON|OFF Implicit BREAK = OFF Cu ajutorul opţiunii OFF se poate abandona programul în execuţie, prin apăsarea

simultană a tastelor CTRL şi BREAK, numai în momentul când acesta execută o operaţie cu tastatura, ecranul, imprimanta standard (PRN) sau adaptorul de comunicaţie COM1. Opţiunea ON determină abandonarea programului prin CTRL-BREAK, la următorul apel de funcţie sistem după CTRL-BREAK, nu neapărat la o funcţie sistem ce foloseşte dispozitivele de mai sus. Funcţiile sistem sunt unităţi program conţinute în sistemul de operare, şi care sunt apelate de programele din sistem pentru realizarea operaţiilor de intrare/ieşire sau a altor operaţii de bază.

7.2.3.2 Comanda BUFFERS Sintaxa: BUFFERS = n [,m] [/x] n - este un număr între 1 şi 99, ce reprezintă numărul buffer-elor ce vor fi deschise de

sistem la lansarea acestuia; m - este un număr, ce reprezintă numărul maxim de sectoare ce pot fi citite/scrise într-

un 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

operaţiile de citire/scriere cu discul. Sistemul de operare MS-DOS lucrează cu discul magnetic la nivel de sector, adică scrie sau citeşte sectoare pe sau de pe disc. Dacă, de exemplu, un program doreşte să scrie sau să citească un număr de octeţi 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 găseşte într-unul din buffer-e, acesta va fi citit şi adus într-un buffer, după care se face transferul în sau din buffer.

Numărul de buffer-e deschise simultan în memorie influenţează timpul de lucru cu discul magnetic, şi deci viteza de execuţie a aplicaţiilor. Pentru un program care utilizează frecvent discul în operaţii de citire/scriere este indicat un număr cât 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, crescând numărul de buffer-e, creşte timpul de căutare în buffer-e şi acesta poate deveni comparabil cu timpul de acces la disc.

Deci nu există un număr standard de buffer-e care să satisfacă toate aplicaţiile, acesta se determină prin încercări, în funcţie de aplicaţie şi de dimensiunea memoriei RAM disponibile.

Page 147: Initiere operare pc

147

7.2.3.3 Comanda COUNTRY Sintaxa: COUNTRY = xxx [, [yyy] [, [ d: ]filename]] xxx - codul ţării yyy - pagina de cod (vezi comanda KEYB) filename - numele fişierului care conţine informaţii despre ţara xxx. Prin această comandă se specifică sistemului de operare setul de caractere pe care

dorim să-l utilizăm. Dacă în fişierul CONFIG.SYS nu se foloseşte comanda COUNTRY, se consideră implicit setul de caractere folosit în SUA. Dacă nu se specifică nici un nume de fişier prin filename, se vor lua informaţiile despre ţara xxx din fişierul COUNTRY.SYS.

7.2.3.4 Comanda FILES Sintaxa: FILES = X unde X - este un număr între 8 şi 255. Implicit X este 8. Prin această comandă se specifică numărul maxim de fişiere ce pot fi deschise simultan.

Înainte de orice operaţie cu un fişier, sistemul de operare trebuie să deschidă acel fişier. La deschiderea fişierului, MS-DOS construieşte blocul de parametri pentru acel fişier, în zona proprie de memorie rezervată la lansarea sistemului de operare. Deci, numărul de fişiere 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 încărcat şi plasat în memorie în locul lui COMMAND.COM. filename - numele fişierului care conţine interpretorul de comenzi; params - parametrii (linia de comandă) necesari noului interpretor de comenzi. De exemplu, prin comanda SHELL = C:\DOS\XTG se specifică folosirea interfeţei

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 fişier ce conţine un driver de intrare/ieşire,

care va fi încărcat în memorie odată cu sistemul de operare. Un driver este un program care controlează toate operaţiile cu un dispozitiv de intrare/ieşire. Toate celelalte programe care doresc să lucreze cu dispozitivul de intrare/ieşire respectiv , vor apela driver-ul de intrare/ieşire corespunzător.

filename - specifică fişierul ce conţine driver-ul de intrare/ieşire, params - parametrii (sau opţiunile) acceptaţi de driver-ul de intrare/ieşire. La încărcarea 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 când avem un nou dispozitiv (scaner, mouse

Page 148: Initiere operare pc

148

etc.) sau când vrem să schimbăm driver-ele standard încărcate automat la lansarea sistemului de operare, va trebui să specificăm, printr-o comandă DEVICE, fişierul ce conţine 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 funcţii extinse pentru ecran şi tastatură.

Prin intermediul unor secvenţe de caractere, care încep cu caracterul ESC, sunt disponibile funcţii 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 unităţi 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 când ar lucra cu un disc magnetic. Viteza de acces la date va fi mult mai mare, sistemul accesând informaţiile de pe disc la aceeaşi viteză ca şi datele din memoria internă, dar există riscul pierderii conţinutului discului virtual în cazul unei blocări a sistemului.

SMARTDRIVE.SYS - permite accelerarea transferului de date între memoria RAM şi discul magnetic, fiind util în aplicaţiile care lucrează cu multe fişiere, şi ducând la o creştere a vitezei de execuţie a acestor aplicaţii de până 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 specificaţiile 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 când se foloseşte driver-ul de memorie extinsă HIMEM.SYS.

SERPRN.SYS - driver de comunicaţie serială care utilizează protocolul XON|XOFF. Pentru o mai bună înţelegere, este necesară lămurirea unor noţiuni 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 funcţionau pe baza

Page 149: Initiere operare pc

149

microprocesoarelor 8086/8088, ce utilizau 1Mb de RAM. Însă, datorită avansului tehnologic, memoria fizic disponibilă în PC-urile actuale a crescut simţitor, iar sistemul de operare MS-DOS nu a evoluat odată cu calculatoarele. Astfel, au apărut secvenţe suplimentare de software, pentru a permite sistemului de operare şi aplicaţiilor rulate pe el, accesul la memoria peste limita de 640Kb. Aceste drivere de memorie se numesc “memory managers”. Există următoarele tipuri de zone de memorie sub sistemul MS-DOS:

- Memoria convenţională - este zona de memorie cuprinsă între adresele 0Kb şi 640Kb, pe care sistemul de operare o utilizează în operaţiile obişnuite. Zona de memorie cu adrese între 640Kb şi 1Mb este rezervată de sistemul de operare, pentru funcţii primitive ale adaptorului video, controlerului de disc, scanner, funcţii ROM-BIOS etc. (vezi figura 7.2.2).

- Memoria expandată - este o zonă de memorie situată în afara memoriei convenţionale, între 640Kb şi 1Mb, conţinând ferestre de memorie din această zonă neocupate de sistemul de operare (BIOS), şi în care se translatează pagini din memoria extinsă.

Odată cu apariţia procesoarelor 80286, memoria fizic adresabilă a crescut la 16Mb. Deoarece MS-DOS nu permitea accesul decât la primii 640Kb, o idee (copiată de la CP/M) a fost de a folosi o porţiune (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 mărire a spaţiului 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 căpătat 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 plăci 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, putând ocupa zona dintre 640Kb şi 1Mb, neocupată de componentele sistemului de operare ce se găsesc în această zonă (vezi figura 7.2.3). Principiul de funcţionare este reprezentat de o zonă de memorie variabilă neocupată, din spaţiul 640Kb - 1Mb, în care se translatează succesiv pagini din memoria ataşată fizic suplimentar. - Memoria extinsă - este zona de memorie situată dincolo de 1Mb, şi pe care MS-DOS o

foloseşte pentru anumite scopuri precise, cum ar fi: instalarea unui RAM-disc, operaţii BIOS etc. Această memorie este folosită în modul protejat al procesoarelor x86 sub sistemele Windows şi OS/2.

Page 150: Initiere operare pc

150

Figura 7.2.2. Memoria convenţională

Figura 7.2.3. Memoria expandată

MEMORIA CONVENŢIONALĂ

MS-DOS

Drivere pentruperiferice

COMMAND.COM

Memorie liberă

0 640KB

Video monocrom

Video color

Interfaţă disc dur

ROM BIOS

MEMORIA EXPANDATĂ

memorie MS-DOS

0 640KB

ROM BIOSBloc de 64KB

Page 151: Initiere operare pc

151

Figura 7.2.4. Memoria extinsă

În calculatoarele mai vechi, memoria de bază era de 1Mb, primii 640Kb fiind folosiţi de

MS-DOS, restul fiind folosit de diverse dispozitive periferice şi ca memorie extinsă. La apariţia 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 spaţiul de memorie peste limita de 1Mb. Acest aspect a complicat accesul la zonele libere de memorie între 640Kb şi 1Mb. Cât spaţiu este disponibil în această zonă, variază de la calculator la calculator, în funcţie de numărul ş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 convenţională.

La apariţia interfeţei Microsoft Windows 3.0, s-a constatat că 64Kb, în plus faţă de normal, erau disponibili pentru aplicaţii. Aceasta se datora unor greşeli în proiectarea procesoarelor 286 şi superioare, descoperindu-se că primii 64Kb de memorie extinsă, peste limita de 1Mb, puteau fi accesaţi, această zonă fiind cunoscută ca High Memory Area. Astfel, shell-ul sistemului de operare putea fi încărcat în această zonă.

7.2.4. Crearea fişierelor de comenzi. Fişierul AUTOEXEC.BAT. Un fişier lot de lucrări (fişier batch) este un fişier text ce conţine una sau mai multe

comenzi DOS, care se execută împreună. Aceste fişiere de tip batch trebuie să aibă extensia BAT. Pentru executia fişierului batch, se introduce de la tastatură numai numele fişierului, fără extensie.

De fiecare dată când este lansat sistemul de operare, după ce se încarcă fişierul COMMAND.COM, acesta preia controlul şi încearcă încărcarea unui fişier de comenzi, numit AUTOEXEC.BAT, din directorul rădăcină de pe discul din care a fost încărcat sistemul, fişier care conţine comenzile ce se doresc a fi executate automat, de fiecare dată la lansarea sistemului de operare.

MEMORIA EXTINSĂ

memorie MS-DOS

0 640KB 1MB16MB – 2864GB – 386/386

memorie extinsă

Page 152: Initiere operare pc

152

De exemplu, fişierul AUTOEXEC.BAT poate conţine următoarele comenzi: CLS DEL *.BAK XTG

Deci, de fiecare dată când se lansează sistemul de operare, se şterge ecranul, se şterg toate fişierele cu extensia BAK, după care se lansează în execuţie interfaţa utilizator XTG.

În interiorul unui fişier de lucrări se pot include şi parametri fictivi, care vor fi înlocuiţi cu valorile introduse în linia de comandă, prin care se lansează în executie fişierul de comenzi respectiv. De exemplu, dacă avem un fişier de comenzi numit LOT.BAT, şi care conţine următoarele comenzi:

COPY %1.PAS %2.PAS TYPE %2.PAS DEL %1.PAS TYPE %0.BAT

parametrii fictivi %0, %1, %2 vor fi înlocuiţi, în ordine, de parametrii din linia de comandă prin care se execută fişierul de comenzi. Pot fi specificati 10 parametri fictivi în interiorul unui fişier de comenzi ( %0 - %9 ). Parametrul %0 este înlocuit cu numele fişierului de comenzi. Se poate executa fişierul LOT.BAT prin următoarea comandă:

LOT A:PROG1 C:PROG2 Efectul acestei comenzi este execuţia succesivă a următoarelor 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 înlocuiţi, în ordine cu: LOT, OLD, NEW.

Un fişier de comenzi poate fi întrerupt apăsând simultan tastele CTRL şi BREAK, la care sistemul răspunde cu întrebarea:

TERMINATE BATCH JOB (Y/N)? Dacă se răspunde cu Y, restul comenzilor din fişier sunt ignorate; dacă se răspunde cu

N, este abandonată numai comanda aflată în execuţie, după care se continuă cu următoarele comenzi din fişier.

În mod obişnuit, comenzile citite din fişierul de comenzi sunt afişate pe ecran în ordinea execuţiei. Dacă însă fişierul de comenzi conţine o comandă ECHO OFF, acestea nu vor mai fi afişate pe ecran. ECHO ON permite afişarea tuturor comenzilor în ordinea execuţiei lor. ECHO este activ (ON) după fiecare încărcare a sistemului de operare. Comanda ECHO nu are efect asupra mesajelor produse de execuţia comenzilor, care sunt afişate pe ecran indiferent dacă ECHO este ON sau OFF.

Page 153: Initiere operare pc

153

7.2.5. Procesorul de comenzi Procesorul de comenzi COMMAND.COM asigură interfaţa între utilizator şi sistemul

de operare, preluând de la tastatură o linie de comandă terminată cu caracterul ENTER, pe care o depune într-un buffer intern, în vederea analizei şi execuţiei comenzii respective. Primul cuvânt din linia de comandă reprezintă numele comenzii, şi trebuie să fie numele unei comenzi interne sau numele unui fişier cu extensia EXE, COM sau BAT, următoarele cuvinte din linia de comandă fiind parametrii comenzii respective.

Procesorul de comenzi acceptă, ca parametri în linia de comandă, nume generice de fişier. Un nume generic de fişier este un identificator de fişier care conţine 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 fişier (filename) şi al extensiei de fişier.

Exemple: PROG*.* - specifică toate fişierele din directorul curent de pe discul implicit, al căror

nume de fişier începe cu şirul de caractere PROG, se continuă cu orice şir de caractere, şi au orice extensie.

A:\USERS\*.PAS - specifică toate fişierele cu extensia PAS din subdirectorul USERS al directorului rădăcină, de pe discul A.

B:FYLE?.ASM - specifică toate fişierele din directorul rădăcină al discului B, al căror 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 următoarele: CTRL-C sau CTRL-BREAK - încheie execuţia comenzii curente, CTRL-ALT-DEL - reîncarcă (relansează) sistemul de operare, CTRL-P - determină trimiterea informaţiilor afişate pe ecran şi la imprimantă, până

când este tastat următorul caracter CTRL-P, F3 - scoate din buffer linia de comandă sau restul liniei de comandă anterioare, F1 - scoate din buffer următorul caracter al liniei de comandă executate anterior, F2C - scoate din buffer caracterele liniei de comandă anterioare, până la întâlnirea

caracterului C. Ultimele trei caractere de control sunt utile atunci când s-a greşit o comandă, nefiind

necesară tastarea din nou a întregii comenzi. Tot în cadrul liniei de comandă, se mai pot folosi şi următoarele caractere speciale: ⟩ - redirectează ieşirea unui program de la ecran (CON) către un fişier sau alt

dispozitiv de intrare/ieşire. Dacă fişierul exista anterior, se va pierde vechiul conţinut.

Page 154: Initiere operare pc

154

⟩⟩ - redirectează ieşirea unui program de la ecran către un fişier sau un alt dispozitiv de intrare/ieşire. Dacă fişierul există, noile informaţii sunt adăugate la sfârşitul fişierului.

⟨ - redirectează intrarea unui program la un fişier sau alt dispozitiv de intrare/ieşire, în locul tastaturii (CON), programul preluând datele de intrare dintr-un fişier (care poate fi un nume rezervat pentru un echipament de intrare/ieşire) şi nu de la tastatură.

| - cuplează ieşirea unui program cu intrarea altui program. Exemple: DIR A: ⟩ FILE - listează conţinutul directorului rădăcină al discului A, dar nu pe

ecran, ci în fişierul text FILE, care poate fi vizualizat ulterior, de exemplu cu comanda TYPE. Vechiul conţinut al fişierului FILE se pierde, dacă fişierul FILE exista anterior pe disc.

DIR ⟩⟩ FILE - listează conţinutul directorului curent de pe discul implicit, adăugând informaţiile la sfârşitul fişierului FILE, dacă acesta exista anterior pe disc.

TYPE FILE.DAT | PROG - programul PROG va prelucra informaţiile de ieşire ale comenzii TYPE FILE.DAT, respectiv conţinutul fişierului text FILE.DAT va reprezenta intrarea programului PROG.

PROG ⟨ FILE - programul PROG va prelua datele de intrare din fişierul 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ă interfaşa grafică DOS Shell sau o altă interfaţă grafică utilizator: NORTON COMMANDER, PCSHELL, XTGOLD, cu ajutorul cărora, printr-un sistem de meniuri adecvat, se poate "naviga" prin structura de directoare a discului şi, în general, se pot executa majoritatea comenzilor MS-DOS î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 funcţie sistem, ceea ce permite şi întreruperea unui program care efectuează puţine operaţii cu echipamentele standard de intrare/ieşire. Parametrul OFF determină verificarea caracterului CTRL-BREAK numai la operaţiile de intrare/ieşire cu echipamentele standard. Comanda BREAK fără nici un parametru determină afişarea stării curente: ON sau OFF.

7.2.6.2 Comanda CHCP Sintaxa: CHCP [nnn] , unde nnn este un cod numeric zecimal pe 3 cifre.

Page 155: Initiere operare pc

155

Dacă se introduce comanda CHCP fără parametrul nnn, se afişează pagina de cod activă şi paginile de cod pregătite pentru sistem. Dacă se introduce parametrul nnn, acesta trebuie să desemneze una din paginile de cod pregătite 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, indicându-se întreaga cale începând din directorul rădăcină, sau relativ, când se specifică numai subcalea ce începe din directorul curent. Dacă în comandă nu se specifică calea prin path, se va afişa 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, acelaşi efect obţinându-se prin comanda CD D:\USERS\VLAD\PROG. Prin comanda CD .., directorul părinte 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 fişiere. Cu cea de-a doua formă se face concatenarea a două sau mai multe fişiere sursă, despărţite de caracterul "+".

/a - ASCII - copierea are loc până la detectarea caracterului CTRL-Z (orice fişier text se termină cu caracterul CTRL-Z).

/b - binary - determină o copiere binară, lungimea fişierului fiind specificată în intrarea din director corespunzătoare fişierului respectiv.

Orice opţiune /a sau /b rămâne activă pentru toate fişierele ce urmează în linia de comandă, până la întâlnirea unei alte opţiuni /a sau /b.

Page 156: Initiere operare pc

156

/v - verify - determină verificarea corectitudinii copierii, comparând fişierul (sau fişierele) sursă cu fişierul destinaţie.

Exemple: COPY C:\USERS\PROG1.PAS A: - copie fişierul PROG1.PAS din directorul

USERS de pe discul C, într-un fişier cu acelaşi nume şi aceeaşi extensie, în directorul rădăcină al discului A.

COPY *.PAS A:\USERS\*.TXT - copie toate fişierele cu extensia PAS din directorul curent de pe discul implicit, în directorul USERS al discului A, numele fişierelor rămânând neschimbate, în schimb extensia fişierelor schimbându-se din PAS în TXT.

COPY FILE.TXT CON - determină copierea fişierului FILE.TXT la consolă (afişarea fişierului FILE.TXT pe ecran, obţinându-se acelaşi efect ca în urma execuţiei comenzii TYPE FILE.TXT).

Obs: Dacă se omite numele fişierului destinaţie, se păstrează numele fişierului sursă. La concatenare opţiunea implicită este /a, la o copiere obişnuită 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, utilizând comanda COUNTRY sau alte pagini de cod.

7.2.6.7 Comanda DEL Sintaxa: DEL [d:][path]filename.ext[/p] ERASE Comanda şterge fişierul specificat, sau fişierele specificate dacă se foloseşte un nume

generic de fişier. /p - determină cererea confirmării din partea operatorului pentru ştergerea fiecărui

fişier, atunci când se foloseşte un nume generic de fişier. Fişierele cu atributele read-only, hidden, system nu pot fi şterse. 7.2.6.8 Comanda DIR Sintaxa: DIR [d:][path][filename][.ext][/p][/w] Afişează tot conţinutul unui director, sau numai acele fişiere specificate prin

filename.ext. /p - determină suspendarea listării conţinutului unui director atunci când s-a umplut

ecranul. Pentru reluarea listării trebuie apăsată o tastă. /w - determină afişarea numai a numelui şi extensiei fişierelor dintr-un director, fără alte

informaţii despre fişiere, cum ar fi: data şi ora creării sau ultimei modificări, dimensiune etc.

7.2.6.9 Comanda EXIT

Page 157: Initiere operare pc

157

Sintaxa: EXIT Determină încheierea execuţiei procesorului de comenzi COMMAND.COM şi

revenirea în programul din care a fost apelat COMMAND.COM, dacă acesta există. Dacă nu, se rămâne î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 căi de căutare ale fişierelor

executabile. Dacă o comandă nu este găsită în directorul curent, atunci aceasta este căutată în ordine în toate căile introduse prin comanda PATH. Comanda PATH, fără parametri, determină afişarea căilor de căutare introduse printr-o comandă PATH anterioară. Comanda "PATH ;" determină ştergerea tuturor căilor de căutare.

7.2.6.12 Comanda PROMPT Sintaxa: PROMPT [text] Se defineşte un nou prompter al procesorului de comenzi COMMAND.COM.

Prompter-ul este mesajul care apare afişat, atunci când procesorul de comenzi aşteaptă introducerea unei comenzi.

text poate fi orice şir de caractere alfanumerice, care poate conţine şi specificatori de tipul $C, unde C poate fi:

p - ce se înlocuieşte cu directorul curent de pe discul implicit, n - ce se înlocuieşte cu numele discului implicit, g - se înlocuieşte cu caracterul " ⟩ ", l - se înlocuieşte 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 obişnuit D:⟩ _ 7.2.6.13 Comanda RENAME (REN) Sintaxa: REN[AME] [d:][path]filename[.ext] filename[.ext] Schimbă numele fişierului specificat de primul parametru cu numele specificat de cel

de-al doilea parametru. Se pot utiliza nume generice de fişier.

Page 158: Initiere operare pc

158

Exemple: REN *.PAS *.TXT - schimbă extensia tuturor fişirelor 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 când 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ă conţină fişiere. Directorul curent şi directorul rădăcină 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 conţine o zonă de memorie numită zonă context (environment), în care se găsesc toate echivalările de şiruri de caractere introduse prin comanda SET. Aceste echivalări 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 octeţi a zonei context. Dacă se introduce comanda SET fără nume, se vor afişa echivalările curente din zona

context; dacă se introduce SET cu nume dar fără parametru, se şterge din zona context echivalarea şirului de caractere desemnat prin nume.

Exemple: SET TEMP = C:\USERS\TMP - Programele de aplicaţie pot folosi variabila TEMP,

pentru a salva fişierele 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 fără

parametru, se afişează ora curentă, după care se aşteaptă modificarea orei curente. hh - specifică ora (un număr între 0 şi 23) mm - specifică minutele ( un număr între 0 şi 59) ss - specifică secundele ( un număr între 0 şi 59) xx - specifică sutimile de secundă (un număr între 0 şi 99) 7.2.6.17 Comanda TYPE

Page 159: Initiere operare pc

159

Sintaxa: TYPE [d:][path]filename[.ext] Afişează conţinutul fişierului specificat la consolă. Nu se pot folosi nume generice de

fişier. Fişierul specificat trebuie să fie un fişier text. 7.2.6.18 Comanda VERIFY Sintaxa: VERIFY [ON|OFF] VERIFY ON determină sistemul să verifice corectitudinea operaţiilor de scriere pe disc.

Implicit VERIFY este OFF. Dacă se introduce VERIFY fără parametru, se va afişa starea curentă (ON sau OFF) a opţiunii de verificare.

7.2.6.19 Comanda VOL Sintaxa: VOL [d:] Afişează 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 fişiere 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 căutarea fişierelor care nu sunt găsite în directorul curent, dar nu neapărat 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] Căile de căutare sunt separate prin caracterul ";". Dacă se introduce "APPEND ;" se

şterg toate căile de căutare. Comanda APPEND fără nici un parametru determină afişarea căilor de căutare introduse printr-o comandă APPEND anterioară.

/e - determină păstrarea căilor de căutare în zona context a interpretorului de comenzi, ceea ce face posibilă modificarea şi vizualizarea căilor de căutare şi cu comanda SET.

/x sau /x:ON - determină adăugarea căii specificate în lista căilor de căutare pentru programele executabile şi permite folosirea numelor generice de fişiere.

/x : OFF - anulează opţiunea /x:ON /path:OFF - anulează temporar calea (specificată în comandă) de căutare a altor fişiere

decât cele executabile. /path:ON - anulează opţiunea /path:OFF (opţiunea implicită este /path:ON) Exemple: APPEND C:\USERS\321A / x:ON/path:ON

Page 160: Initiere operare pc

160

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 către unitatea Y. Comanda

ASSIGN fără parametru determină anularea tuturor reorientărilor anterioare. Exemple: ASSIGN A=B - în urma acestei comenzi, o comandă DIR A: va avea ca

efect afişarea directorului rădăcină 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ă fişiere de pe un disc pe altul. Se pot folosi nume generice de fişier. /s - determină salvarea tuturor subdirectoarelor inferioare directorului specificat, pe

lângă fişierele din directorul respectiv. /m - determină salvarea numai a fişierelor modificate după ultima utilizare a comenzii

BACKUP. /a - determină adăugarea (şi nu înlocuirea) fişierelor salvate la fişierele de pe discul

destinaţie. /d:date - determină salvarea fişierelor care au fost modificate după o anumită dată. /t:time - determină salvarea numai a fişierelor care au fost modificate după o anumită

oră. /f:size - determină formatarea discului destinaţie î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 fişier catalog, cu extensia LOG. Dacă nu se specifică numele

fişierului catalog, se consideră fişierul BACKUP.LOG de pe discul sursă, din directorul rădăcină. În fişierul catalog sunt trecute numele şi calea tuturor fişierelor salvate, împreună cu numărul în secvenţă al discului pe care a fost salvat fişierul. Prima înregistrare a fişierului catalog conţine data şi ora salvării.

Exemplu: BACKUP C:\USERS\*.PAS A: /s/d:10-09-93/f:1200 - determină salvarea pe

discul A a tuturor fişierelor cu extensia PAS din subdirectorul C:\USERS de pe discul C, precum şi din subdirectoarele inferioare subdirectorului C:\USERS, dar numai acele fişiere care au fost modificate după data 10-09-93, formatându-se în prealabil discul la o capacitate de 1,2Mb.

7.2.7.4 Comanda CHKDSK Sintaxa: CHKDSK [d:][path][filename[.ext]][/f][/v]

Page 161: Initiere operare pc

161

Verifică structura de directoare şi tabela de alocare a discului implicit sau cel specificat în comandă, şi afişează un raport al stării discului. Dacă se specifică un nume de fişier, se va afişa şi numărul zonelor necontigue ocupate de fişier (sau fişiere, dacă s-a utilizat un nume generic de fişier).

/f - determină executarea corecţiilor în director sau tabela de alocare. Fără opţiunea /f se pot analiza rezultatele corecţiilor fără scrierea lor efectivă pe disc (corecţiile sunt simulate).

/v - determină afişarea detaliată a informaţiilor şi erorilor întâlnite. 7.2.7.5 Comanda EXE2BIN Sintaxa: EXE2BIN [d:][path]filename[.ext] [d:][path][filename[.ext]] Converteşte un fişier din format EXE în format imagine memorie (COM). Dacă nu se

specifică extensia celui de-al doilea fişier, se consideră implicit extensia BIN. Extensia implicită a primului parametru este EXE. Fişierele în format EXE sunt fişiere relocabile, fiind posibilă rularea lor de la diferite adrese de încărcare. Fişierele EXE conţin informaţii de relocare, care ajută sistemul de operare să execute relocarea programului respectiv atunci când acesta este încărcat în memorie. Fişierele COM sunt fişiere imagine memorie, fiind încărcate şi rulate numai în zona de memorie pentru care sunt generate adresele din fişier. În schimb, fişierele COM sunt de dimensiune mai mică, deoarece nu conţin informaţii de relocare, şi sunt încărcate mai rapid în memorie de către procesorul de comenzi, care nu mai execută relocarea adreselor programului respectiv.

7.2.7.6 Comanda FDISK Sintaxa: FDISK Partiţionează un disc hard. Comanda pune la dispozitie un sistem de menu-ri adecvat,

care ajută utilizatorul în operaţiile de gestiune a partiţiilor. Dimensiunea maximă a unei partiţii este de 2Gocteţi. Partiţia activă este acea partiţie din care se încarcă sistemul de operare. După partiţionare, fiecare partiţie 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 rădăcină, tabela de alocare a fişierelor, scrie pe disc

programul încărcător al sistemului de operare, şi verifică discul marcând 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 informaţiilor utilizate de către controlerul de floppy disk. La discurile fixe, structura fizică este creată cu ajutorul unor programe ca HDINIT sau FDISK, comanda FORMAT iniţializând numai structura logică a discului. Parametrii comenzii sunt următorii:

/1 - formatare simplă faţă

Page 162: Initiere operare pc

162

/4 - formatare simplă sau dublă faţă în unităti de 1,2Mocteti (numai pentru discuri de 5,25")

/8 - formatare cu 8 sectoare pe pistă /b - bootable - creează spaţiu pe disc pentru fişierele sistem IO.SYS şi MSDOS.SYS,

fără a le plasa pe disc /s - system - copie fişierele sistem ale căror nume sunt găsite în fişierul FORMATS.TBL

de pe discul implicit. Discul formatat trebuie să aibă o capacitate mai mare de 1,2Mocteţi

/t:tracks - specifică numărul de piste al discului ce se formatează /n:sectors - specifică numărul 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 acelaşi

timp cu opţiunile /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,44Mocteţi.

Exemple: FORMAT A: /T:80/N:18/S - formatează discul din unitatea A, cu 18 piste şi 80 de

sectoare pe pistă, copiind fişierele sistem pe noul disc. FORMAT B: /f:1.44/v:VOL1 - formatează discul din unitatea B la capacitatea de

1,44Mocteţi, specificând o etichetă pentru discul respectiv. 7.2.7.8 Comanda GRAPHICS Sintaxa: GRAPHICS [type][profile][/r][/b][/lcd] Permite tipărirea ecranului grafic la imprimantă, atunci când se apasă simultan tastele

SHIFT şi PRTSC. type - specifică tipul imprimantei: COLOR1 pentru imprimantă IBM cu bandă tuşată

neagră şi 4 nuanţe de gri, COLOR4 pentru imprimante IBM cu bandă RGB (Red-Green-Blue-black) etc.

profile - specifică numele fişierului ce conţine informaţii despre imprimantele suportate de sistem. Implicit se folosesc informaţiile din fişierul GRAPHICS.PRO.

/r - reverse - dacă nu se foloseşte această optiune, se tipăreşte alb în loc de negru şi negru în loc de alb.

/b - background - determină tipărirea culorii de fond (numai pentru COLOR4 şi COLOR8)

/lcd - determină tipărirea 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]

Page 163: Initiere operare pc

163

MS-DOS permite schimbarea modului de afişare a datei şi orei curente, a monedelor naţionale 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ă, utilizând comanda KEYB.

MS-DOS poate afişa pe ecran sau tipări 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 fişiere cu extensia .CPI. Pentru fiecare ţară suportată de MS-DOS, există câte două pagini de cod pregătite, astfel încât utilizatorul va trebui să selecteze codul uneia din paginile de cod pregătite pentru ţara respectivă. În totalitate MS-DOS are 6 pagini de cod preparate, care au următoarele coduri:

863 - Canadian-French (conţine caractere ale limbilor engleză şi franceză din Canada) 850 - Latin (conţine caractere pentru majoritatea limbilor latine) 865 - Nordic (conţine caractere englezeşti, daneze şi norvegiene) 860 - Portugese (conţine caractere englezeşti şi portugheze) 437 - United States (conţine caractere englezeşti şi ale majorităţii limbilor europene) 852 - Slavic (conţine 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 naţionale. Pentru a utiliza o pagină de cod preparată, mai întâi trebuie încărcate driver-ele

DISPLAY şi PRINTER prin CONFIG.SYS, care pregătesc ecranul şi imprimanta să accepte alte pagini de cod, apoi trebuie încărcată în memorie pagina de cod ce se doreşte 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 pregătite pentru ţara xx [[d:][path]filename] - specifică fişierul ce defineşte tastatura (implicit

KEYBOARD.SYS) /ID:zzz - specifică tipul tastaturii utilizate. Comanda KEYB încarcă un program pentru tastatură, ce rămâne rezident în memorie.

Dacă nu se introduce nici un parametru, se afişează 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 următor sunt date codurile câtorva ţări, împreună cu paginile de cod pregătite pentru ţările respective.

Cod tastatură Ţara ID Pagini de cod gr GERMANIA 129 437,850

Page 164: Initiere operare pc

164

us SUA 103 437,850 fr FRANŢA 120/189 437,850 df DANEMARCA 159 865,850 Exemplu: KEYB fr/120 7.2.7.9 Comanda MEM Sintaxa: MEM [/prog] - afişează programele încărcate în memorie. MEM [/debug] - afişează programele, driver-ele, împreună cu alte informaţii, precum şi zonele rămase libere. 7.2.7.10 Comanda MODE Cel mai adesea comanda MODE este utilizată pentru redirectarea imprimantei paralele

către un port serial. În acest mod se poate efectua o tipărire pe o imprimantă serială, la fel ca pe o imprimantă paralelă, fără nici o altă modificare în software.

Sintaxa: MODE LPTn := COMm Redirectează imprimanta paralelă LPTn către portul serial COMm (n,m = 1, 2, 3, 4 şi

reprezintă numărul portului paralel sau serial). Comanda MODE mai poate fi folosită şi pentru: - stabilirea modului de lucru pentru un port serial: viteză de transmisie, număr biţi de

stop, dacă se foloseşte sau nu un bit de paritate etc.; - configurarea unei imprimante paralele: număr caractere pe linie, număr linii pe inch

etc.; - stabilirea modului de lucru pentru ecran: număr 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 fişierului specificat şi

marchează cluster-ele defecte în FAT, pentru a preveni alocarea ulterioară a acestora. Exemplu: RECOVER FIŞIER.PAS Cea de-a doua formă este folosită când a fost distrusă informaţia din directorul rădăcină,

şi se doreşte recuperarea tuturor fişierelor de pe disc. Se investighează toate lanţurile de cluster-e din FAT, şi se crează câte un fişier cu numele FILEnnnn.REC pentru fiecare lanţ de alocare găsit (nnnn este un număr în secvenţă începând 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 fişiere

pornind de la o arhivă realizată cu comanda BACKUP, pe unul sau mai multe discuri flexibile.

Page 165: Initiere operare pc

165

Primul parametru (d:) specifică unitatea de pe care se face restaurarea. Al doilea parametru reprezintă unitatea pe care se face restaurarea şi eventual fişierele care se restaurează.

/s - se vor restaura şi fişierele din subdirectoarele inferioare directorului specificat. /p - determină cererea confirmării din partea utilizatorului, atunci când se restaurează un

fişier care a fost modificat de la ultima salvare sau care este read-only. /b:date - determină restaurarea tuturor fişierelor modificate înaintea datei specificate. /a:date - determină restaurarea tuturor fişierelor modificate după data specificată /m - determină restaurarea numai a fişierelor şterse sau modificate după ultima salvare. /n - determină restaurarea numai a fişierelor care nu mai există pe discul destinaţie. /l:time - determină restaurarea fişierelor modificate după ora specificată. /e:time - determină restaurarea fişierelor modificate înainte de ora specificată. Exemplu: RESTORE A: C:\ /m/p - determină restaurarea numai a fişierelor modificate din

unitatea de disc A, pe unitatea C, cerându-se confirmarea la fiecare fişier modificat ce se restaurează.

RESTORE A: C:\USERS\*.TXT - se restaurează din unitatea A numai fişierele provenite din subdirectorul C:\USERS şi care au extensia TXT.

7.2.7.13 Comanda SYS Sintaxa: SYS d: Determină copierea fişierelor sistem IO.SYS şi MSDOS.SYS de pe unitatea implicită,

pe cea specificată în comandă. Aceste fişiere nu pot fi copiate cu ajutorul comenzilor COPY şi XCOPY, la fel ca orice fişier obisnuit.

7.2.7.14 Comanda TREE Sintaxa: TREE [d:][path] [/f][/a] Se listează căile arborelui de directoare de pe discul specificat şi, opţional, numele

fişierelor din fiecare subdirector. /f - listează şi numele fişierelor din subdirectoare /a - se vor utiliza în afişare caracterele semigrafice disponibile în paginile de cod. 7.2.7.15 Alte comenzi externe: - ATTRIB - modifică sau afişează atributele fişierelor (numai read-only şi archive). - COMP - compară conţinutul a două fişiere. - COMMAND - pune în funcţiune un nou procesor de comenzi. - DISKCOMP - compară conţinutul a două discuri flexibile. - DISKCOPY - copiază întreg conţinutul unui disc flexibil pe un alt disc flexibil. - FASTOPEN - permite localizarea mai rapidă a fişierelor, crescând viteza aplicaţiilor

ce lucrează cu multe fişiere.

Page 166: Initiere operare pc

166

- JOIN - conectează o unitate de disc la o cale specificată de pe o altă unitate, creându-se o singură structură de directoare pentru cele două unităţi. Unităţile nu vor mai fi denumite astfel prin litere distincte.

- LABEL - crează, modifică sau şterge eticheta de volum. - PRINT - tipăreşte fişiere text la imprimantă, în timp ce se execută alte comenzi. - SHARE - permite partajarea fişierelor între mai mulţi utilizatori, atunci când se

lucrează în reţea.

Page 167: Initiere operare pc

167

7.3. MICROSOFT Windows 95

Windows95 poate fi instalat de pe dischete, CD-ROM, sau prin intermediul suportului

de reţea. Pentru instalare, sistemul foloseşte un asistent inteligent sau “wizard” (“vrăjitor” în limba engleză), ce este un program cu interfaţă grafică, proiectat pentru a conduce instalarea sistemului pe calculator. Acest “wizard” realizează majoritatea operaţiunilor de detecţie a diverselor dispozitive periferice (plăci video, plăci de sunet, unităţi CD-ROM, modemuri etc.) prezente în calculator sau conectate, respectiv construieşte şi aranjează directoarele necesare sistemului. Prin intermediul unui dialog permanent cu utilizatorul, programul de instalare îl ghidează pe acesta prin diversele opţiuni, pe care Windows-ul 95 le propune în momentul instalării. La final “wizard”-ul propune repornirea calculatorului, sistemul de operare care va demara fiind Windows 95. Durata instalării este dependentă de opţiunile alese în cadrul “wizard”-ului.

Trebuie ţinut cont de faptul că asistentul de instalare al Windows-ului 95 nu este capabil să creeze partiţii, şi să formateze eventualele partiţii existente. Această operaţiune, dacă se dovedeşte 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 cărei elemente principale vor fi

descrise în continuare. Pe lângă faptul că ecranul oferit de Windows 95 este în mod grafic, ceea ce face sistemul mai uşor de utilizat şi înţeles, întreaga interfaţă poate fi controlată cu ajutorul mouse-ului.

Indicatorul (sau cursorul) este o pictogramă prezentă pe ecran, în general de forma unei săgeţi, şi indică prezenţa unui dispozitiv de poziţionare (mouse, trackball, etc.). Este folosit pentru a selecta elemente şi pentru a alege comenzi. Se folosesc câteva metode de lucru cu mouse-ul, după cum urmează:

- clic simplu – reprezintă o apăsare simplă a butonului din stânga al mouse-ului, folosit pentru selectarea unui element grafic pe ecran, alegerea unei opţiuni dintr-un meniu, apăsarea unui buton într-o fereastră sau altele.

- dublu clic – reprezintă apăsarea de două ori, rapid, a butonului din stânga al mouse-ului, şi are de cele mai multe ori ca rol executarea unei comenzi.

- drag & drop – reprezintă apăsarea butonului stânga al mouse-ului deasupra unui element grafic, deplasarea mouse-ului fără a elibera butonul apăsat, poziţionarea cursorului într-o zonă aleasă ca destinaţie şi eliberarea butonului; această tehnică este folosită la

Page 168: Initiere operare pc

168

deplasarea unor entităţi grafice pe ecran, desenarea unor forme în editoarele grafice, efectuarea unor selecţii prin încadrare şi altele.

Se mai foloseşte şi efectuarea unui “clic dreapta”, apăsarea butonului din dreapta al mouse-ului efectuând accesarea unor meniuri de comenzi rapide, sau deschiderea unor meniuri de comenzi locale, în funcţie de aplicaţia folosită.

7.3.1.1. Ferestre Marea majoritatea a aplicaţiilor Windows95 sunt rulate într-o fereastră. În continuare, va fi detaliată structura grafică a acestor ferestre.

Butonul meniului Control

Bare de derulare

Bara de titluBara de meniuri

Bara de stareChenarul ferestrei

Colţul ferestrei

Bara de instrumente

Dosar

Fişier

Butonul de închidere

Butonul de maximizare

Butonul de minimizare

Page 169: Initiere operare pc

169

O fereastră este o zonă dreptunghiulară în care se pot vizualiza fişiere, dosare, sau poate avea un conţinut specific aplicaţiei căreia î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 acelaşi timp, şi unele aplicaţii permit deschiderea mai multor ferestre în interiorul uneia principale.

Elementele (active) comune ale ferestrelor sunt: - Bara de titlu: conţine numele ferestrei, butoanele de control al meniului, de minimizare,

de maximizare sau refacere, şi de închidere; - Bara cu meniuri: conţine meniuri având comenzi şi opţiuni specifice aplicaţiei pornite în

fereastra respectivă; - Butonul de control al meniului: conţine comenzi referitoare la fereastră; - Butonul de minimizare: reduce fereastra la un buton în bara de task-uri; - Butonul de maximizare: măreşte fereastra pentru a ocupa tot ecranul; - Butonul de închidere: închide fereastra şi aplicaţia care rulează în fereastra respectivă; - Chenarul ferestrei: permite redimensionarea ferestrei; - Colţurile ferestrei: permit şi ele redimensionarea ferestrei.

O fereastră Windows mai poate conţine şi următoarele elemente: - Bara de instrumente (toolbar): conţine butoane având desenate instrumente care

reprezintă comenzi rapide. Afişarea ei este opţională. - Bara de stare (status bar): este o bară aşezată orizontal, care descrie câteva proprietăţi ale

conţinutului ferestrei. Afişarea ei este opţională de cele mai multe ori. - Bara de derulare (scroll bar): poate fi orizontală sau verticală şi permite vizualizarea

părţilor ascunse de limitele ferestrei. Ele apar automat atunci când fereastra conţine informaţie ce nu poate fi afişată în chenarul curent.

7.3.1.2. Meniuri

Meniul reprezintă o listă de comenzi înrudite, folosite pentru a executa anumite acţiuni în cadrul aplicaţiilor Windows. Comenzile din meniuri sunt organizate pe grupuri logice. Pentru a executa o comandă dintr-un meniu derulant, se execută un clic stânga pe titlul meniului, pentru a-l deschide, şi apoi se execută un clic stânga pe opţiunea 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

Page 170: Initiere operare pc

170

apasă tasta “Alt”, primul meniu fiind selectat automat. Se pot folosi în continuare tastele cu săgeţi pentru a selecta comanda dorită, după care se apasă “Enter” pentru activarea comenzii. Opţiunea ce se doreşte a fi selectată se poate activa şi apăsând tasta corespunzătoare literei subliniate din titlul comenzii, dacă există.

În meniuri, lângă titlul comenzii este afişată uneori şi comanda rapidă care permite accesul direct la comandă. Comenzile rapide permit selecţia unei comenzi fără ajutorul meniurilor, şi acestea se execută, de cele mai multe ori, prin combinaţii ale tastelor speciale “Alt”, “Shift” sau “Ctrl”.

Atât Windows 95, cât şi multe aplicaţii pentru Windows 95, oferă o varietate de “meniuri scurtătură” (shortcuts), ce conţin comenzile uzuale. Aceste meniuri scurtătură se afişează la executarea unui clic dreapta, deasupra unui obiect sau a suprafeţei de lucru.

7.3.1.3.Casete de dialog

Sistemul Windows 95 şi aplicaţiile Windows folosesc casete de dialog, pentru a schimba informaţii cu utilizatorul. Casetele de dialog cer, de cele mai multe ori, informaţiile necesare, pentru ca programul folosit sau sistemul să poată executa operaţia respectivă. Windows 95 afişează, de asemenea, casete de dialog şi pentru a oferi informaţii despre rezultatul executării unei comenzi.

Casetele de dialog variază în complexitate, depinzând de programul care le generează sau de procedura folosită. Unele cer o simplă confirmare a unei acţiuni care trebuie executată, altele oferă posibilitatea alegerii între numeroase opţiuni.

Componentele întâlnite într-o casetă de dialog sunt următoarele: - Casetă text: oferă posibilitatea introducerii unor caractere de la tastatură (de exemplu,

nume de fişier, calea spre un fişier, etc.)

Page 171: Initiere operare pc

171

- Casetă cu listă: prezintă opţiunile ce pot fi alese; de cele mai multe ori se întâlnesc pe ele şi bare de derulare; selecţia 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, având un buton de derulare la dreapta; la executarea unui clic stânga pe buton, o casetă cu o listă derulantă se deschide pentru afişarea listei de opţiuni; nu permite decât o singură selecţie.

- Butoanele cu opţiuni: prezintă un grup de elemente înrudite din care poate fi ales numai unul; un clic pe una din opţiuni le deselectează pe celelalte.

- Caseta de validare: permite selectarea sau deselectarea unei opţiuni; în cazul validării, un semn apare în dreptul căsuţei; într-un grup de astfel de casete se pot selecta oricâte opţiuni, sau nici una.

- Butonul de comandă: îndeplineşte funcţia care este afişată pe el. (Open, Help, Quit, Cancel, etc.); dacă lângă numele afişat pe buton se găseşte o elipsă (…), apăsarea lui duce la deschiderea unei noi casete de dialog.

- Etichete: reprezintă secţiuni sau pagini multiple ale unei casete de dialog; la un moment dat numai o singură etichetă este afişată, fiecare etichetă conţinând opţiuni înrudite; alegerea unei etichete schimbă opţiunile ce apar în caseta de dialog. Sunt deseori numite şi Tab-uri.

Casetă text

Casetă cu listăderulantă

Buton decomandă

Casetă devalidare

Page 172: Initiere operare pc

172

7.3.1.4. Desktop

Desktop-ul (suprafaţa de lucru) este o porţiune dreptunghiulară din suprafaţa ecranului, care este cel mai îndepărtat strat din ceea ce este afişat pe ecran.

Desktop-ul poate conţine pictograme (denumite şi iconiţe) şi are ca principale

proprietăţi: - culoarea fundalului, care poate fi o singură culoare uniformă sau o imagine; - setarea unui tipar, care poate fi suprapus peste culoarea fundalului;

Casetă devalidare

Butoanecu opţiuni

Etichete

Casetă culistă

Page 173: Initiere operare pc

173

- spaţierea pictogramelor. Proprietăţile desktop-ului pot fi setate executând un clic din dreapta pe suprafaţa sa.

Pictogramele aşezate pe suprafaţa de lucru reprezintă directoare sau dosare (numite folder-e), fişiere şi aplicaţii.

Principalele pictograme standard sunt: My Computer reprezintă conţinutul calculatorului, incluzând discurile fixe, unităţile de dischetă şi de CD-ROM. Sunt incluse de asemenea şi imprimantele care pot fi accesate de calculator (locale sau de reţea), dosarul cu aplicaţiile de configurare a sistemului Windows 95 şi dosarul ce permite configurarea modemului, dacă suportul pentru modem a fost instalat. Network Neighborhood afişează celelate calculatoare aflate în reţeaua locală, din reţele de tip Microsoft (Windows NT sau Windows for Workgroups) sau de alte alte tipuri (Novell). Această iconiţă nu apare decât dacă a fost instalat în Windows 95 şi suportul pentru reţea. Recycle Bin, sau coşul de gunoi, reprezintă un dosar (folder) special ce conţine toate obiectele (fişierele şi directoarele) care sunt şterse din sistem, permiţând recuperarea lor până la o golire explicită a acestuia.

Unele variante de Windows 95 sunt livrate împreună cu pachete de programe pentru

comunicaţie în reţea ş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 aplicaţii (sau bara de task-uri, din eng. taskbar). Aceasta conţine butonul Start, care afişează un meniu din care se poate alege o aplicaţie ce poate fi lansată, un document pentru a fi prelucrat, se poate obţine asistenţă software, şi se pot căuta fişiere pe disc sau se poate închide sistemul Windows 95.

Page 174: Initiere operare pc

174

Bara de aplicaţii mai conţine în partea din dreapta o zonă specială denumită “system tray”, în care este afişată ora sistemului împreună cu iconiţe pentru anumite tipuri de programe, numite rezidente. Acestea se încarcă de obicei la pornirea sistemului Windows 95, şi rulează permanent pe durata unei sesiuni. Spaţiul dintre “tray” şi butonul Start este ocupat de butoane care apar în momentul în care o aplicaţie este pornită. Aceste butoane se autodimensionează şi se pot aranja şi pe mai multe rânduri, în momentul în care sunt prea multe butoane ce trebuie afişate.

Prin efectuarea unui clic din dreapta asupra unui buton din bara de aplicaţii, se deschide

un meniu local corespunzător aplicaţiei, similar de cele mai multe ori cu meniul butonului de control din bara de titlu a aplicaţiei.

Meniul Start este afişat în momentul efectuării unui clic stânga peste butonul cu

acelaşi nume din bara de aplicaţii. Deplasând cursorul de-a lungul meniului se pot apela comenzi directe pentru sistem sau se pot lansa aplicaţii, 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 găsesc următoarele:

- Programs – afişează lista de programe instalate în sistem şi aplicaţiile ce vin cu

Windows 95, unele grupate în meniul Accessories, altele accesibile direct (de exemplu Command Prompt).

- Documents – afişează cele mai recente documente deschise (15); pentru a le accesa repede şi uşor, lansând aplicaţia cu care au fost editate, se execută un clic pe numele documentului.

- Settings – afişează dosarele Control Panel, Printers şi Bara de taskuri pentru personalizarea configurării Windows 95.

- Find – permite căutarea de fişiere, directoare şi/sau calculatoare în reţeaua locală. - Help – afişează informaţii 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ă.

Page 175: Initiere operare pc

175

- Shut Down – afişează caseta de dialog Shut Down prin care se pregăteşte oprirea calculatorului, sau se realizează deconectarea utilizatorului curent, în vederea unei alte sesiuni de lucru, fără a opri calculatorul.

7.3.2. Windows Explorer

Programul Windows Explorer este folosit pentru a organiza informaţia conţinută pe discurile disponibile în sistem, permiţând lucrul cu fişiere: este posibilă schimbare numelui, copierea, mutarea, ştergerea fişierelor şi directoarelor etc. De obicei, Windows Explorer poate fi găsit în meniul Programs al butonului Start.

Windows Explorer este compus în principal din două panouri. Implicit, panoul din stânga afişează structura arborescentă de pe discurile locale, împreună cu câteva directoare speciale. Panoul din dreapta afişează lista cu fişierele şi directoarele, din directorul selectat în panoul din stânga, sau conţinutul unui director special, dacă acesta este selectat.

Elementele ferestrei Windows Explorer: - Bara de titlu: conţine numele ferestrei (Exploring), numele unităţii de disc şi eventual

calea până la directorul selectat în panoul din stânga, butonul meniului de control şi butoanele de minimizare, maximizare/refacere şi de închidere a ferestrei.

- Bara de meniuri: afişează meniuri legate de operaţiile cu unităţi de disc, dosare, fişiere sau reţea.

- Fereastra cu calea unităţii de disc: afişează calea selectată în momentul respectiv în panoul din stânga.

Page 176: Initiere operare pc

176

- Bara de instrumente: oferă diferite instrumente pentru a naviga prin Explorer precum şi accesul la principalele funcţii de lucru cu fişiere.

- Panoul de dosare şi programe: afişează directorul rădăcină sau unitatea de disc sau orice alt director selectat.

- Panoul de fişiere şi subdosare: afişează conţinutul dosarului selectat în panoul din stânga.

- Bara de stare: afişează date statistice, cum ar fi: spaţiul liber pe unitatea de disc selectată, numărul de fişiere din director sau numărul elementelor selectate etc.

Pentru a vizualiza conţinutul 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 corespunzătoare. Pentru a îi ascunde conţinutul se execută un clic pe semnul minus din faţa numelui sau un dublu clic pe zona de ecran ocupată de nume.

În afara numelor fişierelor, se pot vizualiza în panoul din dreapta şi diferite detalii despre fişiere sau directoare. Pentru aceasta se pot folosi butoanele de pe bara de instrumente sau meniul View (Details, de exemplu). Pentru aranjarea conţinutului panoului din dreapta în

Bara de meniuri

Fereastra unităţii de disc

Bara de instrumente

Panoul stânga al dosarelor

Panoul dreapta al subdosarelor şi programelor

Bara de stare

Bara de titlu

Page 177: Initiere operare pc

177

funcţie de nume, tip (extensie), dimensiune sau dată, se poate apela la butoanele care constituie capul tabelului afişat. 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 întâi se poziţionează cursorul de selecţie pe directorul care va fi părinte. Se poate alege apoi din meniul File -> New -> Folder, sau se efectuează un clic dreapta într-o zonă liberă din panoul din dreapta, selectând din meniul de comenzi rapide apărut opţiunea New -> Folder.

Selectarea mai multor fişiere, contigue sau nu în lista afişată, se face cu ajutorul mouse-ului. Pentru a selecta o listă de fişiere sau directoare contigue, se selectează primul element din listă şi ţinând apăsată tasta Shift se execută un clic pe ultimul element din listă. Pentru a selecta mai multe elemente, se ţine apăsată tasta Ctrl şi apoi se execută un clic stânga cu mouse-ul asupra fiecărui element ce se doreşte a fi selectat. Pentru a selecta secvenţe contigue de fişiere şi directoare, şi elemente necontigue, se combină cele două tehnici descrise.

Observaţie: Nu se pot selecta elemente din mai multe directoare simultan. Pentru a lucra cu fişiere (directoare) din mai multe directoare acestea trebuiesc tratate pe rând.

Ştergerea fişierelor şi a directoarelor în Windows 95 presupune mutarea fişierelor într-un dosar special, numit Recycle Bin, (coşul de gunoi). După efectuarea selecţiei asupra elementelor ce trebuie să fie şterse, se poate apăsa butonul de ştergere din bara de

instrumente , se poate alege opţiunea “Delete” din meniul “File”, sau se poate activa meniul de comenzi rapide prin efectuarea unui clic dreapta asupra zonei selectate, alegând din acest meniu “Delete” sau, o a treia variantă pentru ştergere, se poate apăsa tasta Delete. Fişierele şi directoarele şterse pot fi recuperate din Recycle Bin poziţionând selecţia în Windows Explorer asupra icoanei specifice, efectuând apoi un clic dreapta asupra elementelor selectate, şi alegând opţiunea Restore din meniul de comenzi rapide apărut, sau accesând aceeaşi comandă din meniul “File”. Elemente stocate în Recycle Bin există până la golirea explicită a acestuia din meniurile normale sau din cele de comenzi rapide; în cazul în care se depăşeşte dimensiunea alocată Recycle Bin-ului, sunt şterse automat cele mai vechi intrări, cele mai vechi elemente şterse.

Pentru a copia sau deplasa fişiere sau directoare între două zone de hard disc sau între partiţii diferite se foloseşte Clipboard-ul. Acesta reprezintă o zonă temporară de stocare a informaţiilor, în vederea deplasării lor. Pentru copiere se efectuează selecţia elementelor ce trebuiesc deplasate, se alege comanda “Copy” din meniul “Edit”, sau se apasă butonul

corespunzător din bara de instrumente , ceea ce are ca efect plasarea informaţiilor necesare copierii în Clipboard. Se selectează apoi directorul destinaţie şi se alege opţiunea

“Paste” din meniul Edit, sau se apasă butonul Paste din bara de instrumente . Dacă se doreşte redenumirea unui director sau a unui fişier, se selectează numele

corespunzător din listă, şi se alege, din meniul “File” sau din meniul de comenzi rapide,

Page 178: Initiere operare pc

178

opţiunea “Rename”. Se introduce apoi direct în listă numele nou al fişierului, sau al directorului, în caseta text editabilă apărută.

Copierea şi mutarea fişierelor se mai poate realiza folosind tehnica Drag & Drop cu ajutorul mouse-ului. Se selectează elemente ce trebuiesc deplasate, şi apoi se trage toată selecţia făcută deasupra directorului destinaţie, indiferent de panoul în care se află acesta. Dacă în timpul deplasării se menţine apăsată 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 “scurtături” (“shortcuts” - numite şi comenzi rapide) spre fişiere (de orice natură) sau directoare. Acestea reprezintă doar o legătură spre fişierul original şi permite accesul rapid la directorul sau fişierul respectiv. O legătură spre un fişier sau director se recunoaşte imediat prin săgeata mică din colţul din stânga jos alăturată pictogramei originale. Putem considera că aceste comenzi rapide sunt echivalente cu un buton care permite accesul direct la fişierul, directorul sau la aplicaţia 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 fişierul ţ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 funcţionalităţii interfeţei grafice, mergând până la posibilitatea configurării unor dispozitive periferice. Apare sub forma unei ferestre în care se găsesc mai multe pictograme, fiecare lansând o aplicaţie asociată cu tipul ajustărilor dorite. Acestea vor fi descrise în linii mari în continuare.

Control Panel-ul poate fi accesat în mai multe feluri: - efectuând un clic în opţiunea Settings a meniului Start; - efectuând un dublu clic în Windows Explorer sau în My Computer; - executând, printr-un dublu clic asupra icoanei corespunzătoare în Windows

Explorer, programul control.exe. Icoanele (şi implicit aplicaţiile) pot fi diferite de la calculator la calculator, existând

unele aplicaţii care îşi adaugă icoane proprii în Control Panel. Acestea sunt: Accessibility – oferă accesul la configurarea interfeţei Windows, pentru persoanele cu handicap fizic. Nu face parte din instalarea standard a Windows-ului şi aşadar

poate lipsi din anumite calculatoare; se pot configura sunete pentru anumite acţiuni ale sistemului, se poate stabili folosirea tastelor direcţionale, şi a unor taste din segmentul de taste numerice, pentru direcţionarea cursorului pe ecran, etc.

Page 179: Initiere operare pc

179

Add New Hardware – foloseşte la configurarea sistemului, atunci când se doreşte adăugarea unor noi dispozitive periferice. Majoritatea calculatoarelor noi posedă

funcţii 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 cerând utilizatorului să introducă discurile cu driver-ele necesare. Asistentul este folosit în două cazuri de excepţie: primul, în cazul în care calculatorul nu are opţiuni de Plug & Play sau acestea nu sunt activate, şi al doilea în cazul în care dispozitivul introdus nu respectă standardele de autodetecţie. În aceste situaţii, asistentul Add New Hardware va căuta dispozitivul adăugat, încercând o configurare a acestuia, dacă există un driver în kit-ul standard de Windows 95, dacă nu sugerând dispozitive similare.

Add/Remove Programs – ce permite instalarea/

dezinstalarea unor aplicaţii sau pachete de aplicaţii în sistem, şi adăugarea/scoaterea aplicaţiilor standard Windows 95; oferă 3 taburi separate.

Primul tab, prin butonul Install, lansează un program care supraveghează instalarea unor aplicaţii noi în sistem, în vederea creării unei liste cu fişierele adăugate (pentru dezinstalarea ulterioară). Este prezentată şi o listă cu toate aplicaţiile instalate în sistem de unde se permite dezinstalarea fiecărei aplicaţii.

Al doilea tab oferă o listă a aplicaţiilor care vin standard în Windows 95, permiţând adăugarea sau dezinstalarea lor folosind kit-ul de instalare al sistemului.

Al treilea tab pune la dipoziţie utilizatorului posibilitatea de a crea o dischetă sistem. Discheta astfel creată permite pornirea (boot-area) calculatorului, în cazul în care sistemul nu mai porneşte în mod normal de pe discul fix, şi include majoritatea aplicaţiilor din linia de comandă

Page 180: Initiere operare pc

180

necesare pentru aranjarea partiţiilor şi formatarea discurilor.

Date/Time – permite setarea ceasului calculatorului şi a datei acestuia. Asistentul poate fi accesat şi executând un dublu clic asupra zonei din bara de aplicaţii în care

este afişată ora. Se poate ajusta şi zona geografică în care este plasat calculatorul.

Display – conţine mai multe tab-uri care permit ajustarea

aspectului interfeţei Windows 95 pe ecran. Toate aceste tab-uri conţin o mică zonă grafică în care este afişată o vizualizare a noului aspect, care ar rezulta în urma modificărilor efectuate. Back-ground permite schimbarea imaginii de pe fundalul desktop-ului, iar din tab-ul Screen-Saver se poate schimba economizorul de ecran folosit (un program care intră în funcţiune după o anumită perioadă de inactivitate a tastaturii şi mouse-ului, în scopul de a produce o animaţie pe ecran, pentru a nu solicita inutil luminoforii tubului catodic al monitorului). Tab-ul Settings conţine principalele elemente necesare pentru controlul ecranului; se poate schimba rezoluţia plăcii grafice şi profunzimea de culoare (numărul maxim de culori afişabile) de pe ecran. Trebuie găsit un compromis între aceste două caracteristici, în funcţie de performanţele plăcii grafice din calculator şi a monitorului. Este de asemenea posibilă schimbarea driver-ului plăcii grafice, în cazul schimbării acesteia din urmă. Tab-ul Appearance permite schimbarea culorilor interfeţei Windows, modificarea mărimii şi tipului caracterelor folosite pentru afişarea ferestrelor şi altele. Întreg aspectul interfeţei poate fi personalizat de către fiecare utilizator, sau se pot alege scheme standard de culori şi stiluri din lista predefintă din Windows.

Fonts – deschide o fereastră ce afişează conţinutul dosarului în care sistemul îşi ţine tipurile de caractere (font-uri) care pot fi folosite. Efectuând un dublu clic asupra unui

font se poate obţine o fereastră care să afişeze tipul respectiv de caracter în mai multe mărimi. Meniurile ferestrei permit gestiunea fonturilor instalate în sistem, cum ar fi de exemplu adăugarea unui nou tip de caracter.

Page 181: Initiere operare pc

181

Internet – în cazul în care Microsoft Internet Explorer este instalat pe calculator, din acest asistent se pot ajusta configurările referitoare la aplicaţie în sine, precum şi tipul de conexiune existentă în reţeaua respectivă. Joystick – dacă există un joystick legat la calculator, din această icoană se obţine asistentul care permite configurarea dispozitivului. Keyboard – foloseşte la configurarea tastaturii, referitor la viteza de repetiţie a unei taste menţinută apăsată. Tab-ul Language permite adăugarea (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 adăugarea unui modem în sistem şi configurarea acestuia. Din acest asistent se setează, de exemplu, toate datele necesare conectării prin Dial-Up la Internet. Mouse – oferă diverse opţiuni referitoare la ajustarea parametrilor de funcţionare ai mouse-ului. Se poate modifica sensibilitatea acestuia, viteza de reacţie, şi modul de

poziţionare în jurul tastaturii (în partea dreaptă sau în partea stângă). Tab-ul Pointers permite modificarea tipului de cursoare grafice afişate. Tab-ul General este folositor atunci când se doreşte 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 ieşire al plăcii

audio (dacă aceasta există) şi se poate opta pentru afişarea unei icoane de forma unui difuzor în System Tray, pe bara de aplicaţii de unde se poate controla volumul; se poate ajusta şi nivelul de intrare al microfonului. Tab-ul Video oferă câteva opţiuni referitoare la secvenţele de animaţie care pot fi vizionate pe ecran. Tab-ul Midi particularizează instrumentele folosite de sistem pentru înregistrări audio numerice de tip MIDI (Musical Instrument Digital Interface). Tab-ul CD Music se referă la volumul redării CD-urilor audio, via placa de sunet inserată în calculator. Tab-ul Advanced permite ajustarea unor opţiuni particulare plăcii de sunet şi a parametrilor funcţionali ai acesteia.

Network – configurează parametrii plăcii de reţea, dacă acesta există în calculator, precum şi protocolul de reţea folosit. Passwords – conţine două Tab-uri, care facilitează configurarea

sistemului pentru a permite mai multor utilizatori să folosească acelaşi calculator cu interfaţa personalizată pentru fiecare. Primul Tab, Change Passwords oferă o casetă de dialog ce permite fiecărui utilizator să îşi modifice parola de autentificare pe lângă sistem, sau pe lângă sistemele din reţea 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

Page 182: Initiere operare pc

182

de către mai mulţi utilizatori. În cazul în care se alege opţiunea “un singur desktop pentru toţi utilizatorii”, fereastra de autentificare de început de sesiune nu va mai fi afişată.

Power – oferă un asistent pentru configurarea modului de economie al energiei, opţiune utilă în cazul în care calculatorul este portabil sau dacă hardware-ul

calculatorului are module pentru această opţiune. Se poate vizualiza nivelul de încărcare al acumulatorilor în cazul unui calculator portabil, de exemplu. Dacă este prezentă în sistem facilitatea de gestiune a energiei (Power Management), se poate afişa 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, acelaşi cu dosarul obţinut din meniul Start ->Settings. Regional Settings – oferă posibilitatea configurării sistemului în funcţie de zona geografică unde este plasat calculatorul, referitor la afişarea datelor, numerelor şi a monedei. Sounds – Windows 95 are posibilitatea asignării unor sunete anumitor operaţiuni din cadrul interfeţei (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ă aplicaţie de asistenţă din cadrul Control Panel-ului. Prin intermediul casetelor de dialog prezentate, se pot soluţiona conflicte

hardware apărute (din punct de vedere al partajării resurselor, de exemplu), poziţionarea parametrilor în mod neadecvat în această zonă putând conduce la blocarea sistemului. Tab-ul General oferă informaţii 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 funcţionare. Principalul element este lista arborescentă prezentată şi în figură în care apar toate dispozitivele din calculator, fiind uşor de observat care sunt cele care au eventuale probleme. Se poate selecta un anumit element din listă şi apoi pot fi afişate proprietăţile caracteristice acelui dispozitiv la nivel hardware (adrese de memorie, numerele întreruperilor folosite). Printr-o ştergere a unui dispozitiv din această listă se poate înlătura din sistem drive-ele aferente dispozitivului respectiv. Dacă se selectează icoana din rădăcina listei (Computer) şi se apasă butonul Properties se afişează o fereastră ce conţine informaţii despre toate resursele hardware ale calculatorului şi cui sunt ele alocate. Aceste informaţii pot fi foarte utile în momentul în care se doreşte adăugarea unui dispozitiv în sistem, care are nevoie de specificaţiile anumitor resurse libere în calculator. Selectând un element din listă şi apăsând butonul Properties (sau un dublu clic asupra elementului direct în listă) se afişează o casetă de dialog ce oferă informaţii despre configuraţia dispozitivului ales.

Page 183: Initiere operare pc

183

Tab-ul General afişează informaţii generale despre dispozitiv. Tab-ul Drivers

furnizează lista cu fişierele existente în sistem care sunt folosite de acel dispozitiv (driverele dispozitivului), iar butonul Change Driver permite schimbarea driver-elor, de exemplu în cazul actualizării fişierelor la ultimele versiuni existente, sau atunci când, datorită unor probleme, în baza de date a Windows-ului (Registry) nu se mai află informaţiile corecte referitoare la dispozitivul ales. Tab-ul Resources permite afişarea resurselor folosite de dispozitivul respectiv şi poate fi util atunci când apare o problemă în sistem, semnalând eventualele conflicte între dispozitivul selectat şi celelalte. Dacă asistentul Device Manager nu este capabil să ofere o soluţie viabilă spre rezolvarea conflictului, în ceea ce priveşte alocare de resurse, se poate alege opţiunea “Use automatic settings”, la o repornire a sistemului, Windows 95 încercând să aloce automat resursele între dispozitive. Tab-ul Hardware Profiles este util în momentul în care se folosesc mai multe configuraţii hardware pentru calculator. Dacă există mai multe configuraţii hardware setate pe sistemul respectiv (de exemplu cu suport de reţea instalat sau nu), atunci la pornire sistemul va afişa un meniu, din care se va cere alegerea configuraţiei hardware în care se doreşte funcţionarea calculatorului. Tab-ul Performance oferă posibilitatea modificării unor parametri legaţi de viteza de funcţionare a sistemului. În general, Windows 95 setează aceşti parametri în mod automat şi ei nu ar trebui modificaţi fără o nevoie explicită.

Page 184: Initiere operare pc

184

7.4. Linux

Sistemul Linux este un sistem de operare din categoria Unix-urilor, proiectat iniţial pentru platformele x86. Linux-ul este “freeware”, adică nu este un sistem de operare comercial. A fost dezvoltat iniţial de Linus Torvalds la Universitatea din Helsinki, în Finlanda, şi a fost anunţat public pentru prima dată în noiembrie 1991. Datorită răspândirii pe care a căpătat-o în ultimul deceniu, au apărut firme comerciale care vând totuşi variante ale acestui produs, Linux-ul devenind el însuşi o familie, la ora actuală existând mai multe variante de Linux. Cele mai des întâlnite (şi cele mai importante) variante de Linux sunt următoarele:

- Red Hat Linux - Slackware Linux - OpenLinux al firmei Caldera - SuSE Linux (Germania) - Debian Linux

Datorită compatibilităţii sale cu sistemele Unix majore, pe această platformă de operare se pot găsi majoritatea aplicaţiilor care rulează şi pe Unix-urile de firmă, portarea aplicaţiilor de la un sistem la altul nefiind foarte dificilă.

Cele mai importante caracteristici ale Linux-ului sunt următoarele: - Multitasking veritabil şi funcţionare pe 32 de biţi, folosind modul protejat al

procesoarelor 386 şi superioare; - Posibilitatea conectării mai multor utilizatori simultan pe acelaşi calculator; - Sistemul grafic X Windows – interfaţa grafică standard pentru sistemele Unix; - Suport pentru protocolul de reţea TCP/IP încorporat în sistem; - Existenţa memoriei virtuale şi a bibliotecilor de funcţii partajate; - Prezenţa celor mai multe facilităţi ale sistemelor Unix.

7.4.1. Structura sistemului Linux

Pentru a înţelege funcţionarea unui sistem Linux, este nevoie mai întâi de o familiarizare cu structurile de fişiere şi organizarea acestora.

Se poate face o clasificare a fişierelor Linux, în funcţie de nişte considerente generale, astfel:

- fişiere obişnuite: conţin informaţiile pe care le crează şi le prelucrează sistemul sau utilizatorii. Pot fi în mod text sau binar, sau pot fi fişiere speciale create de anumite aplicaţii, fişiere ce conţin cod executabil.

- fişiere speciale: acestea sunt nişte fişiere ale sistemului de operare prin intermediul cărora acesta execută operaţiile cu dispozitivele periferice din calculator; se împart în două categorii: fişiere ce comunică la nivel caracter, respectiv la nivel de blocuri. Mai

Page 185: Initiere operare pc

185

există un tip special de fişiere, numit “pipe”, ce reprezintă canale de comunicaţie constituite în memorie între două procese.

- fişiere de legătură (links): reprezintă o legătură în directorul în care sunt create, spre un alt fişier sau director aflat în altă zonă a sistemului de fişiere. Aceasta poate fi o metodă de a da un nume nou unui fişier, fără a-l schimba pe cel original. Există două tipuri de astfel de fişiere:

- hard links: numele original şi cel al legăturii indică acelaşi bloc de date de pe discul fix. Există două limitări pentru acest tip de legături: un director nu poate fi legat astfel, şi o legătură de acest tip nu se poate extinde între două partiţii.

- symbolic (soft) links: sunt de fapt două fişiere: cel original şi legătura care conţine numele originalului. Dezavantajul acestui tip de legătură este că, în cazul în care este şters fişierul original, nu mai există datele efective pe discul fix, legătura devenind inutilă.

Toate fişierele şi directoarele din sistemul Linux au un proprietar şi drepturi. Acestea se

referă la cine a creat fişierul sau directorul respectiv, şi cine are permisiunea de a-l citi sau modifica. Pentru a înţelege structurarea acestor drepturi asupra fişierelor, 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 excepţia 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 către sistem, şi o parolă cunoscută numai de către utilizator. Fiecare cont capătă, în momentul creării, un număr numit UID (User ID), care este folosit pentru identificarea posesiunii asupra fişierelor, directoarelor şi proceselor, în acelaşi timp fiind asignat şi directorul care va reprezenta directorul de bază pentru utilizator.

Mai mulţi utilizatori sunt adunaţi, din punct de vedere al administrării 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 capătă la creare un GID (Group ID), care este folosit pentru diversificarea drepturilor de acces asupra directoarelor şi fişierelor sistemului. Un utilizator poate aparţine mai multor grupuri, însă aparţine unui grup primar (primary group), în ceea ce priveşte drepturile de acces la datele din sistemul de fişiere. Datele despre conturile existente într-un sistem sunt stocate într-un fişier text, /etc/passwd, iar cele despre grupuri în /etc/group. În funcţie de tehnica de securizare a sistemului aleasă de către administrator, parolele utilizatorilor sunt criptate şi stocate în acelaşi fişier passwd, sau în altele. Tot în fişierul passwd, vital pentru sistem, mai sunt cuprinse şi informaţii 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 conectării.

Page 186: Initiere operare pc

186

Orice fişier sau director aparţine unui singur utilizator şi unui grup, utilizatorul numindu-se posesorul (proprietarul) fişierului sau al directorului. Drepturile de citire şi scriere (ştergere) asupra unui fişier sau director sunt în funcţie de posesorul său şi de grupul căruia aparţine.

Permisiunile (drepturile asupra unui fişier) sunt structurate în trei categorii: - permisiuni pentru posesor (owner): acestea identifică operaţiile permise asupra

fişierului în funcţie de utilizator; - permisiuni pentru grup (group): identifică operaţiile permise asupra fişierului,

în funcţie de apartenenţa la grup a utilizatorului; - permisiuni pentru ceilalţi utilizatori (world): identifică operaţiile permise

asupra fişierului de ceilalţi utilizatori din sistem. Există trei drepturi de acces la fişiere:

- read (r) – citire; - write (w) – scriere; - execute (x) – execuţie.

Rezultă astfel 9 poziţii pentru precizarea completă a drepturilor de acces la un director sau fişier, fiecare poziţie fiind precizată de un bit. Se pot constitui astfel secvenţe binare prin care se identifică drepturile asupra unui fişier.

În Linux, numele de fişiere şi de directoare pot avea până la 256 caractere, şi nu pot conţine caracterele *, ?, \, /, spaţiu, “, ‘ şi alte caractere folosite de shell-ul sistemului. Sistemul Linux este case-sensitive, adică face diferenţa între literele mari şi literele mici, aceasta referindu-se la numele de fişiere şi directoare, şi la comenzile sistemului. Separatorul folosit între numele de directoare şi numele de fişiere este /. Structura folosită este, ca şi în cazul MS-DOS-ului, una arborescentă ierarhică, iar rădăcina ei este notată cu /. Datorită faptului că sistemul este multi-user, permiţând conectarea mai multor utilizatori simultan, care să aibă acces la resursele calculatorului, este introdus conceptul de director de bază (home directory) al fiecărui utilizator. Acesta reprezintă un director unic pentru fiecare utilizator, în care posesorul acestuia are drepturi depline privind crearea şi modificarea fişierelor (şi evident a directoarelor) incluse. Poziţia acestor directoare în structura de fişiere de pe discurile fixe din sistem este specificată de administrator, şi nu poate fi schimbată de utilizatorul normal.

Adresarea fişierelor sau a directoarelor în Linux se face în două moduri, absolut şi relativ, similar cu sistemul MS-DOS, păstrând însă convenţia de nume şi caractere speciale folosită de Linux. Pentru a adresa absolut un fişier, se scrie toată calea până la acesta, plecând de la rădăcina sistemului de fişiere, de exemplu: /usr/doc/HOWTO/other-formats/html/mini/README. Pentru a specifica o cale relativă, aceasta se face pornind de la directorul luat în considerare, până la locaţia precisă a fişierului sau directorului specificat. De exemplu, dacă se ia ca director de pornire în adresare directorul /usr/doc/HOWTO, fişierul desemnat mai înainte are calea other-formats/html/mini/README.

Page 187: Initiere operare pc

187

În fiecare director există două fişiere speciale, care sunt create odată cu directorul: “.” şi “..”. Primul semnifică întotdeauna directorul însuşi, în care se lucrează la un moment dat, iar al doilea reprezintă părintele directorului luat în considerare. Caracterul “~” are o semnificaţie specială, el desemnând directorul de bază al fiecărui utilizator. Aceste simboluri pot fi folosite în adresarea relativă a fişierelor şi directoarelor, de exemplu: ../fis1.txt reprezentând fişierul fis1.txt din directorul părinte al directorului curent. Dacă se doreşte adresarea unui fişier din directorul de bază, se poate astfel folosi: ~/dir1/fisier1.txt (calea indică fişierul fisier1.txt din directorul dir1 creat în directorul de bază al utilizatorului curent).

Directoare speciale din structura de fişiere:

- / - rădăcina sistemului de fişiere. - /bin – conţine majoritatea fişierelor executabile de bază din sistemul de operare

(comenzile de exemplu). - /boot – conţine de obicei informaţii referitoare la pornirea sistemului. - /dev – datorită faptului că Linux-ul (în urma asemănării cu sistemele Unix) tratează

mai toate fluxurile de date din sistem prin intermediul fişierelor, acest director este creat pentru a conţine aceste fişiere speciale, care îi permit sistemului să funcţioneze.

- /etc – conţine fişierele de configuraţie ale sistemului. - /home – de obicei acest director conţine directoarele de bază ale utilizatorilor din

sistem. - /lib – director ce conţine bibliotecile partajate din sistem. - /sbin – conţine executabile destinate administrării sistemului şi funcţionării

serviciilor instalate. - /tmp – un director în care toţi utilizatori îşi pot depune fişiere temporare. - /usr – în acest director sunt organizate marea majoritate a aplicaţiilor şi fişierelor de

interes general din sistem. Tot în acest director este stocat sistemul X-Windows şi bibliotecile aferente (X11R6), documentaţia sistemului Linux (doc), paginile de manual (man).

- /var – director destinat stocării datelor tranzitorii prin sistem, în urma serviciilor sau a aplicaţiilor ce rulează pe calculatorul respectiv. În acest director, sistemul colectează date despre activitatea sistemului de operare în general (monitorizare).

Structura unui sistem de fişiere Linux:

Sistemul comunică cu partiţiile create pe discurile fixe existente în sistem, folosind anumite fişiere speciale de tip bloc. Ele sunt stocate în directorul /dev şi, în cazul unui sistem Linux, sunt de forma următoare:

Pentru discuri IDE:

Page 188: Initiere operare pc

188

- /dev/hda1, /dev/hda2, /dev/hda3, etc., acestea fiind partiţiile de pe primul disc (master pe primary IDE). Pentru celelalte discuri (sau unităţi de CD) se schimbă litera “a”, în ordine, cu “b”, “c”, “d”.

Pentru discurile SCSI: - /dev/sda1, /dev/sda2, etc., reprezentând partiţiile 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.

Partiţiile, numite şi volume, se ataşează sistemului de fişiere sub formă de directoare. Aşadar rădăcina sistemului de fişiere este situată pe o partiţie, iar anumite directoare din arbore sunt, de fapt, legate pe alte partiţii de pe discurile din calculator.

În figura precedentă, este prezentată o structură cu două discuri fixe: /dev/hda care are

două partiţii (/dev/hda1 şi /dev/hda2) şi /dev/hdb care are şi el două partiţii (/dev/hdb1 şi /dev/hdb2). Pe primul volum, /dev/hda1, este aşezată rădăcina şi cu toate directoarele sistemului de operare, mai puţin două directoare: /usr de care este ataşată partiţia /dev/hda2,

/dev/hda

/dev/hdb

/

/dev/hda1

/dev/hda2

boot etc

usr

/dev/hdb1

home

var

/dev/hdb2

swap

Page 189: Initiere operare pc

189

şi /home de care este ataşată partiţia /dev/hdb1. A patra partiţie /dev/hdb2 constituie spaţiul “swap”, memoria virtuală a sistemului. Aceasta reprezintă o zonă specială din discul fix, în care sistemul de operare descarcă din memorie spaţiul folosit de anumite procese, în momentul în care memoria fizică nu mai este suficientă, urmând ca, la terminarea unor procese active în memorie, să reîncarce 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ă paşii principali sunt respectaţi de majoritatea programelor de instalare existente. În cele ce urmează, vor fi descrişi paşii principali din instalarea variantei Red Hat Linux 6.0: 1. Pornirea asistentului de instalare. Aceasta se poate face plecând de la una sau două

dischete (în funcţie de varianta de Linux), care sunt create folosind utilitarul rawrite.exe cuprins în distribuţia de Linux. Acesta reconstituie dischetele de pornire a calculatorului, plecând de la imaginile existente pe CD şi presupunând că distribuţia de Linux este disponibilă pe acest tip de suport. Instalarea poate fi făcută şi extrăgând fişierele necesare dintr-un alt calculator, folosind un suport de reţea pentru transmiterea datelor, caz în care trebuie aleasă imaginea de dischetă potrivită pentru această operaţie. Indicaţii referitoare la conţinutul imaginilor se găsesc întotdeauna în directorul care conţine imaginile, într-un fişier text. După crearea dischetelor se porneşte calculatorul folosind dischetele obţinute. Programul de instalare mai poate fi pornit, în funcţie de calculator, prin intermediul CD-ului, dacă acesta este boot-abil (adică permite startarea sistemului de operare de pe CD), şi dacă BIOS-ul calculatorului recunoaşte 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ă opţiune prevăzută în BIOS.

2. Specificarea sursei de instalare. După ce programul de instalare a fost pornit, se cere specificarea sursei de unde acesta va copia fişierele ce vor fi instalate pe discul fix local. În cazul instalării de pe CD-ROM, se specifică unitatea de CD, şi programul va căuta singur fişierele necesare. În cazul în care se instalează plecând de la un calculator din reţea, va trebui configurată placa de reţea existentă în calculator (prin introducerea datelor de configurare a adresei locale a calculatorului şi prin specificarea tipului de protocol folosit pentru transferul datelor în reţea: NFS sau FTP), şi vor trebui furnizate date despre adresa sau numele calculatorului sursă din reţea, cât şi directorul de pe calculatorul respectiv, unde se găsesc fişierele necesare. Se mai poate alege ca sursă de instalare un director de pe o partiţie existentă pe un disc fix local.

3. Partiţionarea discului fix. Programul de instalare lansează un utilitar sistem pentru crearea şi aranjarea partiţiilor. Vor fi create în această fază partiţiile, care vor conţine sistemul de

Page 190: Initiere operare pc

190

operare şi directoarele în care se montează aceste partiţii. Trebuie avut în vedere că, tot în această etapă, se creează şi partiţia (partiţiile) pentru memoria virtuală (swap) a sistemului.

4. Specificarea spaţiului pentru memoria virtuală. Asistentul de instalare cere specificare partiţiilor ce vor fi folosite ca memorie virtuală a sistemului.

5. Formatarea partiţiilor din sistem. Se realizează formatarea (sau nu, dacă se alege o altă opţiune) a partiţiilor pe care le va folosi sistemul. Se creează în continuare structura necesară funcţionării sistemului, care să primească sistemul de fişiere.

6. Copierea fişierelor indicate în noul sistem de fişiere. Prin intermediul unor casete de dialog, afişate în mod text, se permite selectarea pachetelor de aplicaţii ce vor fi instalate în sistem. Se copiază apoi, din sursa indicată la paşii precedenţi, toate fişierele sistemului de operare şi a aplicaţiilor selectate.

7. Detecţia ş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 reţelei. Dacă în calculator este prevăzută o placă de reţea, se cere configurarea acesteia (sau păstrarea configuraţiei făcute în cazul instalărilor din reţea). Î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 încărcare al sistemului. Sistemul de operare poate fi pornit

în două moduri principale. Primul este folosirea programului de încărcare 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 partiţii. 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 distribuţia de LINUX, care are însă nevoie de un nucleu al sistemului instalat, prezent în afara partiţiei rădăcină din LINUX, pe partiţia de tip DOS unde se află executabilul. Este posibilă şi crearea unei dischete pe baza căreia 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 instalării încearcă detecţia tipului de placă grafică folosită în calculator, şi cere specificarea tipului de monitor folosit, după care testează configuraţia aleasă, oferind posibilitatea alegerii rezoluţiei şi profunzimii de culoare ce vor fi utilizate în funcţionare.

14. Repornirea sistemului. În această fază sistemul este instalat, şi va fi repornit pentru ca toate setările efectuate să intre în vigoare.

Page 191: Initiere operare pc

191

BIBLIOGRAFIE

1. C.S. French, "Computer Science", 4th Edition, D.P. Publications Ltd. - UK 1992. 2. Al. Valachi, M. Bârsan, "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, "Descoperiţi sistemul Linux", Editura Teora 1997. 19. Radu Mârşanu, "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. Pănoiu, "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 "Dunărea de Jos" din Galaţi, 1994.