miercuri, 3 octombrie 2007

S1/C1/Sisteme de calcul cu microprocesor

Curs nr.1(Pedagogie/Teatru)
Sisteme de calcul cu microprocesor

1. Introducere
Toate formele de manifestare a materiei pot fi considerate suport de transmisie a informatiei. Semnalul electric, optic, magnetic sunt folosite astazi pentru procesarea informatiei prin valori discrete (se spune ca informatia este digitizata ).
In majoritatea circuitelor electronice care au in alcatuire un tranzistor bipolar de comutatie, se folosesc doua valori discrete, notate conventional cu 1 si 0. (bit)
Cu aceste elemente 0 si 1 s-a dezvoltat o aritmetica prin definirea a trei legi de compozitie : NOT ; OR ; AND
O succesiune de biti (0,1) formeaza un cuvant. Prin conventie un cuvant de 8 biti se numeste byte (10101010).
Transmisia bitilor se realizeaza in doua moduri:
- serial prin transmisia bitilor in ordinea transmisiilor
- paralel prin transmisia bitilor simultan pe mai multe canale (magistrala, bus)

2. Microprocesor

Microprocesorul este un sistem de porti logice care proceseaza informatia la nivel de bit. Din punct de vedere fizic este o unitate de prelucre a informaţiei, care coordonează un sistem structurat funcţional şi se prezintă sub forma unui cip. El prelucrează datele şi controlează activităţile întregului sistem.
Microcalculatorul este un sistem bazat pe un microprocesor care este legat de celelalte componente (modul de memorie, periferice) prin intermediul unor magistrale.

Microprocesorul cuprinde urmatoarele componente:
C.P.U – unitatea centrala de prelucrare compusa din:
UAL – unitatea aritmetica si logica care realizeaza operatii aritmetice si
logice (adunare, scadere, Si,SAU,OR, deplasare , incrementare,
decrementare)
Grup de registre :reg.acumulator (A), reg.numarator de adrese (PC), reg.indicator de conditii(PSW), reg.de instructiuni(RI), reg. de adresare a memoriei (RM), reg. de intrare/iesire (RI/E)
Biti de stare: Carry- bit pozitionat la operatii de depasire capacitate; Zero – bit pozitionat la rezultat operatii aritmetice egale cu zero; Sign – bit pozitionat la operatii cu semn
CPU este blocul din componenţa unui microcalculator capabil să acţioneze asupra conţinutului (datelor) uneia sau mai multor locaţii conţinute în unitatea de memorie, specializat pe operaţii (de adunare, înmulţire, împărţire, extragere şi reintroducere) de date, care poate să depoziteze datele atâta timp cât asupra acestora se efectuează operaţii.
In urma efectuării acestor operaţii se va depune înapoi în unitatea de memorie,(în locatiile de memorie) rezultatul operaţiilor efectuate (un nou conţinut de date).
Legatura intre microprocesor si echipamentele periferice se realizeaza prin magistrale (cabluri IDE) :
- magistrala de adrese pentru coduri de adresare a memoriei (trimite date de la CPU la memorie)
- magistrala de date pentru datele trimise sau preluate din registri
3.Memorii
Unitatea de memorie este acea parte a microcontrolerului care are funcţia de a înmagazina informaţia sub formă de date şi de a o face accesibilă prin citire. Accesul la locatia de memorie se realizeaza prin identificarea adresei locatiei de memorie.

