Sunteți pe pagina 1din 41

Arhitectura si organizarea

calculatoarelor
Curs Calculatoare/Electronica
aplicata anul III
2019
ØObiectul Cursului

ØAspecte privind obiectivele sale


Ce reprezinta arhitectura si
organizarea calculatoarelor?
• Arhitectura exprima acele Nivele de
caracteristici vizibile structurare
In cadrul sistemelor
programatorului, principalul de calcul:
•Sisteme de operare
element il reprezinta ISA •Programe monitor
•Programe dedicate
(Instruction Set Architecture) – •Nivel fizic

intereseaza in special pe softist


• Organizarea este legata de
structurarea elementelor
componente ale sistemului ce Periferic 1
formeaza un calculator – Periferic 2
Memoria
intereseaza in special pe
proiectantul de calculatoare- sau
Periferic n-1
proiectantul de hardware UC
Periferic n
Care sunt principalele functiuni
ale calculatoarelor?
• Calculabilitatea: capacitatea de a
implementa operatii aritmetice si logice de
baza in mediul digital
• Capacitatea de a comunica: a transmite
informatiile si ale memora atunci candeste
cazul
• Fiabilitatea datelor vehiculate si prelucrate
ØProblematica fundamentala

ØDefinitii
Care este fenomenul
fundamental ce sta la baza
calculatoarelor numerice ?

Comutatia electrica

“ Zidul termic”

Arhitectura si Organizarea procesoarelor


(CPU Central Processing Unit versus
GPU Graphic Processing Unit)
Care sunt principalele elemente ale
unui calculator?

• Unitatea centrala sau


Sistemul procesorul
de
Calcul • Memoria
• Unitatile periferice
Co
/E
eI

mu
fet

nic
er

Tipuri de mesaje vehiculate:


ati
Int

•Programat
e

•Spontane
Procesul Alte Sisteme
Fluxurile informationale pe care le distingem
in cadrul unui sisteme de calcul
Mediul extern
In raport cu sistemul de calcul

• Fluxul de intrare
• Fluxul de
procesare/memorare
• Fluxul de iesire
Detalierea fluxurilor de procesare
Posibilitatile de transfer a
informatiilor si procesare (1/2)
• Transferul informatiilor:
– Zone de memorie comuna (MC):
Acest tip de transfer presupune accesarea succesiva a aceleiasi zone de memorie
dinspre cel putin doua magistrale avand capacitati de transfer diferite. Rolul acestui
tip de transfer MC consta in asigurarea sincronizarii transferului datelor si reducerea
latentelor ce apar in procesele de transfer. In acest caz sincronizarea accesului la
date este “explicita”, iar natura datelor nu este in mod necesar cunoscuta

– Transferul mesajelor pe magistrale:


Acest tip de transfer se deruleaza sub forma unor “cadre” ce include o structura de
date aprioric definita. O astfel de structura contine markerii de inceput si sfarsit a
cadrului, precum si informatiile care sunt efectiv vehiculate. Sincronizarea transferului
se realizeaza urmare sistemului de detectie a inceputului si sfarsitului de cadru. In
general mesajele au cel putin o semnificatie care este explicitata I conjunctie
cu protocolul de comunicatie utilizat
Prin protocol de comunicatie se intelege ansamblul de reguli ce fac referire la
hardware si software ce asigura comunicatia fiabila si fara latente semnificative
Posibilitatile de transfer a
informatiilor si procesare (2/2)
• Procesarea datelor:
– Centralizata:
Acest caz corespunde unei topologii a transferului de date catre CPU de tip
“stelat” si necesita ca orice transfer I/E – memorie, memorie-memorie, sau I/O –
I/O sa se faca prin intermediul CPU.

– Distribuita:
Corespunde sistemelor multiprocesor intreconectate in retea topologia retelelor
poate fi stelata, de tip “mesh” sau mixta. In acest caz, fiecare CPU al retelei
dispune de propriul sistem de operare, poate fi identificat de catre programator si
poate rula aplicatii atat ce tin de task-urile etelei, cat si independent de acestea

