Sunteți pe pagina 1din 41

ARHITECTURA

SISTEMELOR DE
CALCUL
SISTEM DE CALCUL - DEFINITIE

 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

Magistrala CPU internă


Unitatea
Aritmetică-
Logică
I/O 1
Regiştri
.
Unitatea de .

date
Magistrala de

adrese
Magistrala de

control
Magistrala de
Comandă şi .
Control
CPU
I/O n

Memoria cache
(CPU-memoria
principală)
Memoria
secundară

Memoria principală

Magistrala sistem
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 actuala a unui sistem de
viteza unui SC: calcul se masoara in

 Frecventa procesorului  MIPS – Milioane de instructiuni


(singura nu e concludenta, (intregi) pe secunda;
vezi Intel vs AMD);  MFLOPS – Milioane de
 Capacitatea maxima de instructiuni in virgula flotanta
memorie care poate fi pe secunda.
adresata;
 Capacitatea de paralelizare
(pipelining);
Procesor Frecventa MIPS
 Dimensiunea registrilor
Intel Pentium Pro 200 Mhz 541
interni si a magistralei de
date; AMD Athlon 1.2 Ghz 3.561
 Dimensiunea memoriei Ultra SPARC Niagara 2 1.4 Ghz 22.400
CACHE. Intel Polaris Prototype 5.6 Ghz 1.800.000
(80 nuclee)
CE INSEAMNA
CALCULATOR PE N BIŢI?

 Din punct de vedere Observatie: De regula, cu cat


hardware - dimensiunea dimensiunea cuvantului de
magistralei de date (de memorie este mai mare,
exemplu: Pentium are o operatiile cu numerele intregi
magistrală de date pe 64 se desfasoara mai rapid
biţi = 64 linii de date, (incercati sa inmultiti un
astfel că la fiecare double cu alt double folosind
“memory cycle” procesorul doar registrii pusi la dispozitie
poate accesa 8 octeţi din de procesorul 8086).
memorie);
Microprocesor Data Bus Regiştri
8088 8 biţi 16 biţi
 Din punct de vedere
software: dimensiunea 80386sx 16 biţi 32 biţi

unui cuvânt de memorie Pentium 64 biţi 32 biţi


(dimensiunea regiştrilor Intel Core 2 Duo 64 biţi 64 biţi
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:
-Partitii primare (maxim 4);
-Partitie extinsa – partitie primara ce contine
alte partitii numite partitii logice;
 primare; -Partitii logice.

 extinse;
 logice.
IERARHIZAREA MEMORIEI

Regiştri

Memorie cache “on-chip” (L1)

Creşte viteza de acces

stocare
Creşte capacitatea de

de memorare
raportului cost / unitate
Creşte valoarea
Memorie cache “on-chip” (L2)

Memorie cache “on-board” (L3)

Memorie principală

Memorie secundară

Memorie terţiară
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;
 magistrale I/O interne: ISA, PCI, AGP, PCI-x;
 magistrale I/O externe: IDE/ATA, SCSI, S-ATA, USB.
CONTROLERE SI INTERFETE
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
Interfeţe PCI

Interfaţă USB
Magistrală PCI Controler
PCI-USB
Dispozitiv - USB
Controler
PCI - IDE
Hard disk

Magistrală ISA Interfaţă IDE


Spre
CPU

Controler reţea ISA

Magistrală Interfeţe ISA


AGP Controler AGP
Monitor

Interfaţă AGP
MAGISTRALA ISA SI PCI
Interfeţe
ISA
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) Interfeţe
PCI
 dezvoltata de Intel in ani 90; Interfeţele ISA şi PCI
 pe 32 de biti, pe 33 Mhz  viteza din punct de vedere fizic în cadrul
maxima 132 Mbytes/secunda; unui calculator personal
 conecteaza prin intermediul unui
controler majoritatea
echipamentelor periferice.
AGP - Accelerated Graphics Port

 s-a nascut din nevoie


de latime de banda controler video AGP
mai mare pentru
aplicatiile video (in
special jocuri);
 AGP 1x – magistrala
interfaţa
pe 32 biti, opereaza la AGP
66 Mhz  266
Mbytes/secunda; Fig. 2.7. Interfaţa AGP şi un
 punct la punct  controler video AGP

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

Conector RJ45
Interfaţă
Interfeţe PS/2
seriale

Conector AUI Interfeţe


USB

Interfaţa
paralelă
Conector BNC

Interfeţe USB şi
Interfeţe IDE/ATA Interfeţe de reţea PS/2
Interfeţe seriale şi
paralele
PLACA DE BAZA
Interfeţe PS/2
tastatură şi BIOS

suportul fizic pe care


mouse
 Interfaţă
RJ45

se monteaza
reţea
Alimentare

procesorul, memoria; Interfeţe


seriale şi
paralele

cablarea fizica a
Interfaţă
 Slot
procesor
FDD

magistralelor interne; Interfeţe Sloturi


USB

interfetele PCI, AGP;


memorie
 Interfeţe Interfaţă AGP
audio

 controlelere integrate
(on-board): IDE/ATA,
SATA, retea, sunet, Interfeţe
PCI
Interfeţe
IDE/ATA

USB.