Sunteți pe pagina 1din 26

Noţiuni de bază

Modelul von Neumann


Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Universitatea din Piteşti


Facultatea de Matematică-Informatică

Structura şi funcţionarea unui sistem de calcul

October 25, 2021

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Cuprins

1 Noţiuni de bază

2 Modelul von Neumann

3 Modelul System Bus (magistrală sistem)

4 Limbaje de programare

5 Funcţionarea sistemelor de calcul

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Un sistem de calcul reprezintă un ansamblu de dispozitive


destinat prelucrării automate a unor informaţii. Prelucrarea se
realizează printr-un şir finit de operaţii aritmetice şi logice.
Informaţia reprezintă o caracteristică a unui obiect al
cunoaşterii care poate fi scrisă sau simbolizată.
Pentru a descrie corect un obiect, informaţiile trebuie să fie:
consistente: suficient de cuprinzătoare
relevante: să furnizeze cunoştintele de care avem nevoie
exacte: să constituie o reflectare reală a obiectului
oportune: să fie furnizate ı̂n timp util
accesibile subiectului.
Un ansamblu de informaţii trebuie să fie neredundant (să nu
fie furnizată aceeaşi informaţie de mai multe ori sub diverse
forme).

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Sistemul de calcul interacţionează cu mediul extern pentru a


prelua anumite informaţii, prelucrează aceste informaţii ı̂ntr-un
anumit scop şi furnizarea informaţiile rezultate ı̂n urma
prelucrării.
Pentru a fi prelucrate cu ajutorul unui sistem de calcul,
informaţiile sunt reprezentate cu ajutorul unei combinaţii de
simboluri numită cod.
Datele sunt elemente constitutive ale informaţiei. În
prelucrarea automată ne interesează datele din punct de
vedere sintactic, adică din punct de vedere al reprezentării şi
organizării lor. Din acest punct de vedere, datele apar ca o
succesiune de simboluri sau caractere.
Distingem trei categorii de caractere:
caractere alfabetice
caractere numerice
caractere speciale
Structura şi funcţionarea unui sistem de calcul
Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Datele nu trebuie confundate cu informaţiile: datele privesc


evenimente primare, fiind colectate din diferite situaţii sau
locuri şi sunt neorganizate sau neprelucrate ı̂ntr-o formă care
să stea la baza luării unor decizii, ı̂n timp ce informaţiile sunt
obţinute prin prelucrarea datelor.
Datele se pot prelucra manual sau cu echipamente electronice
de calcul, de unde şi denumirea de prelucrare automată.
Algoritmul este o succesiune finită şi ordonată de operaţii
care, pornind de la o mulţime finită de date, conduce la o
mulţime finită de rezultate.
Termenul de algoritm provine de la numele matematicianului
persan Abu Abdullah Muhammad bin Musa al-Khwarizmi
(780 - 845).

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Principalele caracteristici ale unui algoritm sunt:


finitudine: orice algoritm bine proiectat se termină ı̂ntr-un
numar finit de pasi;
claritate: algoritmul trebuie descris clar, fără ambiguităţi;
generalitatea: orice algoritm trebuie să rezolve toate
problemele dintr-o clasă de probleme;
completitudinea: presupune tratarea cazurilor speciale unei
probleme.
realizabilitatea: orice algoritm trebuie să poata fi codificat
ı̂ntr-un limbaj de programare;
eficienţa: numărul de operaţii efectuate să fie cât mai mic şi
spaţiul de memorie utilizat cât mai redus.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Calculatoarele electronice lucrează pe bază de programe.


Un program este o reprezentare a unui algoritm ı̂ntr-un limbaj
de programare.
Limbajul de programare este un limbaj artificial destinat
descrierii prelucrărilor de date ce urmează a fi realizate de un
calculator.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Un sistem de calcul (calculator electronic) reuneşte două