– Cluster-izata:
Corespunde sistemelor multiprocesor in organizate in retea dar care datorita
sistemului de operare si a facilitatilor acestuia de control, sunt vazute din punctul
de vedere al programatorului ca un singur calculator. Desi admit prin metoda
virtualizarii multiple sisteme de operare, totusi preponderent sunt utilizate
impreuna CPU-urile cluster-ului
Sincronizarea functionarii
calculatoarelor cu procesele controlate
• Prin scanarea porturilor sistemului:
– Presupune citirea ciclica continua a porturilor de intrare, compararea starii
acestora cu starile “marcate”-de interes prin rularea programului corespunzator
– Adoptand scanarea soft ocupam in intregime timpul CPU

• Cu ajutorul sistemului de intreruperi (SI):


– Sistemul de intreruperi este ansamblu hardware / software care asigura
mecanismul de sincronizare a CPU cu evenimentele externe sistemului. SI
asigura proptitudine, identificare automata a sursei intrerupatoare si specificitate
– Utilizarea SI elibereaza CPU de sarcina scanarii continue a porturilor; Verificarea
aparitiei unei cereri d eintrerupere se face intotdeauna la sfarsitul fiecarui ciclu
instructiune

• Prin intermediul circutelor DMA:


– Sistemul DMA permite transferul datelor intre circuitele de intrare / iesire sau
intre acestea si memoria sistemului fara interventia CPU. CPU va initia si finaliza
sesiunile de transfer. Verificarea unei cereri se va face dupa fiecare
microinstructiiune executata
ØApecte istorice privind calculatoarele digitale

ØEvolutii tehnologice si arhitecturale


Istoric al evolutiei calculatoarelor

Sec. XVII, XVIII: Flasneta


utilizeaza came mecanice ptr. Excitarea
unor lamele elastice in scopul producerii
sunetelor

Sec. XVIII, XIX: Masina Jacquard


Utilizeaza cartele perforate ptr.
Implementarea unui automat cu un numar
finit de stari ce permite executia unei
tesaturi
Istoric al evolutiei calculatoarelor 2
Masina Babbage sau masina diferentiala:
Ofera in plus in raport cu masinile anterior
prezentate facilitatea de memorare a informatiilor,
precum si cea de calcul a diferentei intre doua
valori.
Practic prima masina de calcul propriu-zisa.

Masina Zuse (Konrad) Z1, Z3 1936/1938


Masina capabila sa asigure secventierea
calculelor
Istoric al evolutiei calculatoarelor 3
1946 - 14 02 ENIAC (Electronic Numerical Integrator and Computer)
7,4x5,3 m2 18000 de tuburi electronice, 30 tone, 140KW putere
consumata
Performanta atinsa: 5000 de adunari/secunda
Structura calculatorului
Evolutia procesoarelor (1)
anii 1970
Evolutia procesoarelor (2)
anii 1980
Evolutia procesoarelor (3)
anii 1990
ØAspecte fundamentale privind arhitectura
si organizarea sistemelor de calcul

ØOrganizarea memoriei cale principala de


crestere a eficientei functionale a
sistemelor de calcul
Tipuri de unitati de calcul
• Central Processing Unit (CPU): sunt procesoare de uz
general. Ruleaza instructiuni complexe sau doar un set restrains de
instructiuni, dar toate avand caracter universal

• Graphic Processing Unit (GPU): sunt procesoare


specializate concepute pentru redarea grafică, adesea în 3D. Ruleaza
instructiuni de tipul SIMD, respectiv aceiasi actiune pentru date multiple

• Scalar Processors: efectuează calcule pe un singur număr sau


set de date la un moment dat.

• Vector/Array Processors: permite unei singure instrucțiuni


