3 Arhitectura unui
calculator
PC
Smartphone
Sistem de dezvoltare cu Linux
(Raspberry, …)
• Un calculator PC conţine trei componente majore:
-unitatea centrală de prelucrare (UCP) sau procesorul
-memoria (primară şi secundară)
-echipamentele de intrare-ieşire
2
• Cele trei categorii de componente precizate
anterior se conectează fizic folosind diferite
tipuri de conectori în aşa numita placă de
bază (mother board)
• În plus, placa de bază este echipată cu setul de
cipuri (chipset); acesta conţine diferite circuite
şi face posibilă interconectarea celor trei
componente principale ale PC-ului.
3
Unitatea de sistem:
Placa de bază (cipset, procesor, memorie)
Sursa de alimentare
Hard disc
Unitate optică
Placă video
Placa sunet
Placă reţea
Monitor
Tastatură, mouse
• Echipamentele sau circuitele de intrare-ieşire sunt în:
-interiorul unităţii de sistem
-exterior
• Altfel:
-obligatorii
-opţionale.
• Teoretic, printre acestea, se consideră şi memoria,
chiar dacă uzual ea nu este inclusă între dispozitivele
de intrare-ieşire.
5
• Conectarea între UCP şi celelalte echipamente se face
prin intermediul magistralelor (bus în engleză).
• Regulile care stabilesc funcţionarea magistralei
alcătuiesc protocolul de magistrală.
• Ele conţin specificaţii mecanice şi electrice
-Plăcile (echipamentele) proiectate de diferiţii
producători trebuie să încapă în carcasa
calculatorului, să existe conectori potriviţi.
-Semnificaţia semnalelor electrice disponibile în
conectoare trebuie respectată de toţi producătorii
pentru ca echipamentele să funcţioneze.
6
Porturile de intrare-ieşire disponibile în exterior (prin
conectoare), la care se pot conecta echipamente obligatorii
sau opţionale
8
Structura hardware a plăcii de bază
9
10
Sistemul Rapberry Pi 1, Model B
11
Raspberry Pi 1 Model B
Conector Cameră
Video (CSI, Camera
Serial Interface)
26 pini
12
Conexiuni hardware posibile
13
Raspberry Pi 3 Model B
4 USB
14
Raspberry Pi 4,
procesor Broadcom BCM2711, Quad core Cortex-
A72 (ARM v8) 64-bit SoC f=1,5GHz
15
3.1. Procesorul
a) Istoric.Parametri.
b) Structura unui procesor. Unitatea aritmetică şi
logică. Registre mai importante
c) Alte caracteristici ale procesoarelor
d) Limbaje de programare.
16
a) Istoric.Parametri.
Calculatoarele PC: procesoare fabricate de Intel, dar şi AMD (Advanced
Micro Devices).
Procesorul Frecv. Lăţimea Lăţimea Milioane de Anul
de tact magistralei de magistralei instrucţiuni apariţiei
date/registre de adrese pe secundă
17
Observaţie:
• Pentru frecvenţa de tact este dată valoarea minimă,
corespunzătoare primei variante a fiecărui procesor.
În majoritatea cazurilor au fost create variante
funcţionând la frecvenţe mai mari (aproape duble).
18
• Celelalte componente de pe placa de bază
funcţionează la o frecvenţă mai mică decât
procesorul.
• Magistrala FSB (Front Side Bus) care face
legătura între procesor şi aşa numita punte de
nord (North Bridge) lucrează la o frecvenţă
fFSB.
• fprocesor= fFSB × cm; unde cm este clock multiplier
• Exemplu: fFSB=800 MHz, cm=4, rezultă
fprocesor= 3200 MHz.
19
• Idea de overclocking, adică practica de a face
procesorul de a funcţiona peste performanţele
pentru care a fost proiectat (clock multiplier
crește, fprocesor creste )
• Se poate face prin modificări în programul
BIOS (CMOS setup) sau modificări ale unor
comutatoare de pe placa de bază.
• Această practică poate duce însă la o
funcţionare anormală a calculatorului sau chiar
la defectare.
20
• Frecvenţa de tact este o caracteristică a unui semnal
(generat de un oscilator cu cuarţ) care este aplicat
procesorului
21
tensiune
timp
T
22
• În ultimul timp au apărut procesoarele de tip
dual core şi quad core (core=nucleu).
Acestea au frecvenţa de tact de până la 3 GHz.
• În acest caz, în aceeaşi capsulă (chip) există un
număr de 2 sau 4 nuclee (chiar 6 sau 8; un
nucleu conţine partea cea mai importantă a
unui procesor, adică UAL şi registrele)
• Fiecare nucleu poate executa o porţiune (fir,
thread) a unui program, astfel se face o
procesare paralelă reală (multithreading,
multifir)
23
• Nucleele pot comunica între ele mai rapid şi mai
eficient decât dacă ar fi două procesoare diferite.
• Pentru a utiliza aceste procesoare, sistemul de operare
trebuie să recunoască structura multithreading şi să
conţină partea de cod care să permită lucrul în
tehnologia multithreading. Un astfel de procesor
îmbunătăţeşte viteza de execuţie a programului.
• Există aplicații (programe) care se pretează a fi rulate
în paralel (multifir)
24
În diagrama prezentată mai jos cele 4 nuclee ale lui Raspberry Pi
lucrează în paralel; fiecare dintre ele preia o poză (Picture) pe care
o transformă într-una cu rezoluție mai mică (Thumb), iar în final
cele 4 poze sunt unite într-un colaj.
25
• Tehnologia de fabricaţie (10 nm, actualmente)
reprezintă dimensiunea depunerilor de material
semiconductor din tranzistorii existenţi în
procesor.
• Reducerea dimensiunii permite integrarea unui
mai mare de tranzistori într-un procesor,
necesitând o tensiune de alimentare mai mică
şi un consum mai redus.
26
• Memoria intermediară (cache)
În general, procesoarele pot lucra la viteze mult mai
mari în raport cu memoriile.
Memoria intermediară sau cache (de la franţuzescul
cacher, a ascunde) este o memorie de capacitate mai
mică dar foarte rapidă, în capsula procesorului.
Memoria principală a calculatorului (RAM), pe placa
de bază, are o capacitate foarte mare dar este mai
lentă.
Ideea de bază a memoriei intermediare: cuvintele de
memorie cele mai frecvent utilizate sunt păstrate în
memoria intermediară; doar când UCP nu găseşte un
cuvânt, îl caută în memoria principală. 27
• Controler de memorie cache
• Raportul dintre cache hit şi numărul total de accesări.
• Termenul de cache miss.
• Procesorul Core i5 (4 nuclee/4 fire de execuție)
(Level 1-nivelul 1): 4 × 32 KB pentru instrucţiuni şi 4
× 32 KB pentru date, chiar în cipul UCP
(Level 2-nivelul doi): 4 × 256 KB.
Ambele memorii rulează la frecvenţa cu care lucrează
şi procesorul, adică 1,2 GHz.
(Level 3-nivelul 3) 6 MB: pentru toate nucleele
28
Generații Intel : Sandy Bridge (2), Ivy Bridge
(3), Haswell (4), Broadwell (5), 6, 7, 8,...,11
În fiecare generație: 3 sau 4 categorii de
procesoare (Core i3, i5, i7, i9)
Diferențe între generații: tehnologia (45 nm-10
nm), tipurile (L1, L2, L3) și mărimea
memoriei cache, suport pentru memorie RAM
(DDR2,..., DDR4), socluri (conectori), etc.
Aceste procesoare conţin şi o parte grafică
integrată (cip grafic)
29
Procesoare actuale (desktop)
Nr. Frecv. Memoria Memoria Puterea Tehno
Denumire Nuclee/ de tact cache-L2 cache-L3 (W) logia
fire de (MHz) (KB) (MB) (nm)
exec.
Intel Core i7 - 8/16 3600 8 x 1024 12 140 14
7830x
30
Procesoare actuale (notebook)
31
Structura internă a unui procesor
(Haswell)
32
Caracteristici procesoare Haswell (gener. 4)
34
Procesoare pentru smartphone-uri
Samsung Exynos:
4 nuclee Cortex A15 1,8 GHz
4 nuclee Cortex A7 1,3 GHz
Cip grafic cu 6 nuclee
Intel: Atom X (pentru tablete şi smartphone-uri), 4 sau
8 nuclee.
Alţi producători de procesoare pentru smartphone-uri:
Qualcomm, Nvidia, ST Microelectronics.
Toate acese procesoare se bazează pe arhitectura ARM
35
Tabel cu performanțe ale diferitelor procesoare
38
• Un procesor cu n biţi în magistrala de adrese poate
adresa 2n locaţii de memorie.
• Un procesor cu m biţi pe magistrala de date poate citi
sau scrie într-o singură instrucţiune cuvinte de m biţi.
• De exemplu, un procesor Pentium II are:
-magistrala de adrese cu 36 de biţi, ceea ce înseamnă
că poate adresa 236 = 26 ·230 = 64 GB locaţii de
memorie.
-magistrala de date de 64 biţi; deoarece memoriile au
locaţii de câte 8 biţi, înseamnă că la fiecare transfer se
scriu sau se citesc 8 locaţii consecutive de memorie,
iar adresele sunt divizibile cu 8.
39
• Un registru este o locaţie specială de mare
viteză pentru memorarea datelor din interiorul
procesorului
-toate datele trebuie introduse în registre
înainte de prelucrare.
-fiecare procesor are mai multe registre, unele
având funcţii dedicate, altele de uz general.
-în general, lăţimea, în biţi a registrelor
procesorului este aceeaşi cu cea a magistralei
de date.
40
• Totuşi, prin magistralele de adrese şi date se poate
accesa şi altceva în afară de locaţii de memorie: spaţiul
porturilor de intrare/ieşire (I/O, input-output) al PC-
ului. Indiferent câte linii de adrese are procesorul în
total, pentru porturile de intrare-ieşire sunt folosite doar
16.
41
b) Structura unui procesor. Unitatea
aritmetică şi logică. Registre mai importante
43
În general, paşii pe care îi realizează procesorul la execuţia
unei instrucţiuni sunt următorii:
1. Transferă instrucţiunea din memorie în registrul de
instrucţiuni (extrage instrucţiunea).
2. Schimbă numărătorul de program încât acesta să indice
adresa următoarei instrucţiuni.
3. Determină tipul instrucţiunii proaspăt extrase (decodifică).
4. Dacă instrucţiunea are nevoie de un operand (cuvânt) din
memorie, determină unde se găseşte acesta.
5. Extrage (aduce) cuvântul respectiv în unul dintre registrele
UCP, dacă este cazul.
6. Execută instrucţiunea.
7. Salt la pasul 1 pentru a începe execuţia instrucţiunii
următoare.
Această secvenţă de paşi este denumită ciclul extrage-
decodifică-execută. Programul poate conţine ramificaţii sau
salturi.
44
c)Alte caracteristici ale procesoarelor
46
Clasificare a limbajelor de programare:
47
Performanțe obținute prin rularea unui “benchmark”
(timpul necesar pentru rularea algoritmului de calcul pentru
aceeași aplicație), cu diferite limbaje de programare, și diferite
resurse hardware: 2 variante de Raspberry, respectiv PC
(sistem de operare Debian-distribuție Linux)
48
Altă clasificare a limbajelor de programare:
49
Exemple de instrucţiuni în limbaj de asamblare:
LOADA mem – Încarcă registrul A cu conţinutul
locaţiei de memorie de la adresa mem.
LOADB con – Încarcă registrul B cu constanta con.
SAVEB mem – Salvează registrul B în locaţia de
memorie de la adresa mem.
ADD – Adună registrele A şi B şi depune rezultatul
în registrul C.
SUB – Scade registrele A şi B şi depune rezultatul în
registrul C.
JUMP addr – Salt la adresa addr
JNEQ addr – Salt, la adresa addr, dacă operandul A
nu este egal cu B.
50