categorii de componente:
componente fizice (echipamente de calcul) cunoscute sub
numele de hardware;
componente logice (programe), prin intermediul cărora sunt
utilizate echipamentele, cunoscute sub numele de software.
Astfel, calculatorul electronic se defineşte ca un complex fizic
de echipamente (hardware) care ı̂mpreună cu un sistem de
programe (software) asigură prelucrarea informaţiei pe baza
algoritmilor utilizatorului.
Sistemul de operare este un ansamblu de programe care
realizează gestiunea resurselor unui calculator electronic
(sistem de calcul), asigurând funcţionarea acestuia, şi care
asigură comunicarea cu utilizatorul.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Modelul von Neumann


Modelul de bază pentru arhitectura unui sistem de calcul a
fost introdus de savantul american John von Neumann, ca
rezultat al participării sale la construcţia calculatorului ENIAC,
ı̂n anii 1944-1945.
Acest model este cunoscut ı̂n literatura de specialitate ca
arhitectura von Neumann.
Modelul von Neumann are ı̂n componenţă cinci unităţi
funcţionale:
unităţi de intrare
unităţi de memorare
Unitatea Aritmetică şi Logică (UAL)
Unitatea de Comandă şi Control (UCC)
unităţi de ieşire

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Unităţile de intrare realizează introducerea


datelor/informaţiilor ı̂n sistemul de calcul şi conversia lor din
forma uzuală(numere, texte, imagini, sunete) ı̂n formatul
intern (binar).
Formatul intern (binar) este utilizat ı̂n construcţia circuitelor
electronice care prezintă două stări stabile (nivele de tensiune).
Convenţional, cele două stări reprezintă cifrele binare 0 şi 1.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Unităţile de memorie asigură stocarea informaţiei (date şi


programe).
O caracteristică importantă a acesteia o reprezintă
capacitatea, adică volumul maxim de informaţie pe care-l
poate stoca.
Unitate de măsură pentru capacitatea memoriei este octetul
sau Byte-ul (8 biţi), ı̂mpreună cu multiplii săi:
1 KB (KiloByte) = 210 = 1024 octeţi
1 MB (MegaByte) = 210 KB = 220 octeţi
1 GB (GigaByte) = 210 MB = 230 octeţi
1 TB (TerraByte) = 210 GB = 240 octeţi

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Memoria unui sistem de calcul este formată din:


memoria internă (principală);
memoria externă (secundară).
În memoria internă se păstrează temporar programele şi datele
ce se utilizează la un moment dat de către sistemul de calcul,
precum şi rezultatele temporare şi finale.
În memoria externă se păstrează programe şi date pe perioadă
ı̂ndelungată.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Unitatea Aritmetică şi Logică realizează prelucrarea


informaţiei prin operaţii aritmetice şi operaţii logice.
Unitatea de Comandă şi Control controlează activitatea
ı̂ntregului sistem de calcul, parcurgând etapele:
citirea instrucţiunii curente
decodificarea instrucţiunilor (identificarea operaţiilor ce trebuie
realizate) şi aducerea din memorie a operanzilor
execuţia operaţiilor cerute de instrucţiuni

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Unităţile de ieşire realizează transferul rezultatelor prelucrării


către mediul exterior.
Rezultatele pot fi reprezentate ı̂n format intern (binar) sau ı̂n
format direct utilizabil (numere, texte, grafice, imagini,
sunete).
Dacă rezultatele sunt destinate acţionării unor echipamente,
unitatea de ieşire generează, prin intermediul unor circuite
speciale (interfeţe), semnalele necesare acţionării
echipamentelor respective.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Cel mai important aspect al modelului von Neumann ı̂l


reprezintă programul stocat.
Înainte de apariţia sistemelor de calcul cu program stocat,
programele erau stocate pe medii externe cum ar fi cartele
perforate.
Stocarea programelor alături de date a dus la apariţia
compilatoarelor şi a sistemelor de operare.
Structura prezentată este structura minimală a unui sistem de
calcul. Evident, aceasta poate conţine şi alte elemente care
vor duce la ridicarea performanţelor sistemului de calcul dar,
elementele prezentate anterior sunt indispensabile funcţionării
unui sistem de calcul bazat pe program.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Modelul System Bus reprezintă o reorganizare a modelului