Microprocesoarele sunt dotate cu circuite de memorie:
- ROM (read only) folosite doar pentru citirea informatiei inscrisa anterior, informatie care ramane permanent in cadrul sistemului fiind lansata la fiecare resetare a sistemului de calcul. Pentru o astfel de memorie important este timpul de acces ;
- RAM (random access memory) folosite pentru depozitate informatii in perioada cand sistemul este activ. Dupa inchiderea sistemului continutul acestor memorii se pierde. Ca masura de performanta este important timpul de citire / scriere a unei astfel de memorii (DRAM, SRAM folosite pentru depozitare temporara a continutului unor biblioteci in cadrul unor aplicatii software);
- EPROM (memorii RAM nevolatile) memorii care permit inscrierea / stergerea si rescrierea continutului ;
- REGISTRE circuite de memorie temporara in care se depoziteaza operatiunea curenta. Se cunosc urmatoarele tipuri de registre:
A – reg.acumulator - care participa la transferul operatiunii intre sursa si destinatie
PC (program counter) – reg. numarator de adrese a carui continut este adresa
urmatoare care se aduce in memorie (Succesiunea de instructiuni
executata de procesor este depozitata in locatii succesive de memorie )
Registrul de I/E – buffer de vehiculare date si instructiuni ;
RI – registru de instructiuni - care pastreaza instructiunea pe durata
executiei instructiunii;
PSW – registru indicator de conditii – care permit evidenierea rezultatelor
operatiunilor executate (+,-, salt etc.);
SP – registru indicator de stiva (stiva este o zona de memorie in care se
depoziteaza instructiuni sau date);
- FLASH - memoria de tip FLASH este o memorie care poate fi programata si stearsa exclusiv electric (fara expunere la radiatii). Sint versiuni care se pot programa pe programatoarele clasice utilizate pentru versiunile de tip EPROM dar in ultimul timp au aparut microcontrolere care au optiunea ISP (In System Programming) adica sint dotate cu o interfata de programare speciala (de obicei seriala) care permite utilizatorului rescrierea continutului memoriei de program fara a scoate circuitul din montaj utilizind pentru aceasta un calculator PC cu un program special conectat la microcontroler printr-o interfata simpla (de obicei un cablu de legatura intre cupla de imprimanta a calculatorului si microcontroler). Este versiunea cea mai usor de utilizat deoarece nu solicita investitii in programatoare, stergatoare de EPROM-uri.
Obs. Functionarea unui microprocesor este un fenomen dinamic, calculatorul raspunde direct la stimuli din exterior (evenimente).
La un moment dat registrul PC contine o adresa a unei instructiuni care trebuie executata.
- aceasta adresa este lansata pe magistrala de adrese.
- magistrala de adrese culege instructiunea de la adresa specificata si o incarca in registrul de instructiuni (moment in care PC incarca urmatoarea adresa ).
- UAL decodifica instructiunea si o executa
Daca in timpul executiei instructiunii , apare un nou eveniment, microprocesorul emite un semnal de intrerupere, care este rezolvat de sistemul de operare :
- se trece la executarea evenimentului daca el are atribuit un numar de prioritate superior evenimentului in curs
- se trece evenimentul in stare de asteptare (coada de asteptare)
Obs. Calculatoarele moderne poseda un grup de circuite de mare viteza care se comporta ca o memorie tampon intre procesor si memoria dinamica a sistemului numita memorie cache (512Mo sau 2GB).

4. Porturi
Schimbul de informatii intre sistemul de calcul si exterior (periferice) se realizeaza prin intermediul unor registri (porturi) care functioneaza ca buffere de I/E pentru informatia care vine /pleaca de la sistem catre exterior.
Daca portul este folosit pentru culegerea informatiei din exterior, avem port de intrare (input), daca transmite informatia catre exterior avem port de iesire (output).
In general fiecare microprocesor poate selecta un numar de 256 de porturi de intrare sau iesire.
port de comunicaţie paralelă (denumit şi LPT) - acea mufă mare, trapezoidală, de tip mamă, cu 25 de pini pe 2 rînduri, folosită de regulă pentru conectarea unei imprimante şi/sau a unui scanner. În comunicaţia de acest tip se trimit simultan cîte 8 biţi de date. Dacă exista şi scanner, şi imprimantă, adesea ele se pot conecta în serie, întîi scannerul, iar din acesta un alt cablu paralel poate conecta imprimanta. Tot prin portul paralel se pot conecta unele dispozitive de stocare externă a datelor. Orice computer ar trebui să aibă cel puţin un port paralel.
port de comunicaţie serială (denumit şi COM) - de obicei cu mufă mai mică, trapezoidală, de tip tată, cu 9 pini pe 2 rînduri. Comunicaţia serială este mult mai lentă decît cea paralelă, deoarece se trimit datele bit cu bit pe linia de comunicaţie. Pe un astfel de port se conectează frecvent mouse-ul, sau se poate conecta un modem extern. Orice computer are cel puţin un port serial, iar unele computere au două. Se pot defini şi porturi virtuale de comunicaţie serială, dacă se instalează componente (de pildă, un modem intern) care nu se conectează la mufa serială, dar lucrează pe aceleaşi principii.
port de comunicaţie PS/2 - este un port realizat iniţial de IBM pentru mouse, cu scopul de a se elibera portul serial ca să fie folosit de alt dispozitiv. Mufa lui are formă rotundă, mică, cu 6 pini (5 în cerc şi unul central). La unele computere mai vechi, portul PS/2 lipseşte. Alte computere, mai ales cele mai noi, pot avea 2 porturi PS/2, unul fiind folosit pentru mouse şi celălalt pentru tastatură.
port USB (de la Universal Serial Bus) este un port de tip mai nou, proiectat pentru conectarea în serie a mai multor periferice care includ facilităţi USB. Numai computerele din ultimii 3 ani au 3-4 porturi USB, care se prezintă ca nişte mici fante pentru mufe lamelare. Pe portul USB pot funcţiona tastatura, camera video pentru computer şi alte dispozitive cu suport USB.

