Arhitectura calculatoarelor și sisteme de operare

Previzualizare documentație:

Cuprins documentație:

1. Introducere 1
1.1. Elemente de baza 1
1.2. Tipuri de calculatoare 3
1.3. Intrebari 5
2. Arhitectura sistemelor de calcul 6
2.1. Arhitectura generalizata von Neumann 6
2.2. Clasificarea arhitecturilor interne 8
2.3. Intrebari 11
3. Arhitectura interna a microprocesoarelor Intel 12
3.1. Microprocesoare pe 16 biti 12
3.2. Microprocesoare pe 32 biti 16
3.3. Intrebari 21
4. Microprocesoare: functionare si adresarea datelor 22
4.1. Functionarea la nivel de magistrala 22
4.2. Moduri de adresare la microprocesoarele Intel 22
4.2.1. Adresarea datelor 23
4.3. Stiva 24
4.4. Procesoare CISC si RISC 26
4.5. Intrebari 26
5. Sistemul de intreruperi 27
5.1. Intreruperi hardware si software 27
5.1.1. Intreruperi hardware dezactivabile 27
5.1.2. Intreruperi software 30
5.2. Intrebari 31
6. Memoria 32
6.1. Tipuri de memorie 32
6.2. Memoria video 33
6.3. Memoria cache 35
6.4. Memoria virtuala 39
6.5. Ierarhia de memorii 40
6.6. Intrebari 41
7. Sistemul I/O 42
7.1. Porturi 42
7.2. Intrebari 44
8. Multimedia 45
8.1. Tehnologia multimedia audio 45
8.1.1. Elemente de baza ale sunetului digital 45
8.1.2. Prelucrari ale sunetului digital. Placi de sunet 46
8.2. Prelucrari digitale video 47
8.3. Consideratii finale 47
8.4. Intrebari 47
9. Sistemul de operare 48
9.1. Scurt istoric si evolutie 49
9.2. Clasificarea sistemelor de operare 50
68
9.3. Nucleul sistemului de operare 51
9.3.1. Apeluri sistem 52
9.4. Drivere 53
9.5. Intrebari 54
Anexa A. Reprezentarea datelor in sistemele de calcul 55
A.1. Reprezentari numerice 55
A.1.2. Scrierea pozitionala 55
A.1.3. Reprezentari cu semn 56
A.1.4. Reprezentari zecimale 58
A.1.5. Reprezentari in virgula fixa 60
A.1.6. Reprezentari in virgula mobila 61
A.2. Reprezentari alfanumerice 63
Bibliografie 66

Extras din documentație:

Desi de-a lungul timpului au existat incercari de a realiza dispozitive capabile sa

realizeze in mod automat operatii de calcul, abia incepand aproximativ cu perioada

celui de-al doilea razboi mondial se poate vorbi de un efort concertat si directionat in

acest sens. Calculatoarele, in forma in care se prezinta astazi, isi datoreaza in mare

masura existenta rezultatelor obtinute in acea perioada de catre John von Neumann,

Alan Turing si Kurt Godel.

Odata stabilite principiile de baza, ultima jumatate de secol a cunoscut un efort

continuu de perfectionare a tehnologiilor folosite in constructia calculatoarelor. Din

fericire, dezvoltarea exploziva a domeniului electronicii a permis o crestere

exponentiala a puterii de calcul. Una dintre pesonalitatile domeniului, Gordon Moore

(cofondator al companiei Intel), a enuntat in urma cu circa 3 decenii legea care-i

poarta numele si care prevede ca puterea sistemelor de calcul se dubleaza la fiecare 18

luni. Desi este o lege empirica, bazata numai pe observatii practice si fara vreo

fundamentare teoretica, experienta i-a confirmat valabilitatea pana in zilele noastre.

Ca urmare a acestei rate deosebite a progresului, calculatoarele au invadat

practic toate domeniile de activitate. Astazi nu mai exista vreo ocupatie care sa nu

beneficieze de pe urma utilizarii tehnicii de calcul. O mentiune aparte trebuie facuta in

legatura cu extinderea retelelor de calculatoare pana la aparitia Internetului, care

astazi permite accesul tuturor la un volum de informatie nemaiintalnit in trecut.

In spatele tuturor acestor realizari impresionante sta munca depusa de

specialistii in domeniu. Un sistem de calcul are doua parti: hardware (circuitele fizice

care il compun) si software (programele care ruleaza pe acel sistem). Pentru o

functionare la parametrii optimi a calculatorului este necesara o buna conlucrare a

celor doua parti. Cel mai performant hardware este inutil in absenta programelor care

sa realizeze activitatile dorite. La randul lor, programele au nevoie de hardware pe

care sa ruleze. Astfel, performantele obtinute astazi sunt posibile numai ca urmare a

activitatii tuturor celor implicati in dezvoltarea echipamentelor si scrierea

programelor.

1.1. Elemente de baza

Activitatea principala a calculatorului, dupa cum o arata insusi numele sau, este

aceea de a efectua calcule. Cu toate acestea, orice persoana care a lucrat cel putin o

data cu un calculator intelege imediat ca o asemenea caracterizare este cu totul

insuficienta pentru a descrie sarcinile indeplinite de acesta. Intr-adevar, este greu de

acceptat ca semnificatia unui program de grafica, de exemplu, s-ar reduce la niste

simple calcule, desi aceste calcule au un rol cu adevarat foarte important. Intr-o