von Neumann care combină:
UCC şi UAL ı̂n Unitatea Centrală de Procesare (CPU - Central
Processing Unit)
unităţile de intrare şi ieşire ı̂n unitatea de intrare/ieşire.
Caracteristica principală a modelului System Bus este
comunicarea ı̂ntre diferitele componente printr-o cale numită
magistrală sistem, care are ı̂n componenţă:
magistrala de date (care transportă informaţia transmisă)
magistrala de adrese (care identifică unde este trimisă
informaţia)
magistrala de control (care descrie aspecte ce ţin de modul ı̂n
care este trimisă informaţia)

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Fizic, magistralele sunt formate din colecţii de fire grupate pe


funcţii.
De exemplu, o magistrală de 32 de biţi are 32 de fire separate,
fiecare transmiţând un bit de date.
Magistrala de date transportă datele ı̂ntre diferitele
componente ale sistemului.
O adresă de memorie identifică locaţia de memorie la care
sunt stocate datele.
În timpul unei operaţii de citire din memorie sau de scriere ı̂n
memorie, magistrala de adrese conţine adresa locaţiei de
memorie de la care se vor citi datele, respectiv la care se vor
scrie datele.
Magistrala de control coordonează accesul la magistrala de
date şi la magistrala de adrese şi direcţionează datele spre
diferite componente.
Structura şi funcţionarea unui sistem de calcul
Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Limbaje de programare

Una din modalităţile de a comunica cu un sistem de calcul


constă ı̂n utilizarea unui limbaj de programare.
Există o mare varietate de limbaje de programare, fapt ce se
datorează atât diversificării domeniilor de aplicaţii, precum şi
dezvoltării structurii şi tipurilor de sisteme de calcul.
Limbajele de programare se pot clasifica ı̂n:
limbaje ı̂n cod maşină
limbaje de asamblare
limbaje de nivel ı̂nalt

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Limbajele de programare ı̂n cod maşină sunt limbaje de nivel


scăzut, descrierea operaţiilor ce urmează a fi executate de
sistemul de calcul fiind făcută ı̂n format direct executabil.
Limbajul maşină este specific fiecărui tip de sistem de calcul şi
se stabileşte ı̂n etapa de proiectare a acestuia.
Principalul avantaj al utilizării unui astfel de limbaj ı̂l
reprezintă posibilitatea de a exploata la maximum resursele
hardware ale unui sistem de calcul.
Pe de altă parte, programarea ı̂n cod maşină este laborioasă,
presupune descrierea ı̂n detaliu a operaţiilor ce urmează a fi
executate şi o bună cunoaştere a arhitecturii şi performanţelor
hardware ale sistemului de calcul respectiv.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Limbajele de asamblare sunt limbaje de nivel mediu, ce rămân


apropiate sistemelor de calcul, permiţând exploatarea
performanţelor hardware ale acestora.
Operaţiile pe care trebuie să le execute sistemul de calcul sunt
specificate prin simboluri (mnemonice).
Unei instrucţiuni ı̂n limbaj de asamblare ı̂i corespunde o
instrucţiune ı̂n limbaj maşină.
Programarea utilizând un limbaj de asamblare presupune o
foarte bună cunoaştere a resurselor hardware şi software ale
sistemului de calcul respectiv.
Limbajele de asamblare se utilizează, ı̂n general, ı̂n aplicaţii ce
necesită acces direct la resursele hardware ale sistemului de
calcul sau viteză mare de execuţie.
Programele scrise folosind un limbaj de asamblare nu sunt
portabile.
Structura şi funcţionarea unui sistem de calcul
Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Limbajele de nivel ı̂nalt conţin instrucţiuni care sunt mai


apropiate de utilizator decât de calculator.
Complexitatea operaţiilor puse la dispoziţia programatorului
este mult mai mare decât ı̂n cazul limbajelor de asamblare.
Unei instrucţiuni scrise ı̂n limbaj de nivel ı̂nalt ı̂i corespunde o
secvenţă de instrucţiuni ı̂n cod maşină.
Fiecare limbaj de programare de nivel ı̂nalt are asociat un set
de reguli sintactice care trebuie cunoscute de utilizator
(sintaxa limbajului).
Limbajele de nivel ı̂nalt sunt portabile, fiind independente de
sistemul de calcul.
Pentru a executa un program scris ı̂ntr-un limbaj de nivel ı̂nalt
pe un anumit calculator, instrucţiunile acestuia trebuie
transformate ı̂n cod maşină. Această operaţie se realizează cu
ajutorul unui program special, numit translator.
Structura şi funcţionarea unui sistem de calcul
Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Translatoarele se clasifică ı̂n:


