un dispozitiv care lucrează automat, sub controlul unui program memorat, prelucrând date în vederea producerii unor rezultate ca efect al procesării.
dispozitiv care efectuează calcule, în special o maşină electronică programabilă care execută operaţii aritmetice, logice sau care asamblează, stochează, corelează sau efectuează un alt tip de procesare a informaţiei, cu viteză ridicată (The American Heritage Dictionary of the English Language, 2000).
FUNCTIILE DE BAZA ALE UNUI SISTEM DE CALCUL
procesarea de date;
memorarea de date;
transferul de informaţii;
controlul tuturor componentelor SC.
STRUCTURA UNUI SISTEM DE CALCUL
hardware - partea de echipamente:
unitatea centrală de procesare (Central Processing Unit – CPU);
memoria;
dispozitivele periferice;
software - partea de programe:
soft sistem (aplicaţii destinate sistemului de calcul şi sistemului de operare);
soft utilizator (restul aplicaţiilor);
firmware - partea de microprograme.
CLASIFICAREA SISTEMELOR DE CALCUL
Supercalculatoare - sisteme de calcul considerate la momentul apariției drept cele mai performante din lume în ceea ce privește viteza de procesare a datelor;
Mainframe-uri - mașini multiprocesor, de asemenea cu putere mare de procesare, neorientate însă spre un anumit task precis ci mai degrabă aplicațiilor critice, prelucrărilor simple asupra unui volum mare de date, salvarea și backup-ul acestor date;
Minicalculatoare (deprecated): termen folosit în anii 60 și 70 până la apariția microcalculatoarelor. Sisteme de calcul low cost (relativ) - tot ce era inferior unui mainframe și unui supercalculator, atât ca putere de procesare cât și ca dimensiune fizică, destinate universităților, ramuri ale industriei, etc;
Microcalculatoarele - sisteme de calcul bazate pe folosirea unui microprocesor (de unde și numele), apărute la șfârsitul anilor 70, începutul anilor 80, low cost, destinate în principal home and office user-ului.
O "ALTFEL" DE CLASIFICARE A SISTEMELOR DE CALCUL
Stații de lucru (workstations) - de obicei calculatoare din familia microcalculatoarelor (calculatoarele personale spre exemplu) cu putere de procesare medie, capabilități grafice și multimedia ridicate, de obicei conectate la Internet;
Server-e - oferă diferite servicii stațiilor (clienților). Din punct de vedere hardware un server poate rula atât pe un microcalculator (calculator personal) cu putere de procesare mai ridicată cât și pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare);
Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redusă, dotate cu un procesor și cu o funcționalitate dedicată unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD player-e, etc. Aproximativ 80% din procesoarele produse în acest moment sunt dedicate microdispozitivelor.
ARHITECTURA UNUI SISTEM DE CALCUL
Se referă la acele atribute ale sistemului care sunt vizibile programatorului şi care au un impact direct asupra execuţiei unui program:
setul de instrucţiuni maşină;
caracteristicile de reprezentare a datelor;
modurile de adresare;
sistemul de intrare / ieşire (I/O).
MULTIMEA INSTRUCTIUNILOR MASINA (Instruction Set Arhitecture – ISA)
Interfaţă cheie între nivelele de abstractizare, fiind interfaţa dintre hard şi soft;
Permite unor implementări diferite ale SC să ruleze soft identic, caz în care vorbim despre calculatoare compatibile;
Exemplu: calculatoare compatibile IBM-PC (in prezent cu procesoare AMD sau Intel).
MULTIMEA INSTRUCTIUNILOR MASINA
defineşte:
organizarea SC, modul de stocare a informaţiei (regiştri, memorie);
tipurile şi structurile de date (codificări, reprezentări);
formatul instrucţiunilor;
setul de instrucţiuni (codurile operaţiilor) pe care microprocesorul le poate efectua;
modurile de adresare şi accesare a datelor şi instrucţiunilor;
condiţiile de excepţie.
COMPONENTELE UNUI SC
modulul de control;
memoria;
sistemul de intrare (input) / ieşire (output);
structuri de interconectare a componentelor de mai sus (magistrale);
ARHITECTURA UNUI SISTEM DE CALCUL
ARHITECTURA VON NEUMANN
utilizarea memoriei interne pentru a stoca secvenţe de control pentru îndeplinirea unei anumite sarcini – secvenţe de programe;
datele, cât şi instrucţiunile sunt reprezentate ca şiruri de biţi şi sunt stocate într-o memorie read-write;
conţinutul memoriei se poate accesa în funcţie de locaţie (adresă), indiferent de tipul informaţiei conţinute;
execuţia unui set de instrucţiuni se efectuează secvenţial, prin citirea de instrucţiuni consecutive din memorie.
UNITATEA CENTRALĂ (CENTRAL PROCESSING UNIT – CPU)
Funcţiile unui CPU sunt:
obţinerea instrucţiunilor care trebuie executate;
obţinerea datelor necesare instrucţiunilor;
procesarea datelor (execuţia instrucţiunilor);
furnizarea rezultatelor obţinute.
COMPONENTELE DE BAZA ALE UNUI CPU
Unitatea Aritmetică-Logică (Arithmetic Logic Unit – ALU);
Unitatea de Comandă şi Control (Control Unit – CU) – decodifica instructiunile (FETCH DECODE READ MEMORY EXECUTE STORE);
+
regiştri – aceştia sunt dispozitive de stocare temporară a datelor şi informaţiilor de control (instrucţiunile), de capacitate mică şi viteză de acces mare;
magistrale interne CPU – dispozitive pentru comunicare între componentele CPU şi comunicare cu exteriorul, pentru transferul de informaţii.
CEASUL SISTEM
Fiecare procesor (CPU) contine un ceas intern care produce si trimite semnale electrice pe magistrala de control pentru a sincroniza operatiile sistemului. Semnalele alterneaza valori 0 si 1 cu o anumita frecventa. Frecventa cu care se alterneaza aceste valori se numeste ciclu de ceas sau perioada ceasului (clock cycle).
Frecventa de ceas - numarul de cicluri de ceas pe secunda.
Exemple: Ceasul unui procesor la 300 de Mhz ticaie de exact 300.000.000 ori pe secunda. Un ciclu de ceas al unui astfel de procesor are o durata de 1 / 300.000.000 secunde.
Ciclu de ceas - cea mai mica unitate de timp sesizabila de catre un procesor.
VITEZA CALCULATOARELOR
Cycles per Instruction (CPI) – fiecare instructiune dureaza un anumit numar de cicluri de ceas (a se vedea NG pentru numarul de CPI al fiecarei instructiuni).
Exemplu: instructiunea MOV dureaza intre 2 si 14 cicluri de ceas in functie de natura operanzilor.
un procesor ruland la 800 Mhz executa o aceeasi instructiune mai repede decat unul ruland la 300 Mhz – durata ciclului de ceas fiind mai scurta.
x86 vs RISC – instructiuni complexe care dureaza mai multe cicluri vs instructiuni simple, primare care se executa rapid?
VITEZA CALCULATOARELOR
In prezent s-a atins o anumita limita in ceea ce priveste viteza procesoarelor. Mecanisme noi de crestere a vitezei:
Pipelining - paralelizarea instructiunilor (o instructiune trecuta din faza FETCH in faza DECODE, permite unui alte instructiuni sa treaca in faza FETCH) mai multe instructiuni se executa in paralel per ciclu de ceas - Instructions per Cycle;
Cresterea numarului de nuclee (cores) per procesor (dual core, quad core).
VITEZA CALCULATOARELOR
Factori care influenteaza viteza unui SC:
Frecventa procesorului (singura nu e concludenta, vezi Intel vs AMD);
Capacitatea maxima de memorie care poate fi adresata;
Capacitatea de paralelizare (pipelining);
Dimensiunea registrilor interni si a magistralei de date;
Dimensiunea memoriei CACHE.
CE INSEAMNA CALCULATOR PE N BIŢI?
Din punct de vedere hardware - dimensiunea magistralei de date (de exemplu: Pentium are o magistrală de date pe 64 biţi = 64 linii de date, astfel că la fiecare “memory cycle” procesorul poate accesa 8 octeţi din memorie);
Din punct de vedere software: dimensiunea unui cuvânt de memorie (dimensiunea regiştrilor CPU);
MEMORIA
dispozitiv de stocare a datelor pentru un anumit interval de timp
Criterii de clasificare a tipurilor de memorie:
din punct de vedere al accesării datelor;
din punct de vedere al volatilităţii;
din punct de vedere al accesului CPU;
din punct de vedere al tipurilor de acces permise.
MEMORIA - DIN PUNCT DE VEDERE AL ACCESĂRII DATELOR
memorie cu acces aleator (Random Access Memory): locaţiile pot fi accesate (în citire sau scriere) în orice ordine (aleator) indiferent de ultima locaţie accesată. Exemple: memoriile on-chip (memoria interna);
memorie cu acces asociativ (memoria cache);
memorie cu acces secvenţial: pentru a accesa a n-a înregistrare, trebuie parcurse primele n-1 înregistrări => timpul de accesare a datelor este variabil, depinzând de locaţia accesată. Exemplu: banda magnetica;
memorie cu acces direct: spre deosebire de accesul secvenţial, poziţionarea pe o anumită înregistrare se face în mod direct pe baza unui calcul de adresă. Exemplu: dispozitivele de tip disc (CDROM, floppy disk, hard disk).
MEMORIA - DIN PUNCT DE VEDERE AL VOLATILITĂŢII
memorie volatilă (de scurtă durată): conţinutul său se pierde la îndepărtarea sursei de curent. Cel mai elocvent exemplu îl constituie în acest sens memoria principală a SC (care conţine datele şi instrucţiunile utilizate curent de CPU);
memorie non-volatilă sau remanentă (de lungă durată): conţinutul se păstrează şi după deconectarea de la sursă. Exemple: memoria ROM, hard disk, CDROM, memoria Flash.
MEMORIA - DIN PUNCT DE VEDERE AL ACCESULUI CPU
memorie internă: accesată direct de către CPU;
memorie secundară sau dispozitiv de stocare periferic: memorie externă, cu acces indirect al CPU. Exemple: HD, floppy disk, CDROM.
MEMORIA - DIN PUNCT DE VEDERE AL TIPURILOR DE ACCES PERMISE
memorie read/write: permite acces la date în citire sau scriere. Exemple: memoria principală, hard disk, floppy disk;
memorie read-only: permite doar citirea datelor. Exemple: ROM, CDROM.
MEMORIA INTERNA
Reprezinta spatiile de stocare a datelor accesibile procesorului fara utilizarea canalelor de comunicatie I/O.
memoria principala (RAM);
memoria cache;
memoria ROM;
registrii procesorului;
MEMORIA EXTERNA / SECUNDARA
dispozitiv de stocare pe termen lung a datelor, care nu sunt curent folosite de către CPU. În general este de capacitate mai mare şi are o viteză mai mică de accesare a datelor faţă de memoria internă şi face parte din categoria memoriilor non-volatile;
Exemple:hard disk (HDD), floppy disk (FDD), compact disc (CD), DVD, banda magnetică, memoria flash.
STRUCTURA FIZICA A UNUI DISC
STRUCTURA LOGICA A UNUI DISC
Din punct de vedere logic, un disc este divizat in partitii:
primare;
extinse;
logice.
IERARHIZAREA MEMORIEI
IERARHIZAREA MEMORIEI
Motivatie:
diferenţa de performanţă dintre diferitele componente poate să crească tot mai mult. Spre exemplu diferenţa dintre performanţa CPU şi cea a memoriei interne;
din cauza diferenţei timpului de acces al CPU şi al memoriei principale, CPU este nevoit să aştepte destul de mult pentru a primi datele din memorie;
ierarhia memoriei unui SC este organizată astfel încât nivelele de memorie de capacitate mai mică, însă mai rapide se găsesc mai aproape de procesor decât memoriile de capacitate mare, dar de viteză de acces mai mică.
IERARHIZAREA MEMORIEI - PRINCIPIUL LOCALIZARII
localizare temporală- după accesarea unei date sunt mari şanse ca ea să fie accesată din nou în scurt timp ar trebui să se mai reţină data respectivă pentru o perioadă de timp (de exemplu: instrucţiunile dintr-o structură repetitivă sau ale unei subrutine);
localizare spaţială - dacă se accesează o locaţie, sunt mari şanse să urmeze accesarea unor locaţii din vecinătatea primeia ar trebui ca la accesarea datei curente să se aducă un întreg bloc de informaţie care să conţină atât informaţia necesară în momentul curent, cât şi informaţia conţinută la adrese învecinate (de exemplu: variabile locale unei subrutine sau elementele unui şir).
MEMORIA CACHE
Memorie de tip cache - colecţie de date ce reprezintă duplicarea valorilor originale stocate într-un alt tip de dispozitiv de memorare, a căror accesare pentru citire / procesare este mai costisitoare (ca timp) decât accesarea lor din cache.
Tipuri:
cache al memoriei principale, ca interfaţă între aceasta şi CPU: poate fi pe unul, două sau trei nivele; acest cache este gestionat de către hardware;
memoria cache între memoria principală şi memoria secundară (disc) este memoria virtuală; transferul datelor de pe disc în memoria principală (gestiunea memoriei virtuale) este responsabilitatea sistemului de operare;
memorii cache gestionate de componente soft: cache DNS (pentru corespondenţe dintre nume de domenii şi adrese IP); cache al unui web browser (pentru ultimele pagini accesate).
DISPOZITIVE PERIFERICE
Dispozitivele periferice asigură interfaţa dintre utilizator şi sistemul de calcul sau dintre sistemul de calcul şi alte sisteme fizice;
Tipuri de dispozitive periferice:
dispozitive de intrare: tastatură, mouse, scanner;
dispozitive de ieşire: imprimantă, monitor;
dispozitive de intrare sau ieşire: modem, placă de reţea;
dispozitive de stocare: disc (hard disk, floppy disk), bandă magnetică.
MAGISTRALELE - STRUCTURI DE INTERCONECTARE
Magistrală - subsistem prin care se transportă informaţie (date, instrucţiuni, semnale de control) sau energie între diferite componente ale unui SC sau între diferite SC. Realiza o conexiune între două sau mai multe componente. In contextul nostru realizeaza legatura intre SC si echipamentele periferice.
Clasificare:
dupa modul de transmitere al informatiei: seriale sau paralele (in prezent migrare de la magistrale paralele la magistrale seriale);
dupa tipul entitatilor conectate: sistem – fac legatura intre CPU si memoria interna; si magistrale de I/O – fac legatura intre SC si echipamentele periferice sau intre SC si alt SC;
magistrale sistem: magistrale de date, magistrale de adresare, magistrale de control – au arhitectura specifica producatorului, asigura o comunicare rapida intre CPU si memorie, sunt de lungime redusa;
magistrale I/O: au arhitectura standardizata si permit comunicarea cu un echipament extern sau cu alt SC prin intermediul unui controler;
Controler – echipament de extensie atasabil sistemului de calcul (~ adaptor, placa: placa video, adaptor de retea, controler SCSI);
Prezinta doua interfete:
interfata de comunicare cu SC prin intermediul magistralei I/O interne (interfata PCI, ISA, AGP);
interfata de comunicare cu echipamentul periferic care se doreste a fi conectat (difera de la echipament la echipament si de la controler la controler);
Interfata
expresia fizica a acesteia (portul, slotul, mufa, socketul);
setul de caracteristici functionale, protocoale, specificati logice necesare comunicarii pe magistala asociata.
MAGISTRALE, CONTROLERE, INTERFETE
MAGISTRALA ISA SI PCI
ISA (Industry Standard Arhitecture)
Dezvoltata la inceputul anilor 80 (IBM) sfarsitul anilor 90;
pe 8, ulterir 16 biti, 8Mhz viteza maxima 16 Mbyets/secunda;
Echipamente conectate: placi de retea, sunet, modem-uri.
PCI (Peripheral Component Interconect)
dezvoltata de Intel in ani 90;
pe 32 de biti, pe 33 Mhz viteza maxima 132 Mbytes/secunda;
conecteaza prin intermediul unui controler majoritatea echipamentelor periferice.
AGP - Accelerated Graphics Port
s-a nascut din nevoie de latime de banda mai mare pentru aplicatiile video (in special jocuri);
AGP 1x – magistrala pe 32 biti, opereaza la 66 Mhz 266 Mbytes/secunda;
punct la punct canal dedicat.
MAGISTRALE EXTERNE
Magistrala externa - ansamblu format din controler impreuna cu interfata dintre acesta si echipamentul periferic.
Exemple:
IDE/ATA - HDD, unitati optice;
SCSI - HDD, unitati optice, scanner-e;
paralela - imprimante;
seriala - mouse;
PS/2 - tastatura, mouse;
USB - Universal Serial Bus (practic orice, mai putin monitor – sau nu? ).
INTERFETE EXTERNE
PLACA DE BAZA
suportul fizic pe care se monteaza procesorul, memoria;