acceptiune mai generala, putem spune ca functionarea unui calculator are ca principal

obiectiv prelucrarea informatiei. Pentru a intelege modul in care este tratata

informatia, vom vedea mai intai cum este ea reprezentata intr-un calculator.

Cea mai mica unitate de informatie folosita este bitul. Fara a intra in detalii,

putem spune ca un bit reprezinta o entitate, teoretica sau materiala, care are doua stari

distincte posibile; evident, la un moment dat entitatea se poate afla intr-una singura

din cele doua stari. Observam deci ca prin termenul de bit sunt desemnate atat

conceptul teoretic, cat si implementarile sale fizice.

Au existat mai multe forme de implementare practica a bitilor. Cele mai

eficiente solutii s-au dovedit a fi cele bazate pe circulatia curentului electric, acestea

prezentand avantajul unei viteze de operare mult mai mare decat in cazul sistemelor

2

mecanice sau de alta natura. In circuitele electrice, cele doua stari care definesc un bit

sunt usor de definit: putem asocia una dintre stari cu situatia in care curentul electric

strabate o portiune de circuit, iar cealalta stare cu situatia in care curentul nu parcurge

aceeasi portiune de circuit. (In practica, electronistii prefera sa discute despre cele

doua stari in termenii nivelelor de tensiune din circuit, dar ideea este de fapt aceeasi).

In timp au fost folosite dispozitive tot mai sofisticate, pornind de la comutatoare,

coutinuand cu releele si diodele si ajungandu-se astazi la utilizarea tranzistorilor.

Toate insa se bazeaza pe acelasi principiu: permiterea trecerii curentului electric sau

blocarea sa.

Intrucat, asa cum am vazut mai sus, obiectivul urmarit este de a obtine circuite

care sa permita efectuarea de calcule, este necesar ca bitii sa primeasca o semnificatie

numerica. Prin conventie, celor doua stari ale unui bit le sunt asociate valorile 0 si

respectiv 1. In acest mod, putem considera ca lucram de fapt cu cifre in baza 2, iar

calculele devin posibile.

O prima consecinta a acestei abordari o constituie necesitatea gruparii bitilor.

Intr-adevar, o singura cifra, mai ales in baza 2, contine prea putina informatie pentru a

fi utila. Deoarece in scrierea pozitionala numerele sunt siruri de cifre, apare imediat

ideea de a reprezenta numerele prin siruri de biti. Desi pentru om lucrul in baza 2 pare

mai dificil, datorita obisnuintei de a lucra in baza 10, in realitate nu exista diferente

conceptuale majore intre diferitele baze de numeratie.

(Putem raspunde aici unei intrebari care apare natural: de ce se prefera utilizarea

bitilor, deci implicit a cifrelor in baza 2, daca omul prefera baza 10? Raspunsul este de

natura tehnologica: nu exista o modalitate simpla de a realiza un dispozitiv cu 10 stari

distincte, care sa permita implementarea cifrelor in baza 10.)

Pe de alta parte, intr-un sistem de calcul trebuie sa existe o standardizare a

dimensiunii sirurilor de biti prin care sunt reprezentate numerele. Creierul uman se

poate adapta pentru a aduna, de exemplu, un numar de 3 cifre cu unul de 6 cifre, iar

apoi poate trece imediat la adunarea unui numar de 8 cifre cu unul de 9 cifre; un

calculator insa, fiind format din circuite fara inteligenta, nu poate fi atat de flexibil.

Solutia este de a permite ca sirurile de biti sa aiba numai anumite dimensiuni

prestabilite. Astfel, circuitele din calculator se pot intelege intre ele, deoarece lucreaza

cu operanzi de aceeasi dimensiune. Ajungem astfel la o alta unitate de informatie larg

folosita, si anume octetul (in engleza byte). Acesta reprezinta un sir de 8 biti si se

constituie intr-un standard unanim respectat. Un octet poate avea 28 = 256 valori

diferite, ceea ce este evident insuficient pentru unele tipuri de informatie vehiculate in

calculator. Pentru a nu pierde avantajele standardizarii, se permite ca operanzii sa aiba

si dimensiuni mai mari, dar numai multipli de dimensiunea octetului; mai mult, acesti

multipli pot fi doar puteri ale lui 2. In functie de stadiile pe care le-a parcurs

tehnologia de-a lungul timpului, dimensiunea maxima a operanzilor a fost de 16, 32

sau 64 biti (respectiv 2, 4 sau 8 octeti) si fara indoiala va continua sa creasca. Aceasta

dimensiune poarta denumirea de cuvant.

Bibliografie:

L. Henessy, D. A. Patterson, Computer Architecture - A Quantitative

Approach, Morgan Kaufmann Publishers, 1990.

D. A. Patterson, J. L. Henessy, Organizarea si proiectarea calculatoarelor.

Interfata hardware/software, Ed. All, 2002.

A. Tanenbaum, Organizarea structurata a calculatoarelor, Ed. Agora, 1999.

A. Tanenbaum, Modern Operating Systems, Prentice Hall, 2001.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Arhitectura calculatoarelor si sisteme de operare.pdf
Alte informații:
Tipuri fișiere:
pdf
Diacritice:
Da
Nota:
10/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
69 pagini
Imagini extrase:
69 imagini
Nr cuvinte:
31 527 cuvinte
Nr caractere:
168 274 caractere
Marime:
538.46KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Documentație
Domeniu:
Limbaje de Programare
Tag-uri:
computere, sisteme de operare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!