să funcționeze simultan pe mai multe locații de date.

• Parallel Processors: sunt formate din grupuri de procesoare


identice care executa acelasi program
Programarea calculatoarelor
• In Hardware
Secventarea
Flux de date aritmetico- logica a Rezultate
procesarii datelor

Flux de Instructiuni Interpretorul de


instructiuni
Semnale de Control

• Prin Software
Registrele generale
Flux de date si unitatea Rezultate
Aritmetico - Logica
Modul de procesare digitala a
datelor
Coada
Acumulator
Memorie
Interfete de
Intrare / Iesire

Unitatea Aritmetico- Logica

Registru tampon
ALU de Memorie

Registru tampon
de Instructiuni Registru PC

Registru Registru de adresare


Memoria
Instructiune a memoriei
Principala
Circuite de
control UCP
Single Instruction Single Data

Unitatea
Aritmetico

Intrare / Iesire
Interfetele de
Logica
Principala
Memoria

Unitatea
de control
a
programelor

Cod Instructiune Adresa Operand/Operanzi Cod..


Executia Instructiunilor

START Fetch Cycle Execute STOP


Cycle

Cod masina AVR8


0049) #pragma interrupt_handler int0_isr:iv_INT0
(0050) void int0_isr(void)
Calculul (0051) {
Ciclu de adresei pen- (0052) //external interupt on INT0
extragere tru instruc- (0053) //PORTC=~PINC;
(0054) PORTC=PINC<<1;
cod tiunea 0009F B223 IN R2,0x13
instructiune urmatoare
000A0 0C22 LSL R2
000A1 BA25 OUT 0x15,R2
(0055) if(PINC==0)
Cod sursa C 000A2 B223 IN R2,0x13
000A3 2022 TST R2
#pragma interrupt_handler int0_isr:iv_INT0 000A4 F411 BNE 0x00A7
void int0_isr(void) (0056) {
(0057) PORTC=0x01;
{ 000A5 E081 LDI R24,1
PORTC=PINC<<1; 000A6 BB85 OUT 0x15,R24
if(PINC==0) (0058) }
000A7 9019 LD R1,Y+
{ 000A8 BE1F OUT 0x3F,R1
PORTC=0x01; 000A9 9189 LD R24,Y+
} 000AA 9029 LD R2,Y+
000AB 9019 LD R1,Y+
} 000AC 9518 RETI
Compilare (0059) }
Arhitectura Von Neumann
•Neomogenitate a
datelor stocate in
memoria sistemului
•O singura cale de
date/cod utilizata
pentru transferul
datelor catre
memorie si unitati
I/O
•Ordinea in care se
acceseaza
informatia din
memorie da sensul
acesteia:
instructiune sau data
Arhitectura Harvard

Intern Extern
Single Instruction Multiple Data
memorie comuna
Single Instruction Multiple data
memorie distribuita
Multiple Instructions Multiple Data
Memorie comuna partajata
Masini distribuite procesare si
memorie
Arhitectura simetrica multiplu procesor
(NUMA-Non Uniform Memory Access)
ØEvolutii recente in domeniul
calculatoarelor

ØValidarea performatelor calculatoarelor

ØClasamente actualizate privind hiper