compilatoare
interpretoare
Compilatoarele realizează conversia unui program scris ı̂ntr-un
limbaj de nivel ı̂nalt (program sursă sau cod sursă), ı̂n limbaj
maşină. Compilatorul ı̂nlocuieşte fiecare instrucţiune din
programul sursă cu secvenţe echivalente de instrucţiuni ı̂n
limbaj maşină. Programul obţinut ı̂n urma conversiei se
numeşte cod obiect.
Operaţia de traducere (conversie) se numeşte compilare.
Compilarea se face o singură dată, iar execuţia ori de câte ori
este nevoie.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Interpretoarele analizează fiecare instrucţiune din programul


scris ı̂n limbaj de nivel ı̂nalt şi o convertesc ı̂n secvenţa
echivalentă de instrucţiuni ı̂n limbaj maşină.
Interpretarea presupune traducerea programului instrucţiune
cu instrucţiune, ori de câte ori acesta este executat de
sistemul de calcul respectiv.
Limbajele precum Fortran, Pascal, C, C++ folosesc
compilatoare, ı̂n timp ce, interpretarea se aplică ı̂n cazul unor
programe sursă scrise ı̂n limbajele Basic, Java.
Şi programele scrise utilizând un limbaj de asamblare sunt
translatate ı̂n limbaj maşină cu ajutorul unui program special
numit asamblor.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Funcţionarea unui sistem de calcul

Funcţionarea unui sistem de calcul este condiţionată de modul


cum lucrează ı̂mpreună componentele sale hardware cu
produsele software corespunzătoare.
Datele iniţiale, ce urmează a fi prelucrate şi programele se
introduc ı̂n sistemul de calcul cu ajutorul unor echipamente
numite dispozitivele periferice de intrare, prin intermediul
canalelor de intrare/ieşire, fiind transferate ı̂n memoria internă
a sistemului de calcul, sub formă binară, ı̂n locaţii
identificabile, prin adresele la care au fost memorate.

Structura şi funcţionarea unui sistem de calcul


Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

În general, un program parcurge următoarele etape:


editarea fişierului sursă - constă ı̂n scrierea programului
folosind regulile de sintaxă ale editorului de texte
corespunzător;
compilarea fişierului sursă - ı̂n cadrul acestei etape pot să
apară erori datorate ı̂ncălcării regulilor de scriere a programului
sursă. Pentru remedierea acestor erori se revine ı̂n etapa de
editare a textului programului. În cazul ı̂n care compilatorul
nu detectează erori sintactice, el va genera un fişier obiect.
editarea legăturilor - etapă ı̂n cadrul căreia un program
specializat numit linkeditor, asamblează mai multe module
obiect şi generează programul executabil.
lansarea ı̂n execuţie - ı̂n această etapă pot să apară erori
datorate fie datelor de intrare eronate, fie conceperii greşite a
programului.
Structura şi funcţionarea unui sistem de calcul
Noţiuni de bază
Modelul von Neumann
Modelul System Bus (magistrală sistem)
Limbaje de programare
Funcţionarea sistemelor de calcul

Fiecare instrucţiune a programului lansat ı̂n execuţie este


interpretată de UCC, care emite comenzi către:
memoria internă, prin care se solicită ca anumite date,
localizate prin adresele la care au fost memorate, să fie
transferate către UAL pentru execuţia unei anumite operaţii;
după efectuarea operaţiei se va specifica adresa de memorie
unde se va depune rezultatul
UAL căreia i se va solicita execuţia operaţiei specificate prin
instrucţiune.
După terminarea execuţiei operaţiilor solicitate, rezultatele
sunt stocate temporar ı̂n memorie şi transferate mediului
extern prin intermediul canalelor de intrare/ieşire către
dispozitivele periferice de ieşire.

Structura şi funcţionarea unui sistem de calcul

S-ar putea să vă placă și