Comunicarea sistemului de calcul cu mediul exterior prin intermediul porturilor de intrare/ iesire se realizeaza prin intermediul unor proceduri standard numite interfete.
Dupa modul de transmitere a informatiilor distingem:
- Interfete paralele standard:
- PIO (paralel input/output)
- PIA (interfata programabila)
- PPI (interfata programabila pentru periferice)
- Interfeta seriale standard:
- UART (trasmitere asincrona a semnalelor)
- USART (transmitere sincrona/asincrona a semnalelor)
Trandmiterea datelor pe magistrala sistemului, intre un echipament periferic si unitatea de memorie se realizeaza printr-un circuit specializat numit DMA (Direct Memory Access).

5. Periferice
Comunicarea sistemului cu lumea exterioara se realizeaza prin intermediul perifericelor.
- periferice de stocare: discuri, benzi magnetice, dischette, CD-Rom
- periferice de culegere date: tastatura, mouse,creionul optic, digitizor, tabela grafica,
- periferice de timp real: convertoare, interfete , registre tampon, cititoare optice , camera de luat vederi, camera web
- periferice de transmitere date: imprimanta, plotter,scanner.

Obs. Digitizorul permite introducere date prin coodonatele numerice ale punctelor de pe un desen deja realizat
Ploterul permite trasarea unui desen pe o plansa (A4-A0) dupa un desen existent in memoria calculatorului.

6. Display
Display-ul este terminalul de vizualizare al calculatorului . Display-ul este de tip raster, ceea ce inseamna ca toata suprafate terminalui este o matrice de linii si coloane. Un punct de la intersectia acestei matrice se numeste pixel si poate fi controlat (in sensul ca poate fi aprins sau stins, i se poate atasa un nivel de cunoare etc.)
Marimea matricei monitorului se numeste rezolutie ecran . Exista monitoare de 14” (640 x 480), 15” (1024 x 768) , 17” ( 1280 x 1024), 19” (1920 x 1440)
Memoria terminalului aloca un bit fiecarul pixel afisat pe ecran . Pentru obtinerea unei imagini color se ataseaza mai multe planuri de memorie . Stabilitatea imaginii este obtinuta printr-un ciclu de reimprospatare a memoriei (numita ciclu refres )

7. Fisiere
Fisierul este o colectie de date sau instructiuni care au o identificare unica. Fisierele pot fi construite prin programe de editare . Exista programe de editare specifice unor categorii de utilizatori:
- programe de editare caracter (ex.Word )
- programe de editare grafica vectoriala (Corel )
- programe de prelucrare grafica la nivel de pixel (Photoshop)
- programe de editare tabelara (Excel)
Continutul unui fisier de date poate fi vizualizat, listat , prelucrat cu acelasi tip de programe de editare sau alte prograe care recunosc structura acestui fisier.
Fisierele care contin un set de instructiuni sunt prelucrate de programe de compilare care permit transformarea acestor instructiuni in coduri masina (proces numit compilare), obtinand astfel un program executabil (*.exe) recunoscut si executat de sistemul de calcul .
De regula se lanseaza in executie un mediu de programare dotat cu functiuni de editare, compilare proprii in care programatorul construieste propriul program folosind o serie de biblioteci sau rutine deja existente.
Mediile de proiectare Visual Basic, Visual Fox-Pro, Visual C, contin o serie de biblioteci si subrutine cu care programatorul poate dezvolta propria aplicatie. In acest caz rolul principal al unui programator nu este de a construi algoritmi complicati ci mai degraba de a combina sau organiza succesiunea subrutinelor de biblioteca existente.

