Documente Academic
Documente Profesional
Documente Cultură
Fig. 2.1
Marele avantaj pentru program este că el nu este obligat să “se murdărească pe
mâini” fiindcă el nu intră în contact direct cu electronica. El se mulţumeşte să apeleze un
subprogram din BIOS care are ca sarcină lucrul cerut, de exemplu, dacă o tastă a
tastaturii a fost apăsată să indice despre care este vorba. Apelul unui subprogram
(subrutină) este mult mai uşor de scris decât de a administra direct echipamentul. Mai
există însă un avantaj. Interfeţele BIOS şi DOS permit sa se izoleze programele de
aplicatie de caracteristicile fizice ale echipamentului nefiindu-i necesar, de exemplu,
programului de aplicaţie să ştie ce interfaţă grafică are sistemul.
După cum se vede în figura 2.1. BIOS-ul poate fi considerat un strat situat
deasupra echipamentului. El permite să se aibă acces la cartela video, memorie, discuri,
discheta, claviatura, interfeţe serie şi paralelă precum şi la aşa-zisa memorie CMOS.
Acest program care conţine BIOS-ul se găseşte înscris într-o memorie de tip ROM (Read
Only Memory) şi este disponibil în orice moment.
La fel ca şi BIOS-ul, DOS-ul care este sistemul de operare al sistemului ne
propune deasemenea un număr de funcţii care permit accesul la echipamente. Aceste
funcţii au totuşi un caracter diferit decât cele oferite de BIOS căci ele privesc hardware-ul
din punct de vedere logic.si nu fizic. Astfel, dacă BIOS-ul prezintă funcţii pentru discul
dur la nivel de piste şi sectoare, DOS-ul se situează la nivelul fişierelor şi
subdirectoarelor.
Fig. 2.2.
Din figura 2.2. putem sesiza încă un avantaj al acestui mod de acces al hardware-
ului când aceeaşi aplicaţie lucrează pe 2 sisteme PC diferite care nu au aceleaşi
caracteristici fizice. Prin faptul că cele două interfeţe sunt standardizate ele vor face ca
aplicaţia să funcţioneze perfect pe ambele sisteme.
2
Dacă BIOS-ul asigură o interfaţă standard către DOS pentru echipamente care
diferă în funcţie de calculator, sistemul DOS la rândul său este “învelişul” în care pot fi
executate alte programe incluzând aici şi medii de operare ca Windows-ul.
Se pune întrebarea pentru programator care dintre aceste niveluri trebuie ales în
programarea unei aplicaţii. De exemplu dacă se doreşte să se traseze cercuri şi linii în
mod grafic cercetând funcţiile BIOS sau DOS vom constata că nu există asemenea
funcţii. Trebuie atunci să accesăm printr-un program scris corespunzător placa grafică sau
să recurgem la o bibliotecă specializată în acest domeniu.
Dacă funcţiile BIOS şi DOS îşi dispută favoarea de a fi alese de programator
atunci pentru lucrul cu fişiere, lucrul cu nivelul DOS este inevitabil . Pentru a formata o
dischetă sau a scrie caractere pe ecran se va face apel la BIOS. Experienţa şi cunoaşterea
funcţiilor oferite de BIOS sau DOS pot să ne ajute la luarea unor decizii corecte. În unele
cazuri viteze de execuţie poate fi un incovenient major al funcţiilor DOS şi BIOS
deoarece cu cât se trece prin mai multe niveluri intermediare cu atât se încetineşte
execuţia funcţiei cerute. Dacă viteza este un factor important s-ar putea să fie nevoie să
renunţăm la funcţiile DOS sau BIOS şi să se scrie programe ce comandă direct
echipamentul. Un exemplu în acest sens sunt unele programe de grafică sub DOS care au
programe de comandă directă a plăcii video (programe numite DRIVER) care fac ca
afişajul să se facă rapid şi eventual dacă se caută să se afişeze un fenomen în mişcare
acesta să apară fără întreruperi sau mişcări sacadate. Trebuie să remarcăm tot aici că noile
sisteme de operare (Windows NT, Windows 98) nu permit o programare directă a
echipamentelor, numai sistemul de operare fiind cel care are un control direct asupra
acestora în scopul protejării acestora de eventualele comenzi greşite sau programe cu
scopuri distructive (viruşi, ştergerea discului, etc).
Înainte de a vedea cum se pot apela funcţiile DOS sau BIOS, sau eventual cum
comandă direct hardware-ul, vom arunca o privire asupra componentelor unui PC.
3
System 23/Data Master dar acesta era echipat cu un procesor Intel 8085 pe 8 biţi, o
componentă depăşită atunci când deja apăruseră microprocesoare pe 16 biţi. S-a pus
problema fabricării rapide a unei maşini noi şi revoluţionare care să folosească aceste
componente noi.
A. Procesorul
Primii reprezentanţi ai noii clase de microprocesoare pe 16 biţi au fost
procesoarele 8086 şi 8088 de la Intel. Amândouă puteau adresa nu numai 64 ko de
memorie (216) ci 1 Mo (220). Echipa care a lucrat în acest proiect avea deja experienţa în
proiectarea unor sisteme cu circuite auxiliare, construite tot de firma Intel aşa că, pe lângă
procesorul 8088 au fost alese o gamă de circuite Intel care să întregească proiectul final.
Procesorul 8088 era un procesor pe 16 biţi intern dar în exterior comunica pe 8 biţi
adaptându-se foarte bine la ceea ce deja era proiectat şi verificat la proiectul anterior
System23.
Acest bus exterior pe 8 biţi de pe placa de bază (placa mamă) lega
microprocesorul (μP) de circuitele auxiliare de memorie şi de plăcile de extensie aflate în
conectoare după cum se vede în figura 2.3.
Fig. 2.3.
B. Busul
Dacă IBM s-a străduit să facă din acest calculator un sistem deschis publicând
toate aspectele tehnice legate de el, documentarea semnalelor care se vehiculează pe bus
a fost neglijată. Mulţi utilizatori au început să-şi doteze calculatoarele cu extensii
fabricate de IBM dar de asemenea şi de alţi furnizori care au pus la punct propriile plăci
de extensii compatibile cu busul proiectat de IBM, uneori la preţuri mult mai mici şi cu
performanţe chiar mai bune decât cele de la IBM contribuind la succesul calculatorului
PC.
4
Funcţionarea busului PC
Busul în fond nu este altceva decât un cablu cu 62 de linii care permit să treacă
datele de la procesor la memorie şi invers. Este de fapt o autostradă care traversează PC,
cu regulile impuse de procesor. După cum se cunoaşte din schema ataşată arhitecturii von
Neumann avem între aceste 62 de linii, linii care formează busul de adrese, busul de date
precum şi semnale de sincronizare şi comandă care aparţin busului de control. La origine
busul de adrese avea 20 de linii cu care era posibil să se adreseze 1 Mo de memorie.
Datele propriu-zise nu sunt emise pe busul de adrese ci pe cel de date, care la început
avea 8 linii (8088) ceea ce nu autoriza decât transmisia numai a unui octet odată, fiind
nevoie de 2 cicli pentru transmisia a 16 biţi cât era lungimea cuvântului.
Toate plăcile de extensie aflate în conectori “ascultă” busul. La emisia unui
semnal de către microprocesor (μP) trebuie să se găsească o cartelă care să fie “vizată”
(adresată). În acest moment toate celelalte extensii se decuplează momentan de la bus şi
se vor branşa (cupla) din nou la următorul ciclu “sperând” că ele vor fi cele vizate.
Cartela adresată apare ca fiind unica în legătură directă cu microprocesorul şi are loc
operaţia cerută de acesta.
Cunoscând aceste amănunte ne putem explica de ce uneori la cuplarea unei noi
cartele pe extensie apar probleme de “conflict” între cartela nou cuplată şi cele existente
deja în calculator ( din cauză că probabil acelaşi domeniu de adresă este revendicat de
două cartele). Problema se rezolvă reconfigurând noua cartelă din microîntrerupătoarele
situate pe ea ca să răspundă la o altă adresă de intrare ieşire sau eventual la o altă
întrerupere. Dacă se folosesc cartele noi care răspund standardului “Plug and Play” şi
apare acest conflict problema se rezolvă reconfigurând cartela cu ajutorul programelor
“driver” livrate odată cu cartela pe disketă, CD sau căutând aceste programe pe Internet
la site-ul producătorului (dacă există acces).
În evoluţia PC au existat mai multe standarde pentru această magistrală, numită
bus:
1. ISA
2. MCA
3. EISA
4. Magistrală locala
5
5. PCI
6. PC MCIA
6
a transferului de date între procesorul rapid şi dispozitivele periferice legate de
o magistrală lentă.
Ideea a fost de a muta unele dispozitive de I/O care cereau viteză mare (placă
grafică, disc dur) într-un loc unde să poată beneficia de viteza sporită a μP.
Acest lucru s-a făcut conform fig. 2.4. alături de memoria imediată (cache),
această dispunere devenind cunoscută ca magistrala locală.
Fig. 2.4.
Cel mai cunoscut standard pentru bus local a fost cel numit VESA Local Bus
sau VL-Bus care a oferit accesul direct la magistrala procesorului. Ea a fost
valabilă numai la familia 486 pentru μP din familia Pentium impunându-se
standardul PCI.
5. Busul PCI (Peripheral Component Interconnnected Bus) a reproiectat
magistrala tradiţională prin intercalarea unei alte magistrale între CPU şi
magistrala I/O existentă prin intermediul unor circuite bridge (punţi) după
cum se vede în fig. 2.5.
Fig. 2.5.
7
aici că deoarece standardul fiind vag respectat de producător, s-ar putea ca
unele extensii de la un producător să nu funcţioneze în alte calculatoare.
În final trebuie să remarcăm că în prezent la calculatoarele din noua generaţie,
busul (ISA, PCI, etc.) suportă aşa-zisa specificaţie “Plug-and-Play” (PnP) care
permite o configurare automată a dispozitivelor hardware ataşate PC cu
condiţia ca şi aceste plăci de pe extensie să fie compatibile PnP. Un utilizator
poate ataşa calculatorului un nou echipament (ex: placă de sunet sau placă de
fax) şi să înceapă să lucreze fără ca să mai configureze manual aceste noi
echipamente ataşate. Această tehnologie PnP este implementată în harware
precum şi în sistemul de operare (Windows95, Windows98) şi suportă
software ca drivere sau BIOS.
C. Circuite auxiliare
Procesorul este înconjurat de mici circuite complementare numite şi “controlere”,
comandând o serie de dispozitive în locul controlului direct a acestora de către μP şi
eliberând astfel μP de la o parte de muncă.
Vom descrie pe scurt principalele circuite auxiliare care completează schema
generală a unui PC specificând şi tipul de circuit folosit de IBM la origine, în primul PC.
8
Tocmai acest rol este preluat de un controler DMA descărcând μP de o sarcină căre ar
ocupa timp.
Fig. 2.6
Când această subrutină îşi îndeplineşte rolul, procesorul îşi reia execuţia
programului din locul unde a fost întrerupt. Se observă că procesorul nu intervine decât
numai când este nevoie de el. Aceste cereri de întrerupere care pot proveni de la diferite
echipamente (exemplul nostru a fost tastatura) nu sunt trimise direct procesorului, mai
mult, aceste cereri pot interveni simultan iar procesorul nu este capabil să trateze decât o
singură întrerupere. Pentru a gestiona cererele de intrerupere şi eventual prioritatea lor
există un circuit special numit controler de întrerupere.
Într-un PC mai nou pot exista până la 15 întreruperi şi modul lor de acţiune va fi
studiat într-un capitol viitor.
9
Circuitul de ceas
Dacă se compară μP cu un creier, ceasul poate fi considerat inima sistemului
informatic. Această inimă a bătut la primele PC cu un tact de 14,3 MHz iar viteza lui a
crescut la generaţiile următoare ajungând la valori de 500 MHz ! Această frecvenţă este
divizată şi folosiţă de circuitele periferice la o scară la care acestea lucrează.
Controlerul de ecran
Controlerul de ecran nu face parte din circuitele de pe placa de bază ca celelalte
circuite descrise până acum, ci el este o cartelă de extensie care ocupă un conector.
La origine acest controler a fost un circuit de tipul Motorola 6845 care constituie
inima unei plăci grafice monocrom sau color produsă de IBM. Aceste plăci au dispărut,
locul lor fiind luat de plăci de tipul EGA, VGA, SVGA care posedă controlere puternice
şi mult mai evoluate.
10
care avea rolul de a efectua calculele în virgulă mobilă. Acest coprocesor a fost adaptat
diferitelor μP care au fost dezvoltate de firma Intel având denumiri care diferă cu o
unitate de cel al procesorului (8087, etc).
Totuşi coprocesoarele nu au cunoscut niciodată un succes deosebit datorită
preţului practicat pentru achiziţionarea lor. Începând cu procesorul 486DX acesta a fost
integrat pe acelaşi chip cu procesorul însuşi, formând în final un singur circuit, numit
simplu “procesor”.
Aceste circuite auxiliare care la primele PC se găseau pe placa de bază şi se
prezentau cu circuite independente odată cu dezvoltarea tehnologiei de integrare s-au
grupat în două sau chiar într-un singur circuit integrat. Aceste circuite sunt cunoscute cu
denumirea de “CHIPSET” şi sunt produse pe lângă Intel şi de alte firme producătoare de
chipuri pentru placa de bază. De obicei în oferta unui calculator când se prezintă
caracteristicile plăcii de bază se specifica şi tipul de chipset folosit. Această denumire la
firma Intel cuprinde litera X şi sunt cunoscute chipseturile LX, TX, BX, etc fiecare din
ele având unele îmbunătăţiri faţă de precedentele şi putând fi folosite în combinaţie cu un
anumit tip de procesor.
D. Organizarea memoriei
În momentul apariţiei PC era echipat cu 16 Ko de memorie care putea fi extinsă
până la 64K pe placa de bază. IBM a furnizat şi plăci de extensie de memorie care cuplate
în conectori puteau mări memoria disponibilă peste limita de 64K, maxim la 256K
capacitate totală (3 plăci de 64K fiecare plus 64K pe placa de bază), un număr considerat
gigantic la acea epocă.
Dezvoltatorii PC au prevăzut o evoluţie a sa şi au permis o extensie posibilă până
la 640K limita care a fost în realitate foarte repede atinsă. Cum procesorul 8088 (şi 8086)
puteau adresa până la 1M spaţiul rămas peste cei 640K a fost atrribuit pentru memoria
ecran, o memorie specială numită BIOS şi eventual pentru unele extensii viitoare.
În tabelul de mai jos se dă structura memoriei unui PC original, această memorie
de 1Moctet fiind decupată în 16 segmente de 64K fiecare.
Comentând această organizare observăm că primele 10 segmente sunt folosite
pentru memoria RAM adică memoria dinamică cu proprietatea de a fi scrisă şi ştearsă
11
Bloc Adresă Conţinut
15 F0000-FFFFF BIOS
14 E0000-EFFFF liber pentru memorie ROM
13 D0000-DFF liber pentru ROM
12 C0000-CF.. ROM suplimentar
11 B0000 memorie RAM pentru ecran
10 A RAM ecran suplimentar
9 9 RAM 576K – 640K
8 8 RAM 512K – 576K
7 7 ….
6 6 ….
5 5 ….
4 4 ….
3 3 …..
2 2 ….
1 10000-1FFFF RAM 64K – 128K
0 00000-0FFFF RAM 0K – 64K
12
Calculatorul IBM – PC nu a pus sfârşit dezvoltării microinformaticii dar a fixat
câteva principii care sunt valabile până în zilele noastre: funcţionarea BIOS-ului,
organizarea memoriei şi colaborarea între μP şi circuitele auxiliare.
Dacă primul PC a apărut în 1981, în 1983 la acesta se ataşează un disc dur de
10M, noul calculator numindu-se XT. Restul componentelor nu au fost afectate,
instalându-se numai un BIOS suplimentar în segmentul C de memorie ce conţinea
subrutinele pentru discul dur.
Calculatorul AT este introdus în 1984 numele provenind de la “Advanced
Technology”.
Vechiul procesor 8088 de la Intel a fost abandonat în favoarea ultimului produs la
acea oră, μP 80286. Busul de date a rămas pe 16 biţi dar liniile de adresă au crescut de la
20 la 24 putându-se adresa 16M de memorie. Discul dur s-a mărit la 20M discheta de
1,2M, ceasul de timp real cu acumulator sau baterie electrica ,numărul mărit de de
întreruperi hard şi noi funcţii BIOS introduse sunt numai câteva din îmbunătăţirile
introduse care fac să justifice numele de tehnologie avansată.
Unele din noile inovaţii introduse în construcţia sa nu au putut fi încă folosite
(modul de lucru protejat) decât mai târziu la introducerea lui 80386 şi sistemul de operare
Windows.
PS/2. Odată lansat AT, IBM a căutat un nou standard şi introduce un nou bus,
busul MCA (Micro Channel) dar păstrarea secretă a specificaţiilor de bus au făcut ca
interesul pentru această serie de sisteme să fie redus mai ales că plăcile de extensie ISA
nu puteau să funcţioneze pe un astfel de sistem.
În fapt PS/2 anunţă începutul sfârşitului pentru IBM pe piaţa PC.
După AT: mai multe standarde
Tot mai mulţi fabricanţi încep să ofere microcalculatoare mai ieftine şi mai
performante. Astfel o societate precum Compaq produce primul AT bazat pe procesorul
80386 produs de Intel după 80286. În continuare apar procesoare noi ca 80486DX care
conţine şi procesorul matematic înglobat în cip şi se construiesc calculatoare PC care
toate bineînţeles sunt compatibile ca cele anterioare. Apariţia procesoarelor din seria
Pentium (586, 686, etc) fac ca performanţele PC să urce la cote care nici nu se
întrezăreau la apariţia primelor PC, urmând să vedem ce surprize ne rezervă viitorul !
13
14