compueter-ele si principalele domenii in
care acestea sunt folosite
Evolutia domeniului
calculatoarelor 1995 ->2016
Green IT
• Reprezinta tendinta actuala de
eficientizare energetica si de minimizare a
impactului asupra mediul natural a utilizarii
tehnologiilor de prelucrare a datelor
reflectata la nivelul tuturor etapelor vietii
dispozitivelor de prelucrare si comunicatie
a datelor, respectiv de la proiectare,
fabricare, utilizare si pana la reciclarea
acestor sisteme.
Top500.org – Nov.2018
Rpeak
Rank System Cores Rmax (TFlop/s) (TFlop/s) Power (kW)
1 Summit - IBM Power System AC922, IBM POWER9
22C 3.07GHz, NVIDIA Volta GV100, Dual-rail
Mellanox EDR Infiniband , IBM 2,397,824 143,500.0 200,794.9 9,783
DOE/SC/Oak Ridge National Laboratory
United States
2 Sierra - IBM Power System S922LC, IBM POWER9
22C 3.1GHz, NVIDIA Volta GV100, Dual-rail Mellanox
EDR Infiniband , IBM / NVIDIA / Mellanox 1,572,480 94,640.0 125,712.0 7,438
DOE/NNSA/LLNL
United States
3 Sunway TaihuLight - Sunway MPP, Sunway
SW26010 260C 1.45GHz, Sunway , NRCPC
National Supercomputing Center in Wuxi
10,649,600 93,014.6 125,435.9 15,371
China
4 Tianhe-2A - TH-IVB-FEP Cluster, Intel Xeon E5-
2692v2 12C 2.2GHz, TH Express-2, Matrix-2000 ,
NUDT 4,981,760 61,444.5 100,678.7 18,482
National Super Computer Center in Guangzhou
China
5 Piz Daint - Cray XC50, Xeon E5-2690v3 12C
2.6GHz, Aries interconnect , NVIDIA Tesla P100 ,
Cray Inc. 387,872 21,230.0 27,154.3 2,384
Swiss National Supercomputing Centre (CSCS)
Switzerland

https://www.top500.org/lists/2018/11/
IBM Oak Ridge National Laboratory

• AC922
• Power9 IBM processor
2,397,824 Cores; 200,794.9Tflops; 9800kW
Hipercomputer-e in China
Ø Sunway TaihuLight - Sunway MPP, Sunway
SW26010 260C 1.45GHz, Sunway

Manufacturer: NRCPC
Cores: 10,649,600
Linpack Performance (Rmax) 93,014.6 TFlop/s

Sunway TaihuLight, at 93 petaflops


Theoretical Peak (Rpeak) 125,436 TFlop/s

Nmax 12,288,000
Power: 15,371.00 kW (Submitted)

Memory: 1,310,720 GB
Processor: Sunway SW26010 260C
1.45GHz
Interconnect: Sunway
Operating System: Sunway RaiseOS 2.0.
National Supercomputing Center in Wuxi
Top Green500
Sistemul de calcul Laboratorul / Calcul/ Performanta
Institutia energie
1 Shoubu system B, Advanced Center 17.6 1.06 petaflops
ZettaScaler-2.2 super- for Computing giga Linpack
computer and flops/
Communication, watt 306 top500
RIKEN, Japan
2 DGX SaturnV Volta NVIDIA, USA 15.1
system giga
375 top500
flops/
watt
3 Summit system Oak Ridge 14.7
National giga
Laboratory flops/ 1 top500
(ORNL) in watt
Tennessee
https://www.top500.org/green500/
Roadmap Computers

https://humanswlord.wordpress.com/2014/04/01/cognitive-computing-their-goal-
is-to-be-like-the-human-brain/
Bibliografie obligatorie
•W. Stallings, Computer Organization and Architecture, 6th
Edition, Prentice-Hall, 2002, ISBN 0-13-035119-9
•David E. Culler, Jasweinder Pal Singh, Anoop Gupta: Parallel
Computer Architecture: A Hardware/Software Approach,
Morgan Kaufmann, 1999, ISBN 1-55860-343-3
•J. Hennessy, D. Patterson: Computer Architecture: A
quantitative approach, Morgan Kaufmann Publishers, Inc., 3rd
edition, 2002
•R. W. Hockney and C. R. Jesshope, Parallel Computers 2,
Adam Hilger, 1988, ISBN 0-85274-812-4.
•K. Hwang and F. A. Briggs, Computer Architecture and Parallel
Processing, McGraw-Hill, 1985, ISBN 0-07-031556-6

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