8. Procese
Procesul este un program in executie. Pentru un program (fisier executabil) pot exista la un moment dat unul sau mai multe procese asociate, numite instante
La apelare un program extensia *.exe (numit program executabil), este incarcat in memoria sistemului. Executia unui program utilizator se poate face in doua moduri:
- mod utilizator (cand procesele au acces numai la propria zona de date)
- mod sistem (cand un proces contine instructiuni privilegiate care permit accesul la structurile de date ale sistemului de calcul)
Fiecare proces are asociate mai multe atribute:
- identificator de proces (PID) , stocat in variabila pid_t din /sys/types.h care identifica proprietarul procesului Prin conventie procesul identificat cu 0 se numeste swaper, iar procesul identificat cu 1 se numeste init
- identificatorul grupului (daca procesul apartine unui grup)
- terminalul asociat procesului, stocat in /dev/tty (daca procesul nu are asociat un terminal, deci nu interactioneaza direct cu utilizatorul , el se numeste daemon , sau proces de fundal (background)
Orice proces se poate gasi in uma din urmatoarele stari:
- pregatit de executie – procesul este incarcat in memorie
- in executie (run)
- in asteptare (wait)
- teriminat (exit)
Executia proceselor in sistemul de calcul are loc prin alocarea unor coante de timp , fiecarui program (task) activ din memorie. In timpul executiei unui proces aparitia unor evenimente determina trimiterea unor semnale catre sistemul de calcul :
- SIGHUP determina deconectarea terminalului
- SIGINT (CTRL+C – intrerupere proces de la terminal
- SIGQUIT – abandonarea unui proces

9. Sistem de operare
Sistemul de opeare cuprinde o serie de functii sistem, arse intr-o memorie ROM are permit o gestionare a sistemului – executia unor functii elementare – precum si gestiunea perifericelor atasate calculatorului.
Un sistem de operare trebuie sa indeplineasca urmatoarele functiuni:
- gestionarea resurselor (echipamente standard sau noi atasate);
- gestionare biblioteci de programe;
- gestionare aplicatii utilizator;
- gestionare fisiere de date si programe;
- gestionare memorie ;
- gestionarea intreruperilor
Nucleul sistemului de operare care executa operatiuni elementare de I/O si de procesare a taskurilor in sistemul de calcul se numeste kernel
Sistemele de operare evoluate folosesc ecranul terminalului pentru evidentierea programelor sau aplicatiilor disponibile prin atasarea unor pictograme. Aceste pictograme devin operationale prin simpla lor atingere cu mouse-ul calculatorului (dublu click).
Fiecare pictograma are atasate o serie de proprietati [i functii care pot fi accesate direct.
Fisierele [i programele gestionate de sistemul de operare sund depozitate in directoare (folder). Sistemul de operare permite accesul la fisiere sau directoare, actualizarea, copierea sau distrugerea lor.
Se cunosc doua categorii de sisteme de operare:
- sisteme de operare de retea
- sisteme de operare distribuite
In sistemele de operare de retea exista mai multe sisteme de calcul dintre care unul principal care gestioneaza resursele se numeste server. Accesul la resursele comune ale retelei se face prin declararea calculatorului gazda , drept calculator public al retelei (comanda login). Recunoasterea de catre server a calculatorului intrat in retea se face prin intermediul unui protocol de comunicatie (ex.TCP/IP). Aceste tipuri de sisteme de operare sunt folosite pentru transfer de fisiere folosind o serie de servicii (ex.FTP) In acest caz serverul verifica drepturile de acces ale solicitantului si lanseaza serviciul solicitat.
In sistemele de operare distribuite o parte din resursele serverului sunt depozitate partial pe server sau pe alte sisteme specializate. In cazul unei cereri sistemul de operare poate transfera temporar fisierul pe masina solicinantului sau numai portiuni din fisier.(serviciul NFS).

10. Protocoale
Comunicarea intre doua calculatoare se realizeaza printr-un program specializat care se numeste protocol. Un protocol este structurat pe nivele:
- nivel legatura de date realizat de cartela de retea (ex. ethernet) si cablu de retea (BNC, UTP), fir telefonic, fibra optica , semnal radio etc.
- nivel retea descris de modul cum sunt transmise datele dintre sursa si destinatie (pachete fara legaturi intre pachete, reconstituite la destinatie) (protocol IP)
- nivel transport (protocol TCP) care asigura protectia si securitatea datelor, duplicarea la nevoie a pachetului
Exemple de protocoale:
- TCP/IP – folosit in transmisia de date intre doua retele
- FTP – folosit in transmisii de fisiere intre 2 calculatoare. (calculatorul local care emite cererea de comunicare se numeste host)
- TELNET – care permite deschiderea unei sesiuni pe un sistem aflat la distanta
- NSF – care permite sistemelor sa-si puna in comun un sistem de fisiere, pe care un utilizator extern le vede ca un grup compact
- Protocol de comunicatie pt. posta electronica (SMTP, POP3) pleaca de la definirea unei adrese de e-mail de forma utilizator@server.domeniu
Clientul trimite mesajul in format electronic catre un server, aceste varifica adresa de destinatie si trimite mesajul catre serverul de destinatie (protocol numit SMTP cu portul atasat 25). La destinatie exista un server care preia mesajul si-l depoziteaza pina ce clientul il citeste, il sterge etc (protocol folosit POP3 pe portul atasat 110). Principalele comenzi ale protocolului SMTP sunt:
Helo – initiere dialog, client server
MAIL FROM - informeaza serverul ca urmeaza sa primeasca un mesaj de la expeditor
RCPT TO informeaza serverul despre adresa destinatarului
DATA – informeaza serverul ca urmeaza sa primeasca textul mesajului
QUIT – inchide comunicatia

Niciun comentariu: